查看: 4067|回复: 7

psoc3的PID控制

[复制链接]
  • TA的每日心情
    奋斗
    2013-8-26 08:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2013-10-5 09:43:01 | 显示全部楼层 |阅读模式
    分享到:
    请问psoc3的PID控制如何实现啊,0-10V输出转速控制与1路转速检测组成闭环控制。有思路的大神帮忙解答一下啊
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2015-10-15 10:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-10-5 11:24:27 | 显示全部楼层
    再详细一点~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-8-26 08:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2013-10-5 15:15:54 | 显示全部楼层
    zgbkdlm 发表于 2013-10-5 11:24
    再详细一点~

    变频器——转速控制,0-10V模拟量输出(电源设计),16位;(由psoc提供5V电源,然后外接16位的DAC,然后DAC的输出接运放,进行电压放大,用TI DAC8552。提供Vdd和Vref,最大输出电压位0-Vref)
    转速检测——霍尔传感器,2路;(计数器,车轮装上磁铁,车壳上对应磁铁经过的地方安装霍尔。检测霍尔输出的脉冲数(频率),乘以车轮周长即可得到速度(米/秒)
    这是他的要求,括号里面的是我自己写的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-10-15 10:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-10-7 21:36:57 | 显示全部楼层
    wasd890228 发表于 2013-10-5 15:15
    变频器——转速控制,0-10V模拟量输出(电源设计),16位;(由psoc提供5V电源,然后外接16位的DAC,然后DAC ...

    转速检测建议用编码器,在PSOC里面用QEI就可以了,
    至于PID,先P再D慢慢调吧,,,,需要I的话就加I,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-8-26 08:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2013-10-8 08:28:21 | 显示全部楼层
    zgbkdlm 发表于 2013-10-7 21:36
    转速检测建议用编码器,在PSOC里面用QEI就可以了,
    至于PID,先P再D慢慢调吧,,,,需要I的话就加I, ...

    我的转速检测用的是counter进行计数,1s内的霍尔传感器的脉冲个数可以测出来。但是我的变频器是用DAC8552做的,SPI通信控制输出电压,PID控制怎么控制啊?控制DAC,还是SPI ?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-10-15 10:50
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-10-12 10:48:09 | 显示全部楼层
    wasd890228 发表于 2013-10-8 08:28
    我的转速检测用的是counter进行计数,1s内的霍尔传感器的脉冲个数可以测出来。但是我的变频器是用DAC8552 ...

    对于这个控制我觉得还是用位置式PID好些,控制器的输出量直接为SPI输出,之间的比例要根据DAC,运放和输入量进行计算,选择一个合适的值作为K,先做纯比例控制,不断调节KI使系统的震荡幅度和稳态误差比较满意了,再调KI和KP.,,网上有例程,可以参考下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-8-26 08:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2013-10-13 09:32:30 | 显示全部楼层
    zgbkdlm 发表于 2013-10-12 10:48
    对于这个控制我觉得还是用位置式PID好些,控制器的输出量直接为SPI输出,之间的比例要根据DAC,运放和输入量 ...

    恩好的谢谢您了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-8-26 08:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2013-10-15 08:33:17 | 显示全部楼层
    zgbkdlm 发表于 2013-10-12 10:48
    对于这个控制我觉得还是用位置式PID好些,控制器的输出量直接为SPI输出,之间的比例要根据DAC,运放和输入量 ...

    你好我想再问一下,DAC8552这个芯片的高8位位控制位,低16位位数据位,我就是想问一下,高8位可以用Send_TO_DAC8552(0x18,0x01); void Send_TO_DAC8552(uint16 Register,uint16 Data) ;                                 而低16位可以用SPIM_WriteTxData()的方式传输数据吗?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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



    手机版|小黑屋|与非网

    GMT+8, 2024-5-19 00:10 , Processed in 0.194958 second(s), 29 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.