1、目录一、 项目设计需求分析1(一) 课题的背景与意义1(二)任务设计的要求1二、系统硬件设计1(一)主控模块的介绍2(二)显示模块的介绍6(三)驱动模块的介绍8(四)电机模块的介绍10三、系统软件设计12(一)程序设计流程图12(二)电机加速部分13(三)电机减速部分13四、系统的调试14(一)系统硬件调试14(二)系统软件调试14五、总结15参考文献15附录16附录1控制模块原理图16附录2控制模块PCB图16附录3调速驱动模块原理图17多轴电机传动系统设计(电子信息工程技术专业电信13(2)班,)摘要:多轴电机传动系统是运动控制研究领域的重要课题之一,可应用于纺织、自动仪表车床、自动化设备
2、等制造和生产过程自动化控制系统中。本文用单片机技术设计了多轴电机转动系统。该系统由控制模块、驱动模块、电机模块、显示模块组成。控制模块输出电机选择信号和电机运行速度信号给驱动模块,驱动模块驱动被选择电机按要求的速度运转,同时显示模块实时显示电机编号和转速。该系统大大的提高了生产效率,可以更好的控制流水线。关键词: STC89C52RC单片机;PCF8591数模转换器;5110LCD显示;24V/30W直流电机 一、 项目设计需求分析(一) 课题的背景与意义随着工业化的快速发展,企业的规模在日益扩大,同时伴随着生产流水线加长,传统的工业管理控制系统已经不能满足要求。一方面按照原有的生产管理模式会
3、增加生产成本,另一方面人手的增多不便于工业的管理。这就需要一种新的模式来解决问题,多轴电机传动系统正好可以满足工业化发展的要求。(二)任务设计的要求用单片机作为主控模块设计的多轴电子转动系统需要实现以下要求:1. 该系统使用5个直流电机,可以选择运行任意电机。2. 运行电机可以加速,也可以减速。3. 需要实时显示运行电机编号和转速。二、系统硬件设计图1系统设计框图多轴电机传动系统由控制模块、驱动模块、显示模块及电机模块构成。系统设计框图如图1所示。电脑传输程序到单片机中,由单片机的串口通讯部分接受到数据,单片机通过接受到数据后对数据进行数字化处理,单片机将处理好的数字量发送给驱动模块,通过PC
4、F8591将单片机中的数字信号处理成模拟信号,PWM波即三角波将会产生不同的占空比,从而控制电机的转动,显示模块将电机的编号、转速显示出来,这样可以很直观的看到电机的转速及电机的编号,可以更好的控制电机运行,实现多轴电机传动系统。 (一)主控模块的介绍主控模块主要由单片机、复位电路、晶振电路、及电源、通讯电路、按键,接口部分组成,单片机主要选用STC89C52RC,复位电路主要有一个按键和两个电阻(1K、10K)一个电容(10UF)组成;时钟电路主要由晶振11.0592,加两个电容(22PF)组成;电源电路由电源座加电源开关LED灯和1K电阻组成;通讯电路选用MAX232与五个电容组成;接口主
5、要由4*2插针组成;按键是由3个按键组成,控制加速、减速、电机编号功能。1.STC89C52单片机STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。1.1 STC89C52的主要特性a. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051b. 工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机)c. 工作频率范围:040MHz,相当于普
6、通8051 的080MHz,实际工作频率可达48MHzd. 用户应用程序空间为8K 字节e. 片上集成512 字节RAMf. 通用I/O 口(32 个),复位后为:P1/P2/P3/P4 是准双向口/弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻g. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片h. 具有EEPROM 功能i. 具有看门狗功能j. 共3个16位定时器/计数器。即定时器T0、T1、T2k. 外部中断4路,下降沿中断
7、或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒l. 通用异步串行口(UART),还可用定时器软件实现多个UARTm. 工作温度范围:-40+85(工业级)/075(商业级)n. PDIP 封装1.2 STC89C52RC的内部组成STC89C52芯片是由控制核心的中央处理器,内部数据存储器,内部程序存储器,并行I/O端口,串行口,定时/计数器,中断系统,时钟电路组成的。下图是单片机的内部组成图: 图2:单片机内部组成下图为单片机元件图(3.a)及实物图(3.b) 元件图3.a 实物图3.b图3STC89C52RC的引脚图及实物图2.晶振电路单片机的时钟信号用来提供
8、单片机片内各种微操作的时间基准时钟信号通常用两种电路形式得到:内部振荡和外部振荡。STC89C52单片机内部有一个用于构成振荡器的高增益反向放大器引脚XTAL1和XTAL2分别是此放大电器的输入端和输出端由于采用内部方式时电路简单,所得的时钟信号比较稳定实际使用中常采用这种方式,电路如图4所示。图4时钟电路图3.复位电路为了初始化单片机内部的某些特殊功能寄存器必须采用复位的方式。复位后可使CPU及系统各部件处于确定的初始状态并从初始状态开始正常工作。单片机的复位是靠外电路来实现的。在正常运行情况下只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位但如果RST引脚上持续为高电平。
9、单片机就处于循环复位状态。复位后系统将输入/输出(1/0)端口寄存器置为FFH,堆栈指针SP置为07H, SBUF内置为不定值,其余的寄存器全部清0,内部RAM的状态不受复位的影响,在系统上电时RAM的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。本系统采用上电复位方式。电路如图5所示。图5复位电路图4.电源电路主要由拨动开关和DC座LED灯组成电路图见图6所示。图6电源电路图5.按键电路主要由3个按键组成S4,S5,S6控制电机的加速、减速、编号电路图如图7所示图7按键部分6. 插针部分插针部分主要由两个4*2的插针组成,期主要作用是接液晶显示屏和驱动模块具体电路图如图8图
10、9所示图8插针部分图主控模块实物图:图9:主控模块图 (二)显示模块的介绍显示模块主要使用了诺基亚5110LCD,不仅可以显示数值,还可以显示汉字,其组成部分主要是由5110LCD及插针组成,显示电机的转速和电机编号。诺基亚5110LCD介绍:Nokia5110是一款经典机型,可能由于经典的缘故,旧机器很多,所以很多电子工程师就把旧机器的屏幕拆下来,自己驱动Nokia5110,用于开发的设备显示,取代LCD1602。使用Nokia5110液晶的四大理由1)性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。Nokia5110裸屏仅8.8元,LCD16
11、02一般15元左右,LCD12864一般5070元。2)接口简单,仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。3)速度快,是LCD12864的20倍,是LCD1602的40倍。4)Nokia5110工作电压3.3V,正常显示时工作电流200uA以下,具有掉电模式,适合电池供电的便携式移动设备。可以在市场上买到Nokia5110的裸屏和带PCB的Nokia5110屏幕,因为Nokia5110是不带背光的,所以通常商家会在PCB上按了几个背光LED,上电就能亮,建议大家还是买那种连上PCB的5110。其原理图如图10所示图10诺基亚5110原理图商家把该引出的
12、管脚都引出了,下面就可以连接C8051F的相应管脚,写程序驱动5110了。 Nokia5110和Nokia3110是兼容的,用的都是同一款驱动芯片PHILIPS PCD8544。 (1)SPI接口时序写数据/命令 Nokia5110(PCD8544)的通信协议是一个没有MISO只有MOSI的SPI协议,如果单片机有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。图11为实物图图11:5110实物图 (三)驱动模块的介绍驱动模块主要是接受主控模块发来的指令给PCF8591实现数据信号与模拟信号的转换,再通过LM232产生的稳定的三角波电压与可控制电压的占空比来实现
13、直流电机的加速、减速和选择的控制要求。1、PWM脉冲生成模块: 它利用TL431产生稳定电压和LM324芯片产生恒定的三角波,控制电压和三角波经 LM324组成的滞回比较器产生PWM脉冲, 通过改变脉冲的占空比去调节电机的速度。PWM脉冲的形成:由TL431产生一个稳定的电压,通过滞回、微分、并与直流电压对比,形成一个占空比,从而控制电机的转速,PWM脉冲电路如图12所示图12脉冲电路原理图2、PCF8591芯片接收模块 :PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。PCF8591具有4个模拟输入、1个模拟输出和1个串行IC总线接口。PCF8591的3个地
14、址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。1)引脚功能:AIN0AIN3:模拟信号输入端。A0A2:引脚地址端。VDD、VSS:电源端。(2.56V)SDA、SCL:I2C 总线的数据线、时钟线。OSC:外部时钟输入端,内部时钟输出端。EXT:内部、外部时钟选择线,使用内部时钟时 EXT 接地。AGND:模拟信号地。AOUT:D/A 转换输出端。VREF:基准电源端。2)PCF8591芯片的特性:【1】单独供电【2】PCF85
15、91的操作电压范围2.5V-6V【3】低待机电流【4】通过I2C总线串行输入/输出【5】PCF8591通过3个硬件地址引脚寻址【6】PCF8591的采样率由I2C总线速率决定图13:PCF8591引脚图【7】4个模拟输入可编程为单端型或差分输入【8】自动增量频道选择【9】PCF8591的模拟电压范围从VSS到VDD【10】PCF8591内置跟踪保持电路【11】8-bit逐次逼近A/D转换器【12】通过1路模拟输出实现DAC增益图14:PCF8591原理图 (四)电机模块的介绍电机是联系生产最直接的模块,本系统所有的功能都由它实现。其工作原理是由主控模块的按键发送指令、通过调速驱动模块产生相应的
16、脉冲频率来改变电机的转速。本系统使用的是24V/30W直流电机。如图15所示图15电机模块1、 直流电机的介绍:由直流电动机工作原理示意图可以看到,直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。装配后的电机如图16所示。直流电机的纵向剖视图如图17所示。1)定子 (1)主磁极 主磁极的作用是产生气隙磁场。主磁极由主磁极铁心和
17、励磁绕组两部分组 成。铁心一般用0.5mm1.5mm厚的硅钢板冲片叠压铆紧而成,分为极身和极靴两部分,上面套励磁绕组的部分称为极身,下面扩宽的部分称为极靴,极靴宽于极身,既可以调整气隙中磁场的分布,又便于固定励磁绕组。励磁绕组用绝缘铜线绕 制而成,套在主磁极铁心上。整个主磁极用螺钉固定在机座上。 图16直流电机刨面图(2)换向极 换向极的作用是改善换向,减小电机运行时 电刷与换向器之间可能产生的换向火花,一般装在两个相邻主磁极之间,由换向极铁心和换向极绕组组成,如8.6所示。换向极绕组用绝缘导线绕制而成,套在换向极铁心上,换向极的数目与主磁极相等。 (3)机座 电机定子的外壳称为机座,机座的作
18、用有两个:一是用来固定主磁极、换向极和端盖,并起整个电机的支撑和固定作用;二是机座本身也是磁路的一部分,借以构成磁极之间磁的通路,磁通通过的部分称为磁轭。为保证机座具有足够的机械强度和良好的导磁性能,一般为铸钢件或由钢板焊接而成。 (4)电刷装置 电刷装置是用来引入或引出直流电压和直流电流的,如图17所示。电刷装置由电刷、 刷握、刷杆和刷杆座等组成。电刷放在刷握内,用弹簧压紧,使电刷与换向器之间有良好的滑动接触,刷握固定在刷杆上,刷杆装在圆环形的刷杆座上,相互之间必须绝缘。刷杆座装在端盖或轴承内盖上,圆周位置可以调整,调好以后加以固定。图17直流电机纵向刨面图三、系统软件设计(一)程序设计流程
19、图调用初始化程序按下按键调用按键子程序选择电机编号,启用编号程序调用按键子程序进行加减速控制对电机进行加减速控制(二)电机加速部分电机转动,按下加速键,调用加速子程序,使电机每转动一次的时间变短,从而达到加速功能。(三)电机减速部分电机转动,按下减速键,调用减速子程序,使电机每转动一次的时间变长,从而达到减速功能。 四、系统的调试(一)系统硬件调试硬件调试的时候有可能电机部转动,其原因有a.无电压。B.励磁回路断卉。C.电刷回路断开d.有电源但是电机不能转动。解决方法有a.当电子无电压时,应该检查电机与调速驱动模块之间的连线是否断开,调速模块时候上电。b.当励磁回路断卉,应该检查励磁绕组和启动
20、器。c.当电刷回路断开时,应检查电枢绕组及电刷换向器接触情况。D.有电源但是电机不能转动时,应检查电机时候负载过重或电枢卡死或启动设备不符合条件。(二)系统软件调试把编好的程序合理安排好结合在一起进行编译,还要检查是否有逻辑错误,程序修改后,当显示0错误0警告时这说明程序是正确的,就可以下载到芯片中试运行了。(三) 调试结果经过对控制模块、驱动模块、电机模块、显示模块的调试,实现了通过控制单片机对电机的编号和转速进行控制,按下按钮一,选择电机的编号,再按下按钮二对电机进行加速控制,按下按钮三对电机进行减速的控制,转速和电机编号显示在显示屏上最终实现调试结果。 五、总结通过这次的设计,我们进一步
21、的了解了单片机的最小系统,以及各个模块的工作原理、编程及一些简单的运用;这次的设计更好的锻炼了我实际的动手能力,让我有机会学以致用,为我接下的工作奠定了基础。美中不足的是,对于一些复杂的电路还是理解不透;对于有一些复杂程序还是不能过很好的理解;焊接技术还有待提高。本次的设计更加的让我清楚自己的弱点在哪里,在单片机编程方面还需要跟多的历练,要想把程序编译好必须下更多的时间去研究,另外对于硬件的焊接来说,并不是想象的那么容易的,特别是贴片元件,需要很大的耐心和细心,这就要求我在以后的工作中要更加的细心完成每一件事情。参考文献1张毓:单片机应用技术项目化教程M,2013.72李学刚:C语言程序设计M,高等教育出版社,2013.43郭勇:印制电路板设计教程M,机械工业出版社,2014.64宋燕飞:模拟电子技术项目驱动教程M,兰州,兰州大学出版社,2010.45吴新杰:AVR单片机项目教程基于C语言M,北京航空航天大学出版社,2013.8附录附录1控制模块原理图附录2控制模块PCB图附录3调速驱动模块原理图附录4调速驱动模块PCB图17