一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 2531|回复: 5
收起左侧

[DIY套件开发] 51单片机驱动步进电机并控制回原点

[复制链接]
发表于 2019-5-6 16:57 | 显示全部楼层 |阅读模式
最近碰到一个问题。
单片机不熟悉,只会很简单的程序,所以写了个步进电机正反转的程序,能用。
但是每次上电的时候都不是再同一个位置开始,这很烦人。
因为这个转子可以随便扭动,所以又不能靠计算转动的步数或者角度来计算。
我也想了很多办法来回原点,比如加限位开关,光电开关什么的。但是对这个不熟悉不知道怎么弄才好。
大家可以分享下经验吗?,要简单一点的。谢谢大家了。

功能:断电可以不管电机停止的位置,但是下次上电时一定要先检测原点(回归原点)并从设定的同一个位置开始转动。
发表于 2019-5-7 13:06 | 显示全部楼层
装个位置开关连接到单片机的某个端口。开机 电机转动同时单片机检测该端口信号,有变化时就停止转动。
要准确的还可反复几次。
发表于 2019-5-8 01:34 | 显示全部楼层
本帖最后由 cne53102 于 2019-5-8 01:37 编辑

1.机械装置如果不能承受无限的旋转,那么就必须安装机械限位,能堵死电机的那种。
2.至少在原点需要有一个行程开关或光电开关,原点和行程终点各有一个是最好的。对于特别低成本的设备可以没有检测元件,向原点移动一整圈的脉冲,无论如何电机都会堵死在机械限位的位置上,发完脉冲就清零位置计数变量,部分舞台灯光设备是这样做的。
3.开机时,程序是无法知道当前位置的,以低于300转的低速匀速向原点行程开关移动,每移动一步就看一下有没有信号,没有就继续下一步,有了就停下,清零位置计数变量。
4.程序里需要有一个计数的变量,体现机械装置当前位置,它就是你离开原点的位置,每次输出一个脉冲都需要将这个变量增或减1,步进电机是开环位置控制,你只能靠计数来确定位置并祈祷不会丢步。(因为你没有编码器来确定实际位置)
5.如果你的设备在运行过程中转轴可以被随意扭动,那么每次运动都返回一下原点可能不切实际,转动角度有限的情况下可以考虑电位器简单判断位置,如果可以转一整圈的,就需要上编码器了。
空调出风口那个板就是步进电机驱动的,一般可以用手轻轻扳动,但它关机后再开启,总是能在正确的位置,是一个很好的例子,可以仔细观察下
发表于 2019-5-8 01:56 | 显示全部楼层
拆个光驱/1.44MB/1.2MB 软驱/9针/24针打印机,就知道步进马达开机怎样复位
发表于 2019-5-8 20:04 | 显示全部楼层
不知道那些数控系统的回原点是不是使用外部中断的?
发表于 2019-5-8 21:54 | 显示全部楼层
肯定是需要限位装置了,不说编码器,最起码也要用个限位开关,不太讲究的简单说就是将所有的限位开关都通过二极管阵列连接到一个外部中断上,并给这个中断最高优先级,然后将各个限位开关再单独连接到一些普通IO上;准备好了后,启动电机向原点方向靠拢,当外部中断响应后,在中断处理里立即关闭所有电机,然后扫描一下连接限位开关的IO口,看看到底是谁到位了,谁到位了,就暂停谁,继续操作没有到位的电机,直到都到位了,都到位后,为了可靠,可以退车一点,几毫米都行,保证退车距离能让限位开关复位就行,反复几次原点识别,特别是带有加减速的算法的电机控制和负载较重的尤其要注意一下。实际使用中,如果负载重,电机扭力没有太多余量,即便是原点找好也是很容易出问题的,都知道开环控制的步进电机速度控制不好容易丢步,带闭环控制器的步进电机则好很多。

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-19 15:08 , Processed in 0.062725 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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