步进电机
步进电机是由多组电磁线圈驱动的马达。步进电机的中心轴转子上安装了磁铁,环绕轴定子上的线圈通电后就会交替产生电流,同时产生磁场,使中心轴上的磁铁被排斥或吸引,使得电机旋转。这样的设计可以让我们对电机进行有效的控制,步进电机又分为单极型步进和双极型步进。通常有4根线的步进电机为双极型电机,而有5根线或6根线的步进电机为单极型电机。
本文将向您介绍如何将28BJY-48步进电机与 l293d电机驱动器连接。
28BJY-48步进电动机特性
从上图可以看出,步进电机每组线圈的中心抽头是连接在一起的,因此28BJY-48电机属于单极型电机。
额定电压 :5V DC
相数: 4
变速比:1/64
步进角:5.625° /64
频率:100Hz
DC 阻抗:50Ω±7%(25℃)
力矩: 34.3mN.m(120Hz)
转矩: 34.3mN.m
空载噪音:<35dB(120Hz)
28BJY-48电机步数计算:steps= (360°/5.625°)*64= 64 * 64 =4096 这个值会在后续的程序中用到。
L293D电机驱动板连接28BJY-48
Arduino驱动28BJY-48步进电机需要使用到L293D电机驱动板
连接图如下
Arduino测试代码如下:
/*本例使用IDE自带的Stepper.h库文件*/ #include #define motorSteps 4096 // 根据步数设置 #define motorPin1 8 #define motorPin2 9 #define ledPin 13 // initialize of the Stepper library: Stepper myStepper(motorSteps, motorPin1,motorPin2); void setup() { // set the motor speed at 60 RPMS: myStepper.setSpeed(60); // Initialize the Serial port: Serial.begin(9600); // set up the LED pin: pinMode(ledPin, OUTPUT); // blink the LED: blink(3); } void loop() { // Step forward 100 steps: Serial.println("Forward"); myStepper.step(100); delay(500); // Step backward 100 steps: Serial.println("Backward"); myStepper.step(-100); delay(500); } // Blink the reset LED: void blink(int howManyTimes) { int i; for (i=0; i< howManyTimes; i++) { digitalWrite(ledPin, HIGH); delay(200); digitalWrite(ledPin, LOW); delay(200); } }