本帖最后由 Angus 于 2024-7-24 12:34 编辑
1>软件。
2>算法。
3>硬件。
4>机械特性。
软件:
普通的软件,信号出现短时间的错误,不会烧坏芯片。比如串口通信,Tx先上电输出高,后上电的Rx在配置过程中引脚有几微秒输出低才变为输入,短时间的信号竞争不会烧坏芯片,调试甚至不易发现这种信号短时间错误。 电机控制软件就不一样了,PWM若不定义死区,就会烧坏功率管,而死区时间也只有一微秒多。任何时候,信号出现哪怕只有一两微秒的不对,后果可能都很严重。所以要仔细思考代码的每一行,不放过任何一个细节。
算法:
算法就是数学公式,看看电机控制的理论,都是拉氏变换或 Z 变换公式,或复变函数的状态方程,理论没学好看不懂公式。
上个公式
,有几人能完全明白这个公式
就算你看懂了公式,把公式代码化,也需要很多数据处理的细节,比如:角度变量取几位小数合适? 正弦表取几位小数能保证精度、又不失计算速度?
硬件:
做普通控制板,低压、低电流,按元件的参数大体计算一下,再调式一下电路就差不多了。而电机驱动,电流比较大,分布参数已显出效果,明明只有一段导线,却显出了电感的特性。本以为加个电容就可以滤掉杂波,加了电容,发现根本没效果。走线方式,元件排放位置,都影响着电路的性能。这些即需要理论又需要经验。
机械特性:
有些人可能有这样的经历,DEMO板上的电机转得很正常,可是把代码移植到自己的板子上,电机就转不好。因为电机差别太大,DEMO板上可能是一个小功率的低速电机,而自己的项目却是一个高速电机,或者是个惯性大的大个头电机,机械特性完全不一样,启转过程要按机械特性改变一下,PI参数也需要调整。
客户不等人,项目不等人,如何尽快的做好一个电机控制项目呢?
新唐的电机控制代码, 外设配置细节已帮你处理好了,不会出现错误信号,没必要自己再从头写代码,句句斟酌会花很长时间。
算法细节也做好了,运算精度高、速度也快。一圈360度用65536表示,电压可以到 1638.3V。
就留下硬件和机械特性两项了。让新唐经验丰富的工程师指导一下画板,再指导一下电流和转速的PI参数调整以及启转过程。项目很快就可以做好了
|