项目(血液分离系统)中使用了5个直流电机,都需要加入速度环来控制速度。速度环使用PID算法,每个电机的PID参数有差别,为了调试出最佳PID参数,写了一个上位软件来分析电机运行过程中速度和PWM调节参数。但是上位软件需要单独的电脑,平时测试时不需要详细分析这些数据。因此加入PCA8538来实时显示速度信息和PID算法调节的PWM占空比。
PCA8538实现界面如下:
主要显示信息包括:
① 电机编号(一共显示2个直流电机编号,直流电机带401线编码器。项目中使用是定制电机,这里调试的是网上买的二手货,但电机控制原理都是一样的)。
② 电机速度(顺时针为正,逆时针为负)
③ 电机PWM调节百分比(左右各一个)
④ uC/OS-II运行时间(最小单位分钟,最大显示23:59,之后回0:00)
⑤ LOGO信息
调试时打开电机,通过shell命令行设定速度为2000。电机开始运转后,我们用手来抓住电机转动轴,可以发现PWM占空比立马增大,我们也能感觉到电机转动的力量更强,这就是PID调节的效果。
具体的可以查看视频。详解附件内容
硬件连接图
本系统使用了微雪的Open207开发板,使用的芯片为STM32F207ZG,144引脚。开发板和PCA8538通过SPI进行通信。
开发板连线实物图,具体说明详见附件内容。
PCA8538选择SPI通信模式,IFS接地。将JP1、JP3、JP4、JP5接地,JP6、JP7短接。SCL、SDO、SDI、nCE分别和STM32上的PA5、PA6、PA7及PA4相连。