51单片机可以自己做agv小车控制系统吗

2024-10-30 15:20:33
推荐回答(4个)
回答1:

自动导引车(AGV)车载控制系统的设计

随着自动化技术的不断进步、稳定和普及,各种自动化的产品都应用于人们的生活中,而且自动化技术也在工业等生产中起到了重要的积极作用。大量的快递需求,导致了快递中转站点的自动化运行和装载小车的横空出世和大量应用。这些自动化装载小车,不仅能按照指定的轨道固定运行,而且可以自动装载,装载结束再原路返回,解决了大的重货物导致的人力不够用的问题,也解决了快递货件量太多而需要人跑很多趟的难题,其作用十分显著。
AGV自动导引循迹小车最早出现于20世纪50年代的美国,当时的科学家用循迹原理组成的传感器来实现小车的循迹功能,这是世界上最早发明的智能化的自动运行小车。后来随着自动化的逐步发展,单片机的日渐普及,以单片机为核心的更高级的智能循迹小车也越来越成熟稳定和普及。自动导引车(AGV)车载控制系统也因此被应用于快递中转站点的装载和搬运工作。
本设计基于单片机的自动导引车(AGV)车载控制系统,其主要实现的功能有,小车通电后,进入模式切换功能,默认的模式是自动循迹的模式,也就是,系统启动之后,进入循迹状态,系统会沿着预定的轨道一直运行,到了第一个装载点,就停下来开始装载,一分钟之后装载结束,继续运行,到达第二个装载点的时候,装载点的感应传感器检测到AGV自动导引车的到达,就会启动装载,进行本次运行的第二次装载,装载结束之后,AGV自动导引车继续前行,一直到达本次运行轨道的终点,然后开始卸货。卸货之后,就沿着运行的轨道,原路返回到起点,然后准备开始下一趟的搬运。
AGV自动导引车的装载和卸货都是由一个直流电机为核心动力来完成的。装载时,电机运转,将工人堆放在第一个装载点的货物进行装车,其装车时就是第一个装载点的电机也启动,将装载点的货物滑入AGV自动导引车的车厢内,装载即完成结束,第二个站点也是这样。而当AGV自动导引车到了轨道的终点卸货处,则是AGV自动导引车的卸货电机启动,将导引车内的货物滑入轨迹重点的指定区域。
AGV自动导引车除了循迹模式以外,还具有一个手动控制模式,这个模式就是用遥控按键或者手机app来控制导引车的前进后退左转右转和停止。
AGV自动导引车的系统,其基本电路组成是单片机及其最小系统,其最小系统包括复位电路和时钟脉冲晶振电路,其核心芯片单片机的型号为AT89C51的40个插件引脚的单片机,循迹功能的实现是由两个循迹模块来完成的,循迹模块的原理是红外发光二极管和光敏接收二极管组层的。两个循迹模块分别安装在导引车的车头下方的左边和右边,当导引车沿着黑线轨迹运行时,两个循迹传感器接收到的反射光是相同的,导引车继续沿着黑线运行,当导引车偏离黑线向左时,其左边传感器接收到的反射光的信号就变强,单片机就控制左边电机相应启动小车向右行驶,重新回到原轨道,然后继续沿着轨道的黑线行驶。向右偏离,则启动右边制动电机,导引车向左行驶,重新驶向预定的黑线轨道。左右行驶以及前进后退停止等功能的实现是由左右两个制动电机来完成的,向左行驶是使得右边电机转速快于左边电机,则会左转;右转则是左快于右边电机。前进是左右电机转速相同,这样保持左右同步即可前进运行。后退则是两个电机以相同的速反转。停止是两个电机均熄火不转。遥控功能,也是实现小车的五种运行状态,只不过是通过无线控制的。手机app控制无线操作则是通过蓝牙模块来实现的。

本系统的AGV主要由电源模块,传感器模块,电机模块,主控芯片模块,控制模块组成,如图1所示。其中,电源模块用于为整个信息供电,保证系统的稳定运行。AGV通过传感器模块感知周围环境信息,并将信息反馈至主控芯片,主控芯片运行控制模块,控制模块生成指令集从而驱动电机模块,进而使得AGV自主运行。
方案一:采用桥式电路来对电路进行降压和整流。桥式整流的电路是利用4个1N4007的二极管,搭建一个降压及整流电路,再在输出端利用滤波电容和辅助滤波电容的电阻,来对降压和整流之后的电路进行滤波。本设计中的最初供电是要接入220v交流市电插座中的,而单纯用一个4个二极管组成的桥式电路和两个电容及一个电阻组成的简易滤波电路,根本无法达到高精度的抗干扰的效果。这样组成的电路,其电路供电会非常不稳定,很容易产生杂波等干扰[1]。
方案二:采用开关电源对系统进行降压和整流,并且通过78L05稳压模块,将12v电压转换成5v。首先开关电源内部的电路就很复杂和完善。[2]12v1a的开关电源可以将220v交流电转换成12v的直流电输出,然后再经过2个电容的滤波以及78L05稳压管的降压稳压和两个电容的进一步滤波,其输出的电压是非常稳定的。
综上,方案一中,仅仅使用桥式整流和最基础的滤波电路,不能满足本设计对系统长期稳定工作的要求,因此不选用。方案二,采用工业开关电源以及78L05及其前后双重滤波的电路,不仅实现了电压的稳定持续输入,可以有效地抗干扰,而且保障了220v和12v以及5v这三种工作电压的双重稳态,十分可靠和耐用。因此选择方案二。
方案一:只用一个电机来实现导引车的前进后退左转右转和停止。只用一个电机的话,可以实现导引车的前进、和后退,前进的实现方法是电机正转,后退则是电机反转,左右转只能实现一个,停止则是电机不赚。这种制动方式会导致前进和后退的时候很容易发生偏斜,从而不能按照预想的方向运行,而且只能实现左右转中的一种,电机安在左轮,则只能实现右转;电机安在右轮则只能实现左转。这样就无法实现AGV自动导引车按照指定的轨道循迹运行,也无法实现遥控的定向移动。
方案二:两个电机分别控制后轮的左右轮。这样的话,AGV自动导引车的两个后轮作为整个车子的制动轮。这样可以实现导引车的前进后退左转右转和停止,但是一旦行驶速度稍微快了一些,就会发生车头漂移的危险,十分地不可取。
方案三:两个电机分别控制前轮的左右轮。两个电机分别控制前轮的左右轮,这样子可以有效地实现导引车的前进后退左转右转和停止,并且车头很稳定,不会发生车头漂移,同时这样车头发力,整个车的动力会更大,而保证导引车更加稳定和快速地行驶。
方案四:4个电机分别控制4个轮子的运行。四个电机分别控制四个轮子的五种运行状态的实现,这样整个车会有更大的动力运行更快,并且可以出现更多角度的运行。但是,这样整个导引车的器件成本和控制成本以及耗电量会变得很大,而且并没有必要这样,因此不选用[3]。
综上,方案一,无法有点地实现循迹和遥控等功能的运行。方案二,容易发生车头漂移而造成危险和快递品的损坏。方案四,制造成本过高,控制逻辑过于复杂,耗电量过大,整体耗费过高,因此不选用[4]。综上,方案三,不仅可以实现循迹运行、遥控运行和装在等功能的实现,而且相关成本都很合理,因此选择本方案。
方案一:采用普通的发光二极管和光敏接收二极管。普通的发光二极管,其光照强度很容易被环境光强所干扰,当环境光照强度较弱时,发光二极管的光线较强,这种情况下还可能有效。而当环境光强稍微强些之后,发光二极管的光线就相对较弱了,此时即使导引车行驶到了装载点的位置,由于导引装载车的遮挡而导致的光敏接收二极管接收到的光照减少,其变换也是十分微弱的。
方案二:采用本设计中的E3F-DS30C4这个型号的红外发射二极管以及高质量的光敏接收二极管。E3F-DS30C4型号的光电对管,其发射管是由一个红外发光的二极管发光,其接收二极管是非常灵敏的漫反射的接收方式,其相应时间极快,在2毫秒以内。而且这种光电感应的方式,不仅发射管消耗的能量少,而且接收管消耗的能量也是非常少,并且不需要计算和比较,仅仅是高低电平的变化。简单方便实用,效果好[5]。
方案三:采用超声波模块进行感应。超声波模块包括超声波发射传感器和超声波接收传感器。其原理是根据发出的超声波信号的时间到接收到反射回来的信号的时间之间的时间差,来根据计算公式的计算逻辑,来计算出信号反射处距离信号发射处的距离,由此距离与超声波模块距离装载点在轨道对面的遮挡板的距离相比较当实际距离等于或接近于传感器到轨道对面的遮挡板的距离时,视作导引装载车未到达此装载点,则装载点的电机不启动。
如果实际距离小于固定距离的话,则是有导引装载车的遮挡,此时装载点的电机就启动,开始将装载点的货物滑入导引转载车的车厢内。这一方法看似很完美,实际上存在很大的漏洞。其中最大的问题是,超声波检测这一过程,十分消耗能量,由于需要不断地发出超声波接收超声波以及不断地进行对比计算,这一过程,十分地消耗电能。
综上,方案一中,普通的发光二极管和光敏接收二极管,虽然也耗能较少,不会浪费太多电能,但是其检测结果很容易受到环境光照强度的影响。而方案三中,采用超声波传感器进行检测,虽然检测结果不像发光二极管和普通的光敏接收二极管那样极易受干扰,但是其能耗非常多,长期使用将会浪费掉很多的电能。方案二,其检测方法既简便又有效,而且其判断方法也十分地简单,判断电平变化即可,并且整个过程不管是光电传感器还是单片机其耗能都很低,可以节省很多的电能,防止能量的过分损耗。因此选择方案二。
方案一:采用接收二极管传感器,直接与单片机引脚进行对接通信。光电传感器对管的第一引脚接电源12v正极,第三引脚接电源地,中间的DAT引脚接单片机的任一信号收入口。由此和单片机进行信号交互。而且此方法由于有时候光电传感器检测到的信号较弱,因此其输出的信号也不是那么强,这样会导致光电传感器很容易受到周围杂波的干扰,而产生错误的检测和判断。因而产生单片机做出连锁的错误反应,造成一些不便。
方案二:采用PC817光耦来作为接收二极管和单片机之间进行信号交流的中间媒介。PC817光耦,在此电路中具有两大作用。一是起到信号的放大作用,当光电感应传感器受周围环境影响而导致的输出信号较弱时,光耦就可以对信号起到一个过滤和放大的作用,并把经过处理的信号传输给单片机。同时PC817光耦又可以将光电传感器传输进来的电路进行进一步的滤波,起到隔离作用使得检测信号更加稳定和可靠。
综上,方案一中,光电传感器接头中的信号传输引脚,直接与单片机进行对接,这样不仅会导致检测结果不那么可靠,信号弱一点的时候,光电传感器的输出信号就会很弱,就很容易受到周围杂波的干扰,造成错误的检测。方案二,在光电感应传感器和单片机引脚之间接入一个PC817光耦,不仅可以起到信号放大作用,使得信号更强,而且可以起到隔离作用,使得信号滤去杂波,抗干扰性能更好[6]。
方案一:采用AT89C51作为系统的核心控制芯片。AT89C51作为51单片机中的一种典型单片机,具有时钟定时器计时器和中断等功能,这款单片机的封装是DIP40,即有40个插件引脚,引脚功能强大,引脚数量较多,可以实现很多功能。
方案二:采用STM32系列的单片机作为核心控制芯片。STM32单片机性能非常强大,引脚也很多,处理速度也非常快,但是有一个非常大的缺点就是价格十分地昂贵,一块普通的STM32单片机的价格是同类型的51单片机的十多倍,因此STM32单片机不适合于普通实验场合。
综上,选择方案一,选用51单片机系列中的AT89C51单片机作为核心控制器。
综上,本设计基于单片机的数字型智力抢答器的系统设计,其核心控制器采用的是AT89C51控制芯片作为核心控制器。其中AT89C51单片机有40个引脚,其电路原理图如图3-1所示。单片机具有4个位,分别为P0,P1,P2,P3这些总的位端口,每个位具有8个IO口,例如P0就是包含P0.0-P0.7这8个端口,每个端口可以独立进行控制。其中P3,P2,P1端口都自带有内部上拉电阻,因此可以直接使用,不用外部再接电阻进行上拉功能,而P0口内部没有自带的上拉电阻,因此在使用功能的时候,如果需要用到P0端口,则需要在P0口的8个端口每个IO口都外接一个5k-10k的电阻,来进行上拉作用,以此才能正常使用,上拉电阻的另一端接地。单片机的P3.0和P3.1端口为信号传输端口,可以外接排针来实现对单片机的烧写程序功能,也可以外接蓝牙模块等的信号端口,以此实现通讯。此外,第20引脚和第40引脚分别为单片机负极地引脚和单片机正极5v正电压引脚。定时器0定时器1引脚则分别是第14脚和第15脚即P3.4和P3.5端口。外部中断0和外部中断1引脚则分别是P3.2和P3.3端口,即单片机的12和13引脚。此外第9脚是RST复位引脚,第18、19脚是时钟脉冲引脚用于给单片机提供时钟脉冲[7]。
单片机晶振电路由一个11.0592MHz的插件晶振元件以及两个30pf的贴片电容组成。其连接方式如图3.1.1所示。单片机的18和19引脚分别为XTAL2和XTAL1引脚,即时钟脉冲引脚,这两个引脚分别连接在11.0592兆赫兹晶振的两端,两个电容的一端也分别和晶振的各端相连接电容另一端接地。由此构成晶振的时钟脉冲电路,此电路的作用是给单片机提供时钟脉冲,使得单片机延时和定时器计数器和中断等功能的正确实现[8]。
单片机复位电路的电路原理图如图3.1.2所示。其电路是由一个阻值为3k的电阻和一个容值为4.7uf的电容组成,电容的两端并联一个按键,这个按键就是系统复位按键,用于防止系统死机而无法实现功能的复位。电容和电阻的中间结点接单片机的第9脚也就是RST复位引脚,电容的另一端接5v电源正极,电阻的另一端接电源地。以此实现对系统的复位功能[9]。
本系统中的电源输入,是由220v市电输入的,驱动导引车的五种运行状态的两个电机以及实现装载和卸货的电机的供电电压就是220v的,控制电路部分是由220v市电经过开关电源内的变压器及元件电路降压稳压到12v然后经过78L05稳压芯片以及其两端的电容滤波电路,而实现的12v转5v的降压稳压等。其12v转5v降压稳压电路如图3.2所示。
本AGV自动导引车系统,系统具有两种运行模式,一种是自动按照预定轨道循迹运行,一种是根据蓝牙手机遥控来实现五种运行状态。这两种运行状态之间的切换是通过模式按键来实现的。系统通电之后,默认的是自动循迹模式。当按下模式按键之后,系统进入手机遥控模式。再次按下模式按键,系统再次进入循迹模式,以此类推。其运行模式切换控制电路原理图如图3.3所示[10]
AGV自动导引车其系统通过模式切换按键,进入手动遥控模式之后,就可以通过手机app来对导引车进行五种状态的运行控制了。其原理就是通过界面的5个按键,五个按键的作用分别是,遥控导引车的前进功能,遥控导引车后退,导引车左转和右转以及熄火停止。其手动遥控模式电路原理图如图3.4所示。
本设计AGV自动导引车,其循迹电路的设计原理图如图3.5所示。其电路结构为,两个阻值相同同为1k的电阻串联,接在5v电源的正负极之间,两个电阻的中间节点连接在LM393芯片的第2引脚处,这样LM393芯片的第二引脚处的电压就恒为2.5v即电源电压的一般[11]。其整个原理是,利用光敏二极管在光照强度固定的情况下,其电阻阻值不变;当二极管接收到的光照强度增强时,其电阻急剧减小的特性。由于LM393芯片的比较特性,当芯片的第三引脚的电压大于第二引脚时,输出脚1脚就输出高电平;当第三引脚小于第二引脚,第一引脚输出低电平。因此当光敏二极管的电阻小于与之串联的电阻阻值时,电阻分压大,电阻和光敏二极管的中间节点处的电压就较低,因此输入脚3脚的电压小于输入脚2脚的电压,输出脚产生电平跳变,因此出发该检测一侧的电机速度加快,从而回到原轨道。另一侧原理也如此[12]。
本装载车系统,系统具有两个装载的位置点,每个装载点具有一个光电检测系统,当装载车到达装载点时,光电传感器检测到导引装载车,就开始卸货,卸货一分钟之后,装载车再次开走。其中装载点的工位检测电路其原理图如图3.6所示。系统中对导引车是否到达工位进行检测,其使用的传感器是E3F-DS30C4光电感应传感器,其传感器与本系统电路板中的接线有3个端口,第一根线接系统中的12v电源正极,第三根线接系统中的电源地,第二根线接系统中的PC817光耦的第二引脚,光耦的第一引脚和光电传感器的第一根线之间接一个0805贴片封装的6.8k阻值的电阻,PC817光耦的第三引脚接电源地,第四引脚接单片机的任一一个IO端口[13]。其中光耦的作用是,起到对光电传感器的隔离驱动以及可以防止光电传感器被干扰的作用。其工作过程是,当光电传感器的检测范围内有导引车的遮挡时,系统输出高电平;而没有导引车的遮挡时,则是低电平。其光电传感器的感应电路原理图如图3.3所示。
本AGV导引装载车,其系统中的装载和卸载电路原理图如图3.7所示。其电路核心是对电机的控制,并由电机的运转使得货板倾斜,来做到货物的滑动即货物由装载点的板子滑到装载车上,再由装载车的板子滑到终点这一过程,从而实现货物的装载和卸载的。其电路结构为,单片机引脚接一个3k的电阻R5,电阻R5的另一端接NPN三极管Q1的基极,Q1三极管的集电极接继电器的电源引脚,三极管的发射极接电源地,继电器的另一电源引脚接电源正极,继电器的常开常闭的触点端接电机的正极,电机的负极接地[14]。这样就可以实现单片机引脚来通过三极管的放大作用和继电器的控制作用,来实现对继电器的控制。
本系统,导引车的制动电机控制电路如图3.8所示。其工作电压为220v,其电路结构和工作方法和装载卸载货物的电路类似。其工作过程,就是,例如遥控模式,前进就是通过遥控按钮,来实现车子的两个制动电机同速运行;后退也是按下遥控的后退按钮,使得两个电机以相同的运行速度反转;左转,则是右轮转速大于左轮;右转是反过来;停止就是电机都不转[15]。
PRTUES绘图软件是一款功能强大的仿真绘图软件,这款仿真软件不仅可以实现原理图的绘制,而且可以实现芯片程序的加载和运行过程的模拟和测试,还能实现原理图转成PCB制板图的功能,功能十分强大。其软件界面,如图4.1所示。最上面的显示是图纸所保存的文件夹的位置的名称,左边是工具栏和元件等信息的加载和显示。主界面是电路图的绘制、显示和模拟运行的地方,主界面和文件夹显示之间是界面操作工具栏。4.2系统硬件框图
本系统自动导引车(AGV)车载控制系统的设计,其系统包括,AT89C51单片机及其复位电路和晶振电路组成的单片机最小系统,模式切换电路,循迹传感器电路,遥控按键电路,工位检测电路[16],五种状态运行的电机制动电路和装载卸载货物的电机驱动电路等。其系统的整体硬件框图如图4.2所示。
本系统的导引装载车其系统整体原理图如图4.3所示。单片机及其最小系统是保证系统的正常运行,两个循迹传感器的电路是使得导引车沿着预定轨道运行,模式切换按键是控制小车是循迹运行模式还是遥控运行模式,五个遥控按键是在遥控模式下控制小车的运行,图纸右上角是装载和卸载货物的电机控制电路,右下角两个电路是控制导引装载车的运行的制动电机的控制电路。
KEIL C51编程软件是由国外的KS公司发明的一款适用于51和32等多种单片机的一款较为高级的C语言编程软件,其功能十分强大。
KEIL5编程软件,其界面如图5.1.1所示。左下角是工程加载栏,上面是程序调试和测试栏,中间是代码显示框。最下面是程序测试的输出栏。
KEIL5的软件输出栏如图5.1.2所示,其生成的可烧录的运行程序代码文件如图5.1.3所示。
进行电路绘制和调试运行时使用的是一款简单实用的EDA绘图软件,这款绘图软件是由英国Lab Center Electronics公司出版的名为Protues的绘图软件。这款绘图软件功能十分强大,不仅可以绘制原理图而且可以便捷地运行调试,不仅如此,调试过程中每个端口的高低电平都用不同颜色的方块点来加以区分,非常强大和亲民,而且这款EDA绘图软件并不止限于绘制原理图和仿真调试,它还可以绘制出原理图相对应的PCB图文件,将原理图、仿真运行和PCB图三大功能三合一做成一个软件,非常地先进和方便。
仿真过程如下图所示。
仿真结果证明实验系统具有良好的有效性。
本次毕业设计提出了一种仓储物流自动导引车(AGV)车载控制系统的设计的系统设计,实现的功能主要是AGV采用AT89C51型号单片机进行控制,通过采用红外对管传感器感知仓储物流的信息,控制电机的移动实现自主导航。在硬件设计方面,设计了整体的模块包括:单片机模块电路,电源模块电路,电源转换电路,电机驱动电路,按键电路等等。在软件方面,设计了系统总体流程图,并在KILL5进行烧写并完成Protues软件的仿真。仿真证明自动引导小车的有效性。在本课题的设计过程中,参考了很多关AGV自动控制的资料,但是由于自身的能力有限,还有很多疏忽与不足,对抛丸机和远程监控了解的不够彻底,敬请谅解。

回答2:

可以,51单片机可以控制系统的核心部件,通过编程控制小车的运动、传感器数据的读取和处理等。需要相应的硬件支持,如电机驱动模块、传感器模块等。同时,需要具备一定的电路设计和编程技能。

回答3:

当然可以做

回答4:

可以的,主要看做成什么程度,51拿来做磁导航,巡线的还是可以的