搜索
bottom↓
回复: 42
打印 上一主题 下一主题

计论!51单片机怎么发带加减速的方波脉冲输出(驱动步进驱动器或伺服系统达到精确定位)

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2011-7-28 13:29:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
指标要求:1、能设定脉冲数
          2、能设定最高频率
          3、能设定加速时间(速度从0-最高频率)

请大家参与讨论方案!

出0入0汤圆

2
 楼主| 发表于 2011-7-28 14:32:13 | 只看该作者
我的方案是:做一表格放定时器定时值(比如1000个数据)0-50K,50HZ一格,用一个定时器,查表发脉冲,在定时中断里发一窄脉冲,
            设定速度(F1-F200),把50K分成200等分,。即隔250HZ一档速度,加速档位分成20级
            发脉冲分为三个阶段,1.上升脉冲数;2.恒速脉冲数3.下降脉冲数(其中上升脉冲数等于下降脉冲数.
            准备发脉冲前先算好三个阶段的脉冲数,若总脉冲数不够时,恒速=0,下升下降平分。
            例1:速度设成F100即最高速度为25K,中间分成100块定时数据,100/20=5,即每升速一次,查表指针加5,发为20个脉冲后即
                达到恒速。再发完恒速,同理发完降速,即完成发一串脉冲数,达到定位,
            例2:速度设成F150即最高速度为37.5K,中间有150块定时数据,150/20=7.5,即每升速一次,查表指针加7(取整数,初速从F10
                 开始:150-20*7=100),发为20个脉冲后即达到恒速。再发完恒速,同理发完降速,即完成发一串脉冲数,达到定位,
-----------------------------------------------------------------------------------------------------------------------------------------
            例1大家可以看到,不能调节加速时间,即加速时间或加速斜率,
            引入新的一个参数,速率(P0-P200)
            当设成P0时,曲线不查表直接从最高转速发脉冲,
            当设成P1时,方案按例1发脉冲。(同速脉冲数=1)
            当设成P3时,升降速时同速脉冲连_发三次,(同速脉冲数=3)
            当高成Px时,x即同速脉冲数,如例1,把X再5进行比较,可算出是5的倍数N倍+零数
                        始x=13,则13/5=2 零数=3,就是把原来每增一次速加5个指针,细分成5次加速,分别是
                        1/2/3/4/5次,其1/2次,每升一次速发两个脉冲,在3/4/5,每升一次速发三个脉冲,

出0入0汤圆

3
 楼主| 发表于 2011-8-2 08:55:55 | 只看该作者
今天终于调通了,程序从10HZ-100K可调!加速性能不错,不比PLC差多少,用的是STC12C5A60S2!STC12C5A56S2 ,调节范围,10HZ-100K,加速曲线可调,分250*12=3000种斜率, 设置最大脉冲数是16777216*(65535/65535),也就是说,当分子设成65535,分子设成1时,最大可发1099494850560个脉冲即2的40位数据
可以
哈哈,怎么没人关注呢!

出0入0汤圆

4
发表于 2011-8-2 17:47:28 | 只看该作者
能不能说说100K的脉冲输出是怎么做的呢,谢谢!

出0入0汤圆

5
发表于 2011-8-2 20:24:21 | 只看该作者
mark

出0入0汤圆

6
发表于 2011-8-2 20:51:55 | 只看该作者
关注

出0入0汤圆

7
 楼主| 发表于 2011-8-3 10:23:16 | 只看该作者
回复【3楼】tuowai
-----------------------------------------------------------------------

就我上面的方案,现在调到110K了,最低30HZ,速度共F1-F400,调节其中,F1-F400=每级250HZ左右
其中在F1-F10,当速率设成P0时,即速率(斜率)=0时速度切换成30HZ-250HZ,且是恒速的,
在F11-F400时,速率设成P0,是恒速,(一直是设定速度恒速运行)当设成速率P1-P250时,自动生成250级加速斜率,
P0,最急!直接从最高速起动,一直恒速,再是依次P1-P250,越大,越缓,还有一个参数,加速系数,N1-N12可设,也就是说,
可以最大可选设3000档曲线,每次都是从0加速到设定速度,试了效果很不错,不比PLC差,再整理几天,再上传照片,和波型!

出0入0汤圆

8
发表于 2011-8-3 21:29:49 | 只看该作者
不怎么了解单片机,只是以前用的一个板子上是使用翻转端口来输出脉冲的,想了解下,如何才能实现输出那么高的脉冲,谢谢

出0入0汤圆

9
发表于 2011-8-5 15:33:47 | 只看该作者
顶下!

出0入0汤圆

10
发表于 2011-8-27 15:34:26 | 只看该作者
你定位怎么做的呢?发一个脉冲+1?

出0入0汤圆

11
发表于 2011-8-27 15:47:32 | 只看该作者
去看看书 电动机的单片机的控制

出0入0汤圆

12
发表于 2011-8-27 20:54:13 | 只看该作者
就是你的步进电机啥驱动的

出0入0汤圆

13
发表于 2011-8-27 21:39:37 | 只看该作者
51驱动步进电机,精确点的话要用到8253这个片子。

出0入0汤圆

14
发表于 2011-8-27 22:10:02 | 只看该作者
学习中,,,,
我们这边做的一台自动包麦拉机用的脉冲发生器跟楼主描述的功能一样,型号是Mtpg-7-2n,明天上拆机图,

出0入0汤圆

15
发表于 2011-8-28 13:45:12 | 只看该作者
我只是路过!

出0入0汤圆

16
发表于 2011-8-29 10:09:11 | 只看该作者
关注...

出0入0汤圆

17
发表于 2011-8-29 19:17:25 | 只看该作者
学习,mark

出0入0汤圆

18
发表于 2011-8-29 22:35:30 | 只看该作者

未完待续 (原文件名:20110828137.jpg)

出0入0汤圆

19
发表于 2011-9-2 23:52:31 | 只看该作者
mark

出0入0汤圆

20
发表于 2011-10-17 13:38:40 | 只看该作者
mark

出0入0汤圆

21
发表于 2011-10-18 15:58:50 | 只看该作者
回复【2楼】ZHN245
-----------------------------------------------------------------------

我现在也在搞单片机控制步进马达,总体来说效果还是不错的,但是就是加减速问题一直不能解决,希望能得到你的帮助,联系方式:lryxr@sina.com.

出0入0汤圆

22
发表于 2011-10-18 16:34:10 | 只看该作者
我也搞过,用的M16,多轴同步问题一直没有做好;现在想用STM32或NUC140作,最近有点忙,一直没动手.

出0入0汤圆

23
发表于 2011-10-21 00:02:07 | 只看该作者
回复【22楼】mcu5i51 学途浪子
-----------------------------------------------------------------------

期待!

出0入0汤圆

24
发表于 2011-11-4 21:17:42 | 只看该作者
楼主,能共享代码,学习学习

出0入0汤圆

25
发表于 2011-11-23 09:51:52 | 只看该作者
正在做相关的东西,有用,谢谢

出0入0汤圆

26
发表于 2011-12-20 13:20:03 | 只看该作者
mark

出0入0汤圆

27
发表于 2011-12-20 13:26:56 | 只看该作者
mark

出0入0汤圆

28
发表于 2012-3-25 18:45:37 | 只看该作者
mach 中不是可以设置加减速曲线吗

出0入0汤圆

29
发表于 2012-4-15 00:20:09 | 只看该作者
楼主是使用STC12C5A60S2 PCA输出高速脉冲,我下了楼主的示例与STC的手册,感觉还是有点迷糊,还望解答下疑惑:
楼主程序与手册上均为 输出脉冲=晶体频率/(4*CCAPnL),如晶体频率为12M,想得到100K的脉冲输出的话,12M/100K/4,得到CCAPnL为30,想得到99K的输出频率时,12M/99K/4,得到CCAPnL为30.30303,看手册上是CCAPnL是小数时,是需要取整,这样的话,不就不能输出99K的频率了吗?是我理解错误还是计算有误还是有其他可解决的方法呢,还请指点下,谢谢;

出0入0汤圆

30
发表于 2013-2-26 19:13:22 | 只看该作者
楼主能否发份程序学习学习,谢谢. 940068004@qq.com

出0入0汤圆

31
发表于 2013-2-27 14:26:25 | 只看该作者
可惜有点迷糊,N1-N12参数是什么作用?

出0入0汤圆

32
发表于 2013-4-29 22:11:05 | 只看该作者
楼主有资料吗?

出0入0汤圆

33
发表于 2013-4-29 22:44:30 | 只看该作者
lz可否将原理图和代码共享下。。。

出0入0汤圆

34
发表于 2014-3-21 11:08:26 | 只看该作者
:TMCM-342脉冲分为三个阶段,1.上升脉冲数;2.恒速脉冲数3.下降脉冲数(其中上升脉冲数等于下降脉冲数.             准备发脉冲前先算好三个阶段的脉冲数,若总脉冲数不够时,恒速=0,下升下降平分。             例1:速度设成F100即最高速度为25K,中间分成100块定时数据,100/20=5,即每升速一次,查表指针加5,发为20个脉冲后即                 达到恒速。再发完恒速,同理发完降速,即完成发一串脉冲数,达到定位,             例2:速度设成F150即最高速度为37.5K,中间有150块定时数据,150/20=7.5,即每升速一次,查表指针加7(取整数,初速从F10                  开始:150-20*7=100),发为20个脉冲后即达到恒速。再发完恒速,同理发完降速,即完成发一串脉冲数,达到定位, -----------------------------------------------------------------------------------------------------------------------------------------

出0入0汤圆

35
发表于 2014-7-23 15:15:54 | 只看该作者
ZHN245 发表于 2011-7-28 14:32
我的方案是:做一表格放定时器定时值(比如1000个数据)0-50K,50HZ一格,用一个定时器,查表发脉冲,在定 ...

请问楼主,时间单位和同速脉冲数如何转换?

出0入0汤圆

36
发表于 2014-7-30 09:55:04 | 只看该作者
mark            

出0入0汤圆

37
发表于 2014-9-3 21:56:04 | 只看该作者



这个案例很具有挑战性,值得大家来讨论

出0入0汤圆

38
发表于 2017-5-1 13:46:41 来自手机 | 只看该作者
挺好的,有空研究一下

出0入0汤圆

39
发表于 2017-5-3 19:43:33 | 只看该作者
请楼主多上点资料啊~~~~~~~~~

出0入0汤圆

40
发表于 2017-12-29 02:32:28 | 只看该作者
tuowai 发表于 2012-4-15 00:20
楼主是使用STC12C5A60S2 PCA输出高速脉冲,我下了楼主的示例与STC的手册,感觉还是有点迷糊,还望解答下疑 ...

您下过楼主的实例程序,能否分享下,也想学习一下,楼主联系不上,也不回复, 我的邮箱:anshengli_dz@163.com,谢谢!

出50入135汤圆

41
发表于 2023-10-21 15:54:38 来自手机 | 只看该作者
avr446你值得拥有
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 01:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表