完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角),多用于雕刻机、3D打印机等需要精确控制的设备。本篇使用ULN2003驱动五线四相减速步进电机。
1. 步进电机介绍
2. ULN2003驱动介绍 由于Arduino开发板的通用IO驱动能力有限,有些外设不能直接使用IO进行驱动,需要借助一些驱动电路间接控制大功率器件。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中,可直接驱动继电器等负载。 3. 实验材料
1. 根据原理图搭建电路。 ULN2003驱动板上IN1、IN2、IN3、IN4分别连接UNO开发板的数字引脚2,3,4,5;驱动板电源输入+、-引脚分别连接UNO开发板的5V、GND。 实验原理图如下图所示: 实物连接图如下图所示: 2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。 /* * Stepper_Motor * 步进电机驱动,实现正反转 */ void setup() { // put your setup code here, to run once: for (int i = 2; i < 6; i++) { pinMode(i, OUTPUT); } } void clockwise(int num) { for (int count = 0; count < num; count++) { for (int i = 2; i < 6; i++) { digitalWrite(i, HIGH); delay(3); digitalWrite(i, LOW); } } } void anticlockwise(int num) { for (int count = 0; count < num; count++) { for (int i = 5; i > 1; i--) { digitalWrite(i, HIGH); delay(3); digitalWrite(i, LOW); } } } void loop() { // put your main code here, to run repeatedly: clockwise(512); delay(10); anticlockwise(512); } 3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。 5. 实验现象 步进电机顺时针、逆时针交替旋转。 6. 实验分析 程序通过ABCD四相通电顺序实现步进电机正反转控制。步进电机旋转一周,程序中循环次数为什么是512次呢?这是根据我们使用的步进电机参数计算而来的:
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
2431 浏览 0 评论
9083 浏览 4 评论
36748 浏览 19 评论
5021 浏览 0 评论
24707 浏览 34 评论
1513浏览 2评论
1731浏览 1评论
2171浏览 1评论
1539浏览 0评论
510浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 22:04 , Processed in 1.465216 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号