单片机微型直流电机控制系统课程设计报告

合集下载

基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告

基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告

第一章:前言1.1前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。

采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。

而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。

并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。

随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。

1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的速度在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案1、系统的硬件电路设计与分析电动机PWM驱动模块的电路设计与实现具体电路见下图。

本电路采用的是基于PWM 原理的H型桥式驱动电路。

单片机直流有刷电机系统控制实验报告

单片机直流有刷电机系统控制实验报告

实验名称:单片机直流有刷电机系统控制实验报告实验目的:1. 了解有刷电机的工作原理和基本结构2. 掌握单片机对有刷电机进行控制的方法和技巧3. 探究单片机直流有刷电机系统的稳定性和精确控制性能实验设备:1. 单片机开发板2. 直流有刷电机3. 桥式整流器4. 电源供应器5. 逻辑分析仪6. 示波器实验过程:1. 连接单片机开发板和直流有刷电机,并通过桥式整流器和电源供应器为系统供电。

2. 编写单片机控制程序,包括PWM波输出、速度控制算法等内容。

3. 将程序下载到单片机开发板上,并通过逻辑分析仪和示波器对系统进行调试和监测。

4. 在不同工作条件下,比如负载变化、电压波动等情况下,观察系统的稳定性和控制性能。

实验结果与数据分析:1. 经过一系列实验操作,我们获得了系统在不同工况下的运行数据,包括电流、转速、PWM波形等。

2. 通过对数据的分析,我们发现系统在稳态和动态工作条件下表现出了良好的稳定性和精准性能,能够满足实际工程控制要求。

3. 我们也发现了系统在特定工况下的一些问题和不足之处,比如在低速和负载较大时的起动过程中的震动和噪音等。

结论与讨论:1. 通过本次实验,我们对单片机直流有刷电机系统的控制原理和方法有了更深入的了解,同时也掌握了一定的实际操作技能。

2. 在工程应用中,我们应该综合考虑系统的稳定性、动态性能和控制精度,进行更加系统和全面的设计和调试。

3. 我们还需要进一步研究和改进系统中存在的问题,以提高系统的整体性能和工程应用价值。

附录:实验中使用到的控制程序代码和调试数据记录表格。

在控制系统稳定性方面,我们发现在不同的负载条件下,系统的稳定性表现出了一定的差异。

在轻载条件下,系统的动态响应较快,控制精度较高;而在重载条件下,系统的动态响应速度降低,控制精度也有所下降。

这表明在实际工程应用中,需要根据具体的负载情况对于控制系统进行相应的调节和优化,以获得更好的稳定性和控制性能。

在实验过程中,我们也发现了一些值得注意的问题。

直流电机控制—单片机课程设计

直流电机控制—单片机课程设计

目录1、设计题目:............................................................................................................. - 1 -1.1题目名称:直流电机控制................................................................................. - 1 -1.2设计要求 ......................................................................................................... - 1 -1.2.1要求: ................................................................................................... - 1 -2.设计思路技术选型..................................................................................................... - 1 -2.1 调速技术PWM ............................................................................................... - 1 -2.2 电路图的具体设计 .......................................................................................... - 2 -2.2.1 按键模块............................................................................................... - 2 -2.2.2 直流电机驱动模块................................................................................. - 2 -2.2.3显示模块................................................................................................ - 2 -2.3 程序的具体设计.............................................................................................. - 3 -2.3.1 键盘扫描函数........................................................................................ - 3 -2.3.2 中断函数............................................................................................... - 3 -3.流程图 ...................................................................................................................... - 3 -4.Proteus仿真图 ........................................................................................................... - 6 -4.1启动电机,显示状态“0” ............................................................................... - 6 -4.2 电动机减速,显示状态“L” .......................................................................... - 6 -4.3 电动机加速,并显示“H” ............................................................................. - 7 -4.4 关闭电动机,关闭数码管................................................................................ - 7 -5.设计总结................................................................................................................... - 8 -6.参考文献................................................................................................................... - 8 -7.源程序 ...................................................................................................................... - 8 -1、设计题目:1.1题目名称:直流电机控制1.2设计要求1.2.1要求:1.可控制启动停止;2.可实时控制高速低速运行状态3.数码管显示运行状态2.设计思路技术选型2.1 调速技术PWM采用由达林顿管组成的H型PWM电路。

单片机控制直流电动机——课程设计

单片机控制直流电动机——课程设计

目录一、设计目的二、设计任务和要求三、设计原理分析四、硬件资源及原理五、硬件图六、程序框图七、程序八、调试运行九、仿真截图十、设计心得体会一、设计目的1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中,提高我们的动脑和动手的能力。

2、通过对单片机控制直流电动机控制系统的设计,掌握A/D转换、D/A转换的有关原理,加深对PWM波的理解和使用,同时对单片机的使用更加熟练,通过对简单程序的编写提高我们的逻辑抽象能力。

二、设计任务和要求任务:采用单片机设计一个控制直流电动机并测量转速的装置。

要求: 1、通过改变A/D输入端的可变电阻来改变A/D输入电压,D/A输入检测量大小,进而改变直流电机的转速。

2、手动控制。

在键盘上设置两个按键——直流电动机加速键和直流电机减速键。

在手动状态下,每按一次键,电机的转速按照约定的速率改变。

3、键盘列扫描(4*6)。

三、设计原理分析1. 设计思路本文设计的直流PWM调速系统采用的是调压调速。

系统主电路采用大功率GTR 为开关器件、H桥单极式电路为功率放大电路的结构。

PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。

由定时器来产生宽度可调的矩形波。

通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。

增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。

设计以AT89C51单片机为核心,以键盘作为输入达到控制直流电机的启停、速度和方向,完成了基本要求和发挥部分的要求。

在设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。

本文介绍了直流电机的工作原理和数学模型、脉宽调制控制原理和H桥电路基本原理设计了驱动电路的总体结构,根据模型,利用PROTEUS软件对各个子电路及整体电路进行了仿真,确保设计的电路能够满足性能指标要求,并给出了仿真结果。

2、基本原理主体电路:即直流电机PWM控制模块。

单片机控制直流电机课程设计报告

单片机控制直流电机课程设计报告
①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的值,该子程序流程图如图四。
MOV TL0,#0CH
SETB ET0 ;开定时器0
SETB EA
SETB TR0
LOOP:AJMP LOOP ;等待
AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。
SETB P2.0
CLR P2.2
SETB GORD ;置高低电平判断位为1
MOV GAO,LEN ;置高电平初值
MOV A,#100 ;置周期总长值
SUBB A,GAO ;求低电平比例值
MOV DI,A ;存低电平比例值

单片机控制直流电机课程设计报告书

单片机控制直流电机课程设计报告书

《单片机原理及应用》课程设计报告题目:单片机控制直流电动机专业:电子信息工程1、任务书课题名称单片机控制直流电动机指导教师(职称)执行时间2012~2013学年第一学期第周学生姓名学号承担任务设计目的采用单片机设计一个控制直流电机并测量转速的装置。

单片机扩展有A/D转换芯片ADC0809和D/A转换芯片DAC0832。

设计要求(1)通过改变A/D输入端可变电阻来改变A/D的输入电压,D/A输入检测量大小,进而改变直流电机的转速。

(2)手动控制。

在键盘上设置两个按键—直流电动机加速键和直流电机减速键。

在手动状态下,每按一次键,电机的转速按照约定的速率改变。

摘要电动机作为最主要的动力源,在生产和生活中占有重要地位。

电动机的调速控制过去多用模拟法,随着计算机的产生和发展以及新型电力电子功率器件的不断涌现,电动机的控制也发生了深刻的变化,本系统利用直流电机的速度与施加电压成正比的原理,通过滑动变阻器向ADC0809输入控制电压信号,经AD后,输入到AT89C51中,AT89C51将此信号转发给DAC0832,通过功放电路放大后,驱动直流电机。

关键字:电动机;AT89C51;单片机目录《单片机原理及应用》课程设计报告 (I)任务书 (II)摘要 (III)第一章整体设计 (1)1.1 设计原理 (1)1.2 整体设计 (1)第二章系统硬件设计 (3)2.1 按键电路 (3)2.1.1 AT89C51 (3)2.1.2 按键电路 (4)2.2 显示电路 (4)2.2.1 MAX7219 (4)2.2.2 工作原理 (5)2.3 A/D转换模块 (6)2.3.1 ADC0808 (6)2.3.2 工作原理 (8)2.4 D/A转换模块 (8)2.4.1 DAC0832 (8)2.4.2 工作原理 (9)2.5 总电路图 (9)第三章系统软件设计 (11)3.1 系统主程序设计 (11)4.1 按键扫描程序 (12)4.2 显示子程序 (14)4.3 定时中断处理程序 (16)4.4 A/D转换程序 (17)第四章系统仿真 (19)4.1 仿真步骤 (19)4.2 仿真结果分析 (20)结论 (21)附录 (22)参考文献 (32)第一章整体设计1.1 设计原理直流电机是通过两个磁场的互作用产生旋转。

基于单片机的直流电机控制设计性实验报告

基于单片机的直流电机控制设计性实验报告

设计题目:直流电机控制电路设计一设计目的1掌握单片机用PWM实现直流电机调整的基本方法,掌握直流电机的驱动原理。

2学习模拟控制直流电机正转、反转、加速、减速的实现方法。

二设计要求用已学的知识配合51单片机设计一个可以正转、反转或变速运动的直流电机控制电路,并用示波器观察其模拟变化状况。

三设计思路及原理利用单片机对PWM信号的软件实现方法。

MCS一51系列典型产品8051具有两个定时计数器。

因为PWM信号软件实现的核心是单片机内部的定时器,所以通过控制定时计数器初值,从而可以实现从8051的任意输出口输出不同占空比的脉冲波形。

从而实现对直流电动机的转速控制。

AT89C51的P1.0—P1.2控制直流电机的快、慢、转向,低电平有效。

P3.0为PWM波输出,P3.1为转向控制输出,P3.2为蜂鸣器。

PWM控制DC电机转速,晶振为12M,利用定时器控制产生占空比可变的PWM波,按K1键,PWM值增加,则占空比增加,电机转快,按K2键,PWM值减少,则占空比减小,电机转慢,当PWM值增加到最大值255或者最小值1时,蜂鸣器将报警四实验器材DVCC试验箱导线若电源等器件PROTUES仿真软件KRIL软件五实验流程与程序#include < reg51.h >sbit K1 =P1^0 ; 增加键sbit K2 =P1^1 ; 减少键sbit K3 =P1^2 ; 转向选择键sbit PWMUOT =P3^0 ; PWM波输出sbit turn_around =P3^1 ; 转向控制输出sbit BEEP =P3^2 ; 蜂鸣器unsigned int PWM;void Beep(void);void delay(unsigned int n);void main(void){TMOD=0x11; //设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536-TH)/fose/12} TL0=0;TH1=PWM ; //脉宽调节,高8位TL1=0;EA=1; //开总中断ET0=1; //开T0中断ET1=1; //开T1中断TR0=1 ; // T0定时允许while(1){if(K3==0&&K1==1&&K2==1) // 转向{turn_around=!turn_around;}while(K3==0); //检测K3是否释放do{PWM++ ;if(PWM>0xfe)//防止PWMS计数溢出{PWM=0xff;}if(PWM==0xff)Beep() ; 响delay(3000);}while(K1==0&&K2==1);do{PWM-- ;if(PWM<1){PWM=1;}if(PWM==1)Beep() ;delay(3000);}while(K1==1&&K2==0);}}void timer0() interrupt 1 using 2 // 定时器0中断服务程序{TR1=0 ; //T1禁止TH0=0 ; //置T0定时常数TL0=0 ;TH1=PWM ; //置T1定时常数TL1=0;TR1=1 ; //T1允许PWMUOT=0 ;// PWM波输出0}void timer1() interrupt 3 using 3 //定时器1中断服务程序{TR1=0 ; //T1禁止PWMUOT=1 ; //PWM波输出1}void Beep(void) //蜂鸣器子程序{unsigned char i;for (i=0;i<100;i++){delay(100);BEEP=!BEEP; }BEEP=1; delay(100);}void delay(unsigned int n){while(n--) ;}六 Proteus仿真截图七实验结果此次试验通过仿真系统进行了仿真,按下相应的开关,可实现控制直流电机的加速、减速及转向。

51单片机PID控制直流电机实验报告

51单片机PID控制直流电机实验报告
char code table[] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, //0~7 对应数码 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71}; //8~F 对应数码 long int n=num; P0 = 0; P2 =0x7f; P0 = table[n % 1000/100]; delayms(2);//百位 加小数点 P0 = 0; P2 =0xbf; P0 = table[n % 100 / 10]; delayms(2);//十位
iError = sptr->SetPoint - NextPoint; //计算增加量
iIncpid = sptr->Proportion * iError //E[k]项
- sptr->Integral * sptr->LastError //E[k-1]项
+ sptr->Derivative * sptr->PrevError; //E[k-2]项
static PID *sptr = &sPID;
void IncPIDInit()
{
sptr->SumError = 0;
sptr->LastError =0; //Error[-1]
sptr->PrevError =0; //Error[-2]
sptr->Proportion =0.5; //比例系数
sptr->Integral =0.3; //积分系数
sptr->Derivative = 0.3; //微分系数
sptr->SetPoint =sudu_lilun; Nhomakorabea}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014单片机课程设计单片机课程设计报告题目微型直流电机控制系统设计专业班级学号实现形式Proteus姓名分数指导老师学院名称电气信息学院目录1 绪论 (1)1.1 课题背景 (1)1.2 课题要求 (1)2 方案论证 (2)2.1 系统组成 (2)2.2 单片机选型 (2)2.3 驱动方案论证 (2)2.4 监测方案论证 (4)2.5 人机接口方案 (5)3 硬件设计 (5)3.1 单片机最小系统设计 (5)3.2 I/O分配 (6)3.3 驱动电路设计 (7)3.4 转速检测电路设计 (8)3.5 人机接口电路设计 (9)4 软件设计 (10)4.1 主程序流程 (10)4.2 按键扫描子程序流程 (11)5 问题与分析 (12)5.1 设计问题 (12)5.2 答辩问题 (13)参考文献 (14)附录一(原理图) (15)附录二(程序清单) (16)附录三(器件清单) (18)1 绪论现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统中已大量采用晶闸管(即可控硅)装置向电动机供电的KZ—D拖动系统,取代了笨重的发电动一电动机的F—D系统,又伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。

直流电机调速基本原理是比较简单的(相对于交流电机),只要改变电机的电压就可以改变转速了。

改变电压的方法很多,最常见的一种PWM脉宽调制,调节电机的输入占空比就可以控制电机的平均电压,控制转速。

1.1课题背景直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。

从控制的角度来看,直流调速还是交流拖动系统的基础。

早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电动机控制技术的发展和应用范围的推广。

随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。

采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。

传统的控制系统采用模拟元件,虽在一定程度上满足了生产要求,但是因为元件容易老化和在使用中易受外界干扰影响,并且线路复杂、通用性差,控制效果受到器件性能、温度等因素的影响,故系统的运行可靠性及准确性得不到保证,甚至出现事故。

目前,直流电动机调速系统数字化已经走向实用化,伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。

1.2课题要求以AT89C51单片机作为主控制器、对微型直流电机进行控制。

利用霍尔元件设计转速测量、检测直流电机速度,并显示。

单片机为控制核心的直流电机PWM调速控制系统,并实现以下功能:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的转速在数码管上显示;6)直流电机的启动;7)直流电机的停止;2 方案论证2.1 系统组成微型直流电机控制系统由单片机、显示电路、直流电机及其驱动电路组成。

2.2单片机选型单片机直流调速系统可实现对直流电动机的平滑调速。

PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。

在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。

通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。

因此,PWM又被称为“开关驱动装置”。

本系统以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。

2.3驱动方案论证L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。

可以方便的驱动两个直流电机,或一个两相步进电机。

L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7 V电压。

4脚VS 接电源电压,VS电压范围VIH为+2.5~46 V。

输出电流可达2.5 A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。

5,7,10,12脚接输入控制电平,控制电机的正反转。

EnA,EnB接控制使能端,控制电机的停转。

EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。

同为低电平电机停止,同为高电平电机刹停。

下图是其引脚图:引脚介绍:第1、15脚:可单独引出连接电流采样电阻器,形成电流传感信号,也可直接接地。

第2、3脚:A电机输出端口。

第4脚:接逻辑控制的+5V电源。

第6脚:A桥使能端口。

第5、7脚:输入标准TTL电点平对A桥的输出OUT1、OUT2进行控制。

第8脚:接电源地。

第9脚:接电机驱动电源,最高可达50V。

第11脚:B桥使能端口。

第10、12脚:输入标准TTL电平对B桥的输出OUT3、OUT4进行控制。

第13、14脚:B电机输出端口。

图2-3 霍尔片管脚和管脚接线2.5人机接口方案采用开关,开关一端接单片机,另一端接地,一旦按下,就会向单片机输入低电平。

还有一种方法就是采用矩阵键盘。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

其图形如下:在本系统中,需要输入的信号比较简单,采用独立键盘接线简单,实现容易,所以就用了开始所说的用一个开关。

3 硬件设计3.1单片机最小系统设计如图所示,单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.3.2 I/O分配STC89C51有四组接口:P0口,P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口,P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为低八位地址接收。

P2口,P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口。

在本系统中,P0口输出数码管的段选信号;P1口作为人机交互口,接开关;P2口输出数码管的位选信号。

3.3 驱动电路设计本系统采用89C51控制输出数据,由单片机发生电路产生PWM信号,送到芯片L298,并通过L298电源驱动直流电机,并通过单片机程序控制L298,改变直流电机的占空比,进而实现电机的加减速,正反转控制。

其驱动电路如下面部分电路所示。

3.4 转速检测电路设计转速检测电路如图所示,电机自动根据转速输出对应的脉冲数,通过74LS386将脉冲转化成方波,然后由单片机的T1计数器对方波进行计数,最后通过一定的算法转化成转速并输出。

3.5人机接口电路设计人机接口部分电路图如下图所示,从上至下共有五个开关,一次是正转、反转、加速、减速、停止。

4 软件设计4.1 主程序流程主程序主程序是一个循环程序,其主要思路是,先设定好速度初始值,这个初始值与测速电路送来的值相比较得到一个误差值,然后通过在程序中占空比设置输出控制系数给改变波形的占空比,进而控制电机的转速。

其程序流程图如图所示。

软件由1个主程序、1个中断子程序和显示子程序组成。

其程序流程如下:4.2按键扫描子程序流程图按键扫描程序采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。

要实现按住加/减速键不放时恒加或恒减速直到放开停止,就需在判断是否松开该按键时,每进行一次增加/减少一定的占空比。

按键扫描程序流程图如下图4.2所示5 问题与分析5.1 设计问题在课设的过程中出现了一些问题,或大或小,但都被我一一解决了。

不如说系统图的端口接线,有时候会接错,那就不能实现电机的转动,这需要了解每个端口的作用。

在程序编写的过程中,出现了很多问题,包括键盘扫描处理、PWM信号发生电路的控制、以及单片机控制直流电机的转动方向等问题,虽然问题不是很大,但是也让我研究了好长时间,在解决这些问题的时候,我不断向老师和同学请教,希望能通过大家一块的努力把软件编写的更完整,让系统的功能更完备。

经过多天的努力探索,大部分问题都已经解决,就是程序还是不能实现应该实现的功能,这让我很着急。

后来经过一点一点的调试,并认真总结,发现了问题其实在编写中断处理程序时出现了错误,修改后即可实现直流电机调速的目的。

在仿真软件方面选择了Proteus ,在Proteus中画出系统电路图,当程序在Keil C中调试通过后,会生成以hex为扩展名的文件,这就是使系统能够在Proteus中成功进行仿真的文件。

将些文件加载到单片机仿真系统中,验证是否能完成对直流电机的速度调节。

若不成功,则重新回到软件调试步骤,进行软件调试。

相关文档
最新文档