基于PID控制算法的电磁车设计系统*
2017-08-29邱利军
师 宁,季 君,邱利军
(北京电子科技职业学院,北京 100176)
基于PID控制算法的电磁车设计系统*
师 宁,季 君,邱利军
(北京电子科技职业学院,北京 100176)
本文介绍了以单片机MC9S12XS128为主控制模块,以L7805CV稳压模块、IR2104全桥驱动模块和SYN7318语音识别模块为主要硬件的智能小车的设计方法。我们通过LQ-1401M 模块来采集路面信息,使用主控模块PID控制算法调节驱动电机的转速和转向以及舵机的角度,进而实现了智能小车的无线遥控、语音识别和自动循迹等各项功能。整个系统的电路结构简单,成本低廉,功能多样,可操作性高,适合学生学习及创新,通过测试该智能小车实现了预期的设计目标,各项指标达到系统要求。
MC9S12XS128;SYN 7318语音交互模块;PID控制算法
智能循迹小车是二十世纪五十年代研发出来的新型智能搬运机器人,在工业应用中,它通常采用充电电池为动力来源,利用程序控制它的运动轨迹以及动作。此外,还可以在地板上贴上电磁轨道来指定其行进路线,智能小车通过电磁轨道反馈的信息进行移动,将物体从起始点自动运送到目的地。
智能循迹小车控制系统利用电磁感应传感器反馈回的电磁信号差异来控制车辆的转向,并通过闭环控制保证循迹小车能够稳定的自动跟踪所设定路线。在目前商业用途中,智能循迹车绝大多数采用这种电磁感应进行导航。
本文就是从系统硬件、软件和控制算法三方面对智能循迹小车的整体结构进行了分析和介绍。硬件系统可分为五个模块——无线遥控模块、MC9S12XS128单片机模块、电机驱动模块、语音识别模块、自动循迹模块。同时以LQ-1401M为传感器,通过它检测路面情况,并将测量数据传送至MC9S12XS128单片机进行处理及控制,最终实现了小车的自动循迹、语音识别、无线遥控等诸多功能。
1 硬件系统设计
硬件是整个智能小车系统的基础,经过充分的调研,我们选用了MC9S12XS128单片机、 HC06蓝牙模块、TSL1401CL图像采集模块以及SYN7318语音模块等元器件搭建了这个智能小车系统。电磁智能车系统分为七大模块:主控制器模块、电源模块、电磁传感器模块、舵机驱动模块、语音控制模块、电机驱动模块和图像采集模块[1],整个系统的设计框图如图1所示。
图1 系统整体框架
小车的工作原理是电源模块为各模块提供电力能源,主控制器MC9S12XS128将信号采集模块采集到的信息以及速度反馈信息汇总并分析,然后发出控制命令,并将信号送到电机驱动模块和舵机驱动模块,分别实现对速度和转向动作的控制,就这样周而复始,最终实现对智能小车的自动识别和循迹的功能[2]。
1) 电源模块
电源模块是硬件设计中的一个重要组成部分,它主要是对7.2 V、2000 mA蓄电池进行电压调节。由于各模块需要的工作电压和电流不尽相同,所以在实际中我们设计了多种稳压电路,用来满足各模块的实际工作电压需要[3]。其中7.2 V电压给驱动电路供电,5 V电压给单片机、运放、编码器、蓝牙、LCD、电机驱动使能端等供电,6.5 V电压给舵机供电。同时由于L7805CV稳压芯片的输出电流比较小,所以我们采用了两片L7805CV分别对主控制器、速度检测电路、驱动芯片电路和传感器电路进行供电,来保证整个系统的正常运行。
2) 电机驱动模块
驱动电路的主要作用是给小车的驱动电机提供控制和动力,设计的主要指标是要求能够通过比较大的电流[1]。直流驱动电机控制电路控制直流电机的转动方向和速度,直流电动机的转动方向可以通过改变电动机两端的电压来实现的;电动机的转速一般采用PWM控制。由于IR2104芯片一片就是一个半桥,所以我们把IR2104芯片作为电机驱动芯片,我们采用两片BTN7971组成一个H全桥电动机驱动电路,电路图如图2所示。我们可以改变从主控芯片输入到BTN7971的PWM的占空比来控制电动机的供电电压的大小,从而实现了对转速的控制[2]。
图2 IR2104全桥光隔离驱动电路
需要注意的是驱动板供电电压不得超过额定电压,且电源不能接反,驱动板供电电压最高不得超过12 V,最低不得低于5 V。 驱动板已经集成了高速光耦隔离芯片,可直接和单片机PWM或I/O口相连。控制信号频率最高不要超过25 kHz。
3) SYN7318语音交互模块
语音识别模块SYN7318集成了语音识别、语音合成和语音唤醒功能模块。一般应用中语音合成系统最小系统需要包括:控制器模块、SYN7318模块、功放模块、喇叭。如果需要使用语音识别功能,系统中还需要增加麦克风。
语音合成系统中,SYN7318模块支持UART通讯方式,允许上位机发送数据的最大长度为4 kB。主控制器和SYN7318模块之间可以通过UART接口连接,控制器可通过上述通讯接口向SYN7318模块发送控制命令和文本,SYN7318模块将接收到的文本合成为语音信号进行输出,输出的信号经过功率放大器进行放大后连接到喇叭进行播放。SYN7318模块接口示意图如图3所示。
4) 图像采集LQ-1401M 模块
图像采集模块LQ-1401M内部采用的是TSL1401CL线性CCD图像传感器,该传感器具有像素数据保持功能,可同时集成启动和停止所有像素位,而且内部集成了电荷放大器电路。 由于这种内部控制逻辑电路的特点,因此在实际中主控芯片只需要一个串行输入(SI)信号和一个时钟信号(CLK)就可以实现对电路的全部逻辑控制,读取模拟输出口的电压,进而完成对数据采集工作。这样就可以大大简化对芯片的操作。
图3 SYN7318模块UART接口示意图
在本系统中,我们将通过主控芯片的PA0和PA1引脚分别接入SI信号和CLK信号,并按特定的时序发出方波信号,TSL1401CL的AO引脚就会依次输出128个像素点的模拟信号给主控芯片,进而完成对数据的采集工作。我们在实际测试中发现,这个传感器的输出信号受环境光线的影响很大,其输出值白天比晚上高,对光和背光相差也很大。硬件已经选定好,那镜头和放大倍数就已经确定,这样必然会经常出现信号不稳定的情况,对于此问题我们可以通过软件使用动态曝光时间或通过单片机动态改变运放的放大倍数来解决。
2 软件系统设计
系统有了硬件这个平台之后,还需要软件的支持才能让小车动起来,而软件的核心是控制算法,算法是车模的灵魂[4]。软件算法设计主要从赛道信息采集、电机、舵机PID两方面介绍算法,控制程序流程如图4所示。
智能小车的控制包括电机和舵机的控制,具体的控制算法也有很多,本项目采用了经典的PID控制算法来实现是对小车的运动控制。PID的英文全称是Proportional Integral Differential,即比例、积分、微分控制的简称。在自动控制领域中,PID控制是最原始,也是使用最多的一种基本控制方式。
PID控制器的原理是把对系统的被调量实测值与设定值之间的偏差作为输入信号,并利用这个偏差的比例、积分、微分三个环节的不同组合作为输出信号,进而计算出对被控对象的控制量[4]。
图4 智能车控制程序流程图
(1)
其中r(t)为设定值,y(t)为实测值,e(t)为偏差信号:
偏差信号e(t)的比例、积分、微分的线性组合如下列公式所示,这个公式也被称为PID控制律:
(2)
式中,KP为比例系数;TI为积分时间常数;TD为微分时间常数。
在单片机中,我们仅能对数字信号处理,即数字PID控制,所以将上式离散化得[4]:
(3)
系统软件采用C语言编写,通过CodeWarriorIDE编译。
C语言是使用非常多的一种编程语言,它能实现汇编语言的大部分功能,而且语法简单,易懂,运算符和数据类型丰富,能够直接访问物理地址,进行位操作,因此可以减少程序员对硬件的操作,功能性和可移植性很强。具体的程序如图5所示。
图5 C语言控制程序
3 结论
本文介绍了以单片机MC9S12XS128为主控制模块,以L7805CV稳压模块、IR2104全桥驱动模块和SYN7318语音识别模块为主要硬件的智能小车的设计方法。从系统的整体框架、硬件设计、软件设计和控制算法等四部分介绍了智能小车的设计方案。本方案的优点是电路结构简单,成本低廉,功能多样,可操作性高,系统稳定性好。在实际调试中,我们对各参数反复试验,最终让智能小车响应速度快,能够按照我们设定的路线行驶,并且动力性能和转向性能都很良好。经过测试,这个智能无线遥控小车实现了无线遥控、语音识别、自动寻迹等诸多功能,达到了我们设计的预期目标。
[1] 郑子栋,梅孝安,蒋海峰,等.基于线性CCD图像识别智能小车的设计与开发[J].电子技术,2015(2):62-64.
[2] 李万敏,王彦.基于CMOS摄像头的循迹智能小车控制系统设计[J].科技风,2015(7):81-82.
[3] 龙涛,叶梦君,雷改惠,等.基于电磁技术的智能车系统的硬件设计[J].可编程控制器与工厂自动化,2015(5):57-61.
[4] 夏钟旭,蒋璐.基于MC9S12_S128处理器的智能循迹小车分析研究[J].电子制作,2016(11):28-30.
Design of Electromagnetic Car Based on PID Control Algorithm
Shi Ning, Ji Jun, Qiu Lijun
(BeijingPolytechnic,Beijing100176,China)
This paper introduces the design method of the intelligent car based on MC9S12XS128 control module, L7805CV voltage regulator module, IR2104 full bridge driver module and SYN7318 speech recognition medule. It uses LQ-1401M module to collect the road information, and the main control module PID control algorithm is used to adjust the speed and steering of drive motor and the steering angle, so as to realize the wireless remote control, automatic speech recognition, tracking and other functions of smart car. The whole system has the advantages of simple structure, low cost, multiple functions, high operability, and is suitable for students to learn and innovate. Through the actual test, it realizes the expected design goals.
MC9S12XS128; SYN7138 speech recognition module; PID control algorithm
2017-04-26
2017-05-10
北京电子科技职业学院2017年科技一般课题(2017Z004-017-KXY)
师 宁(1981- ),女,河北邢台人,讲师,工学硕士,研究方向:控制理论在过程控制中的应用。
1674- 4578(2017)04- 0013- 04
TP23
A