电机与拖动系统课程设计.doc

上传人:李医生 文档编号:5701192 上传时间:2020-07-23 格式:DOC 页数:28 大小:950KB
返回 下载 相关 举报
电机与拖动系统课程设计.doc_第1页
第1页 / 共28页
电机与拖动系统课程设计.doc_第2页
第2页 / 共28页
电机与拖动系统课程设计.doc_第3页
第3页 / 共28页
电机与拖动系统课程设计.doc_第4页
第4页 / 共28页
电机与拖动系统课程设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《电机与拖动系统课程设计.doc》由会员分享,可在线阅读,更多相关《电机与拖动系统课程设计.doc(28页珍藏版)》请在三一文库上搜索。

1、课程设计说明书设计名称: 题 目: 学生姓名: 专 业: 班 级: 学 号: 指导教师: 日 期: 年 月 日 课程设计任务书 专业 年级 班 一、 设计题目微型直流电动机的数字控制器设计二、 主要内容和具体要求1、 设置有正转、反转、加速、减速按键;2、 显示马达的运行状态(正反转、停止),显示转速;3、 测量马达的反电动势系数;4、 测量马达的力矩系数;5、 创建马达的数学模型;6、 实现比例控制;7、 实现比例积分控制。三、 进度安排6月1617号:了解任务要求,确定具体方案6月1819号:电机控制程序设计6月2021号:键盘电路、lcd12864液晶屏子程序设计6月2224号:上位机通

2、信程序设计6月2526号:电机 PI 控制设计四、 完成后应上交的材料直流电机数字控制器论文五、 总评成绩姓名-学号成绩分组序号同组人员(签名)本人贡献排名指导教师(签名)指导教师 签名日期 年 月 日系 主 任 审核日期 年 月 日摘要本文主要设计一个基于 STC12C5A60S2 单片机的直流电机 PWM 控制系统。PWM 控制提高了调速范围,提高了调速精度,改善了快速性能、功率和功率因数。系统在设计中被控对象采用 5V 的直流电机,以 MCS-51 单片机为控制核心,采用 LCD12864 液晶作为显示元件,进行软硬件的设计。硬件电路由 protel 设计制作,主要设计了液晶显示电路、键

3、盘控制电路、复位电路、测速电路、驱动电路和测压电路。软件设计在 Keil 开发平台用 C 语言编写,程序采用模块化设计方案,包括液初始化程序、晶显示程序、键盘控制程序。 本系统 PWM 控制直流电机采用调压调速的方法,整体设计包括软件和硬件两个部分。通过利用单片机产生 PWM 控制信号控制直流电机,详细介绍脉宽调制 ( PWM) 控 制原理,直流电机的工作原理和数学模型以及用 H型桥电路基本原理设计的驱动电路。 通过硬件电路的模拟情况,说明系统运行正常,各个功能模块实现是可行的,控制精度比较高,能够满足系统的基本要求。 关键词: 单片机 PWM脉宽调制控制 直流电机 L298N驱动一、 设计任

4、务分析1二、 总体方案设计12.1 系统控制方案选择12.2 电机驱动模块62.3 显示模块82.4 测压模块102.5 按键模块112.6 测速模块12三、 系统软件设计143.1 系统流程143.2 显示模块软件设计153.3 按键驱动程序设计153.4 测压程序设计173.5 测速模块程序设计173.6 上位机数字PI控制设计173.7 马达的反电动势系数和力矩系数183.8 马达数学模型18四、 心得体会19五、 参考文献201、 设计任务分析本课题设计主要的目的是为了能够准确及时的控制直流电动机的正转、反转、停止、加速和减速功能可以准确调节控制直流电机的转速。设计要求中央控制芯片具有

5、定时计数的功能,一定的程序存储空间,还要有足够的IO外接端口。由于本设计以LCD12864作为人机交流的显示界面,所以要求中央控制芯片具有一定的电流驱动能力。LCD、电机控制信号、LED指示灯、独立按钮,电压采集这些都需要占用大量IO接口,所以要求中央控制芯片要有足够多的外部接口以满足需要。本设计要求能准确控制电机的转向以及转速,所以要求电机的控制芯片就有较强的调速控制功能以及转向控制功能。本设计要求所采用的的直流电机转速具有一定的可调空间以及足够的灵敏度。2、 总体方案设计2.1 系统控制方案选择方案1:采用STC公司的STC89C52RC。此单片机价格低,资源多,高性价比,应用广泛,无论是

6、从内部构造,还是编程方面,51系列单片机都相对简单容易掌握和使用。 方案2:STC12C5A60S2不但和8051指令、管脚完全兼容,而且速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)。STC系列单片机支持串口程序烧写,对开发设备的要求很低,开发时间也大大缩短。由于本设计需要检测电机电路的电流,而且要与上位机通信,方案2的stc12C5A60S2芯片具有2个串口,内部集成8路高速10位A/D转换(250K/S),能更好地实现我们需要的功能,所以我们选取方案2,即STC12C5A60S2芯片作为我们的控制芯片。以下是STC12C5A60S

7、2芯片的功能1.增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;2.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);3.工作频率范围:0-35MHz,相当于普通8051的0420MHz;4.用户应用程序空间8K/16K/20K/32K/40K/48K/52K/60K/62K字节;5.片上集成1280字节RAM;6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口),可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入

8、/高阻,开漏,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过55Ma;7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;8.有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM);9.看门狗;10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);11.外部掉电检测电路:在P4.6口有一个低压门槛比较器,5V单片机为1.32V,误差为+/-5%,3.3V单片机为1.30V,误差为+/-3%;12.时钟源:外部高精度晶体/时钟

9、,内部R/C振荡器(温漂为+/-5%到+/-10%以内)1用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz15.5MHz,3.3V单片机为:8MHz12MHz,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;13.共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器;14.2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T

10、1输出时钟;15.外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3);16.PWM(2路)/PCA(可编程计数器阵列,2路)也可用来当2路D/A使用 也可用来再实现2个定时器 也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持); 17.A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)18.通用全双工异步串行口(U

11、ART),由STC12 系列是高速的8051,可再用定时器或PCA软件实现多 串口; 19. STC12C5A60S2系列有双串口,后缀有S2标志 的才有双串口,RxD2/P1.2(可通过寄存器设置到P4.2), TxD2/P1.3(可通过寄存器设置到P4.3); 20.工作温度范围:-40 - +85(工业级) / 0 - 75 (商 业级)21.封装:PDIP-40,LQFP-44,LQFP-48 I/O 口不够时,可用2到3根普通I/O口线外接 74HC164/165/595(均可级联)来扩展I/O口, 还可用 A/D做按键扫描来节省I/O口,或用双CPU,三线通信, 还多了串口。 ST

12、C12C5A60S2的引脚如图2-1所示图2-1最小系统包括系统时钟电路,复位电路、单片机芯片引脚借口,保证了单片机能够正常的工作。如图2-2所示图2-22.2 电机驱动模块用普通直流电机。直流电机运转平稳精度有一定的保证。直流电机控制的精确度虽然没有步进电机那样高但完全可以满足本题目的要求。通过单片机的PWM输出同样可以控制直流电机的旋转速度实现电动车的速度控制。并且直流电机相对于步进电机价格经济。采用电机驱动芯片L298N。L298N为单块集成电路高电压、高电流、四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平即可以对电机进行正反转、停止的操作,

13、非常方便,亦能满足直流减速电机的大电流要求。调试时在依照芯片手册,用程序输入对应的码值,能够实现对应的动作。图2-3图2-4本项目驱动直流电机,实现电机的正反转与测速和遥控。输入输出逻辑表真值表2-5通道1通道2输入输出控制电机1输入输出控制电机2EnAIn1In2OUT1OUT2转向EnBIn3In4OUT3OUT4转向10000停止10000停止0101反传0101反传1010正转1010正转1100停止1111停止0XX00停止0XX00停止其中“0”为低电平;“1” 为高电平;“X” 为任何状态。表 2-5 L298N输入输出逻辑真值表2.3 显示模块显示模块我使用了lcd12864液

14、晶屏。带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种界面方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的界面方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。图2-6 LCD12864与单片机连线图2.3.1 上位

15、机通信另外,我们也使用VB软件做了上位机与单片机通信。通过上位机界面更好地实现人机沟通。Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。 图2-7 上位机界面2.4 测压模块由于我们采用的系统芯片内部集成AD转换功能,所以我们直接通过在与

16、驱动模块moto串联电阻,由P1.7口来检测电机的电压。图2-8 测压电路2.5 按键模块键盘模块中,我采用独立式按键电路。特点:1)每个键独立地接入一根数据输入线。2)平时所有的数据输入线都连接成高电平;3)当任何一个按键压下时,与之相连的数据输入线被拉成低电平。4)要判断是否有键按下,只要位处理指令即可。独立连接式键盘优点是结构简单、使用方便,但随着键数的增多,所占用的IO口线也增加。该系统的键盘由4个独立键盘构成。键盘的一脚接在单片机的P1.0至P1.4脚上,另外一脚接在电源地上,当有键盘按下时对应的键盘就会有一低电平送到单片机内部。为消除触点式按键开关的机械抖动,单片机内部有程序进行消

17、抖处理,然后确定那一个键盘被按下后来执行程序完成该系统的指定工作。按键键盘原理图如图所示:图2-9 按键图2.6 测速模块我们使用光电编码器来检测电机的转速。光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。这是目前应用最多的传感器,光电编码器是由光栅盘和光电检测装置组成。光栅盘是在一定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件组成的检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前电动机的转速。图2-10 测速模块3、 系统软件设计3.1 系统流程图

18、3-1 3.2 显示模块软件设计3.2.1 LCD12864显示程序设计void lcd_init() LCD_PSB = 1; /并口方式 write_com(0x30); /基本指令操作 write_com(0x0C); /显示开,关光标 write_com(0x01); /清除LCD的显示内容通过初始化程序使lcd12864开始工作3.2.2 上位机通信显示下面是VB某段程序:图3-23.3 按键驱动程序设计void work() /电机工作状态 if(zz=0)/正转 delay(10); if(zz=0) t=1;t2=1; if(fz=0) /反转 delay(10);if(fz=

19、0) t=2;t2=2; if(jias=0) /加速 delay(10);if(jias=0)t=3;if(jians=0) /减速delay(10);if(jians=0) t=4; if(tz=0) /停delay(10);if(tz=0) t=5;switch(t)case 1:zhengzhuan();break;case 2:fanzhuan();break;case 3:jiasu();break;case 4:jiansu();break;case 5:stop();break;default:t=0; 3.4 测压程序设计我们采用系统芯片内部AD转换模块,在单片机P1.7口检

20、测电机电压,然后通过计算得出电机电枢电流。程序计算公式: VAL=ADC_RES*4+ADC_RESL; /AD转换值 VOL=(VAL*4.78)/1024; /AD转换的测得值3.5 测速模块程序设计通过外部中断0检测光电编码器的高低电平变化,从而计算出转速脉冲,通过公式得出转速。每秒计数一次脉冲数w2,电机每转一圈就有10个脉冲,所以转速N=w2*60/10=w2*6/转速r/min3.6 上位机数字PI控制设计使用逼近算法,每隔一秒比较一次测得转速值与输入转速值的大小,然后发出加速或减速指令给单片机,让单片机控制电机的转速追随输入值。3.7 马达的反电动势系数和力矩系数数据:电压/V4

21、.63.42.41.6转速/R/MIN720400250100 图3-3反电动势系数Ce=(3.4-2.4)/(400-250)+(4.6-1.6)/(720-100)/2=0.0058 V/rpm力矩系数CM=9.55*Ce=9.55*0.0058=0.055 V/rpm3.8 马达数学模型电机动态结构图如下图3-4其开环传递函数是 (3-1)设 =0,从给定输入作用上看,闭环传递函数是(3-2)4、 心得体会经过两周的课程设计,有很多新的感受和体会。这次采用的STC12C5A60S2单片机,是我不熟悉的芯片,我一边翻阅芯片资料一边设计电机系统,虽然开始有点痛苦,可是其中的乐趣确实让我很享受

22、。这次液晶显示屏采用了LCD12864,并且使用了上位机通信,让我在更加深入了解单片机工作原理的同时,也学到了一点VB软件程序设计的知识。 当然,在这次课程设计中也出现了不少问题。我们采取了模块化编程解决了多文件系统问题,在变量用于多个文件的问题上,我们采取了头文件声明全局变量的方法。这次课程设计,既是对以往所学的单片机编程知识和电力拖动自动控制系统的一次总结,也是一次考验!5、 参考文献1 李庆亮. C语言程序设计实用教程. 机械工业出版社2 王新颖. 单片机原理及应用设计. 北京大学出版社3 陈伯时. 电力拖动自动控制系统运动控制系统机械工业出版社4 王兆安. 电力电子技术. 机械工业出版社5 胡学钢. 数据结构算法设计指导. 北京:清华大学出版社

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1