标题: Arduino四相八拍步进电机控制程序+资料 [打印本页]
作者: 王堂杰 时间: 2019-3-25 11:24
标题: Arduino四相八拍步进电机控制程序+资料
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。你可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时你也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
使用步进电机前一定要仔细查看说明书,确认是四相还是两相,各个线怎样连接,本次实验使用的步进电机是四相的
减速步进电机
直径:28mm
电压:5V
步进角度:5.625 x1/64
减速比:1/64
5线4相 可以用普通uln2003芯片驱动,也可以接成2相使用
该步进电机空载耗电在50mA以下,带64倍减速器,输出力矩比较大,可以驱动重负载,极适合开发板使用。注意:此款步进电机带有64倍减速器,与不带减速器的步进电机相比,转速显得较慢,为方便观察,可在输出轴处粘上一片小纸板。
步进电机(五线四相)驱动板(UL2003)试验板
步进电机驱动板(UL2003)试验板
* 步进电机跟随电位器旋转
* (或者其他传感器)使用0号模拟口输入
* 使用arduino IDE自带的Stepper.h库文件
*/
源程序:
- #include <Stepper.h>
- // 这里设置步进电机旋转一圈是多少步
- #define STEPS 100
- // attached to设置步进电机的步数和引脚
- Stepper stepper(STEPS, 8, 9, 10, 11);
- // 定义变量用来存储历史读数
- int previous = 0;
- void setup()
- {
- // 设置电机每分钟的转速为90步
- stepper.setSpeed(90);
- }
- void loop()
- {
- // 获取传感器读数
- int val = analogRead(0);
- // 移动步数为当前读数减去历史读数
- stepper.step(val - previous);
- // 保存历史读数
- previous = val;
- }
复制代码
全部资料51hei下载地址:
ULN2003 步进电机扩展板资料.zip
(417.2 KB, 下载次数: 67)
作者: qtvbriu 时间: 2019-11-14 20:27
谢谢分享!刚学没多久!
作者: gasgq 时间: 2019-11-23 19:32
谢谢老哥,不过我用这个源程序怎么上传不了
作者: jsxhzxp 时间: 2019-11-24 20:12
刚刚学,学到了。谢谢
作者: 不改 时间: 2020-12-7 10:27
stepper.step,后面不管正负都是顺时针转
作者: 191122699 时间: 2021-6-5 15:04
整理的不错,给力啊


作者: uyg6f6f 时间: 2021-7-31 17:43
这个程序是真的强
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |