基于PCA8538的直流电机PID速度调试系统
更清晰的版本见pdf附件。
项目说明
项目(血液分离系统)中使用了5个直流电机,都需要加入速度环来控制速度。速度环使用PID算法,每个电机的PID参数有差别,为了调试出最佳PID参数,写了一个上位软件来分析电机运行过程中速度和PWM调节参数。但是上位软件需要单独的电脑,平时测试时不需要详细分析这些数据。因此加入PCA8538来实时显示速度信息和PID算法调节的PWM占空比。 PCA8538实现界面如下:
主要显示信息包括: ① 电机编号(一共显示2个直流电机编号,直流电机带401线编码器。项目中使用是定制电机,这里调试的是网上买的二手货,但电机控制原理都是一样的)。 ② 电机速度(顺时针为正,逆时针为负) ③ 电机PWM调节百分比(左右各一个) ④ uC/OS-II运行时间(最小单位分钟,最大显示23:59,之后回0:00) ⑤ LOGO信息 调试时打开电机,通过shell命令行设定速度为2000。电机开始运转后,我们用手来抓住电机转动轴,可以发现PWM占空比立马增大,我们也能感觉到电机转动的力量更强,这就是PID调节的效果。 具体的可以查看视频。
PCA8538原理及操作方法
拿到PCA8538的时间不长,调试也就这几天的事情。刚开始,把官网的数据手册和用户手册大概看了一遍。但是有些地方不太明白,特别是204字节的RAM怎么对应PCA8538显示区域。最后找到网友发的一张《COG图标定义》才算搞明白。 PCA8538的显示原理及具体的操作网上和数据手册说的已经很详细了,这里就不重复介绍了。不明白的可以读数据手册。 软件架构图
下图为本系统的整个软件架构图,PCA8538驱动只需要在“驱动二次封装接口”和Application层添加相应的驱动和应用控制代码即可。
程序流程图
操作系统使用uC/OS-II,这里单独开了一个任务来处理PCA8538的显示信息。在这个任务中,每隔100毫秒读取一次电机速度和PWM占空比,然后显示到PCA8538上。
硬件连接图
本系统使用了微雪的Open207开发板,使用的芯片为STM32F207ZG,144引脚。开发板和PCA8538通过SPI进行通信。 STM32F207ZG和PCA8538通过SPI进行通信
开发板连线实物图
PCA8538选择SPI通信模式,IFS接地。将JP1、JP3、JP4、JP5接地,JP6、JP7短接。SCL、SDO、SDI、nCE分别和STM32上的PA5、PA6、PA7及PA4相连。 电源部分接上VDD和VLCD(都是5V)及GND。 更近一些
主控芯片STM32F207ZG 整体连接图 开发板连接线特写 电机驱动器及直流电机
L298N驱动模块特写,旁边一个调试一个功率较大的电机时烧掉了。。 直流电机shell命令
为了调试方便,写了一个直流电机的调试命令“dc”。 VINY>dc -h dc motor usage: -init [pwm f][pid f] init DC motor module(PWM and encoder) -pid [index][PID] set PID param -set [index][sp][dis] set DC motor speed -start [index] start DC motor -stop [index] stop DC motor -sp [index] get DC motor speed -h get help information
| |
shell调试命令窗口
PCA8538自动测试命令“cog”
VINY> cog -h cog usage: -auto AUTO test PCA8538 -h get help information
| | 为了自动执行COG的测试,实现了一个cog shell命令。当输完这条命令后,COG上的字符会按照顺序一个一个显示。这个在视频中有体现。
开发环境
使用MDK5.0
代码编辑使用source insight,这货就不用说了,太好用了。现在看其他编辑器没一个比它顺眼的。
视频演示
一共拍了三个视频。 第一个视频里面是电机运行过程中用手抓住电机,可以发现电机的PWM占空比立马在PID算法的调整下增大。 http://v.youku.com/v_show/id_XNjM2OTQ1NjAw.html 第二个视频演示shell命令输入。 http://v.youku.com/v_show/id_XNjM2OTQ3MDg4.html 第三个是自动测试命令 http://v.youku.com/v_show/id_XNjM2OTQ3MzEy.html
总结
非常感谢 爱板网提供的机会。其实我是第一批获得NXP PCA8538试用机会的,但是因为没有及时查看邮件,错过了第一次。等我看到邮件时第二次活动已经要结束了,o(╯□╰)o。最后抱着试试看的心态和爱板取得了联系,最后如愿以偿。O(∩_∩)O。
pdf版本
基于PCA8538直流电机PID速度调试系统.pdf
(1.64 MB, 下载次数: 1342)
|