Arduino单片机控制三相电机正反转

教研室关于智能缩微车的开发已有两年,根据下一步的实验要求,需要小车增加倒车功能。由于目前的小车设备多使用51单片机以及直流电机,因此这里将Arduino单片机控制三相电机正反转的方法与大家分享。


1.电机  DUALSKY  Z5-17.5T

Arduino单片机控制三相电机正反转_第1张图片

2.电调  DUALSKY  XC550TF-MJ65A

Arduino单片机控制三相电机正反转_第2张图片

3.锂电池  DUALSKY  6800MAH7.4V2S2P35C

Arduino单片机控制三相电机正反转_第3张图片

4.单片机供电  干电池×3

Arduino单片机控制三相电机正反转_第4张图片

5.单片机  Arduino-mega1280/2560

Arduino单片机控制三相电机正反转_第5张图片

6.单片机扩展板  Mega sensor shield V2.3 SCH

Arduino单片机控制三相电机正反转_第6张图片

7.继电器  5V3线

Arduino单片机控制三相电机正反转_第7张图片

8.要让电机工作,需要将电调和电机的三根线一一对应:A-A、B-B、C-C。如果要让电机反转,只需任意改变两条线的位置即可。例如:A-B、B-A、C-C。由于在行车过程中不可以随意接线,因此需要编程控制,这里使用两个继电器实现,原理图如下:

Arduino单片机控制三相电机正反转_第8张图片

9.写一个小程序测试一下,使电机先正转,后反转。

int pinI1=26;  //定义I1接口
int pinI2=23;  //定义I2接口
int pinEA=8;  //定义EA(PWM调速)接口

void setup()
{
  pinMode(pinI1,OUTPUT);  //定义以下接口为输出接口
  pinMode(pinI2,OUTPUT);
  pinMode(pinEA,OUTPUT);
}
void loop()
{ 
  analogWrite(pinEA,195);//输入模拟值进行设定速度
  delay(2000);
  digitalWrite(pinI1,1);//使直流电机顺时针转
  digitalWrite(pinI2,1);
  analogWrite(pinEA,195);
  delay(2000);
  digitalWrite(pinI1,0);//使直流电机逆时针转
  digitalWrite(pinI2,0);
  analogWrite(pinEA,195);
  delay(2000);
}
10.最终模型

Arduino单片机控制三相电机正反转_第9张图片

你可能感兴趣的:(VANET)