自动控制小车控制器的软硬件实现
2017-04-25隋美丽夏征刘敏杰任小龙
隋美丽,夏征,刘敏杰,任小龙
(1.北京电子科技职业学院 汽车工程学院,北京 100176;2.中油管道检测技术有限责任公司,河北 廊坊 065000)
自动控制小车控制器的软硬件实现
隋美丽1,夏征2,刘敏杰1,任小龙1
(1.北京电子科技职业学院 汽车工程学院,北京 100176;2.中油管道检测技术有限责任公司,河北 廊坊 065000)
采用16管脚的STC12C5202AD单片机作为自动控制小车转向控制器的控制芯片,该控制器实现了前进、后退、左转和右转的控制,结果表明该控制器可有效地实现设计的功能。
线控;控制器;软硬件
CLC NO.: U463.62 Document Code: A Article ID: 1671-7988 (2017)07-39-03
绪论
转向系统是实现驾驶员转向意图、控制车辆操纵稳定性的重要系统,汽车转向盘和转向轮通过转向机构直接连接。线控转向系统,取消了转向盘和转向轮之间的机械连接,摆脱传统转向系统的限制,驾驶员可通过向车辆输入转向盘的转角指令达到转向的目的,在操纵稳定条件下,由控制器根据转向盘的转角、车辆状态等信息,依据有关控制算法确定合理的前轮转角,达到转向目的[1]。本文采用STC12C5202AD单片机为主控芯片,对自动控制小车的线控控制器研究,通过该控制器实现自动控制小车的控制。
1、控制芯片的选择
线控小车控制系统主控器采用STC12C5202AD单片机,是一种高速、低功耗、抗干扰能力强的新一代增强型8051单片机,其指令代码完全兼容传统8051,1个时钟/机器周期,速度比普通8051快8~12倍,电压范围5.5~3.3V,工作频率为0~35MHz,2K字节片内Flash程序存储器,擦写次数10万次以上,256字节片内RAM数据存储器,硬件看门狗,2路PWM,8路高速8位A/D转换器,转换速度可达250KHz,I/O驱动能力可达20mA。这款芯片的特点是低功耗、抗干扰性强、价格低廉。具备ISP和IAP,无需专用编程器和专用仿真器,并可通过串口直接下载用户程序。系统采用16管脚封装的STC12C5202AD单片机,管脚如图1所示。
图1 STC12C5202AD单片机管脚图
2、硬件设计
线控系统可使用三节7号电池,也可以使用外部供电方式,由按键S1控制切换,系统电路如图2所示。图中的W1和W2为两个摇杆,分别接到P1.1、P1.2、P1.5、P1.6,AN1、AN2、AN3、AN4为四个按键,分别接到P3.3、P3.7、P1.7、P1.0,其中P1.0-P1.7可用作A/D转换接口,也可作为数字I/O使用,通过配置相关寄存器实现功能的切换。单片机通过串行通信口(P3.0和P3.1)与MAX485芯片连接,实现RS-485串行通信。其实物如图3所示。
图2 系统电路图
图3 线控器实物图
3、程序设计
3.1 A/D转换程序设计
对于STC12C5202AD来说,由于内部包含了A/D转换模块,只要从P1.0-P1.7端口直接输入0-5V模拟信号就可以实现A/D转换。
要获得摇杆A/D转换数据,首先要初始化A/D转换器,初始化函数定义为InitADC。函数实现代码如下:
其中,P1ASF为P1口模拟功能控制寄存器,作为A/D使用时,需先将P1ASF特殊功能寄存器中的相应位置“1”,则将相应的端口设置为模拟功能,应注意,该寄存器是只写寄存器,读无效。实际上,由于芯片没有将P1.3和P1.4管脚引出,A/D转换输入端口最多只能接6个。ADC_RES为A/D转换结果寄存器,接收8位转换数据。ADC_CONTR为A/D转换控制寄存器,ADC_POWER为电源控制位,0为关闭A/D电源,1为打开;SPEED0和SPEED1为转换速度控制位;ADC_START为A/D转换启动控制位,1为开始转换,转换结束后为0。ADC_FLAG为转换结束标志位,当转换结束后由硬件置1,需要再次转换时,由软件清0。P1ASF和ADC_CONTR寄存器如表1所示。A/D转换的函数定义为GetADCResult,获得A/D转换结果,channel为通道号0-7。
表1 P1ASF和ADC_CONTR寄存器
3.2 小车控制程序
小车接收端串口采用RS-485模式通信,通信参数规定为:波特率规定为19200,数据位为8位,停止位为1位,无奇偶校验,因此,线控器(发送端)也必须与接收端保持一致。线控器STC12C5202AD主控芯片也必须通过RS-485总线向小车发送命令来控制小车启停、转向、尾灯闪烁等。线控器与小车的通信控制协议(十六进制)如图2所示。
表2 线控器与小车的通信控制协议
图4 线控小车转向控制器主程序流程图
小车接收到一帧数据后,就会按照命令执行相关操作。小车左右轮的转速数值在0-128之间,对于正反转/灯闪操作而言,位5或位6置1、清零分别表示小车电机正转或反转,位3置1为小车尾灯闪烁,舵机转角在本例中范围设置为15-65。系统用一个摇杆实现小车的前进、后退,另一个摇杆实现小车的左转、右转。一个按键实现小车的尾灯控制。线控小车转向控制器主程序流程图如图4所示。
4、结论
本系统软硬件设计可靠,电路简单、性能稳定,采用STC12C5202AD系列单片机为小车转向的控制器的主控芯片,实现了小车前进、后退、左转、右转的控制。并且芯片本身价格低廉,有效降低了成本,系统升级简单,维护方便,很适用于小车控制。
[1] 杨胜兵. 线控转向系统控制策略研究[D]. 武汉理工大学:湖北武汉2008.6.
[2] 隋美丽,杨立平,吕江毅,等.自动控制小车的软硬件实现[J]. 河南机电高等专科学校学报,2014.3:4-8.
[3] 隋美丽,龙建,刘敏杰,等. 太阳能光伏电动小车嵌入式系统设计[J].汽车实用技术,2016.2:133-135.
Hardware and Software Implementation of Automatic Control Car Controller
Sui Meili1, Xia Zheng2, Liu Minjie1, Ren Xiaolong1
(1.School of Automotive Engineering, Beijing Polytechnic, Beijing 100176; 2.China Petroleum Pipeline Inspection Technologies Co. Ltd, Hebei Langfang 065000)
The 16 pin STC12C5202AD microcontroller as the automatic control of the car steering control chip controller, the controller can control the forward and backward, left and right, the results show that the controller can effectively realize the function of design.
Steer-by-wire; Controller; Hardware and Software
U463.62
:A
::1671-7988 (2017)07-39-03
隋美丽(1978.11- )女,讲师,博士。就职于北京电子科技职业学院,主要从事汽车电子、车辆工程等方面的研究。
10.16638/j.cnki.1671-7988.2017.07.017