论C8051F005单片机的比例电磁铁控制技术
比例电磁铁作为执行元件,是机电一体化的关键产品之一,广泛应用于各种自动化控制系统中;比例电磁铁的推力大,结构简单,维护方便,成本低廉,是应用非常广泛的电—机械转换器[1];比例电磁铁的特性及工作的可靠性,对于整个控制系统具有十分重要的影响,是决定控制系统品质的关键部件之一。比例电磁铁作为电—机械转换元件,其功能是将比例控制放大器输给的电流信号,转换成位移或者力信号输出。
比例电磁铁适用于直流电压为24 V比例控制放大器的控制线路中,作为连续地、按比例地控制系统执行元件的运动、速度和方向的动力元件。比例电磁铁在其额定行程范围内的推力与通入其线圈的电流成正比,可在其他需要作用力自动控制的装置上作为线性动力元件,如自动油门控制等。当电磁铁与单片机一起构成一个自动控制系统时, 由于电磁铁的工作电压较高, 工作电流较大,因此单片机与比例电磁铁之间接口电路的设计是一个关键。
随着微电子技术和计算机技术的发展,比例电磁铁的需求量与日俱增,在各个控制领域都有应用。下面介绍比例电磁铁的控制技术。
1 PWM驱动的基本原理及特点
PWM(Pulse Width Modulation,脉冲宽度调制)技术是利用半导体开关器件的导通和关断,把直流电压变成电压脉冲列,并通过控制电压脉冲宽度和脉冲列的周期来达到变压、变频目的的一种控制技术[2]。也就是用脉冲宽度不等的一系列等幅值的矩形脉冲去逼近一个所需要的电流或电压信号。
PWM驱动电路,是广泛应用于高精度控制系统的驱动形式。这种电路能够实现宽范围的速度和位置控制,较之常规驱动方式具有无可比拟的优点。 PWM驱动电路线路简单、快速性好、线性度好、效率高的优点,使其广泛应用于测量、通信、功率控制与变换的许多领域中。本设计利用PWM驱动电路所需大功率可控器件少、调速范围宽、快速性好、效率高,功耗低的特点,用C8051F005单片机直接输出的PWM信号经过驱动电路,然后配合合适的控制算法(PID算法或模糊控制算法等)去控制比例电磁铁,可实现离合器的精确控制,对于电控离合器控制系统的研究有很好的参考价值。
2 比例电磁铁与单片机接口电路
2.1 单片机概述
本控制系统采用的单片机是美国Silabs公司推出的C8051F005型单片机[3]。它是完全集成的混合信号系统级MCU芯片,有1个真正的12位多通道ADC、1个可编程增益放大器、2个12位DAC、2个电压比较器、1个电压基准、1个具有32 KB Flash存储器并与8051兼容的微控制器内核,还有硬件实现的(不是在用户软件中用位操作模拟)I2C/SMBus、UART、SPI串行接口和1个具有5个捕捉/比较模块的可编程计数器/定时器阵列(PCA),以及4个通用的16位定时器和4字节宽的通用数字I/O端口。C8051F005有2 304字节的RAM,执行速度可达25 MIPS;具有片内VDD监视器、WDT和时钟振荡器,是真正能独立工作的片上系统,能有效地管理模拟和数字外设。Flash存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。MCU可以关闭任何一个或全部外设,以降低功耗。
C8051F005型单片机可在工业温度范围(-45~+85 ℃)内用2.7~3.6 V的电压工作。端口I/O、RST和JTAG引脚都容许5 V的输入信号电压。
2.2 PWM信号输出及比例电磁铁驱动电路
C8051F005 MCU有一个片内可编程计数器/定时器阵列PCA。PCA包括1个专用的16位计数器/定时器时间基准和5个可编程的捕捉/比较模块。时间基准的时钟可以是下面的4个时钟源之一:系统时钟/12、系统时钟/4、定时器0溢出或外部时钟输入(ECI)。
每个捕捉/比较模块都有自己的I/O线(CEXn线),当允许它工作时,CEXn线通过功能选择开关连到端口的某个引脚。每个捕捉/比较模块都有4种工作方式:边沿触发捕捉、软件定时器、高速输出、脉冲宽度调制(PWM)。PCA捕捉/比较模块的I/O和外部时钟输入可以通过数字交叉开关连到 MCU的端口I/O引脚。
由PCA输出8位PWM信号(占空比可变)程序如下:
$ include (c8051F005.inc)
ORG 0000H
LJMP MAIN
ORG 0073H;定时器3的中断入口
LJMP INTERT33
MAIN:
MOV WDTCN, #0DEH;禁止看门狗定时器
MOV WDTCN, #0ADH
MOV OSCICN, #84H;选择内部振荡器为12 MHz
MOV XBR0, #08H;选择CEX0引脚连到P0.0
MOV XBR2, #40H;允许功能选择开关
ORL PRT0CF, #00000001B;选择P0.0为推拉方式
MOV TMR3RLL, #0B0H;给定时器3低字节赋初值
MOV TMR3RLH, #0A0H;给定时器3高字节赋初值
MOV PCA0CPH0, #0FFH;给PCA捕捉模块高字节赋初值
MOV PCA0CPL0, #0FFH;给PCA捕捉模块低字节赋初值
MOV PCA0MD, #08H;选择PCA的时钟源为系统时钟,禁止CF中断
MOV PCA0CPM0, #42H;选择8位脉宽调制输出方式,并启动开始
MOV PCA0CN, #40H;允许PCA工作
MOV IE, #080H;CPU开中断
MOV EIE2, #1;T3开中断
MOV TMR3CN, #00000110B;启动T3工作,T3使用系统时钟源
SJMP $
INTERT33:
MOV A, TMR3CN;清除T3的标志位TF3
ANL A, #7FH
MOV TMR3CN, A
DEC PCA0CPH0;占空比的改变
RETI
- 基于51单片机的小电阻测试仪(12-23)
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)