LAOXU 发表于 2024-11-5 18:44:31

Ai8051U,做个开源运动控制器(PLC),方案讨论

申请的Ai8051U收到了,想做个开源的运动控制器(PLC),基本功能(要求)如下:
1,两个串口(RS232,RS485)
2,至少3路(A/B两相)高速计数器输入
3,至少3路(带方向控制)高速脉冲输出
其他没什么大的要求。

欢迎大家对高速计数输入,高速脉冲输出,
采用Ai8051U的哪些硬件,提点建议,谢谢😊

LAOXU 发表于 2024-11-5 18:55:53

高速A/B两相计数输入,高级PWM可组成2路,或用外部中断模拟
高速脉冲输出,T0~T4,T11,PCA(3路),高级PWM等,都可以用
只是效率有点低(需2次电平翻转中断,才能输出一个脉冲)
注:脉冲输出必须带可逆计数器,用以记录输出脉冲个数。

王昱顺 发表于 2024-11-5 19:01:37

LAOXU 发表于 2024-11-5 18:55
高速A/B两相计数输入,高级PWM可组成2路,或用外部中断模拟
高速脉冲输出,T0~T4,T11,PCA(3路),高级PW ...

可行性验证成功,DMA串口实现4路可控高速脉冲 - 串行口,DMA支持的4组串口,RS232,RS485,Modbus, CRC16 国芯技术交流网站 - AI32位8051交流社区
这个可以实现带有计数功能的可控脉冲数量输出。
不过会占用串口,如果使用两个串口做rs458/232的话,就只能拿出两个来做高速脉冲输出
不过这个优点也很明显,就是可以输出fosc/4频率的脉冲频率,并且可控

LAOXU 发表于 2024-11-5 19:08:05

这个玩意儿,要做出来简单,要做好比较难。
比如,要求输出两路不同的频率,要求同步,以一路为基准(整数),
另一路可能计算出来是带小数的(除不尽),折合成整数定时输出
频率,就有误差,需要合适的时候插入(多输出)一个脉冲,引起
输出抖动(短暂不同步)。

LAOXU 发表于 2024-11-5 19:16:56

再比如,对输入频率计数,跟踪其频率变化,模拟凸轮(查表)输出。
由于采样率较高,对频率的测量准确率降低,如何既快速又要测量精准,
再加上查表计算后的取整误差,如何保证输入/输出同步(误差最小化),
这永远是个值得思考的问题。

一束光的旅程 发表于 2024-11-6 17:55:48

脉冲输出最好做成4轴的。主要是软件不好做。我之前做了一款硬件,软件写了一点就没有继续。

zxcv1973 发表于 2024-11-6 18:05:48

运动控制现在都倾向用总线了,脉冲控制的弊端太大,特别是多轴时候,只干扰就能搞死人,一轴两轴用脉冲还凑合,三轴以上推荐用总线

LAOXU 发表于 2024-11-6 19:35:17

zxcv1973 发表于 2024-11-6 18:05
运动控制现在都倾向用总线了,脉冲控制的弊端太大,特别是多轴时候,只干扰就能搞死人,一轴两轴用脉冲还凑 ...

是的,通用现场总线传输控制信息,运动控制器编程简单(具体控制难度都转移到下位机一一伺服电机驱动器上了)。
只是STC单芯片搞不定,需外配(如EtherCAT、CANopen等)专用芯片。

LAOXU 发表于 2024-11-6 19:38:01

一束光的旅程 发表于 2024-11-6 17:55
脉冲输出最好做成4轴的。主要是软件不好做。我之前做了一款硬件,软件写了一点就没有继续。 ...

确实,我目标是4路A/B相高速输入,4路高速输出。
只是还不能确定,单芯片功能是否完全满足。

LAOXU 发表于 2024-11-6 19:41:32

高速输入频率不小于100KHz,计划有两路达到500KHz。
高速输出频率也不小于100KHz。
页: [1] 2 3 4
查看完整版本: Ai8051U,做个开源运动控制器(PLC),方案讨论