微雪官网产品资料
立即注册 找回密码

QQ登录

只需一步,快速开始

微雪课堂

搜索
微雪课堂 首页 智能车 查看内容

树莓派智能车AlphaBot教程2:直流电机控制

2017-5-3 10:24| 发布者: kaloha| 查看: 9644| 评论: 1|原作者: 微雪电子

摘要: 一台小车首先要有电机轮子,通过控制电机转动,小车实现不同方向行走。电机可以是直流电机或者步进电机。步进电机是以步阶方式分段移动,也就是每次只能控制转动一小段。所以步进电机的控制精度会很高,可以精确的控 ...
一台小车首先要有电机轮子,通过控制电机转动,小车实现不同方向行走。

电机可以是直流电机或者步进电机。
步进电机是以步阶方式分段移动,也就是每次只能控制转动一小段。所以步进电机的控制精度会很高,可以精确的控制转动距离,但是转速会比较慢。在控制精度要求很高的情况会用,例如机械手臂等。
而直流电机则相反,转速快,但是控制精度相对差。直流电机是通过电压控制,通电后电机就可以转,电压越大转速越快,电流方向决定电机转动方向。智能车多少采用直流电机控制。

直流电机通常采用H桥控制。H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。电流可能会从左至右或从右至左流过电机,从而控制电机的转向。

当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。电流将驱动电机顺时针转动。

当Q2和Q3导通时,电流将从右至左流过电机。此时电流将驱动电机逆针转动。


实际使用的时候,用分立元件制作H桥是很麻烦的,很多时候采用H桥集成电路,接上电源、电机和控制信号就可以使用了,比如常用的L293D、L298N、TB6612FNG等。





上面两个图分别对应AlphaBot(L298P),AlphaBot2(TB6612FNG)的驱动电路图。这两个需要采用不同的芯片,但是控制方式是完全一样的。下面以TB6612FNG为例讲解。
这两个芯片都是对应A B两组H桥,分别控制两个电机。A组控制左轮,B组控制右轮。
每个电机分别由三个管脚控制,AIN1 AIN2两个管脚控制方向,PWMA通过PWM脉冲控制电机转动。
AIN1,AIN2电平一样时,电机不转,电平不一样时电机转动,转动方向和AIN1,AIN2的电平有关。
这里假设AIN1为低电平,AIN2为高电平时,电机正转,轮子向前走。BIN1为低电平,BIN2为高电平时,电机正转,轮子向前走。
控制原理
AIN1AIN2BIN1BIN2描述
0101左右电机正转,小车前进
1010左右电机反转,小车后退
0110右电机反转,左电机正转,小车右转
1001左电机反转,右电机正转,小车左转
0000左右电机停止,小车停止

下面对应arduino的程序。
void forward()
{
analogWrite(PWMA,Speed);
analogWrite(PWMB,Speed);
digitalWrite(AIN1,LOW);
digitalWrite(AIN2,HIGH);
digitalWrite(BIN1,LOW);
digitalWrite(BIN2,HIGH);
}
void backward()
{
analogWrite(PWMA,Speed);
analogWrite(PWMB,Speed);
digitalWrite(AIN1,HIGH);
digitalWrite(AIN2,LOW);
digitalWrite(BIN1,HIGH);
digitalWrite(BIN2,LOW);
}
void right()
{
analogWrite(PWMA,50);
analogWrite(PWMB,50);
digitalWrite(AIN1,LOW);
digitalWrite(AIN2,HIGH);
digitalWrite(BIN1,HIGH);
digitalWrite(BIN2,LOW);
}
void left()
{
analogWrite(PWMA,50);
analogWrite(PWMB,50);
digitalWrite(AIN1,HIGH);
digitalWrite(AIN2,LOW);
digitalWrite(BIN1,LOW);
digitalWrite(BIN2,HIGH);
}
void stop()
{
analogWrite(PWMA,0);
analogWrite(PWMB,0);
digitalWrite(AIN1,LOW);
digitalWrite(AIN2,LOW);
digitalWrite(BIN1,LOW);
digitalWrite(BIN2,LOW);
}


如果程序转动方向和实际转动方向不一致,可能是电机接线方向和我们的假设不一样。可以更改电机接线或者修改电机对应的引脚。

126

顶一下

刚表态过的朋友 (126 人)

相关阅读

发表评论

最新评论

引用 zhguyi321 2019-4-26 08:20
讲的简单易懂,不过要应用的实际中,还需要增加电流采样,霍尔测速,实现电流环和速度环。

查看全部评论(1)

智能车

微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号  

GMT+8, 2019-5-23 04:54 , Processed in 0.069044 second(s), 26 queries .

Powered by Discuz! X3.2 © 2001-2013 Comsenz Inc & Style Design

返回顶部