arduino入门教程第十三章控制步进电机的角度55.pdfVIP

  • 144
  • 0
  • 约2.07千字
  • 约 5页
  • 2022-05-09 发布于北京
  • 举报

arduino入门教程第十三章控制步进电机的角度55.pdf

第十三章 控制步进电机的角度 一、步进电机实验 在上一章节中我们学习了通过PWM 来对直流电机进行调速,在 二、实验器材 UNO 控制板:1 块 ULN2003A :1 块 步进电机:1 个 面包板:1 块 面包板跳线:若干 三、连线示意图 图13-1 四、硬件连接图 图13-2 五、硬件知识要点 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的 情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影 响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角 度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来 控制角位移量,从而达到准确 的目的;同时可以通过控制脉冲频率来控制电机转动的速 度和 度,从而达到调速的目的。 步进电机驱动方式: 1、1 相励磁法:每一瞬间只有一个线圈导通,其他线圈休息。其特点是励磁方法简单,耗 电低,精确度良好。但是力矩小、 大,每次励磁信号走的角度是标称角度。 2、2 相励磁法:每一瞬间有两个线圈同时导通,特点是力矩大、 较小,每次励磁 转动 角度是标称角度。 3、1-2 相励磁法:1 相和 2 相轮流交替导通,精度较高,且运转平滑。每送一个励磁信号 转动二分之一标称角度。有称为半步驱动。4 相电机中,1、2 种方式称 4 相 4 拍,3 种 称 4 相 8 拍。 1 相励磁、2 相励磁和 1-2 相励磁方式如下表所示。 图13-3 图13-4 六、程序编写 #include Stepper.h #define STEPS 100// 这里设置步进电机旋转一圈是多少步 Stepper stepper(STEPS, 8, 9, 10, 11); void setup() { stepper.setSpeed(90);// 设置电机的转速:每分钟为90 步 } void loop() { /** * 顺时针旋转数值为正,逆时针旋转数值为负。 * 转动角度对应数值 * 1、转360°:2048; * 2、转180°:1024; * 3、转90°:512; */ stepper.step(512);// 顺时针旋转半周 delay(500); stepper.step(-512);// 逆时针旋转半周 delay(500); } 七、程序知识要点 #include: #include 用于调用程序以外的库。这使得程序能够 大量标准C 库,也能 用于Arduino 的库。注意#include 和#define 一样,不能在结尾加分号,如果你加了分号编译器将会报错。 八、拓展阅读 接下来我们要通过电位器来对步进电机进行控制 图13-5 /* * 步进电机跟随电位器旋转 *(或者其他传感器)使用0 号模拟口输入 * 使用arduinoIDE 自带的Stepper.h 库文件 */ #includeStepper.h // 这里设置步进电机旋转一圈是多少步 #defineSTEPS100 //attachedto 设置步进电机的步数和引脚 Stepperstepper(STEPS,8,9,10,11); // 定义变量用来 历史读数 intprevious=0; voidsetup() { // 设置电机每分钟的转速为90 步 stepper.setSpeed(90); } voidloop() { // 获取传感器读数 intval=analogRead(0); // 移动步数为当前读数减去历史读数 stepper.s

文档评论(0)

1亿VIP精品文档

相关文档