基于单片机的直流电机
摘要
本课程主要是设计一个基于单片机的直流电机 PWM 控制系统。PWM 控制提高了调速范围,提高了调速精度,改善了快速性能、功率和功率因数。系统在设计中被控对象采用 5V 的直流电机,以 MCS-51 单片机为控制核心,采用 LCD12864 液晶作为显示元件,进行软硬件的设计。硬件电路由protel 设计制作,主要设计了液晶显示电路、键盘控制电路、复位电路、测速电路和驱动电路。软件设计在 Keil 开发平台用 C 语言编写,程序采用模块化设计方案,包括液初始化程序、晶显示程序、键盘控制程序。
本系统 PWM 控制直流电机采用调压调速的方法,整体设计包括软件和硬件两个部分。通过利用单片机产生 PWM 控制信号控制直流电机,详细介绍脉宽调制 ( PWM) 控制原理,直流电机的工作原理和数学模型以及用 H型桥电路基本原理设计的驱动电路。通过硬件电路的模拟情况,说明系统运行正常,各个功能模块实现是可行的,控制精度比较高,能够满足系统的基本要求。
关键词:单片机;PWM;直流电机;L298N;LCD12864;
目录
一、设计任务 (1)
二、设计方案 (1)
三、系统硬件设计 (3)
1、 STC52最小系统 (3)
2、电机模块 (8)
3、 L298N模块 (9)
4、测速模块 (11)
5、测压模块 (12)
6、液晶模块 (13)
7、按键模块 (15)
8、灯光信号模块 (16)
四、系统软件设计 (17)
1、软件流程图 (17)
2、 PWM程序设计 (18)
3、测压程序设计 (18)
4、测速程序设计 (19)
5、液晶驱动程序设计 (20)
6、菜单程序设计 (21)
7、按键程序设计 (23)
8、电机反电动势系数计算程序 (24)
9、电机力矩系数计算程序 (25)
10、逼近算法控制程序 (25)
11、比例控制程序 (25)
12、 PID控制程序 (26)
五、直流调速系统动态数学模型的建立 (28)
六、调速数据 (32)
1、比例调速数据 (32)
2、 PID调速数据 (33)
3、逼近算法调速数据 (34)
4、反电动势系数和电机力矩系数数据 (34)
七、心得体会 (34)
参考文献 (36)
附录一硬件原理图 (37)
附录二硬件PCB图 (38)
附录三程序清单 (39)
一、设计任务
本课题设计主要的目的是为了能够准确及时的控制直流电动机的正转、反转、停止、加速和减速功能可以准确调节控制直流电机的转速。同时,本设计可以自动测量计算直流电机的反电动势系数以及马达的力矩系数。直流电机的转速控制分别采用的调速方案:PID控制调速。本系统采取了上位机,人机交流界面更加人性化。
二、设计方案
1、任务分析
本设计要求中央控制芯片具有定时计数的功能,一定的程序存储空间,还要有足够的IO外接端口。由于本设计以LCD12864作为人机交流的显示界面,所以要求中央控制芯片具有一定的电流驱动能力。LCD、电机控制信号、LED指示灯、独立按钮,电压采集这些都需要占用大量IO接口,所以要求中央控制芯片要有足够多的外部接口以满足需要。
本设计要求能准确控制电机的转向以及转速,所以要求电机的控制芯片就有较强的调速控制功能以及转向控制功能。
本设计要求所采用的的直流电机转速具有一定的可调空间以及足够的灵敏度。
本设计涉及直流电机转速的采集,电机输出电压的测量,所以要求本系统具有测量电机转速和采集电压的功能。
2、方案流程图
3、系统结构框图
显示器
A/D变换器单片机核心键盘和开关电平转换 H桥隔离和驱动电源
测速马达马达
一、系统硬件设计
1、STC89C52
1、电源
(1) VCC-芯片电源,接+5V,
(2) VSS-接地端;
注意:用万用表测试单片机引脚电流表一般为0V或者5V,这是标准的TTL电平,但有时候在单片机程序正在工作时候测试结果并不是这个值而是介0V-5V之间,其实这只是万用表反映没这么快而已,在某一瞬间单片机引脚电流不是保持在通常情况下0V或者5V的。
2、时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。
3、控制线:控制线共有4根
(1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲
①ALE功能:用来锁存PO口送出的低8位地址
②PROG功能:片内有EPROM的芯片,在EPROG编程期间,此引脚输入编程脉冲。
(2)PSEN:外ROM读选通信号。
(3)RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在VCC掉电情况下,接备用电源。
(4)EA/VPP:内外ROM 选择/片内EPROM编程电源。
①EA功能:内外ROM选择端。
②VPP功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。
4、I/O线
89C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总路线)。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
STC89C52单片机的引脚如图1所示
图1 STC89C52单片机引脚图
(1)系统时钟电路
本系统采用11.0592MKZ的外部石英晶振作为单片机的时钟脉冲输入。电路图如图2所示。
图2 时钟电路
(2)复位电路
本系统采用的是上电复位方式。如图3所示。
图3 复位电路
2、电机模块
直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。本系统采用带M130直流电机。其实物图如图5所示。
图5 电机
3、L298N模块
(1)ADC结构图如6所示
采用7.5V可充电两节干电池对EnA供电
图6 ADC的结构(2)引脚说明见表3-1:
表3-1 L298N引脚说明表
MW.15Name Function
1;15 Sense A; Sense B 在这个引脚和低之间可以接感应电阻用于控
制负载电流
2;3 Out 1; Out 2 A桥的输出端口;流经这两个端子连接的负载
电流在端子1被检测
4 VS 用于驱动负载的功率输出电源电压。在这个引
脚和地之间必须接一个100nf的无极性电容5;7 Input 1; Input 2 A桥TTL输入端
6;11 Enable A; EnableB TTL使能输入端:低电平使桥A或桥B无效
8 GND 地
9 VSS 逻辑模块的电源供应。引脚与地间必须接一个
100nF的电容
10; 12 Input 3; Input 4 B桥TTL输入端
13; 14 Out 3; Out 4 B桥的输出;流经这两个端子连接的负载电流
在端子15被检测
4、按键模块
本系统设计了5个独立按键,低电平有效。分别用作电机正转按键、电机反转按键、电机加速按键、电机减速按键,电机停止
按键。其电路原理图如图12所示。
图12 按键电路图
5、液晶模块
(1)概述
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字也可完成图形显示低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
(2)基本特性
(1)、低电源电压(VDD:+3.0--+5.5V)
(2)、显示分辨率:128×64点
(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
(4)、内置 128个16×8点阵字符
(5)、2MHZ时钟频率
(6)、显示方式:STN、半透、正显
(7)、驱动方式:1/32DUTY,1/5BIAS
(8)、视角方向:6点
(9)、背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5
6、光电测速模块
光电测速传感器,包括传感器和码盘两部分
二、系统软件设计
1、软件流程图
开始
初始化
串口连接函数
按键动作函数上位机控制函数
正反,加减控制
液晶显示
注释:初始化定时器,中断,串口中断,初始化12864,初始化PWM的值。按键动作函数和上位机控制包括正、反、加减,停止函数。液晶显示包括电流显示函数、转速显示函数。
2、测速程序设计
#include
#include
#include"jianpan.h"
#include"12864.h"
#include"cesu.h"
#include"uart.h"
sbit INA=P1^0; //正转
sbit INB=P1^1; //反转
sbit ENA=P1^2; //控制通断
unsigned char tt=0;
unsigned int ttcs=0;
unsigned char num=0;
unsigned char p;
bit ttflag=0;
void add_dec(); //声明加减速函数
(1)系统主程序
void main()
{
init(); //初始化定时器,中断,串口中断
main12864(); //初始化12864
单片机控制直流电机分解
1.设计思路 1.1方案对比 1.1.1电机调速控制模块: 方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。 方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。 方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。 兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。
1.2.1 PWM调速工作方式: 方案一:双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。 方案二:单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。 由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最大波动也比双极性工作制的小,所以我们采用了单极性工作制。 1.2.2 PWM调脉宽方式: 调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM 脉冲的软件实现上比较方便。 1.2.3 PWM软件实现方式: 方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。 方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。
pic单片机控制直流电机
实用标准文案 目录 1 总体设计框 架 (3) 2 硬件电路设 计 (4) 2.1 芯片介 绍 (4) 2.2 驱动电 路 (9) 2.3 按键控制电 路 (10) 3 程序编写 ................................................. 10 3.1 工作原 理 (10) 21程序书写过程 3.2 ...................................................... 参考资 料 (16) 精彩文档. 实用标准文案 直流电机驱动 Abstract 摘要:本文主要内容是利用PIC18F452单片机来控制直流电机,通过L293NE来驱动电机,通过按键来使其正转,反转。Keywords 关键词:直流电机,PWM,L293NE 精彩文档. 实用标准文案
总体设计框架1硬件电路利用驱动芯片L293D来驱动直流电机,按键则是单独引出。如图1所示。软件则是C语言编程。 PI驱C直动1流8电电F路机452 图1硬件设计框精彩文档. 实用标准文案 2硬件电路设计 2.1 芯片介绍 首先,总体说明硬件电路设计,如图2 原理图,图3 PCB图以及图4板子的图所示。三个输入信号,如图分别为RD4,RD5,RD6连上光耦的2脚,然后通过光耦的4脚引入L293D的使能引脚(12EN)以及输入引脚(1A,2A),然后L293D的输出引脚(1Y,2Y)通过H-桥型控制电路与直流电机连接。 图2 直流电机控制部分原理图 精彩文档. 实用标准文案 PCB图图3直流电机控制部分 成品板图4 其中红线圈表示直流电机控制部分。下面详细介绍各个芯片。PIC18F452
基于单片机的直流电机控制器的设计
目录 摘要............................................................................................................................................................... I I ABSTRACT ................................................................................................................................................. III 1系统论述 (5) 1.1设计思路 (5) 1.2基本原理 (5) 1.3总体设计框图 (5) 2直流电机单元电路设计与分析 (6) 2.1直流电机驱动模块 (6) 2.2直流电机的中断键盘控制模块 (11) 2.31602LCD液晶显示模块 (13) 3直流电机PWM控制系统的实现 (15) 3.1总电路图 (15) 3.2总电路功能介绍 (16) 3.3直流电机控制程序 (16) 4系统仿真 (23) 5结束语 (26) 参考文献资料 (27)
摘要 本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。本课程设计主要是实现PWM调速器的正转、反转、加速、减速、停止等操作。并实现电路的仿真。为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM 波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。 关键词:AT89C51单片机;PWM调速;正反转控制;仿真。
基于单片机对直流电机的控制
基于单片机对直流电机的控制 第十五组 姓名:吴代露20131325010 张鹏飞20131325012 金静丽20131325014 周敏20131325015 胡会华20131325017 顾蓉20131325018 专业:2013级信息工程(系统工程方向) 指导老师:周旺平 2014.12.22
基于单片机对直流电机的控制 内容摘要 电动机作为最主要的动力源,在生产和生活中占有重要地位。电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化。 关键字:电动机飞思卡尔 PWM控制 一、引言 (一)直流电机的定义 直流电机(direct current machine):是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。 (二)直流电机的基本结构 由直流电动机和发电机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。 (三)直流电机工作原理
直流电机里边固定有环状永磁体,电流通过转子上的线圈产生安培力,当转子上的线圈与磁场平行时,再继续转受到的磁场方向将改变,因此此时转子末端的电刷跟转换片交替接触,从而线圈上的电流方向也改变,产生的洛伦兹力方向不变,所以电机能保持一个方向转动。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定(磁感线指向手心,大拇指指向导体运动方向,其他四指的指向就是导体中感应电动势的方向)。导体受力的方向用左手定则确定。这一对电磁力形成了作用于电枢一个力矩,这个力矩在旋转电机里称为电磁转矩,转矩的方向是逆时针方向,企图使电枢逆时针方向转动。如果此电磁转矩能够克服电枢上的阻转矩(例如由摩擦引起的阻转矩以及其它负载转矩),电枢就能按逆时针方向旋转起来。 (四)直流电机的分类 直流电动机按结构及工作原理可划分:无刷直流电动机和有刷直流电动机。(1)无刷直流电动机:无刷直流电动机是将普通直流电动机的定子与转子进行了互换。其转子为永久磁铁产生气隙磁通:定子为电枢,由多相绕组组成。在结构上,它与永磁同步电动机类似。无刷直流电动机定子的结构与普通的同步电动机或感应电动机相同.在铁芯中嵌入多相绕组(三相、四相、五相不等).绕组可接成星形或三角形,并分别与逆变器的各功率管相连,以便进行合理换相。由于电动机本体为永磁电机,所以习惯上把无刷直流电动机也叫做永磁无刷直流电动机。 (2)有刷直流电动机:又可分为永磁直流电动机和电磁直流电动机。 永磁直流电动机划分:稀土永磁直流电动机、铁氧体永磁直流电动机和铝镍钴永磁直流电动机。稀土永磁直流电动机:体积小且性能更好,但价格昂贵,主要用于航天、计算机、井下仪器等;铁氧体永磁直流电动机:由铁氧体材料制成的磁极体,廉价,且性能良好,广泛用于家用电器、汽车、玩具、电动工具等领域;铝镍钴永磁直流电动机:需要消耗大量的贵重金属、价格较高,但对高温的适应性好,用于环境温度较高或对电动机的温度稳定性要求较高的场合。 电磁直流电动机划分:串励直流电动机、并励直流电动机、他励直流电动机和复励直流电动机。 (1)串励直流电动机:电流串联,分流,励磁绕组是和电枢串联的,直流串励电
51单片机PWM控制直流电机正反转
//程序说明:使用内部时//PWM0=P3^7PWM1=P3^5 PWM2=P2^0 PWM3=P2^4 #include