新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 直流电机监控闭环转速系统的实现

直流电机监控闭环转速系统的实现

作者:时间:2012-05-24来源:网络收藏

1引言

本文引用地址:http://www.eepw.com.cn/article/148990.htm

是机电产品中的重要环节,其控制性能反映了机电设备的控制质量。灵活、方便、准确、实时的需要对信号进行测量和处理,以达到精确控制的目的。

2总体设计

ARM/DSP/FPGA虽精度高、速度快,但设计复杂,价格也一直居高不下。本采用一种适用于小容量存储器单片机(如PIC系列)系统且功能强大的RTOS—Salvo。无需扩展大量的RAM和ROM,并且实时性好。大大节省了成本。系统选用PC机作为上位机,运用API函数及MSCOMM控件计算机通信。PIC16F877A单片机及外围电路组成一个单片机系统。作为下位机。电路设计包括PWM驱动、CCP捕捉、A/D模数转换、LCD液晶显示、RS232和SPI串行通讯以及下位机双机通信模块。系统总体框图如图1所示。

3Salvo系统简介

嵌入式实时操作系统Salvo具有占用系统资源少和功能强大两大特点。

3。1Salvo占用的系统资源

Salvo最大的特点是占用系统资源少,特别是占用存储器资源极少。它不但适用于51系列单片机,也适用于存储器资源更少的PIC系列单片机。Salvo占用ROM资源取决于用户调用的系统函数,占用RAM取决于用户定义的变量、任务和事件的数量。以PIC16系列单片机为例,每个全局变量占10B,任务占5B,事件占3B。

3。2Salvo功能和性能

Salvo是一个基于优先级任务切换、支持事件驱动的多任务嵌入式实时操作系统。Salvo共支持16个任务优先级,且多个任务可共用一个优先级,任务按优先级高低切换,对于多个同一优先级的任务则以时间片循环方式(round-robin)切换。Salvo支持任务和事件的数量取决于RAM的大小(Salvo默认支持255个任务、255个事件和255个消息队列)。Salvo内核主要提供以下几类函数供用户应用程序引用:

任务管理:提供任务建立、任务撤消功能;

时间管理:提供任务延时函数功能;

信号管理:提供信号量建立、删除、等待、发出等功能;

消息管理:提供消息建立、删除、等待、发出等功能。

4系统硬件总述

通讯部分主要由两部分组成:单片机与PC机以及PIC单片机之间的通讯。PC机与下位单片机间互传数据采用RS232串行异步通信方式。而PIC单片机之间的通讯则采用SPI总线,它是主要用于处理器和外设同步串行通信的4线接口。采用同步时钟把串行数据以8位码的形式移入和移出微控制器。SPI总线是一种主/从接口,主接口驱动串行时钟。在使用SPI时,会同时发送和接收数据,使其成为一种全双工协议,通讯效率高,而且电路连线及软件编程结构简单。硬件电路如图2、图3所示,其单元电路包括CCP捕捉电路、PWM驱动电路、RS232/SPI通讯模块、A/D转换算法及LCD显示等。

4。1CCP捕捉电路

光电采集模块中,采用光电器件具有高转换精度、良好的静态工作点、完整的模拟前端以及片内校正,特别适用于测量低频小信号。该电路将光信号转换成电压信号,再经过整形滤波就可直接送至单片机。送往单片机的信号可通过CCP捕捉模块测量出转速。在该模式下,若要采用捕捉功能应将相应的TRIS置为1,将单片机CCPx引脚设置为输入。例如,输入频率稳定时,将单片机预分频值设置为1:16,则这16个周期的总误差为1个TCY。其有效分辨率为TCY/16,即在40MHz时有效分辨率为6。25ns。只有在输入频率在16个采样周期内均稳定的情况下,这一方法才有效。不使用预分频器(1:1)时,每个采样分辨率为TCY。而且当改变捕捉模式时,产生一个捕捉中断。用户应保持CCPxIE位清零以禁止这种中断,还应在运行模式改变后将CCPxIF位清零。整个捕捉过程快捷、简单。

4。2PWM驱动模块

PIC16F877A单片机产生的PWM信号经过光电耦合器连接到L298N的使能控制端。考虑到TLP521-4电路具有反相器作用,PWM信号中的高电平持续时间对应的断电时间。从单片机其他引脚输出的信号送入L298N的方向控制端,控制电机的转动方向和制动状态。L298N驱动负载的电源电压最大为46V,单桥的驱动电源接近2A,最大开关频率不小于40kHz。与由分立元件构成的桥式驱动电路相比,该电路结构简单,性能可靠。通过改写程序,可以控制小型直流电机的多种变速。使用光电编码器电机速度检测,构成了完整的闭环控制系统。

4。3RS232串行通讯模块

PIC16F877A串行口仅占用了单片机的RC6和RC7引脚,用于接收端RXD和发送端TXD。因此在上位机计算机与下位机单片机通信时,只需将收发信号(TX、RX)及地(GND)3根线相连即可。单片机的串行接口电平为TTL电平,这与计算机的串行接口电平不一致,因此需要电平转换。系统选用了Maxim公司的MAX232通用串行接收/发送驱动器,其外围电路简单,只需外接4只0。1μF的电容即可。

4。4LCD显示模块

模块SMC1602B由一块点阵液晶屏和控制器HD44780及其辅助电路组成。本系统设计采用OCMJ中文模块系统LCD液晶作为下位机的显示模块。该模块内含GB231216×16点阵国标一级简体汉字和ASCII8×8(半高)及8×16(全高)点阵形英文字库,用户输入区位码或ASCII码可文本显示。OCMJ中文液晶显示模块采用ASK/ANSWER握手方式。

5系统软件总述

5。1下位机软件设计

智能电机系统的下位机软件设计主要完成CCP捕捉、A/D采集、PWM控制、SPI通讯、LCD显示、RS232通讯等多个功能。总体流程框图如图4所示,控制算法是利用PIC16F877A直接控制PID参数,实现精确控制。

5。2上位机系统设计

上位机系统软件是在Windows平台上利用Vi-sualBasic6。0开发的,设计包括了操作提示部分(自动发送、手动发送、串口选择、奇偶校验、波特率、数据位等)、接收回显部分(接收数据位、电机转速、电机正反转等)以及发送内容部分(电机转速设定、过压、过流保护值等)。

pid控制相关文章:pid控制原理


pwm相关文章:pwm是什么


pid控制器相关文章:pid控制器原理


分频器相关文章:分频器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭