《直流电机监控闭环转速系统的实现.docx》由会员分享,可在线阅读,更多相关《直流电机监控闭环转速系统的实现.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、直流电机监控闭环转速系统的实现 ronggang 导语:该系统成功实现了直流电机闭环转速系统的实时监控,简化了控制逻辑系统,与同类产品相比本钱低廉、功能完好、抗干扰性能好 1 引言 直流电机监控系统是机电产品中的重要环节,其控制性能反映了机电设备的控制质量。灵敏、方便、准确、实时的监控需要对电机的转速信号进展测量和处理,以到达准确控制转速的目的。 2 系统总体设计 ARM/DSP/FPGA虽精度高、速度快,但设计复杂,价格也一直居高不下。本系统采用一种适用于小容量存储器单片机如PIC系列系统且功能强大的RTOSSalvo。无需扩展大量的RAM和ROM,并且实时性好。大大节省了本钱。系统选用PC
2、机作为上位机,运用API函数及MSCOMM控件实现计算机通讯。PIC16F877A单片机及外围电路组成一个单片机系统。作为下位机。电路设计包括PWM驱动、CCP捕捉、A/D模数转换、LCD液晶显示、RS232和SPI串行通讯以及下位机双机通讯模块。系统总体框图如图1所示。 3 Salvo系统简介 嵌入式实时操纵系统Salvo具有占用系统资源少和功能强大两大特点。 3.1 Salvo占用的系统资源 Salvo最大的特点是占用系统资源少,十分是占用存储器资源极少。它不但适用于51系列单片机,也适用于存储器资源更少的PIC系列单片机。Salvo占用ROM资源取决于用户调用的系统函数,占用RAM取决于
3、用户定义的变量、任务和事件的数目。以PIC16系列单片机为例,每个全局变量占10 B,任务占5 B,事件占3 B。 3.2 Salvo功能和性能 Salvo是一个基于优先级任务切换、支持事件驱动的多任务嵌入式实时操纵系统。Salvo共支持16个任务优先级,且多个任务可共用一个优先级,任务按优先级上下切换,对于多个同一优先级的任务那么以时间片循环方式round-robin切换。Salvo支持任务和事件的数目取决于RAM的大小Salvo默认支持255个任务、255个事件和255个消息队列。Salvo内核主要提供以下几类函数供用户应用程序引用: 任务治理:提供任务建立、任务撤消功能; 时间治理:提供
4、任务延时函数功能; 信号治理:提供信号量建立、删除、等待、发出等功能; 消息治理:提供消息建立、删除、等待、发出等功能。 4 系统硬件总述 通讯局部主要由两局部组成:单片机与PC机以及PIC单片机之间的通讯。PC机与下位单片机间互传数据采用RS232串行异步通讯方式。而PIC单片机之间的通讯那么采用SPI总线,它是主要用于处理器和外设同步串行通讯的4线接口。采用同步时钟把串行数据以8位码的形式移入和移出微控制器。SPI总线是一种主/从接口,主接口驱动串行时钟。在使用SPI时,会同时发送和接收数据,使其成为一种全双工协议,通讯效率高,而且电路连线及软件编程构造简单。硬件电路如图2、图3所示,其单
5、元电路包括CCP捕捉电路、PWM驱动电路、RS232/SPI通讯模块、A/D转换算法及LCD显示等。 4.1 CCP捕捉电路 光电收集模块中,采用光电器件具有高转换精度、良好的静态工作点、完好的模拟前端以及片内校正,十分适用于测量低频小信号。该电路将光信号转换成电压信号,再经过整形滤波就可直接送至单片机。送往单片机的转速信号可通过CCP捕捉模块测量出转速。在该形式下,假设要采用捕捉功能应将相应的TRIS置为1,将单片机CCPx引脚设置为输入。例如,输入频率稳定时,将单片机预分频值设置为1:16,那么这16个周期的总误差为1个TCY。其有效分辨率为TCY/16,即在40 MHz时有效分辨率为6.
6、25 ns。只有在输入频率在16个采样周期内均稳定的情况下,这一方法才有效。不使用预分频器1:1时,每个采样分辨率为TCY。而且当改变捕捉形式时,产生一个捕捉中断。用户应保持CCPxIE位清零以制止这种中断,还应在运行形式改变后将CCPxIF位清零。整个捕捉经过快捷、简单。 4.2 PWM驱动模块 PIC16F877A单片机产生的PWM信号经过光电耦合器连接到L298N的使能控制端。考虑到TLP521-4电路具有反相器作用,PWM信号中的高电平持续时间对应直流电机的断电时间。从单片机其他引脚输出的信号送入L298N的方向控制端,控制直流电机的转动方向和制动状态。L298N驱动负载的电源电压最大
7、为46 V,单桥的驱动电源接近2A,最大开关频率不小于40 kHz。与由分立元件构成的桥式驱动电路相比,该电路构造简单,性能可靠。通过改写程序,可以控制小型直流电机的多种变速。使用光电编码器实现电机速度检测,构成了完好的闭环控制系统。 4.3 RS232串行通讯模块 PIC16F877A串行口仅占用了单片机的RC6和RC7引脚,用于接收端RXD和发送端TXD。因此在上位机计算机与下位机单片机通讯时,只需将收发信号TX、RX及地GND3根线相连即可。单片机的串行接口电平为TTL电平,这与计算机的串行接口电平不一致,因此需要电平转换。系统选用了Maxim公司的MAX232通用串行接收/发送驱动器,
8、其外围电路简单,只需外接4只0.1F的电容即可。 4.4 LCD显示模块 模块SMC1602B由一块点阵液晶屏和控制器HD44780及其辅助电路组成。本系统设计采用OCMJ中文模块系统LCD液晶作为下位机的显示模块。该模块内含GB2312 1616点阵国标一级简体汉字和ASCII88半高及816全高点阵形英文字库,用户输入区位码或者ASCII码可实现文本显示。OCMJ中文液晶显示模块采用ASK/ANSWER握手方式。 5 系统软件总述 5.1 下位机软件设计 智能电机监控系统的下位机软件设计主要完成CCP捕捉、A/D收集、PWM控制、SPI通讯、LCD显示、RS232通讯等多个功能。总体流程框
9、图如图4所示,控制算法是利用PIC16F877A直接控制PID参数,实现准确控制。 5.2 上位机系统设计 上位机系统软件是在Windows平台上利用Vi-sual Basic6.0开发的,设计包括了操纵提示局部自动发送、手动发送、串口选择、奇偶校验、波特率、数据位等、接收回显局部接收数据位、电机转速、电机正反转等以及发送内容局部电机转速设定、过压、过流保护值等。 电机工作时上、下位机实时通讯,显示的参数值实时性好,此时电机正处在反转状态正转“1、反转“0,这一方面可以从上位机界面中的正反转设定标志看出,另一方面下位机回馈的参数中也有电机正反转标志,下位机的液晶面板也同样有转速、电压、电流及正反转显示正转“Right、反转“Left,并且上、下位机的数据显示是同步的。与此同时,可通过上位机对下位机设定的过流过压保护值,一旦电路检测到任一过流或过压时超过设定值,下位机控制单元就会发出报警信号红灯亮、蜂鸣器响、上位机出现错误标志、下位机的液晶上也会出现错误提示等,并且自动停机保护,等待检修。 7 完毕语 该系统成功实现了直流电机闭环转速系统的实时监控,简化了控制逻辑系统,与同类产品相比本钱低廉、功能完好、抗干扰性能好。已成功应用于直流电机转速调节、监控、保护场合,并且上位机界面友好,使用方便。PC机可以对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。
限制150内