DIY编程器网
标题: 自动巡线与人工遥控相结合的太阳能运输小车 [打印本页]
作者: admin 时间: 2015-4-28 14:54
标题: 自动巡线与人工遥控相结合的太阳能运输小车
引言
本文设计的智能小车是一种集实时采集传感器信号、自动方向控制及速度调节等技术于一体的自动小车。系统通过单片机进行采集信号和控制分析。采集的信号包括引导线检测电路的信号,码盘检测的信号,红外遥控的信号等。把分析结果与预设值相对比,从而控制小车的运行情况。小车可以把货物从A地自动运输到B地。当小车检测到有货物时自动前行,到达目的地时自动停止。当货物被取下时小车自动回到原始的位置,重新开始下一次的运输。系统主要由以下几个模块组成:单片机模块,驱动电路模块,引导线检测模块,码盘测速模块,太阳能充放电控制模块,红外遥控信号模块。必要时还可以将系统检测到的信息传递给上位机进行监测。系统组成原理框图如图1所示:
图1 系统组成原理框图
1.系统软件设计
系统采用c语言进行程序设计,具有很强的可操作性。并且主要有主程序和
中断子程序构成。主程序控制框图2所示:
图2 系统软件设计框图
2.各部分硬件组成及功能实现
I太阳能充放电控制模块
组成:太阳能光伏电池阵列,蓄电池,充放电控制系统,AVR单片机。
电源的选择
太阳能小车光伏供电系统的关键是太阳能电池和蓄电池之间的合理配置。光伏电池通常由单晶硅、多晶硅、非晶硅和化合物等材料组成,目前国内光伏材料的光电转化效率一般为14%左右。本装置中的太阳能电池板的型号为NZ6161,6个太阳能电池板串联成一组,然后两组并联,使太阳能电池阵列输出电压达到2V*6=12V,输出电流约为0.6A。与此相配备的蓄电池的氢镍电池,型号为QNFZ10,其主要技术指标:额定容量为10Ah,标称电压为1.2V,如果将10个蓄电池串联成一组,然后两组并联,输出电压将达到1.2V*10=12V。
蓄电池充放电控制。为了保证蓄电池的正常工作,系统必须有自动控制和保护功能。当有足够的太阳光照射时,多余的能量就给蓄电池充电;当太阳能电池功率不足时,由蓄电池给小车供电;系统对蓄电池的过充、过放等状态进行实时监控,蓄电池放过充的电路原理如图3所示。
图3 太阳能充放电控制电路
U1-PA1端测得蓄电池充电的电压值,通过A/D采样后与门限电压值相比较,若超过设定值时,单片机U1-PA0输出高电平,Q1 MOSFET导通,将蓄电池切离充电回路,并熄灭充电指示灯。当U1-PA1端测得蓄电池的电压值低于设定值时,切断输出回路,以避免蓄电池电量过放。
图4 蓄电池充放电模块软件设计框图
II 驱动电路模块
组成:L298驱动芯片,四个电机,单片机
控制系统主要由L298驱动芯片和7404组成。采用后轮驱动,前面的左右两轮控制方向的模式。前面的左右两轮采用同种差劲运动结构的小车,依靠轮子的速度差进行转向,当两边轮子的速度相同时向前运行,速度不同时进行转弯,左轮速度比右轮速度快时向右转弯,右轮速度比左轮速度快时向左转弯,同时选用小车时要注意小车的速度,不能选择速度过快的小车,因为小车行驶过快,不易控制它的转弯。驱动电路如图5所示。
图5 驱动电路控制模块
III 引导线检测模块
组成:反射式红外发射-接收器
这里的引导线检测是指小车可以在白色地板上沿着黑线行走。反射式红外发射-接收器对黑白比较敏感,灵敏度高,且电路简单,完全满足系统要求。
反射式红外发射-接收器检测到信号后与比较器LM324 的参考电压相比较,当检测不到黑线时,发射管发出的光经面板反射后被接收管接收,接收管导通,LM324同向电压低(≈0V);当检测到黑线时,发射管发出的红外光将不被接收管接收,接收管截止,LM324同向电压高(=Vcc)。
由于小车不可能始终保持在一个方向上,必然会偏离黑色轨道,为了使小车在偏离轨道后,能调整方向,重新回到轨道上,系统需要将路面的状态及时的以电信号的形式反馈到控制部分,控制部分控制前轮驱动电机,使小车重新回到轨道上来。
图6 引导线检测电路
如图6所示,R1,R4起限流电阻的作用,红外发射二极管发出光线,当反射物体为白色时,光反射到红外接收的三极管,三极管的发射极和集电极导通,此时运算放大器的同向输入端输入为低电平,放大器的输出端输出为低电平,当反射物体为黑色时,光反射到红外接收的三极管,三极管的发射极和集电极截止,此时运算放大器的同向输入端为高电平,放大器的输出端输出为高电平,通过调节R2可以调整检测的灵敏度。
表1 巡线电路输出真值表
图7 运行状态指示图
从巡线电路输出真值表中可以看出,当小车行驶状态不一样时,三个传感器输出值也对应不同,单片机结合各传感器送入的值,作出不一样的反应,如轻微右偏时单片机控制小车向左转弯,从而使小车回到正常的路径上。
当小车检测到的信号为000时,可能发生了两种情况:
第一,小车已经严重的偏离了正常的运行轨道;第二,引导线有暂时的中断。对于第一种情况应该立即停车,而对于第二种情况应该进行判断。判断的方法是,让小车继续前行,如果继续行驶了2-3秒仍然未检测到信号则判定为偏离轨道;如果检测到了引导线信号,则可继续前行。
IV 码盘测速模块:
仪器:红外光电码盘
安装在车后轮上,用来测定小车速度,如有必要可通过无线通信系统传递给上位机,进行分析和处理。
图8 红外光电码盘
V 红外遥控模块
组成:遥控器,红外线接收器
信号接收装置主要有二极管、TSOP34836芯片及相应的电路构成。电路图如图9所示:
图9红外信号接收电路
软件设计:
红外线遥控器通过RC5代码传输数据,而RC5数据包包含了设备地址、键盘编码器和一个触发器。5位的设备地址告诉哪个设备被遥控器控制。而对于本文的使用,设备地址也可以用来满足一些单独设备的使用。6位的编码器附和按键遥控允许传输其他的数据,但对于每个传输仅仅提供6位编码器附和按键遥控。
在AVR—GCC环境下。RC5数据包可以通过使用void IRCOMM—sendRC5(unit8_t adr,unit8_t data)函数传输。其中,adr相当于设备地址;data相当于键盘编码器。参数adr允许在重要的位(MSB)通过申请常量TOGGLEBIT来设置触发位,方式如下:IRCOMM sendRC5 (12lTOG.GLEBIT,40);这个指令将通过地址12传输一个RC5数据包给设备,激活触发位并且以40作为数据值,如IRCOMM—sendRC5(12,40)。
事件处理程序可以管理RC5的数据接收,只要RC5数据包接收,事件处理程序将自动地被task ACS0函数调用。例如写一个程序,程序的要求是如果机器人接收到键盘编码4号键,小车会向左转;接收到键盘编码6号键则向右转。
对于事件处理程序规定必须相应采用void receiveRC5Data(RC5data_t rc5data)形式,但也可以自由地命名函数。可以通过IRCOMM_setRC5DataReadyHandler(receiveRC5Data)函数允许记录一个预定的事件处理程序。在这之后,专用的函数将被每个有效的RC5接收的代码调用。值得一提的是:RC5data_t是专门的预定义的数据类型.包含RC5设备地址、触发位和键盘编码(分别有对应的值)。可以通过标识符rc5data.device、rc5data.toggle_bit、rc5data.key_codet21就像使用变量一样地使用这些数据。程序流程图如图10所示:
图10红外检测电路软件设计框图
结束语
近年来,太阳能”绿色交通工具“被公认为很有发展前途,并迅速发展,被广泛应用于家庭、休闲、公园等场所。本次设计的小车将集成化和智能化的理念较好地融入到控制系统设计中,所采用的AVR单片机其电路简单、故障率低、可靠性高,成本低廉,并且高速、低耗、保密。结合太阳能与AVR单片机两者的优点,实现了造价低廉,功能实用,节能节源的目的。本次设计的小车只是一个自动运输电动汽车的缩影,今后可推广应用于大功率太阳能电瓶车或电动汽车的控制场合,实现自动运输功能。
作者: whmph 时间: 2022-1-30 10:27
看帖回复是种美德顶起
欢迎光临 DIY编程器网 (http://diybcq.com/) |
Powered by Discuz! X3.2 |