首页>>科技 >>内容

arduino步进电机控制程序,通过Arduino控制步进电机速度和旋转方向

发布时间:2024-01-06 12:26:19编辑:温柔的背包来源:

arduino步进电机控制程序,通过Arduino控制步进电机速度和旋转方向

很多朋友对arduino步进电机控制程序,通过Arduino控制步进电机速度和旋转方向不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

在本文中,我们将学习如何使用摇杆和Arduino开发板来控制步进电机。这里,我们将使用Arduino UNO开发板和PS2操纵杆来控制步进电机的速度和旋转方向。

我们使用带内部驱动器的单极5V DC步进电机28BYJ-48。因此,不需要任何步进电机驱动。相反,我们将使用ULN2003A达林顿双电机驱动器IC。PS2操纵杆由两个10k欧姆电位计组成,一个用于X轴,另一个用于Y轴。它还包括一个按钮。但是我们只会用X轴来控制步进电机的运动。所需元件 Arduino UNO开发板 28BYJ-48 5V DC步进电机 ULN2003芯片 PS2操纵杆 5V DC电源

什么是步进电机?步进电机是一种无刷DC电机,它将整个圆周分成几个相等的步。然后你就可以命令电机的位置一步到位的移动和保持,不需要位置传感器(开环控制器)的任何反馈,只要在扭矩和速度上精心选择适合电机尺寸的电机。步进电机28-BYJ48的连接方式

步进电机28-BYJ48是一个单极电机,带有5引线线圈配置。四个线圈必须以特定的顺序通电。红线接5V电压,另外四根线会拉到地,触发相应的线圈。我们使用Arduino开发板以特定的顺序给这些线圈通电,使电机执行所需的步骤。

步进电机需要驱动芯片来运行。原因是控制器需要高电流来运行,但只有步进电机将无法从其I/O引脚提供足够的电流来使电机运行。因此,使用ULN2003作为驱动模块,电流被放大。用摇杆和Arduino连接控制步进电机的电路图,请按下图所示组装电路。步数计算需要在将代码上传到Arduino板之前进行步数计算。

在Arduino中,我们将分四步操作电机,因此需要计算步幅角度。步距角度=5.625 Arduino步距顺序=4所需步距顺序=8步距角度=5.625 * 2=11.25步每转=360/步距角度=360/11.25=32步每转。源代码/程序:# include《Stepper.h》 #定义步骤32//定义步进电机控制引脚#定义in17 #定义in26 #定义in35 #定义in44//初始化步进库Stepper stepper(步骤,in4,in2,in3,IN1);

//操纵杆罐输出接Arduino A0 #定义操纵杆A0void setup(){}void loop(){//从电位计读取模拟值val=analogRead(操纵杆);//如果joystic在中间===》停止motorif((val》500)(val《523)){数字写入(IN1,低);数字书写(IN2,低);digitalWrite(IN3,低);digitalWrite(IN4,低);}else{//在第一方向上移动电机while(val">=523){

//Map the speed between 5 and 500 rpmint speed_=map(val, 523, 1023, 5, 500); //Set the motor speed stepper.set speed (speed _); //Move the motor (step 1). Step (1); Val=analogRead (joystick); }//Move the motor while (val"=500) in the opposite direction {//Map the speed between 5 and 500 rpm speed _=map (val, 500, 0, 5, 500); //Set the motor speed stepper.set speed (speed _); //Move the motor (step 1). Step (-1);

val=analogRead(操纵杆);}}}hfy

以上知识分享希望能够帮助到大家!