APP下载

基于单片机的步进电机式模拟器仪表系统设计

2011-07-13邵小娟陈宏川

电子设计工程 2011年19期
关键词:指示灯上位仪表

邵小娟,陈宏川,王 睿,李 章

(西南交通大学 电气工程学院,四川 成都 610031)

汽车仪表是驾驶者和汽车的交互界面,为驾驶员提供所需要的运行参数、故障、里程等实时信息,是不可或缺的部分[1]。文中设计的步进电机式驾驶模拟器仪表采用C8051F340单片机控制微型步进电机,带动指针转动显示汽车行驶过程中相关实时信息,通过单片机编程实现系统的自动控制和精确控制。单片机功能强大,将显示、复位、驱动等外围电路有机的组合,提高了系统的交互性。步进电机又称脉冲电机,可直接由数字信号来控制[2],同时步进电机只有周期性的误差,并无累积定位误差,所以精度比较高,满足仪表指针准确定位的要求。结合汽车仪表对车速、发动机转速等信息的显示要求,系统通过改变单片机输出脉冲的频率、时序波形方向来控制电机的速度、加速度、转向等。

图1 系统功能框图Fig.1 Function diagram of the system

1 系统功能设计

基于单片机的步进电机式模拟器仪表系统功能框图如图1所示。单片机控制步进电机分别驱动发动机转速表、时速表的指针转动,实现发动机转速和汽车时速的模拟,并通过LED给驾驶员提示或警告。

1.1 步进电机的工作原理

本系统选用微型汽车仪表步进电机VID29-07。VID29系列步进电机是一种精密的微型步进电机,它是将数字信号准确的转化为模拟信号的显示输出,即它能将电脉冲信号转换为机械的运动量(直线位移或角位移)加以输出[3]。该电机主要特点为:宽电压(3.5 V~10 V);低功率;工作环境温度范围宽;高精度(歩距角最小可达1/12o),满足该仪表系统的要求。电机转轴转速与脉冲频率成正比,转轴输出的位移量与脉冲个数成正比,转动方向(逆时针或顺时针)与输入脉冲时序有关,易于通过控制脉冲频率来控制步进电机的速度和加速度,适合单片机的控制。单片机数字I/O口输出的时序脉冲作为电机驱动芯片频率控制端F(scx)和方向控制端CW/CCW的输入信号,步进电机的4个触点连接驱动芯片的两相输出,当电流信号流经电机4个触点输入时,引起电机线圈的磁场变化,从而引起转动轴的转动,然后再通过齿轮差速比装置带动针轴的旋转[4]。

2 硬件系统的设计

该仪表系统硬件系统设计采用模块化设计思想,主要包括电源模块、控制器模块、驱动模块和通讯模块4部分。

2.1 电源模块

电源模块为系统提供+5 V和+3.3 V电源,+5 V电源为电机驱动芯片和LED显示电路的电源,+3.3 V电源主要提供单片机和通讯模块所需电源。本系统只需外界提供+5 V电源,考虑到工业控制中电源电压受温漂、不稳定电压、谐波等的干扰,系统中采取稳压二极管IN4733获得较稳定的+5 V电压,+3.3 V电压通过稳压芯片LM1117-3.3来获取,但是LM1117是一个低压差电压调节器,所以在稳压芯片电压输入端采用外加一个稳压二极管[5]。电源模块电路设计如图2所示。

图2 电源电路设计Fig.2 Design of power circuit

2.2 控制器模块

本系统核心控制器选用新华龙公司的C8051F340单片机。该单片机内部的4 kb XRAM和64 kb Flash满足控制系统的存储要求,并支持在系统编程;5个8位数字I/O端口均耐5 V电压,方便驱动数量较多的LED;P1端口在步进电机工作过程中通过控制驱动芯片输入信号F(scx)和CW/CCW来改变步进电机的工作状态;P3、P4口输出高低电平控制LED的亮灭;UART模块方便单片机和上位机之间的通信;C8051F340单片机内部振荡器0.25%的精度,支持所有UART工作方式,可用于产生波特率,省去外部振荡器电路的设计,简化了电路;4个通用16位计数器/定时器可用于产生时序波形或计数,控制步进电机转速及转向;片内调试电路提供在系统调试,支持断点、单步、观察/修改寄存器和存储器,便于系统调试[7]。

2.3 驱动模块

该仪表系统驱动模块包括步进电机的驱动和指示灯、照明灯LED的驱动。

2.3.1 步进电机驱动

步进电机的驱动选择专为驱动微型步进电机而设计的VID66-08驱动芯片,VID66-08芯片是一种采用步进电机微步驱动方式而设计的CMOS集成电路,有效降低步进电机转轴的抖动,易于实现指针平稳、持续的旋转。每个VID66-08芯片可同时驱动两路电机,满足本系统的要求。在频率信号端F(scx)输入时序脉冲信号,每输入一个脉冲电机输出轴转动一个步距角(最小可达1/12o)。电路设计如图3所示。

2.3.2 LED驱动

系统中指示灯包括安全带指示灯、车门开关指示灯、机油指示灯、远光指示灯、电瓶指示灯、气囊指示灯、ABS指示灯、发动机自检灯、手刹指示灯、车钥匙指示灯、左右转指示灯、燃油指示灯和水温指示灯等常见指示灯。选用发光二极管来作用,驾驶员只需观察指示灯的实时工作状态就可判断需要进行哪些操作,不需驾驶员手动去检查机油的多少、车门是否关闭等等。系统中指示灯数量比较多,其一端与+5 V电源连接,另一端连接限流电阻再与单片机管脚连接,通过单片机编程控制管脚的输出电平来控制LED的亮灭。

图3 电机驱动电路设计Fig.3 Design of motor driver circuit

除上述指示灯,系统还需多个照明用LED以便驾驶员直观、迅速地读到汽车行驶过程各动态指标。不同于指示灯,照明用LED的功率较大,系统中采用三极管的开关及扩流作用为发光二极管提供所需功率。单片机编程实现控制照明灯的亮和灭[9]。驱动电路的设计如图4所示。

图4 照明灯驱动电路Fig.4 Floodlight drive circuit

2.4 通讯模块

上位机与单片机之间通过UART通讯,由于上位机串口输出电压高至十几伏,而单片机正常工作电压为3.3 V,且只能兼容5 V电压。所以在上位机串口与单片机之间需要添加电平转换电路,系统中采用SP3223芯片实现电平转换,电路设计如图5所示。

图5 电平转换电路Fig.5 Level conversion circuit

电平转换电路中电容均可为0.1 μF,考虑到应用中通讯的稳定、波特率高低等因素,作者将VCC端与地间电容选用1.0 μF。VCC端接地电容也可选择钽电容,但要考虑正负极处理。

3 软件系统设计

该仪表系统软件系统设计由单片机程序和上位机程序两部分。本系统单片机程序用C语言编写,采取模块化设计,包括主程序、中断服务程序及各功能子程序。单片机定时器0产生步进电机的驱动方波。通过比较脉冲数和设定的脉冲周期,利用定时器中断服务子程序实现电机的正反转等动作。脉冲周期的大小直接影响电机转速大小。程序流程如图6、图7所示。

图6 主程序流程图Fig.6 Flow diagram of the main program

图7 步进电机驱动流程图Fig.7 Flow diagram of Stepping motor driver

上位机程序采用MFC控件编写,实现上位机界面控制。通过单片机UART模块实现与上位机通讯,单片机接收上位机指令进而控制步进电机步进运动和LED显示。拖动上位机程序界面中转速表和时速表滚动条可模拟仪表指针的转动;系统中指示LED是负逻辑控制,且可单独控制每个指示灯状态;照明LED是正逻辑控制。

4 系统检测

时速表和发动机转速表逆时针(顺时针)方向转动由输入信号端CW/CCW的低电平(高电平)作用,图8、图9是表针不同转向时电机驱动芯片方向控制端波形。

上位机编程将0~180°分为4 320个单位,对应单片机编程中0~360°的8 640个单位。若上位机发送指令以每次拖动n个单位步进运动,则驱动芯片脉冲控制端要输入2 n个脉冲波形。即单片机P1.1、P1.3在步进电机步进运动的每一步输出2 n个脉冲波。程序中定时器0周期300 ms,每个周期是系统周期的一个12分频,计算出所产生方波的最小周期为0.6 ms。不同速度拖动步进电机运动的波形如下图10图11所示。

图8 电机顺时针转动Fig.8 Motor rotated clockwise

图9 电机逆时针转动Fig.9 Motor rotated counterclockwise

图10 每步8单位步进运动Fig.10 Stepping movement with each step 8 units

图11 每步10单位步进运动Fig.11 Stepping movement with each step 10 units

5 结束语

该仪表系统通过单片机控制步进电机运转和LED显示状态,其可靠性高、稳定性好、硬件电路简单、易实现,能方便地控制步进电机的运行、停止、转速和方向,由上位机程序界面可以控制步进电机各种运行方式及LED的各种显示,使得系统能应用于各种环境,在一定意义上保证了驾驶员的安全。系统电路设计简单、成本较低、方便控制、实用价值高。文中设计的基于单片机的步进电机式车辆仪表系统已经成功地应用在汽车驾驶仿真器上,并得到了理想的效果。

[1]刘帅,祖静,张红艳.基于单片机的步进电机控制系统设计[J],电子设计工程,2010,18(4):38-40.

LIU Shuai, ZU Jing, ZHANG Hong-yan.Design of control system ofstepper motor based on microcontroller[J].Electronic Design Engineering,2010,18(4):38-40.

[2]余世超,高志,邵鹏.基于单片机的步进电机控制系统的设计与研究[J].煤矿机械,2010,31(05):210-212.

YU Shi-chao, GAO Zhi, SHAO Peng.Design and research of MCU-based control system for stepper motor[J].Coal Mine Machinery,2010,31(05):210-212.

[3]张萍,王毅博.汽车驾驶模拟器仪表驱动系统的设计与实现[J],自动化技术与应用,2008,27(3):97-99.

ZHANG Ping,WANG Yi-bo.The driver circuits of the instrument board of a driving simulator[J].Techniques of Automation and Applications,2008,27(3):97-99.

[4]廖建斌.步进电机汽车仪表控制技术[J].汽车电器,2008,(6):5-9.

LIAO Jian-bin Stepper motor meter control technology of automobile[J].Automobile Electric Appliances,2008,(6):5-9.

[5]阎石.数字电子技术基础[M].4版.北京:高等教育出版社,1983.

[6]张伟,孙颖,赵晶.电路设计与制版Protel99SE高级应用[M].北京:人民邮电出版社,2007.

[7]Cygnal Integrated Products,Inc.著,潘琢金,孙德龙,夏秀峰,译.C8051F单片机应用解析[M].北京:北京航空航天大学出版社,2002.

[8]华大龙,杨晔,潘汉怀.步进电机原理及其驱动电路的研究[J].计算机工程应用技术,2009,5(34):9841-9842.

HUA Da-long, YANG Ye, PAN Han-huai.Motor theory and driving circuit[J].Computer Knowledge and Technology,2009,5(34):9841-9842.

[9]Marc T.Thompson著.实用模拟电子设计[M].张乐锋,等译.北京:人民邮电出版社,2009.

猜你喜欢

指示灯上位仪表
◆ 仪表
◆ 仪表
仪表
特斯拉 风云之老阿姨上位
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
以新思路促推现代农业上位
荣威750车ABS指示灯和防侧滑指示灯异常点亮
上海大众POLO充电指示灯点亮
Microchip推出全新零漂移仪表放大器