基于Proteus仿真的教学机器人智能小车设计

2018-09-29 03:08杨丽新
实验室研究与探索 2018年8期
关键词:直流电机电路设计小车

杨丽新, 马 迎

(华南理工大学 机械与汽车工程学院,广州 510640)

0 引 言

智能小车由于其成本优势,常作为教学机器人,受到众多高校的重视[1-4]。机电控制系统是智能小车的核心,集成了机械与微电子等共性关键技术。对智能小车机电控制系统进行编程,实现一定程度的自动、智能操作,这也是国内机械电子竞赛的常见项目之一[5-7]。Proteus是目前最流行的电路设计仿真和程序调试软件之一,提供了从分立元件到集成元件、从无源器件到有源器件的仿真调试[8-15]。本文通过Proteus编程设计仿真,设计了一款基于8051内核(STC89C52)单片机的智能小车,实现寻迹、避障、测速等功能。

1 智能小车设计方案

如图1所示,智能小车以通用的STC89C52单片机作为控制核心,以常见的模型车底板所搭建的智能小车底盘为平台,通过装配直流电机、光电检测器、红外传感器、超声波传感器等,利用传感器和机电一体化系统设计控制技术实现智能小车的位置、速度、运行等状况的实时测量,再将测量数据传送至单片机,单片机根据所检测的各种数据对智能小车进行驱动、寻迹、避障、速度等控制。

图1 智能小车系统框图

对小车功能的不同要求采用模块化设计方案,分别进行电路设计。设计侧重于对单片机STC89C52的控制以实现小车自动根据地面黑色线路前进、转向,对前方障碍能做出躲避反应,同时能对实时的车行速度进行检测、显示等功能。另外,设计力求改善智能小车对方向判断的稳定性、准确性,尽量克服小车在十字型黑色路线上转向出错率偏高的不足。

2 硬件选用及电路设计

智能小车的控制核心选用STC89C52单片机,其具有8 KByte ROM,512 KByte RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个全双工串行口。智能小车的系统电路可按不同的功能分为驱动模块电路、寻迹模块电路、避障模块电路、速度显示模块电路等,这些模块由不同的传感器检测各种信号,并将信号传送到单片机,再由单片机输出程序指令控制小车做出各种响应动作。图2所示为智能小车控制系统的电路。

图2 系统电路原理图

2.1 直流电机驱动模块及其电路设计

为减小电动机的差异性,利于小车直线行走,选用4个130直流电动机驱动智能小车。利用左右两边轮子的速度差实现转弯,利用时间或是码盘来控制转向角度。电机的工作电压在3~9 V的范围内,一般控制在6 V左右。由于频率过高电动机会发出较大的声音,频率过低电机会发生振动,故PWM调节电动机速度时一般用1 kHz左右的频率。选用L293D驱动芯片,其有稳定性高的特点,2片配合使用可以驱动4个直流电机。

直流电机驱动电路原理图设计如图3所示。其中L293D(U2)的IN1、IN2对应直流电动机1的逻辑输入,IN3、IN4对应直流电机2的逻辑输入,EN1为直流电动机1的PWM输入,EN2为直流电动机2的PWM输入。+5 V、GND为电源输出,用于给控制系统供电。OUT1、OUT2对应直流电动机1驱动输出,OUT3、OUT4对应直流电机2驱动输出。

同理L293D(U3)的IN1、IN2对应直流电机3的逻辑输入,IN3、IN4对应直流电动机4的逻辑输入,OUT1、OUT2对应直流电动机3驱动输出,OUT3、OUT4对应直流电动机4驱动输出。稳压器AMS1117-5(U1)可以将输入电源转变成稳定的5 V输出。对直流电动机1的逻辑控制如表1。

表1 直流电动机1逻辑控制表

同理可得其他直流电动机的逻辑控制方式。

2.2 寻迹检测模块及其电路设计

寻迹模块使用红外线发射和接收传感器,并使用LM339电压比较器以防止输出抖动,检测地面黑色带路线,如图4所示。该电路包括一个红外发光二极管、一个红外光敏三极管及其上拉电阻。发光二极管发射一定强度的红外线照射物体,光敏三极管在接收到反射回来的红外线后导通,产生一个电平跳变信号。光电传感器固定在小车底盘前沿,贴近地面。正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号;电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号后送89C52单片机处理,执行相应程序来控制小车的行进。

图3 直流电机驱动电路原理图

图4 智能小车检测电路

寻迹传感器的工作电压在4~6 V,工作电流30~40 mA之间。当红外光电传感器检测到黑色线时,传感器输出端的电压为1 V左右,当地面(白色)有光反射时,传感器输出端的电压约等于电源电压。

2.3 避障检测模块及其电路设计

避障模块选用US-100超声波传感器(见图5)配合舵机使用,可实现检测小车前方障碍。超声波发射器向小车前方发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回,超声波接收器收到反射波就立即停止计时[10]。该传感器可以实现0~4 m的非接触测距功能,输入电压为2.5~5.5 V,工作方式有串口、电平触发两种(选用电平触发模式),工作稳定性良好。另外,该传感器模块中自带温度传感器,可对测距结果进行校正。超声波在空气中的传播速度为340 m/s,根据计时器记录的时间t,可算出发射点距障碍物的距离L,即:L=340t/2,在程序中设定小车与障碍物距离(或记录时间)小于一定值则做出躲避反应。

图5 US-100超声波传感器(正面、侧面)

定义US-100超声波传感器正面图中5pin排针从左到右依次为1~5号,则其连接方式如下:

1号连接VCC电源(2.5~5.5 V);

2号当为电平触发模式时,接外部电路的Trig端;

3号当为电平触发模式时,接外部电路的Echo端;

4、5号接地。

图6所示为超声波传感器测距(电平触发)时序图。在Trig管脚输入一个10US以上的高电平,系统便可发出8个40 kHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,根据当前温度对测距结果进行校正,将校正后的结果通过Echo管脚输出。在此模式下,模块将距离值转化为声速的时间值的2倍,通过Echo端输出一高电平,可根据此高电平的持续时间t′来计算距离值L′。即距离值为:L′=t′×340/2。

图6 超声波传感器测距(电平触发)时序图

为使避障功能准确、平稳,智能小车加装了一个舵机与超声波传感器配合使用。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其原理是控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。其内部有一个基准电路,产生周期为20 ms、宽度为1.5 ms的基准信号,将基准电路电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。在避障时可以通过舵机控制超声波传感器左右扫描,检测小车除正前方外偏左、偏右两边的障碍。

2.4 速度显示模块及其电路设计

速度显示模块中选用一体化对射红外发射接收管WYC H206和带施密特触发器反向器74HC14,配合编码盘使用,通过单片机计数可获得小车行驶速度,再由4位8段共阳极LED数码管构成的显示器显示小车速度。图7所示为其电路原理图。

图7 测速模块电路原理图

工作电压为4~6 V,工作电流为25 mA,检查频率为1 kHz,可以检查大于2 mm的非透明物体。通电后指示灯D发光,当有遮挡物在检查凹槽时,指示灯D熄灭。检查智能小车速度时,码盘配合测速模块可以输出电信号,提供单片机计数,获得码盘速度。

对于检测到的速度,采用4位8段LED数码管构成智能小车的显示器显示速度值,共阳极,即公共端接电源,其他端接地。显示电路设计如图7所示。

其中数码管的管脚a、b、c、d、e、f、g、dp各串联一个电阻后再与89C52单片机的P0.0~P0.7连接(连接上拉电阻),管脚1~4连接电阻和三极管后再接到89C52单片机的P2.0~P2.3端口。

3 软件程序设计

智能小车的控制系统设计中,除了根据所要实现的功能选用硬件,大量的工作用于对连接起来的硬件进行应用程序的设计开发,软件程序设计在基于单片机的控制系统设计中有着必不可少的重要作用。本研究的软件程序利用模块化设计,由驱动程序、寻迹程序、避障程序、测速和显示程序等模块组成完整的智能小车系统,其流程图如图8所示。

图8 智能小车系统流程图

基于单片机的智能小车设计完成了硬件选用和软件程序设计后,然后采用软件对电路和程序进行仿真,测试该设计是否合理、可否实现。本研究利用Proteus 7 professional软件对小车的设计进行仿真。

在Proteus中绘制各模块电路原理图并连接单片机89C52,如图9所示。

以驱动模块的仿真为例,仿真电路如图10所示。P1.0~P1.7接入两片L293D驱动芯片的输入端,其输出段接到4个直流电机。将设计好的程序导入单片机后进行仿真。通过红外传感器检测地面黑色路线实现寻迹功能,检测到的结果通过信号0与1输送到单片机进行处理。

图9 仿真电路图

图10 驱动模块仿真结果

4 结 语

本文对智能小车的机械控制系统进行了设计,并通过Proteus仿真,验证了各模块的寻迹、避障、速度显示等响应动作。结果显示,基于单片机的智能小车各模块的电路设计合理,控制软件程序精确稳定,可实现智能小车的各种功能,可作为教学机器人的演示与研发案例。

猜你喜欢
直流电机电路设计小车
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
大车拉小车
自制小车来比赛
Altium Designer在电路设计中的应用
负反馈放大电路设计
刘老师想开小车
两轮自平衡小车的设计与实现
基于FPGA的双绕组无刷直流电机软件设计
开漏输出比较器的峰值检测电路设计
基于模糊神经网络PID的无刷直流电机控制系统研究