单片机直流电机控制实训报告

上传人:沈*** 文档编号:95410714 上传时间:2022-05-24 格式:DOCX 页数:13 大小:121.40KB
返回 下载 相关 举报
单片机直流电机控制实训报告_第1页
第1页 / 共13页
单片机直流电机控制实训报告_第2页
第2页 / 共13页
单片机直流电机控制实训报告_第3页
第3页 / 共13页
点击查看更多>>
资源描述
基于AT89C51单片机的 直流电动机控制器设计 实训报告专业:弹药工程与爆炸技术班 级: 弹药二班 学生_ 杨 宁 指导 佟慧艳 能源与水利学院- 13 - / 131 实训目的通过单片机实训使学生能够掌握利用Keil软件编写单片机程序,学会设计完整的单片机应用系统;依托Protues仿真平台进行单片机电子应用系统设计与仿真,使学生掌握单片机应用系统的设计技能;培养学生运用所学知识分析和解决实际问题的能力以与实际动手能力和查阅资料能力。2 实训任务与要求2.1 任务描述一单片机为控制核心设计一款直流电机电机控制系统,可以实现直流电机的加速、正转、反转等控制方式。2.2 任务要求1) 用AT89C51单片机实现上述任务要求;2) 在Keil IDE中完成应用程序设计与编译;3) 在Proteus环境中完成电路设计、调试与仿真。 3 系统硬件组成与工作原理3.1单片机的控制器与最小系统 单片机的最小系统是指有单片机和一些基本的外围电路所组成的一个可以使单片机工作的系统,一般来说,它包括单片机、晶振电路和复位电路(如图一)。图 1 最小系统设计截图(一) 控制器部分分析 AT89C51(如图2)是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。 AT89C51提供以下标准功能:4k 字节Flash 闪速存储器,128字节部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片振荡器与时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口与中断系统继续工作。掉电方式保存RAM中的容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。其优点是支持较为丰富而且简图 2 AT89C51 单的指令集,编程器通用且兼容性好,具有单片机的典型代表性。因此,该系列单片机在自动控制中应用最为广泛。3.2 电机与驱动模块的工作原理与接口3.2.1 H桥驱动电路原理 在实际的直流电机驱动电路应用中,可以使用H桥(图3)来驱动直流电机,也可以使用相应的驱动芯片来驱动直流电机。本次实训中我们采用H桥电路来驱动直流电机。H桥采用4个功率MOSFET管两两组成一个桥壁,每个三极管旁边有一个续流二极管,当对角线上两个三极管打开时,电机朝一个方向运转;另一条对角线上的三极管打开时,电机反转。功率MOSFET管可以将微弱的信号放大成幅值较大的电信号,是单片机系统中最常用的功率驱动器件。图 3 H桥驱动电路截图3.2.2 PWM脉冲控制信号产生原理与控制 脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。脉冲宽度调制是一种模拟控制方脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。占空比在一段连续工作时间脉冲占用的时间与总时间的比值。例如:脉冲宽度1s,信号周期4s的脉冲序列占空比为0.25。 采用定频调宽法,用单片机TOT1定时计数器,T0不变,改变T1计数时间来改变脉冲宽度,从而控制电机的加速与减速(如图4所示)图 4 PWM脉宽调节示意图AT89C51按键模块驱动模块直流电机3.3 硬件系统设计. 图 5 硬件流程设图 6 电路截图4 功能方案与软件设计4.1 功能设计通电开机后,CPU得电,根据软件定义引脚功能,定时器工作方式等。并进入键盘扫描子程序。当检测到键盘动作时,经过延时子程序去抖,确定按键按下后,申请中断。单片机读取键值,并根据软件调节PWM波形,向外输出,控制电机的加速、减速、反转。4.2 软件设计流程图如下:NY相应按键控制电机转动 延时 开 始 初始化始化 键盘扫描判断按键图 7 程序流程框图具体程序代码如下:#include #include sbit K1 =P14 ; /加速键sbit K2 =P15 ; /减速键sbit K3 =P16 ; /正反控制键sbit CLK=P00 ; /PWM输出控制信号sbit ZF =P01 ; /正反控制信号unsigned char PWMH=0x00; unsigned char PWML=0x0f; void timer0() interrupt 1 using 0 / 定时器0中断服务程序 TR1=0 ; TH0=0x00 ; TL0=0x00 ; TH1=PWMH ;TL1=PWML; TR1=1 ; CLK=0 ; /启动输出void timer1() interrupt 3 using 0 / 定时器1中断服务程序 TR1=0 ; CLK=1 ; /完毕输出void delay(unsigned char m) /MS延时 unsigned char i; while(m-) for(i=0;i5;i+); void main() CLK=0; TMOD=0x11 ; TH0=0x00 ; /65.535ms延时常数 TL0=0x00; TH1=PWMH ; TL1=PWML ; EA=1; /CPU允许中断 ET0=1; /允许定时器T0中断 ET1=1; /允许定时器T1中断 TR0=1 ; /定时器T0计数 while(1) if (K3=0) ZF=0; else ZF=1; if(K1=0) delay(1); PWML+; if(PWML=0x00) PWMH+; if (PWMH=0xFF) PWMH=0xFE; if(K2=0) delay(1); PWML- ; if (PWML=0x00) PWMH-; if (PWMH=0x00) PWMH=0x01; 5 功能调试与总结5.1 功能调试5.1.1 开发软件介绍 程序开发软件:KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。本次设计使用的版本是KeiluVision4。 硬件仿真软件:Proteus软件是一种低投资的电子设计自动化软件,多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。Proteus在编译方面支持Keil编译器。当电路设计完成之后,为了减少在电路板上调试时的难度,保证电路设计的正确性,将Keilc51编译生成的*.HEX文件载入Proteus软件,实现电路仿真。5.1.2 仿真结果图 8 初始状态图 9 加减速正转状态图 10 反转状态5.1.3 问题分析与解决1) 一开始对单片机控制直流电机的工作原理完全没有头绪,PWM、H桥根本看不懂是什么东西,然后不断的百度查资料,看别人的毕业论文、百度百科等等才初步知道关于这个题目的大体原理和思路是什么,但也仅仅是皮毛;2) 在画图的时候不够仔细,绘制H桥电路的时候在细节方面出现了错误,导致电机任性地不转,仔细检查后改正了图中错误,电机转起来的时候很开心;3) 编写程序的时候本来是想自己试试能不能独立完成,还是知识欠缺的太多,流程图画完之后不知道该怎么编,还是借鉴了别人的程序才完成了编写。别人的程序开始也不太看的明白,每天都会花时间看,到现在也不能保证每一个地方都能讲清楚,还是需要不断地研究和努力。5.2 主要工作与总结2 实训任务与要求- 1 -1 实训目的- 2 -
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!