《单片机控制直流电机》由会员分享,可在线阅读,更多相关《单片机控制直流电机(15页珍藏版)》请在金锄头文库上搜索。
1、1. 设计思路1.1方案对比1.1.1电机调速控制模块:方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式
2、下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。兼于方案三调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案三。1.2.1 PWM调速工作方式:方案一:双极性工作制。双极性工作制是在一个脉冲周期内,单片机两控制口各输出一个控制信号,两信号高低电平相反,两信号的高电平时差决定电动机的转向和转速。方案二:单极性工作制。单极性工作制是单片机控制口一端置低电平,另一端输出PWM信号,两口的输出切换和对PWM的占空比调节决定电动机的转向和转速。由于单极性工作制电压波开中的交流成分比双极性工作制的小,其电流的最
3、大波动也比双极性工作制的小,所以我们采用了单极性工作制。1.2.2 PWM调脉宽方式:调脉宽的方式有三种:定频调宽、定宽调频和调宽调频。我们采用了定频调宽方式,因为采用这种方式,电动机在运转时比较稳定;并且在采用单片机产生PWM脉冲的软件实现上比较方便。1.2.3 PWM软件实现方式:方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。2. 机控制直流电机部分的硬件设计2
4、.1直流电机组成原理 直流电动机结构由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。直流电动机的结构是由直流电源、直流电机、控制开关和调速器组成。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定其工作原理不外乎就是用直流电源作为能量来驱动电
5、机旋转。通过对三极管的截止与导通进行控制,使其起到开、关和调速的作用。具体的操作为当直流电动机接上直流电源时,使用电位器旋转按钮控制三极管集极的电压。如直流电机控制原理图2-3图2-3直流电机控制原理1、当三极管的集极电压小于死区电压时三极管截止,则电动机不转动;2、当集极电压大于死区电压而小于饱和电压时三极管处于放大状态,随着集极电压改变,从而改变了直流电动机两端的压降也就改变了电机的转速。具体原理为集极的电压大小不一样,三极管的电压放大倍数也不一样从而起到调速作用改变直流电动机的旋转速度。2.2直流电机调速方案的设计直流电动机的转速控制方法可以分为2大类:对励磁磁通进行控制的励磁控制法和对
6、电枢电压进行控制的电枢电压法。其中励磁控制法在低速时受磁饱和的限制,在高速时受换向火花和换向器件结构强度的限制。并且励磁线圈电感较大,动态性能响应较差,所以这种控制方法用的很少,多使用电枢控制法。本设计将采用电枢控制方法对电动机的速度和转向进行控制。电机调速控制模块的方案假设:直流电机转速调节:某些场合往往要求直流电机的转速在一定范围内可调节,例如,电车、机床等,调节范围根据负载的要求而定。调速可以有三种方法:(1)改变电机两端电压;(2)改变磁通;(3)在电枢回路中,串联调节电阻。采用第一种方法:通过改变施加于电机两端的电压大小达到调节直流电机转速的目的。2.3直流电机测速方案的设计测速电路
7、由附在电机转子上的光电编码盘及施密特整形电路组成。电脉冲的频率与电机的转速成固定的比例关系,光码盘输出的电脉冲信号经放大整形为标准的TTL 电平, 输入到单片机的两个外部中断:INT0和INT1, 利用单片机内部定时器/计数器T0和T1,以及内部一个寄存器作软计数器,循环地捕捉相邻两次速度脉冲,并由这两次触发所记录的时间差算出其转速,再将这个转速与预置转速进行比较,得出差值,单片机通过对这个差值进行P I运算,得出控制增量,在P010 P013引脚送出控制信号改变PWM波形发生电路的占空比,最终达到控制电机转速的目的。2.4 PWM产生与控制部分方案的设计1.PWM波形发生电路由于测速中占用了
8、两个定时器T0和T1,如果再将PWM波形产生交给AT89C51 则会加大软件的任务,并且影响整个系统的控制效果。因此这里考虑单独设计一个PWM波形发生电路,单片机对它只提供控制参数以改变其占空比。2.5 LCD显示部分方案的设计1.课设所用LCD模块概述模块SMC1602B由一块点阵液晶屏和控制器HD44780及其辅助电路组成。本系统设计采用OCMJ中文模块系统LCD液晶作为下位机的显示模块。该模块内含GB2312 1616点阵国标一级简体汉字和ASCII88(半高)及816(全高)点阵形英文字库,用户输入区位码或ASCII码可实现文本显示。OCMJ中文液晶显示模块采用ASKANSWER握手方
9、式。 3. 各硬件部分的连接与接口3.1 单片机与直流电机接口部分电机控制系统组成框图见图3-1图3-1电机控制系统组成原理图图3-3触发电路原理根据以上电机的各部分电路的构造原理,我们接下来再考虑电机与单片机接口的通信连接。在构思设计的同时也要考虑硬件的最大利用率,本次课设可以先在电脑上进行模拟仿真这样就能提高设计的效率以及电路的可行性。而且在仿真的过程中非常方便进行电路修改又可以达到很好的效果。因此通过使用Protues对硬件电路精心设计并对该电路进行仿真调试,用脉冲形式代替光电耦合管测取转速,再与单片机进行通信连接,可如下图3-4所示。图3-4光电耦合器与电机连接3.2各硬件部分的连接与
10、接口本次课程设计只用到了串行方式进行转速显示。但是在与单片机相连接线的时候依然把其他的数据引脚连接在单片机的P1端口,具体的接线法可以在P2端口体现如图3.5所示。仿真的接线法在仿真软件中能够很好的模拟出来,而课设所用的实验箱却是天皇教仪内部已经有固定的焊接点。对系统进行调试时只有接P1口就行具体接法为引脚CS连接 P1.0、引脚STD连接单片机的P 1.1、引脚SCLK连接P1.2、引脚PSB连接P1.3、引脚RES 连接P1.4。图3-5显示器引脚与单片机连接3.3各部分硬件结合原理及构造各部分硬件连接按照以下原理图3-6图3-6硬件连接原理图其实际的连接接口图如下图3-7 图3-7各部分
11、硬件结合电路图设计过程中,只有知道现有的硬件连接才能进行软件设计与调试。没有硬件的程序是毫无意义的。因此为了达到课程设计所需的要求,又根据硬件的条件及接线法进行了如图4-6所示的编写程序步骤。4. 软件程序设计4.1主程序流程图4-1主程序流程 图4-2中断程序图4-3中断程序 图4-4PI算法调用程序图 4-5中断程序初始化用电位器控制转速光电耦合测取速度LCD显示速度设定时间是否到NYBCD码转换速度换算 图4.1 软件总体设计流程图4.2系统各部件软件PWM软件实现方式:方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。方案二:采用软件延时方式,
12、这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:void delay(unsigned char dlylevel) int i=50*dlylevel; while(-i);此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(h
13、lt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。中断处理子程序:采用中断方式,按下键,单片机P3.2脚产生一负跳沿,响应该中断处理程序,完成延时去抖动、键码识别、按键功能执行。调速档、持续加/减速:调速档通过(0-6)共七档固定占空比,即相应档位相应改变hlt,llt的值,以实现调速档位的实现。而要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少1%占空比(即hlt+/-;llt-/+),其程序流程图如图五。显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各个LED管
14、要显示的值。显示子程序为一带参子程序,参数为显示缓存的数组名,通过for(i=0;i8;i+)方式对每位加上位选码,送到P0口并进行一两毫秒延时。该显示子程序只对各个LED管分别点亮一次,因此在运行过程中,每秒执行的次数不应低于每秒24次。5. 课设总结AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干
15、扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。通过实验总结出要自己去摸索实践掌握相关知识。这样知识才能掌握的牢固,才是真正的学到了。开始感觉这个课设很难,原因在于自己当初并没有仔细分析各个元器件的工作原理。比如电位器控制三极管的作用。刚开始只想到它的开关作用,后来再回去查了查资料才发现自己少想了它还有放大的作用,通过改变集极的电压就可以改变集电极与发射极电压的放大倍数进而改变直流电动机的旋转速度。对于LCD的相关知识,更是掌握的很差。我虚心的请教同学,去帮助解决。经历过程序的几次调试失败之后才明白什么地方出来问题。在调试过程中我还遇到BCD码的转换问题,刚开始只能显示十六进制,后来向同学请教之后才发现自己对汇编程序中的一个指令字没理解透ADDC。起初只考虑到加法没想到其还有带进位位相加的作用,又经过几个几番自己的推敲才知道怎么回事了。真是太大意啊!但能自己解决问题是最关键的。经历本次课程设计之后我有很多的收获:我明