51单片机驱动步进电机设计
开始编程,先上个逻辑设计,有经验没经验的大伙多指教:•模式:1、电跟模式MOSHI=1,DIANGEN;2、自由控制模式MOSHI=2,ZY
•关键字定义:速度SUDU,方向FX(1=逆时针,0=顺时针),模式MOSHI,启动QIDONG(1=启动,0=停止)
•自由模式ZY:20X电跟速度,10X电跟速度,5X电跟速度三档。控制键:1、启动/停止(►II);2、速度增加(VOL+);3、速度减小(VOL-) ;4、前进( ► ►,逆时针);5、后退( ◄ ◄,顺时针)
•电跟模式DIANGEN:单倍电跟,加速,减速。控制键:1、启动/停止(►II);2、倒退( ◄◄,5X速度,顺时针,按下键后倒退,松开键后恢复此前电跟速度);3、快进(► ►,5X速度,松开后恢复此前速度);4、基础速度加速(VOL+);5、基础速度减速(VOL-)
•显示:1、模式;2、方向;3、目前速度;4、电跟基础速度
•GOTO补充显示:1、当前赤经角;2、当前赤纬角;3、目标赤经角;4、目标赤纬角
电跟模式:
基础速度:SUDU=50,10分钟/转。基础速度增加或降低时,循环语句的变量减少或增加
顶!!!我就想看这个,关注!!!LZ用的是什么电机?? 有个问题:为了显示,程序必须调用显示程序,使用循环逐位数码管显示的方法显示,这就势必会影响输出给步进电机的脉冲周期。
单片机似乎不具备windows一样的多任务处理能力,那么如何精确判断脉冲周期呢? CLEO 发表于 2013-4-1 22:05 static/image/common/back.gif
顶!!!我就想看这个,关注!!!LZ用的是什么电机??
二手的,尺寸是42,但是应该内置了减速齿轮箱,因为他的步进角只有0.25度
tbb1 发表于 2013-4-1 22:08 static/image/common/back.gif
有个问题:为了显示,程序必须调用显示程序,使用循环逐位数码管显示的方法显示,这就势必会影响输出给步进 ...
用中断?? 学习…… tbb1 发表于 2013-4-1 22:08 static/image/common/back.gif
有个问题:为了显示,程序必须调用显示程序,使用循环逐位数码管显示的方法显示,这就势必会影响输出给步进 ...
最好的办法是使用硬件PWM,有的51比如STC的有,但STC的硬件PWM无法完全不需要软件干预的任意分频,所以还是需要使用定时器中断去做。其他单片机比如STM8S系列有高级定时器,很方便。
另外,单片机是可以用专用的操作系统的。可以实现宏观上的多线程,但微观上还是需要线程间让出MCU的使用权,所以微观也是串行执行任务。
学习 帮顶! redpony 发表于 2013-4-2 09:26 static/image/common/back.gif
这东西肯动要用时钟中断啦,不然程序一大就歇菜了。
我现在没想明白,是用空循环延时输出脉冲呢,还是用定时器中断来输出脉冲?
我用的1/64细分驱动板,每步0.25度,每个脉冲只走0.25/64度
1X速度下,每10分钟转1圈,转1圈需要360/0.25*64=92160个脉冲,每个脉冲周期为10*60/92160=0.00651秒,就是6.51毫秒
这么短的周期,用定时器中断产生脉冲会不会也同样大量消耗单片机资源?
maxchen 发表于 2013-4-1 23:12
最好的办法是使用硬件PWM,有的51比如STC的有,但STC的硬件PWM无法完全不需要软件干预的任意分频,所以还 ...
提示下,驱动步进电机呢,是脉冲调制器件,不是脉宽!!!!!不需要pwm! tbb1 发表于 2013-4-1 22:08
有个问题:为了显示,程序必须调用显示程序,使用循环逐位数码管显示的方法显示,这就势必会影响输出给步进 ...
建议楼主用液晶屏幕不要用数码管…
至于你所说的影响问题,这是不存在的…步进电机用定时器即可,显示不需要… 天籁 发表于 2013-4-2 13:29 static/image/common/back.gif
建议楼主用液晶屏幕不要用数码管…
至于你所说的影响问题,这是不存在的…步进电机用定时器即可,显示不 ...
显示是一定需要的,因为有多种模式,并且基础速率因为极轴不够精准、程序运行误差之类的原因,是需要调整的
液晶也在考虑中,先整数码管,这货简单。
就定了用定时器中断整脉冲输出 天籁 发表于 2013-4-2 13:25 static/image/common/back.gif
提示下,驱动步进电机呢,是脉冲调制器件,不是脉宽!!!!!不需要pwm! ...
{:soso_e127:},不要那么死脑筋嘛,用硬件PWM来产生连续的脉冲信号来驱动步进电机,这样设置好后就完全不需要软件干预了,你软件要跑OS,要在数码管或者LCD上显示啥都不影响硬件PWM输出信号的频率。至于占空比,你设置成50%不就完了。唉
请参考STM32或者STM8 datasheet关于TIM的说明
maxchen 发表于 2013-4-2 16:51
,不要那么死脑筋嘛,用硬件PWM来产生连续的脉冲信号来驱动步进电机,这样设置好后就完全不 ...
嗯,这也没错~stm32的我有做,不过是用定时器的…硬件部分可以打样也可以自己做做看…这东西,不难也不简单… tbb1 发表于 2013-4-2 15:11
显示是一定需要的,因为有多种模式,并且基础速率因为极轴不够精准、程序运行误差之类的原因,是需要调整 ...
1602相当简单了~8080接口,指令很少的… 天籁 发表于 2013-4-2 19:15 static/image/common/back.gif
嗯,这也没错~stm32的我有做,不过是用定时器的…硬件部分可以打样也可以自己做做看…这东西,不难也不 ...
我指的就是定时器的PWM模式,不是专门硬件
页:
[1]
2