7回答

0收藏

[求助] psoc3的PID控制

英飞凌 英飞凌 4838 人阅读 | 7 人回复 | 2013-10-05

请问psoc3的PID控制如何实现啊,0-10V输出转速控制与1路转速检测组成闭环控制。有思路的大神帮忙解答一下啊
分享到:
回复

使用道具 举报

回答|共 7 个

倒序浏览

沙发

zgbkdlm

发表于 2013-10-5 11:24:27 | 只看该作者

再详细一点~
板凳

wasd890228

发表于 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路;(计数器,车轮装上磁铁,车壳上对应磁铁经过的地方安装霍尔。检测霍尔输出的脉冲数(频率),乘以车轮周长即可得到速度(米/秒)
这是他的要求,括号里面的是我自己写的。
地板

zgbkdlm

发表于 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,
5#

wasd890228

发表于 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 ?
6#

zgbkdlm

发表于 2013-10-12 10:48:09 | 只看该作者

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

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

wasd890228

发表于 2013-10-13 09:32:30 | 只看该作者

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

恩好的谢谢您了
8#

wasd890228

发表于 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 下一条