查看: 10022|回复: 14

基于PCA8538的血液分离机的直流电机的调试系统

  [复制链接]
  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-11-20 13:10:58 | 显示全部楼层 |阅读模式
    分享到:
    基于PCA8538的直流电机PID速度调试系统

    更清晰的版本见pdf附件。
    项目说明
    项目(血液分离系统)中使用了5个直流电机,都需要加入速度环来控制速度。速度环使用PID算法,每个电机的PID参数有差别,为了调试出最佳PID参数,写了一个上位软件来分析电机运行过程中速度和PWM调节参数。但是上位软件需要单独的电脑,平时测试时不需要详细分析这些数据。因此加入PCA8538来实时显示速度信息和PID算法调节的PWM占空比。
    PCA8538实现界面如下:

    image002.jpg

    主要显示信息包括:
    ①   电机编号(一共显示2个直流电机编号,直流电机带401线编码器。项目中使用是定制电机,这里调试的是网上买的二手货,但电机控制原理都是一样的)。
    ②   电机速度(顺时针为正,逆时针为负)
    ③   电机PWM调节百分比(左右各一个)
    ④   uC/OS-II运行时间(最小单位分钟,最大显示23:59,之后回0:00)
    ⑤   LOGO信息
    调试时打开电机,通过shell命令行设定速度为2000。电机开始运转后,我们用手来抓住电机转动轴,可以发现PWM占空比立马增大,我们也能感觉到电机转动的力量更强,这就是PID调节的效果。
    具体的可以查看视频。


    PCA8538原理及操作方法
             拿到PCA8538的时间不长,调试也就这几天的事情。刚开始,把官网的数据手册和用户手册大概看了一遍。但是有些地方不太明白,特别是204字节的RAM怎么对应PCA8538显示区域。最后找到网友发的一张《COG图标定义》才算搞明白。
    image004.png
    PCA8538的显示原理及具体的操作网上和数据手册说的已经很详细了,这里就不重复介绍了。不明白的可以读数据手册。
    软件架构图
             下图为本系统的整个软件架构图,PCA8538驱动只需要在“驱动二次封装接口”和Application层添加相应的驱动和应用控制代码即可。
    image005.png


    程序流程图
    操作系统使用uC/OS-II,这里单独开了一个任务来处理PCA8538的显示信息。在这个任务中,每隔100毫秒读取一次电机速度和PWM占空比,然后显示到PCA8538上。

    image009.png
    硬件连接图
    本系统使用了微雪的Open207开发板,使用的芯片为STM32F207ZG,144引脚。开发板和PCA8538通过SPI进行通信。
    image011.png
    STM32F207ZGPCA8538通过SPI进行通信

    开发板连线实物图
    PCA8538选择SPI通信模式,IFS接地。将JP1、JP3、JP4、JP5接地,JP6、JP7短接。SCL、SDO、SDI、nCE分别和STM32上的PA5、PA6、PA7及PA4相连。
    电源部分接上VDD和VLCD(都是5V)及GND。
    image013.jpg image015.jpg
    更近一些

    主控芯片STM32F207ZG
    image016.png
    整体连接图
    image019.jpg
    开发板连接线特写
    image023.jpg
    电机驱动器及直流电机

    image025.jpg
    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
       
       
       

    image026.png
    shell调试命令窗口

    PCA8538自动测试命令“cog
      
            
    VINY> cog -h
       
    cog usage:
       
    -auto  AUTO test PCA8538
       
    -h     get help information
       
       
       
    为了自动执行COG的测试,实现了一个cog shell命令。当输完这条命令后,COG上的字符会按照顺序一个一个显示。这个在视频中有体现。


    开发环境
    使用MDK5.0
    image030.png


    image032.png
    代码编辑使用source insight,这货就不用说了,太好用了。现在看其他编辑器没一个比它顺眼的。

    image035.jpg

    视频演示
    一共拍了三个视频。
    第一个视频里面是电机运行过程中用手抓住电机,可以发现电机的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)
    image007.png
    image021.jpg
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-11-20 13:43:49 | 显示全部楼层
    从word里面直接拷贝的,最后两幅图的位置不对。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-9-2 09:06
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-11-20 14:19:08 | 显示全部楼层
    LZ 辛苦了
    感谢支持爱板网活动,与爱板一同进步
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-11-20 14:29:30 | 显示全部楼层
    yuying 发表于 2013-11-20 14:19
    LZ 辛苦了
    感谢支持爱板网活动,与爱板一同进步

    共同进步,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-4-2 16:02
  • 签到天数: 257 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-11-21 09:45:13 | 显示全部楼层
    搞的不错,真是好设计
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-11-21 20:52:32 | 显示全部楼层
    xiaopaohu123 发表于 2013-11-21 09:45
    搞的不错,真是好设计

    谢谢支持!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-20 09:10
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-12-3 21:06:53 | 显示全部楼层
    赞一下 楼主
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-10-8 09:49
  • 签到天数: 430 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-12-4 07:03:12 | 显示全部楼层
    qq20707 发表于 2013-12-3 21:06
    赞一下 楼主

    谢谢支持
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-12-21 10:15
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-12-7 17:19:18 | 显示全部楼层
    先下载,可供以后参考,谢谢分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-9-3 20:45
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-12-11 16:14:13 | 显示全部楼层
    hi,看了您的设计,觉得真的不错,能共享一下源码吗?膜拜一下。reayfei@163.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 01:57 , Processed in 0.197723 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.