设
计
报
告
参赛题目:直流电机调速控制器参赛学院:
参赛队员:
摘要
这次设计的目的是设计并制作一个直流电机调速控制系统,实现对直流电机的调速控制和电机转速显示,且具有数字显示等功能。使用AT89C51单片机作为整个控制系统的核心部分,用光电编码器测速,3位的LED数码管进行显示,通过四个三极管搭建的电桥实现电机的正转反转,改变电机的输入电压进行调速。这次设计的重点有两个,一是电机的正反转,二是测速并在数码管上显示出来。此系统结构简单,应用灵活方便,功能可再扩展、更易于在相关设计中运用,为进一步研究和优化直流电机控制方法提供基础。
关键词:AT89C51;测速系统;光电编码器;直流电机
目录
一、前言 (1)
二、整体设计方案(比较,论证,选择) (2)
三、硬件设计: (3)
3.1 主要模块介绍 (3)
3.2 主要器件简介 (7)
四、软件设计 (9)
4.1 主程序设计 (9)
4.2 各个子程序 (10)
4.2.1显示子程序 (10)
4.2.2 转速检测子程序 (11)
4.2.3 正反转子程序 (12)
五、系统调试 (14)
六、总结: (15)
参考文献 (16)
附录:硬件电路图 (17)
一、前言
电机的分类:
在现代电子产品中,自动控制系统,电子仪器设备、家用电器、电子玩具等等方面,直流电机都得到了广泛的应用。大家熟悉的录音机、电唱机、录相机、电子计算机等,都不能缺少直流电机。所以直流电机的控制是一门很实用的技术。直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,最大转矩大,能在宽广的范围内平滑、经济地调速,转速控制容易,调速后效率很高。与交流调速相比,直流电机结构复杂,生产成本高,维护工作量大。随着大功率晶体管的问世以及矢量控制技术的成熟,使得矢量控制变频技术获得迅猛发展,从而研制出各种类型、各种功率的变频调速装置,并在工业上得到广泛应用。适用范围:直流调速器在数控机床、造纸印刷、纺织印染、光缆线缆设备、包装机械、电工机械、食品加工机械、橡胶机械、生物设备、印制电路板设备、实验设备、焊接切割、轻工机械、物流输送设备、机车车辆、医疗设备、通讯设备、雷达设备、卫星地面接受系统等行业广泛应用。高性能的交流传动应用比重逐年上升,在工业部门中,用可调速交流传动取代直流传动将成为历史的必然。尽管如此,我认为设计一个直流电机调速系统,不论是从学习还是实践的角度,对一名工程专业的大学生都会产生积极地作用,有利于提高学习热情。
二、整体设计方案(比较,论证,选择)
1、功能:实现电机转速测量,电机速度调节,电机转速显示以及检测到换相信号后及时换相。
2、测速(霍尔传感器,光电编码器)
对于转速测量有很多种方法,我们只要考虑了两种方案,一个是光电编码器测量方案,另一个是霍尔元件测量方案。其中霍尔传感器是一种磁传感器,用它可以检测磁场及其变化,可在各种与磁场有关的场合中使用,霍尔传感器以霍尔效应为工作基础,是由霍尔元件和它的附属电路组成的集成传感器。这种方案的优点是结构简单,测量那个装置体积小,量程大,环境适应能力强,霍尔元件输出的信号无需放大,从而得到电机转速。光电编码器利用光电方法,通过光电转换将输出轴的机械量,几何位移量转换成相应的电脉冲信号或数字量输入电子计算机或显示仪表,从而获得机械运动状态,位置坐标及其变化量等信息,计算机根据这些信息给出处理结果和发出指令,实现自动控制。光电轴角编码器,在数控机床、机器人、伺服传动技术、自动控制技术等方面得到广泛的应用。这种方案的有点是:原理构造简单、易于实现;机械平均寿命长,可达到几万小时以上;分辨率高;抗干扰能力较强,信号传输距离较长,可靠性较高;有良好的保护构造,维护容易。
控制正反转(继电器,H桥)
3、整体框图
由于时间紧张,小组成员能力有限,我们的方案设计重点突出转速测量、控制正反转和显示部分。转速测量我们选择了光电编码器,把光电编码器输出的脉冲输入给光电耦合器,经过转换就可以输入给单片机,再由单片机控制LED数码管进行显示。反向部分我们采用了4个三极管搭建了一个电桥来实现电机的正反转,并且在正传反转回路个接入了不同颜色的发光二极管,这样就可以通过观察哪个二极管亮来判断是正传还是反转。
三、硬件设计:
3.1 主要模块介绍
1、测速模块
测速使用的是光电编码器,这是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。信号转换使用光电耦合器,通过它把光电编码器传过来的信号变成单片机可以接受的信号。图中4.7K电阻起保护作用。
把光电编码器直接跟电机相连,电机转动光电编码器输出12V的矩形波,再经过光电耦合器把12V的矩形波变成5V的矩形波,最后把5V的矩形波输给单片机,单片机再控制数码管显示。
2、控制正反转和调速模块
由于我们使用的是普通的直流电机,为了节省时间,简化电路所以我们通过改变电机的输入电压来改变它的转速,在供给电机的电源处接入一个电位器,当改变电位器的接入电阻时,电机的输入电压就改变了,从而电机的转速也就改变了。图中四个三极管的基极分别接单片机的P2.0,P2.1,P2.2,P2.3引脚,单片机的P1.0接了一个按键,当需要改变转向的时候,按下按键就会给单片机一个信号,单片机收到这个信号然后控制这四个引脚是高电平还是低电平。三极管高电平导通,低电平截至,当Q1和Q4导通时电机正转,当Q3和Q2导通时反转。图中的四个二极管起保护作用,开关控制电机的启动和停止。
3、显示模块
显示我们采用了一个三位共阳LED数码管。LED数码管晶、集LED数码管、数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a b c d e f g dp来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED 数码管的主要特点有:能在低电压、小电流条件下驱动发光,能与CMOS、ITL电路兼容。发光响应时间极短(<0.1μs),高频特性好,单色性好,亮度高。体积小,重量轻,抗冲击性能好。寿命长,使用寿命在10万小时以上,甚至可达100万小时。成本低。因此它被广泛用作数字仪器仪表、数控装置、计算机的数显器件。显示驱动我们用的是74HC164,它是8 位串入、并出移位寄存器。74HC164 是高速硅门CMOS 器件,与低功耗肖特基型TTL (LSTTL) 器件的引脚兼容。74HC164 是8 位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA 或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。时钟(CP) 每次由低变高时,数据右移一位,输入到Q0,Q0 是两个数据输入端(DSA 和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。主复位(MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所
有的输出为低电平。
3.2 主要器件简介
1、单片机AT89C51
AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
2、光电耦合器
光电耦合器(optical coupler,英文缩写为OC)亦称光电隔离器,简称光耦。光电耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电—光—电的转换,从而起到输入、输出、隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。
3、光电编码器
四、软件设计
4.1 主程序设计
#include
#define uint unsigned int
#define char unsigned char
sbit key=p1^0; //控制电机正反转
sbit zheng0=p2^0;
sbit zheng1=p2^3;
sbit Fu0=p2^2;
sbit Fu1=p2^1;
sbit CLK=p0^3; //给74HC164输入时钟方波
sbit cc=p0^4; //串行口输入端
sbit wei0=p0^0;
sbit wei1=p0^1;
sbit wei2=p0^2;
unchar code table={0xfc,ox60,0xda,0xf2,0x66,0xb6,
0xbe,0xe0,0xff,0xf6}
uint time w;
unsigned float sr; //sr 为弧长与半径之比
bit flag , keyflag , swap;
void show(uint zhi);
void akey();
void delay(uint shuzi);
void xian(uchar shuzi);
void main()
{ TMOD=0x02; //设置定时器0的工作方式为2
TL0=0x9c;
TH0=0x9c;
EA=1;
ET0=1;
EX0=1;
IT0=1;
while(1)
{
show(w);
akey();
}
}
4.2 各个子程序
4.2.1显示子程序
void xian ( uchar shuzi) {
uchar i , num ;
num = table [shuzi];
for (i=0;i<8;i++)
{
CLK=0;
cc= num&&0x01;
CLK = 1;
num >=1;
}
}
void delay (unsigned int x) {
uint i , j ;
for (i=x;i>0;i--)
for (j=110 ;j>0; j--) }
4.2.2 转速检测子程序
void show (uint zhi) {
uchar bai,shi,ge;
bai = zhi/100;
shi=zhi/10%10;
ge=zhi%10;
wei0 = 1;
wei1 = 0;
wei2 = 0;
xian (bai);
delay (3);
wei0 = 0;
wei1 = 1;
wei2 = 0;
xian (shi);
delay (3);
wei0 = 0;
wei1 = 0;
wei2 = 1;
xian (ge);
delay (3);
}
4.2.3 正反转子程序
void sudu() interrupt 0
{
if(flag)
{
TR0=0;
w=(sr*6*10^7)/(time*100+TL0-156);
time=0;
TL0=0xb8;
flag=0;
TR0=1;
}
else
{
TR0=0;
w=(sr*6*10^7)/(time*100+TL0-156);
time=0;
TL0=0xb8;
flag=1;
TR0=1;
}
}
void T0_time() interrupt 1
{
time++;
if(time==65534)
time=65533;
}
void akey ( )
{
if (key==0&keyflag==0) {
delay(15);
if (key==0)
{
if(swap)
{
swap=0;
zheng0=0;
zheng1=0;
Fu0=1;
Fu1=1;
}
else
{
swap=1;
zheng0=1;
zheng1=1;
Fu0=0;
Fu1=0;
}
keyflag=1;
}
}
else if (key==1&keyflag==1)
{
delay (10);
if (key==1&keyflag==1)
keyflag = 0;
}
}
五、系统调试
此课题为基于51单片机的直流电机调速转向控制系统,能实现直流电机的调速、转向控制并通过单片机将转速和方向进行显示。
本次设计采用的是keil仿真器进行的软件调试,此系统可以开发应用软件,以及对电路进行诊断、调试等。它的具体功能是可以进行CPU仿真,可以单步、跟踪、断点和全速运行,而且程序的编译过程中,可以对设计软件进行自诊断,并自动给出故障原因。同时用户调试程序时,可以通过窗口观察寄存器的工作状态,以便及时发现和排除编程中可能出现的错误。
软件的调试是利用keil软件,模块化调试,通过观察存储单元数据的变化,查找并解决程序的语法和逻辑错误,具体的调试步骤如下:
1、把系统的各个模块在仿真软件中逐个调试,如显示模块。
2、对各个需要赋值模块调试时,赋入初值,单步调试,观察数据窗口,看输出结果是否为想要的结果。
3、把各个模块组合起来,全速运行,看程序是否能流畅,是否能实现设计的系统的所有功能。
六、总结:
本课题的核心任务是对串口通信的研究和对电机控制系统的应用设计,本文的研究方案是根据现有的软硬件条件,设计单片机的电机控制系统,通过RS232串口连接至PC机,并进行相关性电机控制和显示实验。具体内容包括如下:
一、通过对现在应用比较广泛、技术比较成熟的串口通信进行研究,并经分析论证后设计出以STC89C52单片机为核心控制单元的上位机电机控制系统。
二、根据本设计——上位机电机控制系统的设计要求,编写了系统程序。通过RS232接口连接至PC机,并进行相关性电机控制实验。
三、在设计好的电机控制系统平台上,进行电机控制系统的软件开发,并通过不断的软硬件调试、实物测试,最终开发出灵活方便、具有一定实用价值的直流电机在线控制系统。
通过本次设计,加强了我们小组成员对单片机应用知识的掌握,同时了解了目前工业生产中数字化系统的重要性,使我们对使用单片机实现自动化控制的设计过程有了全面地了解。通过学习控制系统工作原理以及如何利用单片机实现各种功能,我们查阅了大量相关资料,学会了许多知识,培养了我们独立解决问题的能力。同时在对硬件电路设计的过程中,巩固了我们的专业课知识,使我们受益匪浅。当然在本次设计中还有需要改进和完善的地方,比如可以进一步完善系统的故障检测和保护,使故障检测更加全面和高效,还可以设计一个UPS电源,防止在断电的情况下造成系统损害,保证生产的连续运行;同时也可以设计一个键盘输入电路,来完成各项参数的有效输入;由于我们的时间有限,以及经验的缺陷,比较遗憾的一点是我们没有使用单片机进行调速,而是仅用单片机进行了正反转和转速的转速设计。
总之,通过本次设计不仅进一步强化了专业知识,还掌握了设计系统的方法、步骤等,为今后的工作和学习打下了坚实的基础。
参考文献
【1】周润景徐宏伟丁莉《单片机电路设计、分析与制作》,机械工业出版社2010
【2】张毅刚彭喜元董继成《单片机原理及应用》出版社,高等教育出版社【3】华成英,童诗白. 《模拟电子技术基础》(第四版). 高等教育出版社,2006 【4】阎石. 《数字电子技术基础》(第五版). 高等教育出版社,2006
【5】陈永真宁武蓝和慧孟丽茵《全国大学生电子设计竞赛试题精解选》电子工业出版社2007
【6】张金主编《电子系统设计实战》电子工业出版社2011
附录:硬件电路图