直流电机的原理及驱动
发布日期:2021-11-15 17:20:12 浏览次数:2 分类:技术文章

本文共 3648 字,大约阅读时间需要 12 分钟。

文章目录

直流电机的原理

在了解直流电机工作原理之前,先复习一下高中几个物理知识

第一.左手定则

在这里插入图片描述
通电导线处于磁场中时,所受安培力 F (或运动)的方向、磁感应强度B的方向 以及通电导体棒的电流I三者方向之间的关系的定律。
简而言之,让磁感线穿过手掌正面,手指方向为电流方向,大拇指方向为产生磁力的方向

第二.右手定则

在这里插入图片描述
右手定则,是产生感生电动势,也是发电机的原理
让磁感线穿过掌心,大拇指方向为运动方向,手指方向为产生的电动势方向。

直流电机工作原理

在这里插入图片描述

直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。

直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。

直流电机的种类

转子定子的概念在步进电机里已经有了很详细的阐述,

有刷电机

在这里插入图片描述

有刷电机,顾名思义,就是有刷子,主要作用就是让中间的转子与电源有电气连接,还可以转动
为了让两者之间既有接触,能导电;又有转动,实现电流的变相,一般的常见做法是在碳刷加一个弹簧。这样,换向器与碳刷便有了频繁的摩擦。所以碳刷很容易磨损,必须经常进行更换。并且磨损掉的碳渣渣在电机里面形成了积碳,需要经常清理。

早期电机都是有刷电机,后来为了解决磨损,有了无刷电机

无刷电机

无刷电机的解决思路就是让磁铁转动

分两种外转子内转子

在这里插入图片描述

图左为内转子,图右为外转子

空心杯

空心杯和传统电机不同,采用的是无铁芯转子,也叫空心杯型转子。也分有刷和无刷

在这里插入图片描述

直流减速电机

了解了直流电机原理和种类之后,开始学习直流减速的电机的驱动

直流减速电机相比较直流电机加了减速器

减速器

一般直流电机的转速都是一分钟几千上万转的,所以一般需要安装减速器。减速器是一种相对精密的机械零件,使用它的目的是降低转速,增加转矩。减速后的直流电机力矩增大、可控性更强。按照传动级数不同可分为单级和多级减速器;按照传动类型可分为齿轮减速器蜗杆减速器行星齿轮减速器

在这里插入图片描述
齿轮减速器体积较小,传递扭矩大,但是有一定的回程间隙。
蜗轮蜗杆减速机的主要特点是具有反向自锁功能,可以有较大的减速比,但是一般体积较大,传动效率不高,精度不高。
行星减速器其优点是结构比较紧凑,回程间隙小、精度较高,使用寿命很长,额定输出扭矩可以做的很大,但价格略贵。

常用的是下面这个多级齿轮电机

在这里插入图片描述

驱动很简单,只要正负极加电压就行了

减速电机驱动器

常用的有L298N,TB6612FNG

这里我用的是tb6612fng

TB6612FNG is a driver IC for DC motor with output transistor in LD MOS

structure with low ON-resistor. Two input signals, IN1 and IN2, can
choose one of four modes such as CW, CCW, short brake, and stop mode.

TB6612FNG是直流电机的驱动器IC,输出晶体管采用LD MOS结构,具有低导通电阻。两个输入信号IN1

和IN2,可以选择四种模式中的一种,如CW,CCW,短制动和停止模式。

特征

·电源电压:VM = 15V(最大值)
·输出电流:IoUT = 1.2 A(ave)/3.2 A(峰值)
·输出低导通电阻:0.5Q(上限+下限典型值@VM≥5V)
·待机(省电)系统
·CW / CCW /短制动/停止功能模式
·内置热关断电路和低压检测电路
·小面积封装(SSOP24:0.65 mm引脚间距)

几个参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
VM:如上图,电机供电,范围2.5-13.5v
VCC:芯片供电,范围2.7-5.5v
GND接地
AIN1,AIN2:电机方向控制,接单片机
BIN1,BIN2同A
PWMA,PWMB:电机调速控制,接单片机
AO1AO2:接电机的正负
BO1,BO2:同A

51版验证程序

#include
typedef unsigned char u8;typedef unsigned int u16;typedef unsigned long u32;u8 TR0H;u8 TR0L;bit flag_1s=0;u32 PeriodCnt = 0;u8 HighRH = 0;u8 HighRL = 0;u8 LowRH = 0;u8 LowRL = 0;u8 T1RH = 0;u8 T1RL = 0;sbit AIN1=P0^2;//AIN1引脚定义sbit AIN2=P0^1;//AIN2引脚定义sbit PWMA=P0^0;//PWM输出引脚定义void ConfigPWM(u16 fr, u8 dc);//配置PWM,fr频率,dc占空比void ConfigTimer1(u8 ms);void MotorForward(){
AIN1=1; AIN2=0;}void MotorReverse(){
AIN1=0; AIN2=1;}延时程序 11.0592mhz/oid delayms(u16 t)//{
// u16 i,j;// for(i=t;i>0;i--)// for(j=114;j>0;j--);//}void main(){
// ConfigTimer1(100); MotorReverse(); ConfigPWM(100,80);//pwn配置 EA = 1;//打开总中断 while(1) {
// if(flag_1s==1)// {
// flag_1s=0;// if(DIR)// {
// DIR=0;// }// else// {
// DIR=1;// }// } } }void ConfigTimer1(u8 ms){
u32 temp; temp=11059200/12; temp=(temp*ms)/1000; temp=65535-temp; TR0H=(u8)(temp>>8); TR0L=(u8)temp; TMOD&=0XF0; TMOD|=0x10; TH1=TR0H; TL1=TR0L; ET1=1; TR1=1;}//pwm配置程序void ConfigPWM(u16 fr, u8 dc){
u16 high, low; PeriodCnt = (11059200/12)/fr; high = (PeriodCnt*dc)/100; low = PeriodCnt - high; high = 65536 - high; low = 65536 - low; HighRH = (u8)(high>>8); HighRL = (u8)high; LowRH = (u8)(low>>8); LowRL = (u8)low; TMOD &= 0xF0; TMOD |= 0x01; TH0 = HighRH; TL0 = HighRL; ET0 = 1; TR0 = 1; PWMA = 1; }//pwm中断程序void InterruptTimer0() interrupt 1{
if(PWMA == 1) {
TH0 = LowRH; TL0 = LowRL; PWMA = 0; } else {
TH0 = HighRH; TL0 = HighRL; PWMA = 1; }}void Timer1()interrupt 3{
static u8 times=0; TH1=TR0H; TL1=TR0L; times++; if(times>200) {
times=0; flag_1s=1; }}

验证完成

在这里插入图片描述

转载地址:https://blog.csdn.net/qq_41262681/article/details/95319321 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:stm32之端口复用和重映射
下一篇:MPU6050学习

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月20日 04时18分09秒