收藏 分销(赏)

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

上传人:a199****6536 文档编号:2685008 上传时间:2024-06-04 格式:DOC 页数:31 大小:950.04KB 下载积分:12 金币
下载 相关 举报
电机与拖动系统专业课程设计.doc_第1页
第1页 / 共31页
电机与拖动系统专业课程设计.doc_第2页
第2页 / 共31页


点击查看更多>>
资源描述
课程设计阐明书 设计名称: 题 目: 学生姓名: 专 业: 班 级: 学 号: 指引教师: 日 期: 年 月 日 课程设计任务书 专业 年级 班 一、 设计题目 微型直流电动机数字控制器设计 二、 重要内容和详细规定 1、 设立有正转、反转、加速、减速按键; 2、 显示马达运营状态(正反转、停止),显示转速; 3、 测量马达反电动势系数; 4、 测量马达力矩系数; 5、 创立马达数学模型; 6、 实现比例控制; 7、 实现比例积分控制。 三、 进度安排 6月16~17号:理解任务规定,拟定详细方案 6月18~19号:电机控制程序设计 6月20~21号:键盘电路、lcd12864液晶屏子程序设计 6月22~24号:上位机通信程序设计 6月25~26号:电机 PI 控制设计 四、 完毕后应上交材料 直流电机数字控制器论文 五、 总评成绩 姓名-学号 成绩 分组序号 同组人员(签名) 本人贡献排名 指引教师(签名) 指引教师 签名日期 年 月 日 系 主 任 审核日期 年 月 日 摘要 本文重要设计一种基于 STC12C5A60S2 单片机直流电机 PWM 控制系统。PWM 控制提高了调速范畴,提高了调速精度,改进了迅速性能、功率和功率因数。系统在设计中被控对象采用 5V 直流电机,以 MCS-51 单片机为控制核心,采用 LCD12864 液晶作为显示元件,进行软硬件设计。硬件电路由 protel 设计制作,重要设计了液晶显示电路、键盘控制电路、复位电路、测速电路、驱动电路和测压电路。软件设计在 Keil 开发平台用 C 语言编写,程序采用模块化设计方案,涉及液初始化程序、晶显示程序、键盘控制程序。 本系统 PWM 控制直流电机采用调压调速办法,整体设计涉及软件和硬件两个某些。通过运用单片机产生 PWM 控制信号控制直流电机,详细简介脉宽调制 ( PWM) 控 制原理,直流电机工作原理和数学模型以及用 H型桥电路基本原理设计驱动电路。 通过硬件电路模仿状况,阐明系统运营正常,各个功能模块实现是可行,控制精度比较高,可以满足系统基本规定。 核心词: 单片机 PWM脉宽调制控制 直流电机 L298N驱动 一、设计任务分析 1 二、总体方案设计 1 2.1 系统控制方案选取 1 2.2 电机驱动模块 6 2.3 显示模块 8 2.4 测压模块 10 2.5 按键模块 11 2.6 测速模块 12 三、系统软件设计 14 3.1 系统流程 14 3.2 显示模块软件设计 15 3.3 按键驱动程序设计 15 3.4 测压程序设计 17 3.5 测速模块程序设计 17 3.6 上位机数字PI控制设计 17 3.7 马达反电动势系数和力矩系数 18 3.8 马达数学模型 18 四、心得体会 19 五、参照文献 20 一、 设计任务分析 本课题设计重要目是为了可以精确及时控制直流电动机正转、反转、停止、加速和减速功能可以精确调节控制直流电机转速。设计规定中央控制芯片具备定期计数功能,一定程序存储空间,还要有足够IO外接端口。由于本设计以LCD12864作为人机交流显示界面,因此规定中央控制芯片具备一定电流驱动能力。LCD、电机控制信号、LED批示灯、独立按钮,电压采集这些都需要占用大量IO接口,因此规定中央控制芯片要有足够多外部接口以满足需要。 本设计规定能精确控制电机转向以及转速,因此规定电机控制芯片就有较强调速控制功能以及转向控制功能。 本设计规定所采用直流电机转速具备一定可调空间以及足够敏捷度。 二、 总体方案设计 2.1 系统控制方案选取 方案1:采用STC公司STC89C52RC。此单片机价格低,资源多,高性价比,应用广泛,无论是从内部构造,还是编程方面,51系列单片机都相对简朴容易掌握和使用。 方案2:STC12C5A60S2不但和8051指令、管脚完全兼容,并且速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S)。STC系列单片机支持串口程序烧写,对开发设备规定很低,开发时间也大大缩短。 由于本设计需要检测电机电路电流,并且要与上位机通信,方案2stc12C5A60S2芯片具备2个串口,内部集成8路高速10位A/D转换(250K/S),能更好地实现咱们需要功能,因此咱们选用方案2,即STC12C5A60S2芯片作为咱们控制芯片。 如下是STC12C5A60S2芯片功能 1.增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容老式8051; 2.工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2V(3V单片机);  3.工作频率范畴:0 - 35MHz,相称于普通8051 0~420MHz;  4.顾客应用程序空间8K /16K / 20K / 32K / 40K / 48K/ 52K / 60K / 62K字节;  5.片上集成1280字节RAM;  6.通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051老式I/O口),可设立成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个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.时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内) 1顾客在下载顾客程序时,可选取是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz,精度规定不高时,可选取使用内部时钟,但由于有制造误差和温漂,以实际测试为准;  13.共4个16位定期器   两个与老式8051兼容定期器/计数器,16位定期器T0和T1,没有定期器2,但有独立波特率发生器做串行通讯波特率发生器,再加上2路PCA模块可再实现2个16位定期器;  14. 2个时钟输出口,可由T0溢出在P3.4/T0输出时钟,可由T1溢出在P3.5/T1输出时钟;  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.通用全双工异步串行口(UART),由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,三线通信, 还多了串口。 STC12C5A60S2引脚如图2-1所示 图2-1 最小系统涉及系统时钟电路,复位电路、单片机芯片引脚借口,保证了单片机可以正常工作。如图2-2所示 图2-2 2.2 电机驱动模块 用普通直流电机。直流电机运转平稳精度有一定保证。直流电机控制精准度虽然没有步进电机那样高但完全可以满足本题目规定。通过单片机PWM输出同样可以控制直流电机旋转速度实现电动车速度控制。并且直流电机相对于步进电机价格经济。采用电机驱动芯片L298N。L298N为单块集成电路高电压、高电流、四通道驱动,可直接对电机进行控制,不必隔离电路。通过单片机I/O输入变化芯片控制端电平即可以对电机进行正反转、停止操作,非常以便,亦能满足直流减速电机大电流规定。调试时在依照芯片手册,用程序输入相应码值,可以实现相应动作。 图2-3 图2-4 本项目驱动直流电机,实现电机正反转与测速和遥控。 输入输出逻辑表真值表2-5 通道1 通道2 输入 输出控制电机1 输入 输出控制电机2 EnA In1 In2 OUT1 OUT2 转向 EnB In3 In4 OUT3 OUT4 转向 1 0 0 0 0 停止 1 0 0 0 0 停止 0 1 0 1 反传 0 1 0 1 反传 1 0 1 0 正转 1 0 1 0 正转 1 1 0 0 停止 1 1 1 1 停止 0 X X 0 0 停止 0 X X 0 0 停止 其中“0”为低电平;“1” 为高电平;“X” 为任何状态。 表 2-5 L298N输入输出逻辑真值表 2.3 显示模块 显示模块我使用了lcd12864液晶屏。 带中文字库12864是一种具备4位/8位并行、2线或3线串行各种界面方式,内部具有国标一级、二级简体中文字库点阵图形液晶显示模块;其显示辨别率为128×64, 内置8192个16*16点中文,和128个16*8点ASCII字符集.运用该模块灵活界面方式和简朴、以便操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵中文. 也可完毕图形显示.低电压低功耗是其又一明显特点。由该模块构成液晶显示方案与同类型图形点阵液晶显示模块相比,无论硬件电路构造或显示程序都要简洁得多,且该模块价格也略低于相似点阵图形液晶模块。 图2-6 LCD12864与单片机连线图 2.3.1 上位机通信 此外,咱们也使用VB软件做了上位机与单片机通信。通过上位机界面更好地实现人机沟通。 Visual Basic是一种由微软公司开发包括协助开发环境事件驱动编程语言。从任何原则来说,VB都是世界上使用人数最多语言——不但是盛赞VB开发者还是抱怨VB开发者数量。它源自于BASIC编程语言。VB拥有图形顾客界面(GUI)和迅速应用程序开发(RAD)系统,可以容易使用DAO、RDO、ADO连接数据库,或者轻松创立ActiveX控件。程序员可以轻松使用VB提供组件迅速建立一种应用程序。 图2-7 上位机界面 2.4 测压模块 由于咱们采用系统芯片内部集成AD转换功能,因此咱们直接通过在与驱动模块moto串联电阻,由P1.7口来检测电机电压。 图2-8 测压电路 2.5 按键模块 键盘模块中,我采用独立式按键电路。 特点: 1)每个键独立地接入一根数据输入线。 2)平时所有数据输入线都连接成高电平; 3)当任何一种按键压下时,与之相连数据输入线被拉成低电平。 4)要判断与否有键按下,只要位解决指令即可。 独立连接式键盘长处是构造简朴、使用以便,但随着键数增多,所占用IO口线也增长。该系统键盘由4个独立键盘构成。键盘一脚接在单片机P1.0至P1.4脚上,此外一脚接在电源地上,当有键盘按下时对 应键盘就会有一低电平送到单片机内部。为消除触点式按键开关机械抖动,单片机内部有程序进行消抖解决,然后拟定那一种键盘被按下日后执行 程序完毕该系统指定工作。 按键键盘原理图如图所示: 图2-9 按键图 2.6 测速模块 咱们使用光电编码器来检测电机转速。 光电编码器,是一种通过光电转换将输出轴上机械几何位移量转换成脉冲或数字量传感器。这是当前应用最多传感器,光电编码器是由光栅盘和光电检测装置构成。光栅盘是在一定直径圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,光栅盘与电动机同速旋转,经发光二极管等电子元件构成检测装置检测输出若干脉冲信号,通过计算每秒光电编码器输出脉冲个数就能反映当前电动机转速。  图2-10 测速模块 三、 系统软件设计 3.1 系统流程 图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-2 3.3 按键驱动程序设计 void work() //电机工作状态 { if(zz==0) //正转 { delay(10); if(zz==0) { t=1;t2=1; } } if(fz==0) //反转 { delay(10); if(fz==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口检测电机电压,然后通过计算得出电机电枢电流。 程序计算公式: 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/min 3.6 上位机数字PI控制设计 使用逼近算法,每隔一秒比较一次测得转速值与输入转速值大小,然后发出加速或减速指令给单片机,让单片机控制电机转速追随输入值。 3.7 马达反电动势系数和力矩系数 数据: 电压/V 4.6 3.4 2.4 1.6 转速/R/MIN 720 400 250 100 图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/rpm 3.8 马达数学模型 电机动态构造图如下 图3-4 其开环传递函数是 (3-1) 设 =0,从给定输入作用上看,闭环传递函数是 (3-2) 四、 心得体会 通过两周课程设计,有诸多新感受和体会。这次采用STC12C5A60S2单片机,是我不熟悉芯片,我一边翻阅芯片资料一边设计电机系统,虽然开始有点痛苦,可是其中乐趣的确让我很享有。这次液晶显示屏采用了LCD12864,并且使用了上位机通信,让我在更加进一步理解单片机工作原理同步,也学到了一点VB软件程序设计知识。 固然,在这次课程设计中也浮现了不少问题。咱们采用了模块化编程解决了多文献系统问题,在变量用于各种文献问题上,咱们采用了头文献声明全局变量办法。  这次课程设计,既是对以往所学单片机编程知识和电力拖动自动控制系统一次总结,也是一次考验! 五、 参照文献 [1] 李庆亮. C语言程序设计实用教程. 机械工业出版社 [2] 王新颖. 单片机原理及应用设计. 北京大学出版社 [3] 陈伯时. 电力拖动自动控制系统——运动控制系统机械工业出版社 [4] 王兆安. 电力电子技术. 机械工业出版社 [5] 胡学钢. 数据构造算法设计指引. 北京:清华大学出版社
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服