单片机控制直流电机

毕 业 设 计

( 2015届 )

题目: 单片机控制直流电机

完成日期: 2015 年 6 月 5 日

摘 要

近年来由于微型机的快速发展,国外交直流系统数字化已经达到实用阶段。由于以微

处理器为核心的数字控制系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响。其控制软件能够进行逻辑判断和复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律。所以微机数字控制系统在各个方面的性能都远远优于模拟控制系统且应用越来越广泛。

本文介绍的是用一台直流电动机,MCS-51单片机构成的数字化直流调速系统。特点是用单片机取代模拟触发器、电流调节器、速度调节器及逻辑切换等硬件设备。最后进行软件编程、调试。实时控制结果表明,本数字化直流调速系统实现了电流和转速双闭环的恒速调节,并具有结构简单,控制精度高,成本低,易推广等特点,而且各项性能指标优于模拟直流调速系统,从而能够实际的应用到生产生活中,满足现代生产的需要。

关键词:单片机 电机 控制

目 录

引言…………………………………………………………………………………………………………1

1、设计思路………………………………………………………………………………………………1

2、控制直流电机部分的硬件设计…………………………………………………………………2

2.1直流电机组成原理…………………………………………………………………………………2

2.2直流电机调速方案的设计………………………………………………………………………2

2.3直流电机测速方案的设计………………………………………………………………………3

2.4PWM产生与控制部分方案的设计………………………………………………………………3

2.5LCD显示部分方案的设计…………………………………………………………………………3

3、各硬件部分的链接与接口………………………………………………………………………3

3.1单片机与直流电机接口部分……………………………………………………………………3

3.2单片机与LCD显示模块通信接口部分…………………………………………………………4

3.3各部分硬件结合原理及构造 ……………………………………………………………………5

4、软件程序设计………………………………………………………………………………………6

5、系统各部分软件设计的思路……………………………………………………………………8

结论 ………………………………………………………………………………………………………9

致谢辞………………………………………………………………………………………………………10

附录 ………………………………………………………………………………………………………10

引 言

直流电机因具有良好的线性调速特性、效率高、控制简单、调速性能好及体积小等优点得到了广泛使用。常规电机调速控制方法中,电机不稳定工作,损耗较大,尤其在低电压轻负荷时情况更为严重,且工作频率受电源频率的限制,难以满足高精度的调速要求,不利于广泛推广。如何才能使电路具有成本低,控制精度高、调试修改参数方便,且能方便和灵活的适用于大功率、可靠性高的直流电机控制系统中,是我们研究的目的。

1、设计思路

直流电机调速性能好,可靠性高,机械特性强,在自动控制中的应用极为广泛。直流电机的调速系统多种多样,但系统复杂,控制精度和成品价格难以兼顾。本文使用价格低廉、应用广泛的MCS - 51 系列单片机为控制芯片,以PI 调节控制算法为基础,完成对直流电机转速的调节,达到了控制性能好,成本低的目的。

根据本次课程设计的具体要求为,使用LCD显示出直流电机的转速,我们由题目可以分析出,这个题目实际是由多个部分组成的。

既第一个部分应该为,用单片机控制直流电机的转速,并且系统应提供直流电机驱动、测速电路,使用单片机驱动直流电机,测量直流电机的转速,控制直流电机稳定运行在一个范围内。

其二,可以分析出第二个部分应该为,使用LCD显示系统显示出直流电机的具体转速,并且单片机控制的电机实际转速与液晶显示器显示出的转速应该时时对应。

其三,这个硬件系统的隐含意义是,本系统应该具有数模和模数转换的部分,因为这个模数转换部分在这个系统中是不可缺少的,单片机控制的直流电机转速,在实际中无论是对电机控制的信号,还是电机输出的信号都应该是数字信号,因为只有数字信号才能被单片机所识别,而最重要的是,单片机控制的直流电机输出的转速的信号只有是数字信号时才能被液晶显示LCD模块所识别,并最终准确的显示出直流电机的转速。

设计原理方框图如图1-1所示, 以AT89C51单片机为控制核心,包括测速电路、PWM波形发生器和PWM功放电路以及LCD显示部分。

图1-1硬件方框设计原理图

2、控制直流电机部分的硬件设计

2.1直流电机组成原理

直流电动机结构由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。直流电动机的结构是由直流电源、直流电机、控制开关和调速器组成。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定其工作原理不外乎就是用直流电源作为能量来驱动电机旋转。通过对三极管的截止与导通进行控制,使其起到开、关和调速的作用。具体的操作为当直流电动机接上直流电源时,使用电位器旋转按钮控制三极管集极的电压。直流电机控制原理如图2-1。

图2-1直流电机控制原理

(1)当三极管的集极电压小于死区电压时三极管截止,则电动机不转动;

(2)当集极电压大于死区电压而小于饱和电压时三极管处于放大状态,随着集极电压改变,从而改变了直流电动机两端的压降也就改变了电机的转速。具体原理为集极的电压大小不一样,三极管的电压放大倍数也不一样从而起到调速作用改变直流电动机的旋转速度。

2.2直流电机调速方案的设计

直流电动机的转速控制方法可以分为2大类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢电压法。其中励磁控制法在低速时受磁饱和的限制,在高速时受换向火花和换向器件结构强度的限制。并且励磁线圈电感较大,动态性能响应较差,所以这种控制方法用的很少,多使用电枢控制法。本设计将采用电枢控制方法对电动机的速度

和转向进行控制。

直流电机转速调节:

某些场合往往要求直流电机的转速在一定范围内可调节,例如,电车、机床等,调节范围根据负载的要求而定。

调速可以有三种方法:(1)改变电机两端电压;(2)改变磁通;(3)在电枢回路中,串联调节电阻。采用第一种方法:通过改变施加于电机两端的电压大小达到调节直流电机转速的目的。

2.3直流电机测速方案的设计

测速电路由附在电机转子上的光电编码盘及施密特整形电路组成。电脉冲的频率与电机的转速成固定的比例关系,光码盘输出的电脉冲信号经放大整形为标准的TTL 电平, 输入到单片机的两个外部中断:INT0和INT1, 利用单片机内部定时器/计数器T0和T1,以及内部一个寄存器作软计数器,循环地捕捉相邻两次速度脉冲,并由这两次触发所记录的时间差算出其转速,再将这个转速与预置转速进行比较,得出差值,单片机通过对这个差值进行P I运算,得出控制增量,在P010 ~P013引脚送出控制信号改变PWM波形发生电路的占空比,最终达到控制电机转速的目的。

2.4 PWM产生与控制部分方案的设计

PWM波形发生电路

由于测速中占用了两个定时器T0和T1,如果再将PWM波形产生交给AT89C51 则会加大软件的任务,并且影响整个系统的控制效果。因此这里考虑单独设计一个PWM波形发生电路,单片机对它只提供控制参数以改变其占空比。

2.5 LCD显示部分方案的设计

课设所用LCD模块概述

模块SMC1602B由一块点阵液晶屏和控制器HD44780及其辅助电路组成。本系统设计

采用OCMJ中文模块系统LCD液晶作为下位机的显示模块。该模块内含GB2312 16×16点阵国标一级简体汉字和ASCII8×8(半高)及8×16(全高)点阵形英文字库,用户输入区位码或ASCII码可实现文本显示。OCMJ中文液晶显示模块采用ASK/ANSWER握手方式。

3、各硬件部分的连接与接口

3.1 单片机与直流电机接口部分

电机控制系统组成框图见图3-1。

图3-1电机控制系统组成原理图

根据以上电机的各部分电路的构造原理,我们接下来再考虑电机与单片机接口的通信连接。在构思设计的同时也要考虑硬件的最大利用率,本次课设可以先在电脑上进行模拟仿真这样就能提高设计的效率以及电路的可行性。而且在仿真的过程中非常方便进行电路修改又可以达到很好的效果。因此通过使用Protues对硬件电路精心设计并对该电路进行仿真调试,用脉冲形式代替光电耦合管测取转速,再与单片机进行通信连接,可如下图3-2所示。

图3-2光电耦合器与电机连接

3.2单片机与LCD显示模块通信接口部分

本次课程设计只用到了串行方式进行转速显示。但是在与单片机相连接线的时候依然把其他的数据引脚连接在单片机的P1端口,具体的接线法可以在P2端口体现如图3-3所示。仿真的接线法在仿真软件中能够很好的模拟出来,而课设所用的实验箱却是天皇教仪内部已经有固定的焊接点。对系统进行调试时只有接P1口就行具体接法为引脚CS连接 P1.0、引脚STD连接单片机的P 1.1、引脚SCLK连接P1.2、引脚PSB连接P1.3、引脚RES 连接P1.4。

图3-3显示器引脚与单片机连接

3.3各部分硬件结合原理及构造

各部分硬件连接按照以下原理图3-4。

图3-4硬件连接原理图

其实际的连接接口图如下图3-5。

图3-5各部分硬件结合电路图

4、软件程序设计

设计过程中,只有知道现有的硬件连接才能进行软件设计与调试。没有硬件的程序是毫无意义的。因此为了达到课程设计所需的要求,又根据硬件的条件及接线法进行了如下图所示的编写程序步骤。

图4-1主程序流程

图4-2中断程序

图4-3中断程序

图4-4PI算法调用程序图

图4-5中断程序

图4-6软件总体设计流程图

5、系统各部分软件设计的思路

PWM软件实现方式:

方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。

方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。

①PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:

void delay(unsigned char dlylevel){

int i=50*dlylevel;

while(--i);}

此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。

②中断处理子程序:采用中断方式,按下键,单片机P3.2脚产生一负跳沿,响应该中断处理程序,完成延时去抖动、键码识别、按键功能执行。

调速档、持续加/减速:调速档通过(0-6)共七档固定占空比,即相应档位相应改变hlt,llt的值,以实现调速档位的实现。而要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少1%占空比(即hlt++/--;llt--/++),其程序流程图如图五。

③显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各个LED管要显示的值。显示子程序为一带参子程序,参数为显示缓存的数组名,通过for(i=0;i

该显示子程序只对各个LED管分别点亮一次,因此在运行过程中,每秒执行的次数不应低于每秒24次。

结 论

AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。

通过实验总结出要自己去摸索实践掌握相关知识。这样知识才能掌握的牢固,才是真正的学到了。开始感觉这个课设很难,原因在于自己当初并没有仔细分析各个元器件的工作原理。比如电位器控制三极管的作用。刚开始只想到它的开关作用,后来再回去查了查资料才发现自己少想了它还有放大的作用,通过改变集极的电压就可以改变集电极与发射极电压的放大倍数进而改变直流电动机的旋转速度。对于LCD的相关知识,更是掌握的很

差。我虚心的请教同学,去帮助解决。经历过程序的几次调试失败之后才明白什么地方出来问题。在调试过程中我还遇到BCD码的转换问题,刚开始只能显示十六进制,后来向同学请教之后才发现自己对汇编程序中的一个指令字没理解透ADDC。起初只考虑到加法没想到其还有带进位位相加的作用,又经过几个几番自己的推敲才知道怎么回事了。真是太大意啊!但能自己解决问题是最关键的。经历本次课程设计之后我有很多的收获:

我明白有好的理论不代表能高效的用在实践上,只有通过自己的理解并付诸实践才能掌握, 遇到困能时要虚心学习,更要靠自己去努力解决。因为以后可能没人像在学校老师帮助,只有独自完成。而且答案可能不只有一种,有了解决的方案时要考虑还有没有其他方案更简便,想得到好的结果,就要反复推敲和实践,想解决问题就必须要能专研,吃苦,有耐心、勤奋、与人团结合作等综合素质。

致 谢 辞

经过一个学期的紧张准备,本次毕业设计在我的导师的悉心指导下顺利完成了,由于时间仓促,难免有许多疏漏之处。在这里,我要感谢老师,老师在我做毕业设计的每个阶段都给予了我悉心的指导。除了敬佩老师的专业水平外,他的教学态度和科研精神也是我永远学习的榜样,并将对我今后的学习和工作产生积极的影响。同时,要感谢大学三年来所有的老师,为我自动化的专业知识打下了坚实的基础,感谢我所有的同学,正是因为有了他们的支持与帮助我才顺利的完成了毕业设计。

附录

单片机程序如下:

LEN EQU 30H ;高电平比例初值存放单元

GAO DATA 31H ;高电平存放单元

DI DATA 32H ;低电平存放单元

GORD BIT 20H ;高电平或低电平位判断存放单元

ORG 0000H

AJMP MAIN

ORG 000BH

AJMP DVT0

ORG 0030H

MAIN:MOV LEN,#10

SETB P2.0

CLR P2.2

SETB GORD ;置高低电平判断位为1

MOV GAO,LEN ;置高电平初值

MOV A,#100 ;置周期总长值

SUBB A,GAO ;求低电平比例值

MOV DI,A ;存低电平比例值

MOV TMOD,#01H;置定时器0为定时工作方式1

MOV TH0,#0FEH;赋定时器初值

MOV TL0,#0CH

SETB ET0 ;开定时器0

SETB EA

SETB TR0

LOOP:AJMP LOOP ;等待

DVT0:PUSH PSW ;保护现场

PUSH A

MOV TH0,#0FEH;重新赋初值

MOV TL0,#0CH

MOV A,LEN

CJNE A,#0,PD1 ;判断高电平比例初值是否为0 CLR P2.1

AJMP DVT2

PD1: CJNE A,#100,PD2;判断高电平比例初值是否为100 SETB P2.1

AJMP DVT2

PD2: JNB GORD,DVT1;判断高低电平位是否为0,为0转 DJNZ GAO,DVT2;判断高电平是否已完

CLR P2.1 ;置P2.1为低电平

CLR GORD ;置高低电平位为0

MOV GAO,LEN ;

MOV A,#100

SUBB A,GAO

MOV DI,A ;求低电平比例值

AJMP DVT2

DVT1:DJNZ DI,DVT2 ;判断低电平是否已完

SETB P2.1 ;置P2.1为高电平

SETB GORD ;置高低电平位为1

MOV GAO,LEN

DVT2:POP A ;恢复现场

POP PSW

RETI ;返回中断

中断程序

JI_SHU1 DATA 42H ;中断计数值低位存放单元 JI_SHU2 DATA 43H ;中断计数值高位存放单元 TIMER DATA 44H ;定时循环次数存放单元 ORG 0000H

AJMP MAIN

ORG 0013H

AJMP INT1

ORG 001BH

AJMP TIMER1

ORG 0030H

MAIN: MOV SP,#60H

MOV JI_SHU1,#00H ;计数单元清零

MOV JI_SHU2,#00H

MOV TIMER,#20 ;置定时循环次数20次

MOV TMOD,#10H ;置定时器1为定时工作方式1 MOV TH1,#3CH ;置定时初值,定时时间为50ms

MOV TL1,#0B0H

SETB IT1 ;置中断1为边沿触发方式 SETB ET1 ;开定时开中断

SETB EA

SETB EX1

SETB TR1

LOOP: AJMP LOOP ;等待中断

INT1: PUSH PSW

INC JI_SHU1 ;中断计数值低位加1 MOV A,JI_SHU1

CJNE A,#00,INT11 ;判断是否溢出

INC JI_SHU2 ;中断计数值高位加1 INT11:POP PSW ;中断返回

RETI

TIMER1:CLR TR1 ;关定时器1

MOV TH1,#3CH ;重新赋定时器1的初值 MOV TL1,#0B0H

DJNZ TIMER,TIMER11;判断定时时间1秒是否已到 CLR EX1 ;关中断1,停止计数 ;调用相关的子程序

MOV TIMER,#20 ;重赋定时循环次数

MOV JI_SHU1,#00H ;中断计数单元情零

MOV JI_SHU2,#00H

SETB EX1 ;重新开中断1

TIMER11:SETB TR1 ;重新开定时器1

RETI

毕 业 设 计

( 2015届 )

题目: 单片机控制直流电机

完成日期: 2015 年 6 月 5 日

摘 要

近年来由于微型机的快速发展,国外交直流系统数字化已经达到实用阶段。由于以微

处理器为核心的数字控制系统硬件电路的标准化程度高,制作成本低,且不受器件温度漂移的影响。其控制软件能够进行逻辑判断和复杂运算,可以实现不同于一般线性调节的最优化、自适应、非线性、智能化等控制规律。所以微机数字控制系统在各个方面的性能都远远优于模拟控制系统且应用越来越广泛。

本文介绍的是用一台直流电动机,MCS-51单片机构成的数字化直流调速系统。特点是用单片机取代模拟触发器、电流调节器、速度调节器及逻辑切换等硬件设备。最后进行软件编程、调试。实时控制结果表明,本数字化直流调速系统实现了电流和转速双闭环的恒速调节,并具有结构简单,控制精度高,成本低,易推广等特点,而且各项性能指标优于模拟直流调速系统,从而能够实际的应用到生产生活中,满足现代生产的需要。

关键词:单片机 电机 控制

目 录

引言…………………………………………………………………………………………………………1

1、设计思路………………………………………………………………………………………………1

2、控制直流电机部分的硬件设计…………………………………………………………………2

2.1直流电机组成原理…………………………………………………………………………………2

2.2直流电机调速方案的设计………………………………………………………………………2

2.3直流电机测速方案的设计………………………………………………………………………3

2.4PWM产生与控制部分方案的设计………………………………………………………………3

2.5LCD显示部分方案的设计…………………………………………………………………………3

3、各硬件部分的链接与接口………………………………………………………………………3

3.1单片机与直流电机接口部分……………………………………………………………………3

3.2单片机与LCD显示模块通信接口部分…………………………………………………………4

3.3各部分硬件结合原理及构造 ……………………………………………………………………5

4、软件程序设计………………………………………………………………………………………6

5、系统各部分软件设计的思路……………………………………………………………………8

结论 ………………………………………………………………………………………………………9

致谢辞………………………………………………………………………………………………………10

附录 ………………………………………………………………………………………………………10

引 言

直流电机因具有良好的线性调速特性、效率高、控制简单、调速性能好及体积小等优点得到了广泛使用。常规电机调速控制方法中,电机不稳定工作,损耗较大,尤其在低电压轻负荷时情况更为严重,且工作频率受电源频率的限制,难以满足高精度的调速要求,不利于广泛推广。如何才能使电路具有成本低,控制精度高、调试修改参数方便,且能方便和灵活的适用于大功率、可靠性高的直流电机控制系统中,是我们研究的目的。

1、设计思路

直流电机调速性能好,可靠性高,机械特性强,在自动控制中的应用极为广泛。直流电机的调速系统多种多样,但系统复杂,控制精度和成品价格难以兼顾。本文使用价格低廉、应用广泛的MCS - 51 系列单片机为控制芯片,以PI 调节控制算法为基础,完成对直流电机转速的调节,达到了控制性能好,成本低的目的。

根据本次课程设计的具体要求为,使用LCD显示出直流电机的转速,我们由题目可以分析出,这个题目实际是由多个部分组成的。

既第一个部分应该为,用单片机控制直流电机的转速,并且系统应提供直流电机驱动、测速电路,使用单片机驱动直流电机,测量直流电机的转速,控制直流电机稳定运行在一个范围内。

其二,可以分析出第二个部分应该为,使用LCD显示系统显示出直流电机的具体转速,并且单片机控制的电机实际转速与液晶显示器显示出的转速应该时时对应。

其三,这个硬件系统的隐含意义是,本系统应该具有数模和模数转换的部分,因为这个模数转换部分在这个系统中是不可缺少的,单片机控制的直流电机转速,在实际中无论是对电机控制的信号,还是电机输出的信号都应该是数字信号,因为只有数字信号才能被单片机所识别,而最重要的是,单片机控制的直流电机输出的转速的信号只有是数字信号时才能被液晶显示LCD模块所识别,并最终准确的显示出直流电机的转速。

设计原理方框图如图1-1所示, 以AT89C51单片机为控制核心,包括测速电路、PWM波形发生器和PWM功放电路以及LCD显示部分。

图1-1硬件方框设计原理图

2、控制直流电机部分的硬件设计

2.1直流电机组成原理

直流电动机结构由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。直流电动机的结构是由直流电源、直流电机、控制开关和调速器组成。直流发电机的工作原理就是把电枢线圈中感应的交变电动势,靠换向器配合电刷的换向作用,使之从电刷端引出时变为直流电动势的原理。感应电动势的方向按右手定则确定其工作原理不外乎就是用直流电源作为能量来驱动电机旋转。通过对三极管的截止与导通进行控制,使其起到开、关和调速的作用。具体的操作为当直流电动机接上直流电源时,使用电位器旋转按钮控制三极管集极的电压。直流电机控制原理如图2-1。

图2-1直流电机控制原理

(1)当三极管的集极电压小于死区电压时三极管截止,则电动机不转动;

(2)当集极电压大于死区电压而小于饱和电压时三极管处于放大状态,随着集极电压改变,从而改变了直流电动机两端的压降也就改变了电机的转速。具体原理为集极的电压大小不一样,三极管的电压放大倍数也不一样从而起到调速作用改变直流电动机的旋转速度。

2.2直流电机调速方案的设计

直流电动机的转速控制方法可以分为2大类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢电压法。其中励磁控制法在低速时受磁饱和的限制,在高速时受换向火花和换向器件结构强度的限制。并且励磁线圈电感较大,动态性能响应较差,所以这种控制方法用的很少,多使用电枢控制法。本设计将采用电枢控制方法对电动机的速度

和转向进行控制。

直流电机转速调节:

某些场合往往要求直流电机的转速在一定范围内可调节,例如,电车、机床等,调节范围根据负载的要求而定。

调速可以有三种方法:(1)改变电机两端电压;(2)改变磁通;(3)在电枢回路中,串联调节电阻。采用第一种方法:通过改变施加于电机两端的电压大小达到调节直流电机转速的目的。

2.3直流电机测速方案的设计

测速电路由附在电机转子上的光电编码盘及施密特整形电路组成。电脉冲的频率与电机的转速成固定的比例关系,光码盘输出的电脉冲信号经放大整形为标准的TTL 电平, 输入到单片机的两个外部中断:INT0和INT1, 利用单片机内部定时器/计数器T0和T1,以及内部一个寄存器作软计数器,循环地捕捉相邻两次速度脉冲,并由这两次触发所记录的时间差算出其转速,再将这个转速与预置转速进行比较,得出差值,单片机通过对这个差值进行P I运算,得出控制增量,在P010 ~P013引脚送出控制信号改变PWM波形发生电路的占空比,最终达到控制电机转速的目的。

2.4 PWM产生与控制部分方案的设计

PWM波形发生电路

由于测速中占用了两个定时器T0和T1,如果再将PWM波形产生交给AT89C51 则会加大软件的任务,并且影响整个系统的控制效果。因此这里考虑单独设计一个PWM波形发生电路,单片机对它只提供控制参数以改变其占空比。

2.5 LCD显示部分方案的设计

课设所用LCD模块概述

模块SMC1602B由一块点阵液晶屏和控制器HD44780及其辅助电路组成。本系统设计

采用OCMJ中文模块系统LCD液晶作为下位机的显示模块。该模块内含GB2312 16×16点阵国标一级简体汉字和ASCII8×8(半高)及8×16(全高)点阵形英文字库,用户输入区位码或ASCII码可实现文本显示。OCMJ中文液晶显示模块采用ASK/ANSWER握手方式。

3、各硬件部分的连接与接口

3.1 单片机与直流电机接口部分

电机控制系统组成框图见图3-1。

图3-1电机控制系统组成原理图

根据以上电机的各部分电路的构造原理,我们接下来再考虑电机与单片机接口的通信连接。在构思设计的同时也要考虑硬件的最大利用率,本次课设可以先在电脑上进行模拟仿真这样就能提高设计的效率以及电路的可行性。而且在仿真的过程中非常方便进行电路修改又可以达到很好的效果。因此通过使用Protues对硬件电路精心设计并对该电路进行仿真调试,用脉冲形式代替光电耦合管测取转速,再与单片机进行通信连接,可如下图3-2所示。

图3-2光电耦合器与电机连接

3.2单片机与LCD显示模块通信接口部分

本次课程设计只用到了串行方式进行转速显示。但是在与单片机相连接线的时候依然把其他的数据引脚连接在单片机的P1端口,具体的接线法可以在P2端口体现如图3-3所示。仿真的接线法在仿真软件中能够很好的模拟出来,而课设所用的实验箱却是天皇教仪内部已经有固定的焊接点。对系统进行调试时只有接P1口就行具体接法为引脚CS连接 P1.0、引脚STD连接单片机的P 1.1、引脚SCLK连接P1.2、引脚PSB连接P1.3、引脚RES 连接P1.4。

图3-3显示器引脚与单片机连接

3.3各部分硬件结合原理及构造

各部分硬件连接按照以下原理图3-4。

图3-4硬件连接原理图

其实际的连接接口图如下图3-5。

图3-5各部分硬件结合电路图

4、软件程序设计

设计过程中,只有知道现有的硬件连接才能进行软件设计与调试。没有硬件的程序是毫无意义的。因此为了达到课程设计所需的要求,又根据硬件的条件及接线法进行了如下图所示的编写程序步骤。

图4-1主程序流程

图4-2中断程序

图4-3中断程序

图4-4PI算法调用程序图

图4-5中断程序

图4-6软件总体设计流程图

5、系统各部分软件设计的思路

PWM软件实现方式:

方案一:采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。

方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。

①PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:

void delay(unsigned char dlylevel){

int i=50*dlylevel;

while(--i);}

此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。

②中断处理子程序:采用中断方式,按下键,单片机P3.2脚产生一负跳沿,响应该中断处理程序,完成延时去抖动、键码识别、按键功能执行。

调速档、持续加/减速:调速档通过(0-6)共七档固定占空比,即相应档位相应改变hlt,llt的值,以实现调速档位的实现。而要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少1%占空比(即hlt++/--;llt--/++),其程序流程图如图五。

③显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各个LED管要显示的值。显示子程序为一带参子程序,参数为显示缓存的数组名,通过for(i=0;i

该显示子程序只对各个LED管分别点亮一次,因此在运行过程中,每秒执行的次数不应低于每秒24次。

结 论

AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。

通过实验总结出要自己去摸索实践掌握相关知识。这样知识才能掌握的牢固,才是真正的学到了。开始感觉这个课设很难,原因在于自己当初并没有仔细分析各个元器件的工作原理。比如电位器控制三极管的作用。刚开始只想到它的开关作用,后来再回去查了查资料才发现自己少想了它还有放大的作用,通过改变集极的电压就可以改变集电极与发射极电压的放大倍数进而改变直流电动机的旋转速度。对于LCD的相关知识,更是掌握的很

差。我虚心的请教同学,去帮助解决。经历过程序的几次调试失败之后才明白什么地方出来问题。在调试过程中我还遇到BCD码的转换问题,刚开始只能显示十六进制,后来向同学请教之后才发现自己对汇编程序中的一个指令字没理解透ADDC。起初只考虑到加法没想到其还有带进位位相加的作用,又经过几个几番自己的推敲才知道怎么回事了。真是太大意啊!但能自己解决问题是最关键的。经历本次课程设计之后我有很多的收获:

我明白有好的理论不代表能高效的用在实践上,只有通过自己的理解并付诸实践才能掌握, 遇到困能时要虚心学习,更要靠自己去努力解决。因为以后可能没人像在学校老师帮助,只有独自完成。而且答案可能不只有一种,有了解决的方案时要考虑还有没有其他方案更简便,想得到好的结果,就要反复推敲和实践,想解决问题就必须要能专研,吃苦,有耐心、勤奋、与人团结合作等综合素质。

致 谢 辞

经过一个学期的紧张准备,本次毕业设计在我的导师的悉心指导下顺利完成了,由于时间仓促,难免有许多疏漏之处。在这里,我要感谢老师,老师在我做毕业设计的每个阶段都给予了我悉心的指导。除了敬佩老师的专业水平外,他的教学态度和科研精神也是我永远学习的榜样,并将对我今后的学习和工作产生积极的影响。同时,要感谢大学三年来所有的老师,为我自动化的专业知识打下了坚实的基础,感谢我所有的同学,正是因为有了他们的支持与帮助我才顺利的完成了毕业设计。

附录

单片机程序如下:

LEN EQU 30H ;高电平比例初值存放单元

GAO DATA 31H ;高电平存放单元

DI DATA 32H ;低电平存放单元

GORD BIT 20H ;高电平或低电平位判断存放单元

ORG 0000H

AJMP MAIN

ORG 000BH

AJMP DVT0

ORG 0030H

MAIN:MOV LEN,#10

SETB P2.0

CLR P2.2

SETB GORD ;置高低电平判断位为1

MOV GAO,LEN ;置高电平初值

MOV A,#100 ;置周期总长值

SUBB A,GAO ;求低电平比例值

MOV DI,A ;存低电平比例值

MOV TMOD,#01H;置定时器0为定时工作方式1

MOV TH0,#0FEH;赋定时器初值

MOV TL0,#0CH

SETB ET0 ;开定时器0

SETB EA

SETB TR0

LOOP:AJMP LOOP ;等待

DVT0:PUSH PSW ;保护现场

PUSH A

MOV TH0,#0FEH;重新赋初值

MOV TL0,#0CH

MOV A,LEN

CJNE A,#0,PD1 ;判断高电平比例初值是否为0 CLR P2.1

AJMP DVT2

PD1: CJNE A,#100,PD2;判断高电平比例初值是否为100 SETB P2.1

AJMP DVT2

PD2: JNB GORD,DVT1;判断高低电平位是否为0,为0转 DJNZ GAO,DVT2;判断高电平是否已完

CLR P2.1 ;置P2.1为低电平

CLR GORD ;置高低电平位为0

MOV GAO,LEN ;

MOV A,#100

SUBB A,GAO

MOV DI,A ;求低电平比例值

AJMP DVT2

DVT1:DJNZ DI,DVT2 ;判断低电平是否已完

SETB P2.1 ;置P2.1为高电平

SETB GORD ;置高低电平位为1

MOV GAO,LEN

DVT2:POP A ;恢复现场

POP PSW

RETI ;返回中断

中断程序

JI_SHU1 DATA 42H ;中断计数值低位存放单元 JI_SHU2 DATA 43H ;中断计数值高位存放单元 TIMER DATA 44H ;定时循环次数存放单元 ORG 0000H

AJMP MAIN

ORG 0013H

AJMP INT1

ORG 001BH

AJMP TIMER1

ORG 0030H

MAIN: MOV SP,#60H

MOV JI_SHU1,#00H ;计数单元清零

MOV JI_SHU2,#00H

MOV TIMER,#20 ;置定时循环次数20次

MOV TMOD,#10H ;置定时器1为定时工作方式1 MOV TH1,#3CH ;置定时初值,定时时间为50ms

MOV TL1,#0B0H

SETB IT1 ;置中断1为边沿触发方式 SETB ET1 ;开定时开中断

SETB EA

SETB EX1

SETB TR1

LOOP: AJMP LOOP ;等待中断

INT1: PUSH PSW

INC JI_SHU1 ;中断计数值低位加1 MOV A,JI_SHU1

CJNE A,#00,INT11 ;判断是否溢出

INC JI_SHU2 ;中断计数值高位加1 INT11:POP PSW ;中断返回

RETI

TIMER1:CLR TR1 ;关定时器1

MOV TH1,#3CH ;重新赋定时器1的初值 MOV TL1,#0B0H

DJNZ TIMER,TIMER11;判断定时时间1秒是否已到 CLR EX1 ;关中断1,停止计数 ;调用相关的子程序

MOV TIMER,#20 ;重赋定时循环次数

MOV JI_SHU1,#00H ;中断计数单元情零

MOV JI_SHU2,#00H

SETB EX1 ;重新开中断1

TIMER11:SETB TR1 ;重新开定时器1

RETI


相关文章

  • 单片机程序设计
  • 引 言 调速能力强,速度变化平滑是直流电机的显著特点,在很多的控制系统中有极为广泛的应用,但是以往使用模拟器件或电路来完成控制直流电机的,这样做有很多问题例如:控制准确度低,稳定性差,这些问题如果仍然有过去的设计是根本无法解决和消除的,并且 ...查看


  • 步进电机毕业论文
  • 本科生毕业论文(设计) 题 目: 姓 名: 学 院: 专 业: 班 级: 学 号: 步进电机的驱动控制的设计 周小云 工学院 农业电气化与自动化 电气81 3218119 指导教师: 徐进 职称: 讲师 2012 年 5月 4日 南京农业大 ...查看


  • 直流电机转速及方向控制
  • 专业课程设计 设计报告 直流电机转速及方向的控制 班级: 专业: 电气工程及其自动化 设计人(学号): 完成日期: 成都信息工程学院控制工程学院 二零一一年十月 摘 要 当今,自动化控制系统已经在各行各业得到了广泛的应用和发展,而直流驱动控 ...查看


  • 直流电机控制
  • 微机应用课程设计报告 题 目: 基于单片机的直流电动机控制器设计 专 业: 班 级: 姓 名: 学 号: 地 点: 时 间:指导老师: 摘要 电动机作为最主要的机电能量转换装置,其应用范围已遍及国民经济的各个领域和人们的日常生活.无论是在工 ...查看


  • 小型四相步进电机驱动
  • 微机原理与接口技术 课程设计 题 目: 小型四相步进电机驱动 班 级: 机械类11206 姓 名: 同组者: 机械工程与自动化学院 基于单片机的步进电机升降频控制 摘 要 步进电机是一种将电脉冲转化为角位移的执行机构.当步进驱动器接收到一个 ...查看


  • 基于单片机的直流电机速度控制系统毕业论文
  • 学校代码 学 号 分类号 密 级 公 开 本科毕业论文(设计) 题目:基于单片机的直流电动机的控制 (中.英文) 作 者 姓 名: 专 业 名 学 科 门 类: 指 导 教 成 绩 评 定: 摘 要 随着微电子和计算机技术的发展,直流电机的 ...查看


  • 基于单片机的交流伺服电机转速控制系统研究
  • 基于单片机的交流伺服电机转速控制系统研究 伺服电机属于控制电机,它分为直流伺服电机和交流伺服电机两种.由于交流伺服电机具有体积小,重量轻,大转矩输出,低惯量和良好的控制性能等优点,已广泛应用于自动控制系统和自动检测系统中作为执行元件,将控制 ...查看


  • 直流电机毕业设计
  • 陕西邮电职业技术学院 通信系2013届毕业设计论 文 题 目:直流电机转速控制系统 专 业:电子信息工程 班 级:电子信息工程技术1131班 学生姓名:王文瑞 (025113115) 导师姓名:冯伟 起止时间:2013年 11月 1日 至2 ...查看


  • 基于L298N的直流电机调速控制设计
  • 学校代码:11517 学 号:[1**********]6 河南工程学院论文版权使用授权书 本人完全了解河南工程学院关于收集.保存.使用学位论文的规定,同意如下各项内容:按照学校要求提交论文的印刷本和电子版本:学校有权保存论文的印刷本和电子 ...查看


热门内容