能电机

创客课程Arduino篇28步

发布时间:2022/5/11 17:39:42   
北京看皮肤科好医院 https://m-mip.39.net/disease/mip_9278663.html

上节课我们学习了在OLED上显示自定义图片,本节课我们学习如何使用Arduino控制步进电机。

课程目标

了解步进电机的原理及应用

学习步进电机的控制方式

了解步进电机的不同励磁方式

相关知识

步进电机:步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机。每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。简单来说当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度。

步进电机原理:利用电磁铁原理,各个线圈绕组通电,利用电生磁原理,产生磁力,带动中央转子铁芯转动从而将脉冲信号转换成线位移或角位移。

步进电机介绍:

步进电机每次能转动的最小角度叫做步距角。

每当步进电机接收到一个驱动信号后,步进电机将按照一定的方向转动一个固定的角度。

通过控制脉冲的个数来精确的控制步进电机的角位移量,通过控制脉冲的频率来控制电机转动的速度及加速度,从而达到调速的目的。

步进电机按照相数不同分为单相、双相、多相三种,励磁方式分为全步励磁和半步励磁,全步励磁分1相励磁方式、2相励磁方式;半步励磁又称1-2相励磁方式。

ULN电机驱动:由于Arduino开发板的通用IO驱动能力有限,有些外设不能直接使用IO进行驱动,需要借助一些驱动电路间接控制大功率器件。ULN是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中,可直接驱动继电器等负载。

电路搭建

所需材料:

ArduinoUNO*1

28BYJ-48步进电机*1

ULN电机驱动模块*1

杜邦线若干

电路连接:

ULN驱动板上IN1、IN2、IN3、IN4分别连接UNO开发板的数字引脚2,3,4,5;驱动板电源输入+、-引脚分别连接UNO开发板的5V、GND。

程序编写

练习一:一相励磁方式控制步进电机正转90°再反转90°

一相励磁控制方式及特点:在每一个瞬间,步进电机只有一个线圈导通,每送一个信号,步进电机能转1.8°。这种方式,其精确度好、消耗电力小,但是输出转矩最小,振动较大。

一相励磁顺序表:

图形化方式:

代码方式:

/*项目名称:一相励磁控制步进电机正反转90°*项目时间:.03.21*项目作者:MRX*/voidsetup(){for(inti=2;i6;i++){pinMode(i,OUTPUT);}}voidclockwise(intnum){for(intcount=0;countnum;count++){for(inti=2;i6;i++){digitalWrite(i,HIGH);delay(5);digitalWrite(i,LOW);}}}voidanticlockwise(intnum){for(intcount=0;countnum;count++){for(inti=5;i1;i--){digitalWrite(i,HIGH);delay(5);digitalWrite(i,LOW);}}}voidloop(){clockwise();delay();anticlockwise();delay();}

练习二:二相励磁方式控制步进电机正转90°再反转90°

二相励磁控制方式及特点:在每一个瞬间,步进电机有两个线圈导通,每送一个信号,步进电机能转1.8°。这种方式,其输出转矩最大,振动较小。是现在较常用的一种控制方式。

二相励磁顺序表:

图形化方式:

代码方式:

/*项目名称:二相励磁控制步进电机正反转90°*项目时间:.03.21*项目作者:MRX*/voidsetup(){for(inti=2;i6;i++){pinMode(i,OUTPUT);}}voidclockwise(intnum){for(intcount=0;countnum;count++){digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,HIGH);delay(5);digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,LOW);digitalWrite(5,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(3,HIGH);digitalWrite(4,HIGH);digitalWrite(5,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,HIGH);digitalWrite(5,HIGH);delay(5);}}voidanticlockwise(intnum){for(intcount=0;countnum;count++){digitalWrite(2,HIGH);digitalWrite(5,LOW);digitalWrite(4,LOW);digitalWrite(3,HIGH);delay(5);digitalWrite(2,HIGH);digitalWrite(5,HIGH);digitalWrite(4,LOW);digitalWrite(3,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(5,HIGH);digitalWrite(4,HIGH);digitalWrite(3,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(5,LOW);digitalWrite(4,HIGH);digitalWrite(3,HIGH);delay(5);}}voidloop(){clockwise();delay();anticlockwise();delay();}

练习三:一二相励磁方式控制步进电机正

一二相励磁控制方式及特点:为一相和二相交替导通的方式,每送一个信号,步进电机能转0.9°。这种方式,其分辨率高,运转平滑。也是现在较常用的一种控制方式。

二相励磁顺序表:

图形化方式:

代码方式:

/*项目名称:1-2相励磁控制步进电机正转*项目时间:.03.21*项目作者:MRX*/voidsetup(){for(inti=2;i6;i++){pinMode(i,OUTPUT);}}voidS1(){digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,LOW);delay(5);digitalWrite(2,HIGH);digitalWrite(3,HIGH);digitalWrite(4,LOW);digitalWrite(5,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(3,HIGH);digitalWrite(4,LOW);digitalWrite(5,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(3,HIGH);digitalWrite(4,HIGH);digitalWrite(5,LOW);delay(5);}voidS2(){digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,HIGH);digitalWrite(5,LOW);delay(5);digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,HIGH);digitalWrite(5,HIGH);delay(5);digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,HIGH);delay(5);digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,HIGH);delay(5);}voidloop(){for(inti=1;i=;i++){S1();S2();}delay();}

程序分析:

需求为旋转90°,在程序中循环次数为什么是次呢?这是根据我们使用的步进电机参数计算而来的:

1、步进电机电压5V,步距角5.,减速比1:64。

2、计算A-B-C-D通电一次转动的角度5.X2X4/64=0.(2是表示1相励磁方式每步是2倍的步距角,4表示走了4步,64指电机减速比)。

3、转动度循环ABCD通电的次数/0.=。

4、那么转动90度循环ABCD通电的次数90/0.≈。

课后练习

同学们可试着采用一、二相励磁方式让步进电机逆时针旋转90度,然后再顺时针旋转90度,循环往复。

MRXY

您的支持是作者创作的最大动力!



转载请注明:http://www.aideyishus.com/lktp/244.html

------分隔线----------------------------

热点文章

  • 没有热点文章

推荐文章

  • 没有推荐文章