《arduino驱动步进电机小实例》由会员分享,可在线阅读,更多相关《arduino驱动步进电机小实例(6页珍藏版)》请在金锄头文库上搜索。
1、Arduino驱动步进电机小实例本文介绍了使用Arduino UNO R3开发板驱动五线四相步进电机的原理与方 法,其中包括用最基本单个引脚写入和调用内部库函数两种方法。准备阶段:Arduino UNO R3 开发板Arduino是一块基于开放原始代码的Simple i/o平台,并且具有开发语言 和开发环境都很简单、易理解的特点。让您可以快速使用Arduino做出有趣的东 西。它是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序 的开发环境组成。 Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并
2、 且可以控制各式各样的电灯、电机和其他物理设备。Arduino项目可以是单独的, 也可以在运行时和你电脑中运行的程序(例如:Flash,Processing ,MaxMS)进行通讯。0*H?1stDILkuskua -iLJKni*TULN2003驱动板ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC数字量输出卡等控 制电路中。可直接驱动继电器等负载。ni“ ql. 11m i : Ol I 4 l:(11 T II fJl I 出5 J 4 5 .& _7 K 寓NK 寓 展 t BH Ik- -r-Up-bULN2003芯片引脚io oirr.I1XIJ* i:i i ni
3、HNxn五线四相步进电机步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号, 它就驱动步进电机按 设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一 步一步运行的。可以通过控制脉冲个数来控制角位移量, 从而达到准确定位的目 的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。注意图中5条线的颜色:蓝、粉、黄、橙、红,这个顺序很重要接线指示图各模块之间的连接r If fjJ S l,flUSBE3OKEF J:
4、CH 3.1VM Sv HGND EGND Etl Vn1ARIE-GND 12o 9 RJENl VIIN221N45JIN5TUN?苗A A A A A AmmQJmBE接线图调试阶段:方法一:单个引脚写入/引脚定义con sti ntpin sCou nt = 4;/所用引脚个数int Pi ns = 8,9,10, 11,; /对应的引脚void setup() /循环设置,把对应的引脚都设置成输出for (i ntthisP in = 0; thisP invpin sCo unt; thisP in+) pi nMode(Pi nsthisPi n, OUTPUT);void lo
5、op() for (intnum = 0; num 4; nu m+) digitalWrite(Pinsnum, HIGH);delay(20);digitalWrite(Pi nsn um, LOW);/这样就让4个引脚循环输出高电平了 方法二:调用内部库函数#in clude /将此更改为您的电机上的步骤数#define STEPS 512/定义引脚的连接Stepper stepper(STEPS, 8, 10, 9, 11);/ 上一次的读取模拟量int previous = 0;/ 初始化电机转动速度void setup()stepper.setSpeed(10);/ 主循环void loop()/读取AD值,在LY-51S可以直接通过电位器调节intval = analogRead(0);/ 把速度设置为这次和上次读取的差值 stepper.step(val - previous);/ 记下这次读取值,方便下次比较previous = val; 参考文献柯博文. Arduino 完全实战 . 电子工业出版社 . 2016.1(美戊戈(Tom Lgoe)创意圣经.人民邮电出版社.2015.3 作者简介王丰岳 , 1996 年生,男,山东省济宁市微山县,车辆工程 2015 级本科生,山 东建筑大学锐思大学生科技实验室与校 DIY 电子科技协会会员。