搜索
bottom↓
回复: 11

打算用M16做个两相H桥步进电机驱动

[复制链接]

出0入0汤圆

发表于 2007-5-5 23:17:12 | 显示全部楼层 |阅读模式
受人之托.准备上手一从没做过的相目,60V~100V/1A~10AH桥两相步进电机驱动.对此以前没有多少了解.近来看了点资料.现在打算动手.下面的想法不知能否行通,请在行朋友指点!

   使用一片M16产生四通道20KHz的PWM(脉宽可调以达到电流控制)去调制四通道由外部中断触发的微步脉冲(使用一4二输入与门).用这几路脉冲驱动H桥供电机工作.

   用两通道AD转换采样A,B两相的电流来控制20KHzPWM信号的脉宽,实现恒流斩波.和电流档位控制.

   目前最担心的是M16的工作速度可能跟不上.中断资源冲突.这几天调了一下,感觉是外部中断能每步触发,但定时中断确有很多被丢失.还没有加进AD转换.和其他控制.不知这个方案是否会流产.

   欢迎各位有识之士前来讨论,提出您宝贵的建议.在此先谢了!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2007-5-7 00:15:13 | 显示全部楼层
贴一张逻辑分晰图给大家看看.

出0入0汤圆

发表于 2007-5-7 12:05:45 | 显示全部楼层
M16:做20k恒频

+网络电阻做8位DAC,细分要挑出32级很容易.

斩波比较这些全部用外部硬件设计掉.

如果做细分8级的话,就用M8(看I/O的数量).

找个数字示波器看看电流波形,就知道是否大功告成.

-------------------------------------------------------------

我上个月接的项目和你的项目内容完全一样.起初和你想的也完全一样.要完全做好时间太长了.所以建议细分的话用恒频斩波方式的,不要求细分的话,用L297.

专用的话,用L297比较快,机械传动比部分在选好步进电机时就好设计掉.

出0入0汤圆

发表于 2007-5-8 20:05:35 | 显示全部楼层
请问有没有L297+L298N的典型电路?

出0入0汤圆

 楼主| 发表于 2007-5-8 20:27:43 | 显示全部楼层
谢谢二楼朋友的建义.达算改用频率能上35MHZ的单片机STC12C5410AD来做.

出0入0汤圆

 楼主| 发表于 2007-5-8 20:27:53 | 显示全部楼层
谢谢二楼朋友的建义.达算改用频率能上35MHZ的单片机STC12C5410AD来做.

出0入0汤圆

发表于 2007-5-8 23:35:35 | 显示全部楼层
我也一直也在想细分简单化,STC同批次个别片会出现太娇气,没有好感.

我用M16+PWM方式(软件方式,只是想想,没有去实现过):

M16L超到16M 1US执行16条指令差不多了.

开两个中断:ICP+PWM

ICP:

1.外部CP触发

2.动作时序查表

3.更新PWM值



PWM:

调整PWM值(有时想想这个调整还要加入PID思想)



读取ADC部分,暂时没有想好.为了讨论方便:

假设步进电机额定电流4A,细分为4级4个阶梯,粗粗理解每个阶梯的电流差值应该是要相等的.

假设功率电阻选择1欧母,就有1V,2V,3V,4V.MEGA系列的ADC转换,一般总有个最高ADC时钟频率吧,没有测试过假如2^5位分辨率时,这个时钟频率可以上到多少,而且ADC通道打切(2相要两个通道),听大家说好像不太稳定,反正保险些要做个数字滤波吧,这些就要增加时间开销,因此要想个方法,比如DA我们用网络电阻方式,AD我们也可以用网络电阻方式再加两个LM339或其它比较器,参考电压:0.9V,1V,1.1V,1.9V,2V.2.1V,2.9V,3V,3.1V,3.9V,4V,4.1V,接成类似的窗口比较器,然后接入I/0,担心I/O不够的话,SPI+165.这样就不用担心AD转换的速度了,感觉这个框架还是可以操作的.

----------------------------------------------------------------------------

另外一直感觉奇怪的是楼主对付两相为什么要4通道PWM?2通道PWM不是就够了吗!1个线圈分配1个PWM,加控制I/O+1路PWM+数字电路(或GAL)正反都可以实现了啊(我在直流电机上实现过).

出0入0汤圆

 楼主| 发表于 2007-5-9 21:31:27 | 显示全部楼层
多谢六楼的朋友再次回复!

首先两通道是可以完成任务,但用四通道更可靠呀.在不同的时段A+/A-及B+/B-的电流要求不一样(做细分的话)

至于使用运放+基准电压与相电流比较的方法是我最初考虑过.这个只能起到不同电流档位设定的作用.对细分它无能为力.外加DA的话成本增加是小事,关键是电路拥肿.充分利用CPU资源的话电路整洁,也减少了元件失效率.

听你说STC有不稳定因素,不知是否,我没有用过它做产品.要是不行用什么IC好?想过用LM3S6xx的ARM IC做.不知这款IC的稳定性如何.三十多元一片,相对用专业驱动IC应该便宜点,而且设机上可以灵活很多.

我想微步脉冲做到能响应10KHz的速度,每步10个PWM脉冲,每个PWM脉冲分10至100份步进.

只是10份的话要加细分就不太可能了.

出0入0汤圆

发表于 2007-5-9 23:18:03 | 显示全部楼层
我的说法难道不是细分吗?!!呵呵!



楼主7楼的意思我是明白的,这个是思考惯性上的问题,传统的驱动器可以设置工作电流,通过人工对DIP开关打切组合然后送到VREF端. VREF/功率电阻 = 工作电流.

我的不是这个意思,既然用了A/D,这个比较当然用软件完成了,我说的窗口比较器的作用:

就是针对楼主"在不同的时段A+/A-及B+/B-的电流要求不一样(做细分的话)"

1.不一样,就会在不同的时段产生不同的电压 (= 电流*功率电阻值).

2.MCU当然知道这个时段的理想电压(电流)值(PWM占空比),

3.MCU用窗口比较器知道了这个时段的真实电压值!!!!!!事情不就简单了吗?!!!呵呵.也烦,

要用类似PID调节自己摸个调节公式.

4.A+/A-/B+/B- = 1010到0010,1/2步内插入4步的话,也就是1010下会有4个时段,时段迁移,就只要改变PWM的占空比完成的.



这个窗口比较器和手机上的电量指示器一样,可以知道每个阶梯(时段的)电压值,比如今天的,明天的,后天的,大->小./充电 小->大,一清二楚.

出0入0汤圆

发表于 2007-5-10 14:22:51 | 显示全部楼层
细分电流要附合相量原则才能更好,不是简单的1。2。3

出0入0汤圆

发表于 2007-5-10 18:49:59 | 显示全部楼层
简单1.2.3怎么不行呢?!相量也是1.2.3 ..步啊.讨论到细节肯定就会显现出来了!

出0入0汤圆

发表于 2007-8-15 21:08:37 | 显示全部楼层
请问有没有两相步进电机驱动程序,c语言的...我是用M16做个两相H桥步进电机做的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-27 01:19

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

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