1单片机控制直流电机调速要点.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
组长:王佳 组员:陈祥 ---信工11202班 目录 一,任务与要求说明 二,硬、软件电路设计说明 三,程序设计 四,项目总结 一,任务与要求 在实际的生活当中我们所运用到很多的直流电机来驱动一些负载,而在有的时候当我们人为需要直流电动机的转速高或低时,我们可以调节相应的按键来实现电动机调速,并要显示出当前电动机的实时转数,满足人们的需求。使得电器达到更加的人性化、智能化、科学化。 能够使用单片机学习板上的按键调整电动机转速。 设计并焊接出可行的驱动电路与单片机联合应用。 了解调速(PWM)的原理及直流电动机的原理及应用。 了解单片机的编程流程和程序编写。 了解电子线路设计的一些规律性和重要性。 二,硬、软件电路设计 此设计以STC89c52单片机为核心控制单元器件,运用构成达林顿电路来驱动负载(电动机). 直接利用单片机上的按键来控制电动机的转速上升或下降。 该电路有设计简单,思路明确,价格便宜,牵涉的知识面广,应用广泛但电路的灵敏度不高、误差大、调速不稳定、调速范围小等缺点,只适用于要求不高的场合。 1,硬件设计电路说明 (1)STC89c52单片机。 (2)分立元件构成达林顿管电路 (3)硬件电路图工作原理。 2,软件设计说明 (1)程序流程方框图。 (2)项目程序。 (3)程序调试。 STC89c52单片机简介 STC89C52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及STC89C52引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的STC89C52可为许多嵌入式控制应用系统提供高性价比的解决方案。 引脚功能 引脚号 复用功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断0) P3.3 (外部中断1) P3.4 T0(定时器0的外部输入) P3.5 T1(定时器1的外部输入) P3.6 (外部数据存储器写选通) P3.7 (外部数据存储器读选通) 分立元件电路 本设计方案采用分立元件设计四个达林顿电路组成陈列,分别与步进电机连接,以驱动步进电机 硬件电路图及要作原理 分立元件电路采用正12V供电,可提供电流驱动为500mA. 工作原理 按键部分: R1,R2,R3的作用:限流电阻,保护开关以免电流过大而损坏。 K1作用:为正反转控制按键 K2作用:为加速按钮 K3作用:为减速按钮 其电路结构是为可调速步进电机电路。 电动机驱动电路: 分立元件电路采用正12V供电,可提供电流驱动为500mA. 其中 output1接C1, output2接C2,output3接C3,,output4接C4; 四个达林顿电路的COM端相接组成一个公共端,在与电机相连接。 操作控制 本电路经调试符合题目要求,各项技术指标均达到设计的目的。具体操作控制方法如下: 1、当电机启停按钮时,步进电机根据制定默认状态开始转动; 2、当电机再启停按钮时,步进电机停止转动; 3、当电机换挡按钮时,步进电机速度快速转动; 4、当电机再换挡按钮时,步进电机速度缓慢转动; 5、当电机正反按钮时,步进电机反转; 6、当电机再正反按钮时,步进电机正转 三,程序设计和安装调试 程序流程图: 使用keil c51软件对源程序进行编译,生成.hex文件,然后通过STC程序下载软件将.hex文件下载到STC89c52单片机中,即可运行。 #includereg52.h #define uchar unsigned char #define uint unsigned int uchar code zheng[]={0xf3,0xf6,0xfc,0xf9}; uchar code fan[]={0xf9,0xfc,0xf6,0xf3}; //uchar t; bit flag=0; uint shijian; uchar temp; void delay(uint z) { uint i,j; for(i=0;iz;i++) 程序设计 for(j=0;j80;j++); } /*void timer_init() { TMOD=0X01;//定时器0,方式1 TH0=(65536-50000)/256; TL0=(65536-500

文档评论(0)

三哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档