目录一、项目设计需求分析 (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)班,闫宝成)摘要:多轴电机传动系统是运动控制研究领域的重要课题之一,可应用于纺织、自动仪表车床、自动化设备等制造和生产过程自动化控制系统中。
本文用单片机技术设计了多轴电机转动系统。
该系统由控制模块、驱动模块、电机模块、显示模块组成。
控制模块输出电机选择信号和电机运行速度信号给驱动模块,驱动模块驱动被选择电机按要求的速度运转,同时显示模块实时显示电机编号和转速。
该系统大大的提高了生产效率,可以更好的控制流水线。
关键词: STC89C52RC单片机;PCF8591数模转换器;5110LCD显示;24V/30W 直流电机一、项目设计需求分析(一)课题的背景与意义随着工业化的快速发展,企业的规模在日益扩大,同时伴随着生产流水线加长,传统的工业管理控制系统已经不能满足要求。
一方面按照原有的生产管理模式会增加生产成本,另一方面人手的增多不便于工业的管理。
这就需要一种新的模式来解决问题,多轴电机传动系统正好可以满足工业化发展的要求。
(二)任务设计的要求用单片机作为主控模块设计的多轴电子转动系统需要实现以下要求:1. 该系统使用5个直流电机,可以选择运行任意电机。
2. 运行电机可以加速,也可以减速。
3. 需要实时显示运行电机编号和转速。
二、系统硬件设计图1系统设计框图多轴电机传动系统由控制模块、驱动模块、显示模块及电机模块构成。
系统设计框图如图1所示。
电脑传输程序到单片机中,由单片机的串口通讯部分接受到数据,单片机通过接受到数据后对数据进行数字化处理,单片机将处理好的数字量发送给驱动模块,通过PCF8591将单片机中的数字信号处理成模拟信号,PWM波即三角波将会产生不同的占空比,从而控制电机的转动,显示模块将电机的编号、转速显示出来,这样可以很直观的看到电机的转速及电机的编号,可以更好的控制电机运行,实现多轴电机传动系统。
(一)主控模块的介绍主控模块主要由单片机、复位电路、晶振电路、及电源、通讯电路、按键,接口部分组成,单片机主要选用STC89C52RC,复位电路主要有一个按键和两个电阻(1K、10K)一个电容(10UF)组成;时钟电路主要由晶振11.0592,加两个电容(22PF)组成;电源电路由电源座加电源开关LED灯和1K电阻组成;通讯电路选用MAX232与五个电容组成;接口主要由4*2插针组成;按键是由3个按键组成,控制加速、减速、电机编号功能。
1.STC89C52单片机STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
1.1 STC89C52的主要特性a. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051b. 工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)c. 工作频率范围:0~40MHz,相当于普通8051 的0~80MHz,实际工作频率可达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路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒l. 通用异步串行口(UART),还可用定时器软件实现多个UARTm. 工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)n. PDIP 封装1.2 STC89C52RC的内部组成STC89C52芯片是由控制核心的中央处理器,内部数据存储器,内部程序存储器,并行I/O端口,串行口,定时/计数器,中断系统,时钟电路组成的。
下图是单片机的内部组成图:图2:单片机内部组成下图为单片机元件图(3.a)及实物图(3.b)元件图3.a 实物图3.b图3STC89C52RC的引脚图及实物图2.晶振电路单片机的时钟信号用来提供单片机片内各种微操作的时间基准时钟信号通常用两种电路形式得到:内部振荡和外部振荡。
STC89C52单片机内部有一个用于构成振荡器的高增益反向放大器引脚XTAL1和XTAL2分别是此放大电器的输入端和输出端由于采用内部方式时电路简单,所得的时钟信号比较稳定实际使用中常采用这种方式,电路如图4所示。
图4时钟电路图3.复位电路为了初始化单片机内部的某些特殊功能寄存器必须采用复位的方式。
复位后可使CPU 及系统各部件处于确定的初始状态并从初始状态开始正常工作。
单片机的复位是靠外电路来实现的。
在正常运行情况下只要RST引脚上出现两个机器周期时间以上的高电平,即可引起系统复位但如果RST引脚上持续为高电平。
单片机就处于循环复位状态。
复位后系统将输入/输出(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图9所示主控模块实物图:图9:主控模块图(二)显示模块的介绍显示模块主要使用了诺基亚5110LCD,不仅可以显示数值,还可以显示汉字,其组成部分主要是由5110LCD及插针组成,显示电机的转速和电机编号。
诺基亚5110LCD介绍:Nokia5110是一款经典机型,可能由于经典的缘故,旧机器很多,所以很多电子工程师就把旧机器的屏幕拆下来,自己驱动Nokia5110,用于开发的设备显示,取代LCD1602。
使用Nokia5110液晶的四大理由1)性价比高,LCD1602可以显示32个字符,而Nokia5110可以显示15个汉字,30个字符。
Nokia5110裸屏仅8.8元,LCD1602一般15元左右,LCD12864一般50~70元。
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原理图商家把该引出的管脚都引出了,下面就可以连接C8051F的相应管脚,写程序驱动5110了。
Nokia5110和Nokia3110是兼容的,用的都是同一款驱动芯片PHILIPS PCD8544。
(1)SPI接口时序写数据/命令Nokia5110(PCD8544)的通信协议是一个没有MISO只有MOSI的SPI协议,如果单片机有富裕的SPI接口,也可以利用硬件SPI,但通常没有必要,只需要软件程序模拟即可。
图11为实物图图11:5110实物图(三)驱动模块的介绍驱动模块主要是接受主控模块发来的指令给PCF8591实现数据信号与模拟信号的转换,再通过LM232产生的稳定的三角波电压与可控制电压的占空比来实现直流电机的加速、减速和选择的控制要求。
1、PWM脉冲生成模块:它利用TL431产生稳定电压和LM324芯片产生恒定的三角波,控制电压和三角波经LM324组成的滞回比较器产生PWM脉冲,通过改变脉冲的占空比去调节电机的速度。
PWM脉冲的形成:由TL431产生一个稳定的电压,通过滞回、微分、并与直流电压对比,形成一个占空比,从而控制电机的转速,PWM脉冲电路如图12所示图12脉冲电路原理图2、PCF8591芯片接收模块:PCF8591是一个单片集成、单独供电、低功耗、8-bit CMOS数据获取器件。
PCF8591具有4个模拟输入、1个模拟输出和1个串行I²C总线接口。
PCF8591的3个地址引脚A0, A1和A2可用于硬件地址编程,允许在同个I2C总线上接入8个PCF8591器件,而无需额外的硬件。
在PCF8591器件上输入输出的地址、控制和数据信号都是通过双线双向I2C总线以串行的方式进行传输。
1)引脚功能:AIN0~AIN3:模拟信号输入端。
A0~A2:引脚地址端。
VDD、VSS:电源端。
(2.5~6V)SDA、SCL:I2C 总线的数据线、时钟线。
OSC:外部时钟输入端,内部时钟输出端。
EXT:内部、外部时钟选择线,使用内部时钟时EXT 接地。
AGND:模拟信号地。
AOUT:D/A 转换输出端。
VREF:基准电源端。
2)PCF8591芯片的特性:【1】单独供电【2】PCF8591的操作电压范围2.5V-6V【3】低待机电流【4】通过I2C总线串行输入/输出【5】PCF8591通过3个硬件地址引脚寻址【6】PCF8591的采样率由I2C总线速率决定【7】4个模拟输入可编程为单端型或差分输入图13:PCF8591引脚图【8】自动增量频道选择【9】PCF8591的模拟电压范围从VSS到VDD【10】PCF8591内置跟踪保持电路【11】8-bit 逐次逼近A/D 转换器【12】通过1路模拟输出实现DAC 增益(四)电机模块的介绍电机是联系生产最直接的模块,本系统所有的功能都由它实现。