找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

想做电机控制,你需要解决四大难题

[复制链接]
Angus 发表于 2020-5-15 21:52:43 | 显示全部楼层 |阅读模式
本帖最后由 Angus 于 2020-5-26 22:04 编辑

1>软件。
2>算法。
3>硬件。
4>机械特性。

软件
普通的软件,信号出现短时间的错误,不会烧坏芯片。比如串口通信,Tx端已上电输出高,Rx端后上电,在配置过程中,Rx引脚有几微秒输出低,配置完,Rx引脚才变为输入,这种短时间的信号竞争错误不会烧坏芯片,调试时甚至不易发现这种信号短时间的错误。 电机控制软件就不一样了,想想PWM若不定义死区,就会烧坏功率管,而死区时间也只有一微秒多。任何时候,信号出现哪怕只有一两微秒的不对,后果可能都很严重。所以要仔细思考代码的每一行,不能放过任何一个细节。

算法
算法就是数学公式,看看电机控制的理论,都是拉氏变换公式、或 Z 变换公式,或复变函数的状态方程,基础没学好的,看不懂公式。
上个公式,看看谁看懂了这个公式: QQ图片20200522105727.png

就算你看懂了公式,把公式代码化,也需要很多数据处理的细节,比如:角度变量取几位小数合适? 圆周率取几位?  如何保证计算精度、执行速度又最快?

硬件
做普通控制板,低压、低电流,按元件的参数大体计算一下,再经过调式,电路就差不多了。而电机驱动,电流比较大,分布参数已显出效果,明明只有一段导线,却显出了电感的特性。本以为加个电容就可以滤掉杂波,加了电容,发现根本没效果。走线方式,元件排放位置,都影响着电路的性能。这些即需要理论又需要经验。

机械特性
有些人可能有这样的经历,厂家给的DEMO板,电机转得很正常,可是把代码移植到自己的板子上,电机就转不好。因为电机差别太大,DEMO板上可能是一个小功率的低速电机,而自己的项目却是一个高速电机,或者是个惯性大的大个头电机,机械特性完全不一样。PI参数需要调整,启转过程也要按机械特性改变一下。

客户不等人,项目不等人,如何尽快的做好一个电机控制项目呢?

新唐的电机控制代码, 外设配置细节已帮你处理好了,不会出现错误信号,没必要自己再从头写代码,句句斟酌会花很长时间的。
算法细节也做好了,积分和PI运算利用了 DSP指令,采用定点运算,运算精度高,运算速度也快。一圈360度用65536表示,电压可以到 1638.38V。19us完成算法。电转速在一两万转以下的电机, PWM 配置为 10KHz, 以减小功率管的开关功耗。航模或吸尘器等电转速十万转以上的高速电机,可把 PWM 频率配置为 25KHz,周期 40us,CPU仍有大把时间做其它控制。

就留下硬件和机械特性两项了。让新唐经验丰富的工程师指导一下画板,再指导一下电流环、转速环的PI参数以及启转过程。
   只要你做好板子,仅一个小时就可以让电机转起来 !

电流波形
165909u61tgkt6d6tx65yt.jpg









回复

使用道具 举报

a20084666 发表于 2020-5-16 09:26:42 | 显示全部楼层
说的有道理  深有同感
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU