单片机/MCUwilliam hill官网
直播中

天生我才

8年用户 47经验值
擅长:可编程逻辑 MEMS/传感技术 嵌入式技术 处理器/DSP 接口/总线/驱动 控制/MCU
私信 关注
[问答]

用51单片机控制步进电机,测得速度无法显示,应该怎么解决呢?

毕业设计做的差不多了,就剩了一个问题现在一直没有解决,求大佬指导!
毕业设计要求:用51单片机控制步进电机。(28BYJ-48),控制电机正转和反转并测速并且显示在LCD上(1602)。正转和反转都有档位(1挡速度慢点,2挡速度快点),需要把档位、状态(正转、反转)、估计速度和实际测得速度都显示在1602上面。
我现在做的进度:已经实现正转和反转档位速度变化,以及状态显示,档位显示,估计速度显示。现在就测得速度无法显示,应该怎么解决呢?
我的思路:用T0当计数器(计数圈数),T1当定时器(定时多少秒),然后求出一分钟多少圈。
步进电机给指令我使用相应的延时函数实现的,延时函数长的速度慢,短的速度快。
求大佬指点!!!!

回帖(3)

人中狼

2018-5-4 09:47:22

最佳答案

求转速一般会在电机上放一个码盘,码盘上有缺口,通过红外对管产生通断的变化。
需要用到外部中断和定时器,定时器用来定时,定一个单位时间,用来换算转速,外部中断用来连接红外对管的通断变化,用来计算定时时间内产生的中断数,两者结合就可以计算出转速。
比如码盘有6个缺口,也就是转一圈产生6个脉冲,如果定时1秒,接收到6个脉冲,那么转速就是360转/分钟
举报

天生我才

2018-5-4 10:24:43
引用: 人中狼 发表于 2018-5-4 10:09
求转速一般会在电机上放一个码盘,码盘上有缺口,通过红外对管产生通断的变化。
需要用到外部中断和定时器,定时器用来定时,定一个单位时间,用来换算转速,外部中断用来连接红外对管的通断变化,用来计算定时时间内产生的中断数,两者结合就可以计算出转速。
比如码盘有6个缺口,也就是转一圈产生6个脉冲,如果定时1秒, ...

我是用定时器定时,计数器计算码盘转动的圈数。在定时器服务函数里面我调用按键函数(按键函数是判断哪个按键按下,步进电机做那种操作)。如果定时时间到了,就关闭EA,然后取计数器里面的内容。在做一些处理,显示在LCD上,但是一直显示有问题。
举报

hts

2018-5-15 18:03:34
好!不错!好好学习一下先
举报

更多回帖

发帖
×
20
完善资料,
赚取积分