智能小车PWM控制直流电机

在汽车行业,我们不仅要通过CAN总线来控制汽车的运行,那么在智能遥控汽车市场就需要直流电机来控制小车的速度:平时我们可以通过PWM波,硬件改变电压等方法来改变小车电机两端的电压值,进而达到控制电机转速的调整。
PWM波来控制电机的转速,PWM就是脉冲宽度调制,也就是占空比可变的脉冲波形. 通过其对半导体电力器件的导通和关断进行控制,使输出端得到一些列幅值相同而宽度不相同的脉冲,用这些脉冲来代替正弦波或其他所需的波形。那么我们根据这样的特性,按一定的规则对个脉冲的宽度进行调制,即可改变电路输出电压的大小,也可改变输出频率。
我们通过PWM波的特性—改变电压,进而达到控制电机转速的控制。
我们在对电机进行控制时,我们还要通过H桥电路来达到电机的正反转的功能:H桥驱动电路是4个三极管组成H的4条垂直腿,而电机就是H中的横杠如示意图1:

图1:H桥电路

如图所示,H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
要使电机运转,必须使对角线上的一对三极管导通。例如,如图2所示,当Q1管和Q4管 导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。当三极管Q1和 Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动(电机周围的箭头指示为顺时针方向)。

图2 H桥电路驱动电机顺时针转动

图3所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。

图3 H桥驱动电机逆时针转动

那么我们可以通过PWM波来控制电机的正反转,驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三极管直接回到负极。此时,电 路中除了三极管外没有其他任何负载,因此电路上的电流就可能达到最大值(该电流仅受电源性能限制),甚至烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关,我们也可以通过软件产生死区的方法来达到控制电机的转动,实际使用的时候,用分立元件制作H桥是很麻烦的,如图4:

图4:pwm波控制电机的转动

而我们可以通过,三星公司提供的S3C2440A来减轻电路的复杂,我们可以通过设置CPU-S3C2440A的PWM定时器,来实现我们所需要的PWM,然后通过死区发生器来避免电机死区的发生如图5:

图5:死区发生器

TOUTO和nTOUT0的关系是带宽相同,相位相反,然后,我们通过死区发生器,让他们的电平转化的时间不相同,进而达到我们所要的避免死区的目的。
代码:
void Time0_INT_Test(void)
{
U32 val = (PCLK/250)/8 - 1;
<span style="color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 14px; line-height: 24px; text-align: justify; ">rTCFG0 &= ~(0xff
更多知识咨询qq:2825915309.。电话:18336308250

时间: 2024-10-18 00:42:36

智能小车PWM控制直流电机的相关文章

【BLE】CC2541之PWM控制直流电机

本篇博文最后修改时间:2016年4月14日,18:24. 一.简介 本文介绍如何在SimpleBLEPeripheral工程中,使用PWM控制直流电机. 二.实验平台 协议栈版本:BLE-CC254x-1.4.0 编译软件:IAR 8.20.2 硬件平台:Smart RF(主芯片CC2541) 三.版权声明 博主:甜甜的大香瓜 声明:喝水不忘挖井人,转载请注明出处. 原文地址:http://blog.csdn.net/feilusia 联系方式:[email protected] 技术交流QQ群

[51单片机] 以PWM控制直流电机为例建一个简单的51工程框架

目录 1)功能概述 2)引脚连接 3)框架介绍 4)模块说明 5)复用规则 6)工程链接 1)功能概述 名称:独立按键控制直流电机调速 内容:对应的电机接口需用杜邦线连接到uln2003电机控制端; 使用5V-12V 小功率电机皆可 2个按键分别加速和减速; 采用8个8段数码管的后两位显示0~10级速度; 2)引脚连接 P3连接按键:P0连接8x八段数码管,P22段码锁存,P23位码锁存:P1.1连接ULN2003的一个输入:直流电机端连接ULN2003对应的输出,另一端连接VCC. 3)框架介

第二天:SLAM智能小车DIY乐趣-小车控制stm32软件基础

SLAM智能小车DIY乐趣-小车控制stm32软件基础 ####写在前面#### 前面介绍了小车控制stm32硬件基础,本文就来介绍配套的小车控制stm32软件基础.关于stm32开发相关的基础知识这里就不多说了,有需要的小伙伴可以查阅相关资料进行学习,这里重点从小车控制项目入手,直接进行跟实际需求相关的开发.本文主要内容: 1) 电机控制 2) 编码器数据读取 3) 串口数据收发 4) 电机速度PID控制 5) 周期性控制 6) 小车控制软件整体框图 ####正文#### 1.电机控制 电机控

第四天:SLAM智能小车DIY乐趣-小车控制ROS驱动包开发

小车控制ROS驱动包开发 ####写在前面#### 对于做纯SLAM算法和应用功能开发的朋友来说,其实不需要搞明白小车的底层硬件原理和软件实现等繁琐的细节,只需要通过上层API调用来实现小车的控制等操作就可以了.因此,本文开始讲解用于提供上层API调用的ROS驱动包,本文主要内容: 1) 通信协议简介(stm32与ROS驱动包通信) 2) ROS接口(topic订阅与发布) 3) ROS驱动包程序解析 4) 基于航迹推演的里程计解算 ####正文#### 1.通信协议简介(stm32与ROS驱动

Arduino智能小车制作报告

Arduino智能小车制作报告 制作成员:20135224陈实  20135208贺邦  20135207王国伊 前提: Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构建于开放源代码 simple I/O接口版,并且具有使用类似Java,C语言的Processing Wiring开发环境.选择Arduino作为智能小车的控制板,因为它的小巧但功能强大,能够方便的和传感器还有各种电子元件连接,而且还能和很多软件如Flash.Processing进行连接互动,但是最重

Arduino智能小车--只是随便一搞

在某宝宝买的智能小车,挺精致的,开心的连接上打印机的线,结果端口都没有反应, 查了一下发现是少了驱动,博主用的mac os10.12.3 CH34x_Install_V1.4.pkg 安装好之后我们再启动arduino 就可以看到新的端口了,选择他,我们就可以进行上传代码了. 只是对附赠源码进行了一下整理... 这个用到了红外遥控,需要一个IRremote库,打包资源在csdn下载里边自行下载,内附说明.感谢智宇科技--链接 感谢智宇科技--链接 感谢智宇科技--链接 感谢智宇科技--链接 链接

自己动手做个智能小车(5)

自己动手做个智能小车(5) --用程序来控制轮子 PWM控制电路完工了,接下来得把电路接到单片机,由单片机进行控制了.回想电路图: 这个图中,输入有3根组,A,B,C,其中,A入口,我们可以当成PWM控制线,B,C为正反转.停止控制线,整个状态可以罗列为下面表格: A控制 B控制 C控制 Q1 Q2 Q3 Q4 电机状态 X 0 0 0/导通 0/导通 0/截止 0/截止 刹车 PWM 1 0 1/截止 0/导通 PWM 0/截止 正转 PWM 0 1 0/导通 1/截止 0/截止 PWM 反转

自己动手做个智能小车(4)

自己动手做个智能小车(4) --电机控制电路 CPU是接通了,程序也可以跑了,现在得让程序可以控制电机才行. 前面我们知道,单片机是一个运行程序的芯片,当程序里把变量P0.0变成1时,芯片39接口就变成高电位(5v),变量赋值为0时,接口就变成了低电位(0v),很是方便. 但问题来了,这个如何控制电机呢? 先理一下,我们电机有几种功能:正转.反转.刹车.滑行.调速,这几大功能.现在的问题就是考虑如何用0和1来实现这些功能. 正转.反转,小时候玩过电动机的朋友都知道,将电机的两个引线反过来接,那电

Arduino智能小车--仅仅是随便一搞

在某宝宝买的智能小车,挺精致的,开心的连接上打印机的线,结果port都没有反应, 查了一下发现是少了驱动,博主用的mac os10.12.3 CH34x_Install_V1.4.pkg 安装好之后我们再启动arduino 就能够看到新的port了,选择他,我们就能够进行上传代码了. 仅仅是对附赠源代码进行了一下整理. .. 这个用到了红外遥控,须要一个IRremote库.打包资源在csdn下载里边自行下载,内附说明.感谢智宇科技--链接 感谢智宇科技--链接 感谢智宇科技--链接 感谢智宇科技