基于 XC866 的步进电机阀门控制系统
2硬件设计重点
①步进电机驱动电路
在本设计中,我们选用了三洋公司(SANYO)电机驱动芯片LB1836M(见图2)。本文引用地址://m.amcfsurvey.com/article/162245.htm
LB1836M是低饱和双通道双向电机低电压驱动器件,引脚INl、IN2、IN3和IN4是步进脉冲的输入端。
OUT1、OUT2、OUT3、OUT4为步进脉冲的输出端,分别与步进电机电机对B、A、/B、/A相连接。LBl836M输入端的四个步进脉冲可由单片机的P3.1、P3.0、P3.3、P3.2四路PWM通道产生。四个I/O口输出的相位关系为P3.0与P3.2反相,P3.1与P3.3反相,P3.0与P3.1相差π/2。
②阀门控制电压采样电路
由于本设计中采用了一个0~2.5V的电压信号调控阀门的打开程度,单片机利用定时器中断对电压进行采样,然后传送到ADC模块再进行控制。电压采样电路如图3所示。
图3 电压采样电路
电压信号由Input端输入经过电阻分压,然后通过一个电压跟随器,这时1点电压与3点电压相同;然后,将信号传送到XC866的P2.4端口,再送到ADC模块进行电压采集。VAREF引脚为XC866的ADC参考电压介入口,VAGND为ADC接地。参考电压为2.5V,用LM4040的稳压二极管将电压稳定在2.5V,电容的设计是用来减少干扰。
③ 软件设计
本设计中步进电机的控制脉冲信号,是由软件编程控制XC866产生的,用C语言编写。软件的主要流程是:系统启动后,首先进行单片机和外围器件的初始化,I/O口进行置位,设置定时器。定时器产生中断,对目标电压值进行采样,与当前位置的电压分别经过A/D转换(参考电压为2.5V),再进行比较,求出二者的差及符号。当差值在允许的误差范围内,步进电机不动;当差值超出允许误差范围时,从XC866的四个I/O口输出所需数量的脉冲信号,控制电机转动。为防止在A/D转换中出现的误差及步进电机本身的误差的存在,造成电机振荡。因此,在程序设计时,规定一定的误差范围。
评论