ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:96.27KB ,
资源ID:12894817      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12894817.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(直流电机的驱动.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

直流电机的驱动.docx

1、直流电机的驱动目 录中文摘要 1英文摘要 11 引言 11.1设计目的 11.2设计要求 11.3设计方法. .12设计方案及原理 12.1 设计方案及组成框图 12.2设计原理 23 硬件电路设计 23.1 电机驱动设计 23.2 按键设计 23.3 液晶设计 33.4 主电路设计 34 软件设计 34.1 程序流程图 34.2 C语言程序 55系统仿真结果 56总结 5参考文献 5附录 61 引言1.1 设计目的通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,锻炼系统设计和应用能力

2、,包括单片机系统设计的软件和硬件两部分。培养创新意识,提高动手能力和分析问题、解决问题的能力。1.2 设计要求本设计主要是基于AT89C51单片机的直流电动机的控制,通过查阅相关资料,选择适合的整体设计方案,设计出其硬件电路图,在硬件的基础上完成其软件设计,并在proteus环境下完成其仿真调试,最后根据设计过程,完成实验报告。1.3 设计方法用AT89C51单片机作为控制器,用独立按钮与单片机口相连采用中断的方式对按键进行判断,通过对PWM值的改变控制直流电动机。2 设计方案及原理2.1 设计方案及组成框图51系列的单片机学习简单,易于理解,它有自己独立的定时系统,可以利用定时器模拟输出PW

3、M对电机进行控制,所以本设计选用AT89C51单片机做控制器。矩阵键盘按键多且控制与独立键盘相比比较麻烦,本设计中只需要五个按键,故选用独立按键。查询方式可以对按键信号进行处理,但是查询的控制方法软件设计较为复杂,对信号的采集不够准确,由于51系列的单片机有两个外部中断端口,利用中断的方式控制使软件更加简洁。虽然可以在proteus看到电机的转动情况,但是观察不方便,不能准确的了解电机的运转速度,故为了方便观测电机的运转情况加入了液晶显示模块,本设计采用LM016L液晶显示器。系统结构框图如图1所示。图1 系统框图2.2设计原理 AT89C51单片机芯片中有自己独立的定时系统和中断处理方式,而

4、且定时器有四种工作方式可供使用者选择,本设计采用定时器T0的第二种工作方式,设定定时器的定时周期为1ms,通过定时器来模拟输出PWM对直流电机进行控制,并根据按键的信号来改变PWM的值,实现电机的状态转换控制,AT89C51单片机有两个外部中断端口,利用它的中断处理方式可以对按键输入信号进行实时的处理,控制电机的运转情况。3硬件电路设计3.1 电机驱动设计 L298是直流电动机和步进电动机两用的驱动芯片。在其直流工作电压时,信号端电压为46V、控制端电压为536V,对直流电机进行驱动是可采用PWM信号平滑调速,可实现电机正反转控制,调速范围大而且启动性能好,启动转矩大。故经常用在直流电动机的驱

5、动中。L298与电机及单片机的硬件连接如图2所示。图2 L298与电机连接图3.2 按键设计 本设计采用独立按键,电路如图3所示图3 按键连接图3.3 液晶设计由于液晶的使能、写入端及复位端接在P0口,所以要接上拉电阻,其连接如图4所示。图4 液晶连接电路图3.4 主电路设计 主电路由控制器AT89C51单片机的晶振电路和复位电路、按键、液晶、电机驱动部分组成,总设计电路如图5所示。图5 总设计电路4软件设计4.1 程序流程图主程序流程图如图6所示。图6 主程序流程图子程序流程图如图7所示。图7 子程序流程图4.2 C语言程序见附录。 5 系统仿真结果根据设计利用仿真软件进行仿真并给出结果,运

6、行结果如图8所示。图8 仿真结果6 总结本次单片机课程设计我做的是基于单片机的直流电机的调速,用AT89C51单片机作为控制器,用独立按钮与单片机口相连采用中断的方式对按键进行判断,实现用PWM控制直流电动机,在液晶上显示PWM的占空比,在PROTUES仿真中可以清楚地看到电机的旋转。通过此次单片机课程设计,我学到了很多的东西,对单片机有了更好的认识,我学会了PROTUES的仿真,不仅巩固了以前所学过的知识,而且把所学的理论知识与实践相结合起来,才能提高自己的综合实力。在此次设计的过程中,也遇到了不少困难,发现了自己的不足之处,如对以前所学过的知识理解得不够深刻,掌握得不够牢固,这次课程设计之

7、后,一定把以前所学过的知识重新温故,提高对知识的实际应用能力。参考文献1王思明,张金敏等.单片机原理及应用系统设计M.北京:科学出版社,2012:139 -1682严天峰.单片机应用系统设计与仿真调试M.北京:北京航空航天大学出版社,2005:10-363常喜茂,孔英会,付小宁.C51基础与应用实例M.北京:电力工业出版社,2008:925-931附录#include#define uint unsigned int #define uchar unsigned char /宏定义sbit k1=P34; /启动/停止按键sbit k2=P35; /减速按键sbit k3=P36; /加速按键

8、sbit k4=P37; /正反转按键sbit k5=P32; /模式控制sbit RS=P05;sbit RW=P06;sbit E=P07; /液晶D,E的定义sbit ENA=P12; /电机驱动IN1,IN2使能信号sbit IN1=P10; /电机输入线sbit IN2=P11;bit model=1; /手动/自动,默认手动bit direc=1; /转向标志,默认为正转int rate=1; /高电平时间常数int num=0; /1ms中断记录int count=0; /1ms中断记录,自动模式加速时间常数uchar code tab1=Dire: Model:;uchar c

9、ode tab2=Rate: T:1ms;/*延时子程序*/void delay_xus(uint x) while(x-);void delay(uint x) uint y; for(;x0;x-) for(y=110;y0;y-) ;/*LCD*/void w_com(uint com) /写命令 RS=RW=E=0; P2=com; E=1; delay_xus(1); E=0;void w_data(uint dat) /写数据 RS=1;RW=E=0; P2=dat; E=1; delay_xus(1); E=0; void w_shuzu(int addr,uchar code

10、*p) /显示字符串 int i; w_com(0x80+addr); delay_xus(1); for(i=0;pi!=0;i+) w_data(pi); delay_xus(1); void disp() /显示速度、转向、模式 if(rate10) w_com(0x80+0x45); delay_xus(1); w_data( ); delay_xus(1); w_com(0x80+0x46); delay_xus(1); w_data(rate%10+0x30); /数字转换成ASCII delay_xus(1); else w_com(0x80+0x45); delay_xus(1

11、); w_data(rate/10+0x30); delay_xus(1); w_com(0x80+0x46); delay_xus(1); w_data(rate%10+0x30); delay_xus(1); if(direc=1) w_shuzu(0x06,F); else w_shuzu(0x06,R); if(model=0) w_shuzu(0x0f,H); else w_shuzu(0x0f,A);/*主程序初始化*/void init() w_com(0x38); delay_xus(1); w_com(0x0c); /开显示 delay_xus(1); delay(2); w

12、_shuzu(0x00,tab1); w_shuzu(0x40,tab2); disp(); ENA=0; TMOD=0X01; TH0=0XFC; /(65536-1000)=FC18(1ms) TL0=0X18; ET0=1; TR0=0; EX1=1; IP=0X02; /定时器0为中断最高优先级 EA=1;/*按键处理程序*/void keyscan() if(k1=0) /启停 delay(120); if(k1=0) TR0=TR0; ENA=ENA; rate=1; if(k2=0&model=0) /减速 delay(120); if(k2=0&model=0) rate-=2

13、; if(rate=29) rate=29; if(k4=0&model=0) /转向 delay(120); if(k4=0&model=0) direc=direc; if(k5=0&ENA=0) /模式选择 delay(120); if(k5=0&ENA=0) model=model; disp(); /状态改变,及时更新数据/*主程序*/void main() init(); while(1) ;/*中断服务程序*/void extern1() interrupt 2 /外部中断0 keyscan();void timer0() interrupt 1 /定时器0 num+; if(num=31) num=0; if(direc=1) /正转 if(num=rate) /高电平持续时间 IN1=1; IN2=0; else IN1=IN2=0; /低电平持续时间 else /反转 if(num=29) rate=29; count=0; disp(); TH0=0XFC; /65536-1000=FC18 TL0=0X18;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1