毕业设计| 单片机自动分拣小车

发布时间:2023-04-26  

自动分拣小车总体方案

分拣小车的任务是:小车来到上货点并放上货物后,经过扫码识别和服务器判断,给小车发送指令信息,接收到指令后小车将货物分拣到指定位置。


小车总体功能结构

本设计需要的模块有:循迹避障小车模块、定位卸货模块、无线交互模块。


主控单片机:采用STC的STC89C52RC,为8051内核,内含Flash E2PROM存储器,为CMOS产品,芯片内部存续存储空间的大型为8KB。单片机内部RAM随机读写存储器大小为512B。选用的工业级双列直插式封装型号的单片机。


除此之外,STC89C52单片机具有以下标准功能:4个外部中断,看门狗定时器,MAX810复位电路,16 位定时器3个,全双工串行口,7向量4级中断结构一个。可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲时CPU 停止工作,可允许串口、RAM、中断、定时器/计数器继续工作。掉电保护模式下,冻结振荡器,RAM里的内容被保存,一切工作停止,直到下一个硬件复位或中断。


51系列单片机在市面上综合的成本较低,相比于STM32,其开发的简单应用更为低价。对比其他八位单片机,51系列有乘法和除法指令,RAM区间有一个双重功能的地址区间,从硬件到软件有一套完整的位处理器。因此在市场中还是占有很大份额。


寻迹避障硬件设计

实现小车基础的循迹避障功能,需要用到驱动系统提供小车行驶的动力,和循迹避障系统判断小车执行的行驶指令。


驱动系统硬件设计:根据本设计的思路,由单片机根据所检测的数据进行判断,然后执行对应的功能,实现对自动分拣小车的智能控制。在此过程中,动力系统为小车提供动力,以实现在各功能中的小车的移动。


动力系统的选用:

方案一:V-M直流调速系统。V-M双闭环直流调速系统是工业生产中使用最多的传动装置之一,常用于机床、冶金等许多机械领域。具有调速范围广、稳定性好、响应快、抗干扰能力强等优点,在直流调速系统中最为成熟。其缺点是只能单向导通,运行要求条件严格,且对其他电子设备可能会造成干扰。


方案二:PWM直流调速系统。PWM直流电机普遍用于单片机或其他微处理器当中,是利用数字输出对模拟电路进行控制的技术,节省能源,成本较低。实现了用数字方式控制模拟信号,降低了成本和功耗。

分析V-M系统和PWM系统,对比两者,PWM具有以下优点:

(1) PWM系统功耗较低,在同样的电流下,发热损耗比V-M系统低。

(2) PWM系统开关频率高,快速响应性能好,调速范围高[12]。

(3) PWM系统控制较为方便,设计简单,适用于单片机小板的搭配使用。

(4) 可设计成可逆型PWM系统,实现电机反转,小车倒退。

综上所述,采用可逆PWM直流调速系统。安装简单,控制方便。并使用市面上常见的L298N驱动芯片驱动电机工作。


直流电机没有正负极,但为了方便设计,我们模拟电机某同一端为正,另一端为负极。该设计将芯片的5、6、7、10、11、12接脚接到51单片机的P1.1、P1.0、P1.2、P1.4、P1.3、P1.5接口。芯片的2和3输出口接到左电机正负极,13、14接到右电机正负极。电机需要4节1.5V5号电池带动,外接一个电池盒用来放置电池。

当单片机P1.0信号为“1”,左电机输出电路开关打开,P1.1输出信号“1”,P1.2信号“0”,OUT1口输出一个VCC高电平,OUT2输出低电平0V,左电机正转。同样,P1.3信号“1”,P1.4信号“0”,P1.5信号“1”,则右电机反转。这样便实现了小车前进。在程序中,可以这样定义:

1)执行左电机正转:{ P1_0 = 1 ; P1_1 = 1 ; P1_2 = 0 }

2)执行左电机停转:{ P1_0 = 0 ; P1_1 = 0 ; P1_2 = 0 }

3)执行左电机反转:{ P1_0 = 1 ; P1_1 = 0 ; P1_2 = 1 }

4)执行右电机正转:{ P1_3 = 1 ; P1_4 = 1 ; P1_5 = 0 }

5)执行右电机停转:{ P1_3 = 0 ; P1_4 = 0 ; P1_5 = 0 }

6)执行右电机反转:{ P1_3 = 1 ; P1_4 = 0 ; P1_5 = 1 }


循迹系统的硬件设计:本设计中采用的红外循迹模块为TCRT5000红外反射传感器。该传感器的工作原理是依靠红外发射二极管不断发射红外线,经物体反射回接收管。接收到的信号经过比较器电路处理,输出数字信号。使用者可通过旋钮调节检测的灵敏程度,在该设计中,用于检测是否行驶在浅色地面布置好的黑线上,进而通过程序判断调整电子旋转来保持循迹行驶。

上图为TCRT5000红外反射传感器原理图,图中红外对接管用于发射和接收红外信号。平时电源接通时,电源指示灯有电流通过,指示灯亮。图中10K的可调电阻就是芯片上的可调旋钮,用于改变阻值而调整感应的灵敏度。LM3939是一个比较器,当正端电压大于负端,输出高电平,开关指示灯不亮。当正端电压小于负端电压,输出低电平0,开关指示灯形电流流通,灯亮。在实际中,当红外线被黑线吸收,接口管未接收到足够红外线,接收管未接通,则比较器正端电压一定大于负端电压,输出高电平。当传感器在白色地面上,红外接收管接收到红外线,接收器形成通路,比较器正端电压为0。而负端连接滑动变阻器,其电压一定大于0,所以比较器输出0,开关指示灯亮。根据其检测到黑线输出1,未检测到黑线输出0的特点,左循迹传感器输出连接单片机P3.6接口,右循迹传感器输出连接P3.7接口,在代码中可这样设计:

1)判断两边未检测到黑线:{P3_6 == 0 ; P3_7 == 0 } 执行 前行

2)判断左边检测到黑线:{P3_6 == 1 ; P3_7 == 0 } 执行 左转

3)判断右边检测到黑线:{P3_6 == 0 ; P3_7 == 1 } 执行 右转

4)判断两边都检测到黑线:{P3_6 == 1 ; P3_7 == 1 } 执行 停车


避障系统和循迹系统所采用的模块原理一样,也是采用同样的红外发射和红外接收的方法工作。当发射管发射出的红外线遇到障碍物,反射回来的红外线被接收管接通。比较器输出低电平0;当未遇到障碍物,接收管未接通,比较器输出高电平1。该模块检测距离约2~30cm,检测角度35度,可通过调节旋钮滑动变阻器来调整检测的距离。


本设计采用红外发射式传感器仅用于检测障碍物,市面上虽有更好的超声波传感器等模块,但由于小车模拟环境是在仓库等工作环境,甚至在无人的仓库中工作,所以用红外检测障碍物就已经足够了。另外,使用自动避障行驶容易造成仓库工作中小车群组的意外失误,可能一个小车避障成功,其他的就得重新规划路线,增大了管理系统的负担。所以为了方便方便总控系统的线路计算,本设计检测到障碍物后只执行停车指令,用红外检测模块就已足够。


本设计中左避障传感器输出接P3.4,右避障输出端接P3.5,在程序中可以这样设置:

(1)判断左方遇到障碍:{ P3_4 == 0 ; P3_5 == 1 } 执行 停车

(2)判断右方遇到障碍:{ P3_4 == 1 ; P3_5 == 0 } 执行 停车

(3)判断两方都遇到障碍:{ P3_4 == 0 ; P3_5 == 0 } 执行 停车


定位卸货硬件设计

定位卸货系统由定位系统和舵机卸货系统构成,定位系统用来判断小车是否行驶到指定的卸货点,舵机卸货系统则是用于操作货物卸下。


定位系统的硬件设计:定位系统采用光敏电阻传感器LED发光二极管搭配使用组成定位点的识别系统,设计中使用4个LED发光二极管和一个光敏电阻传感器,实际使用方法如图4-1所示,在路线中设置四个点,各点适当位置放置一个LED发光二极管,小车侧边安装一个光敏电阻传感器。四个定位点位置模拟仓库中的上货点、A区、B区、C区。当小车到达第一个点,光敏电阻传感器感应到光线达到标准,输出低电平。然后判断wifi信号是否存入变量中,如果wifi变量为0,则小车停车。等上货后,wifi变量不等于0,光敏信号为0,则小车循迹前进。当光敏电阻传感器感应不到标准强度光线后,输出信号“1”,此时对比变量,给另一个变量值加一。如此循环,直到小车到达wifi信息所对应的定位点后,停车卸货。

卸货系统的硬件设计:


采用SG90 9g型号的舵机,用于执行卸货动作。当卸货条件达成时,舵机子程序驱动舵机旋转90度,将放置在称重模块上的货物推下。动作完成后,卸货功能完成,舵机复位,并将变量归零,程序又开始循环变量判断,小车继续循迹绕回初始点停车。下图小车第二层的舵机安装平面图,将wifi模块放到第二层避免其他干扰。

驱动舵机转动需要通过信号线给舵机一个周期性的直流偏置电压,舵机会根据输入的电压和基准电压进行比较,得到电压差输出,根据电压差正负确定旋转方向。另外,根据输入方波的周期来判断旋转的角度,该参数t使用定时器0来计数,该单片机晶振计时为每次0.1ms,计数的次数决定参数t的周期。

让设计中舵机旋转90度,需要输入一个周期为1.5ms的方波,待转动完成后,再输入一个为0.5ms的方波,电机开始逆转复位。


无线传输与称重系统硬件设计

无线传输系统意为通过无线连接,客户机与服务机进行信息交换,并对传输的数据进行处理。本系统分为WIFI无线模块、红外遥控模块、称重模块。


WIFI传输功能的设计:采用ESP8266WIFI模块。该设计使用android手机app扫描货物上的条形码或者二维码,识别出数字后,根据选择的区间范围发送给esp8266模块数据,单片机获取传来的wifi数据,并称重上传数据,然后判断在哪个LED定位点停车卸货。此系统需要用到ESP8266模块、手机APP、打印好的条形码/二维码来构成WIFI无线传输系统。


红外遥控功能的设计:意为人工处理临时问题时的手动控制方式,在单片机初始化后,或者中断期间通过按钮切换自动和手动模式,设计采用的是IR1838型号的红外接收管。红外遥控通过遥控器发射的红外信号,让小车实现遥控停车、直行、转弯、倒退四个简单动作,使用通用的21键红外遥控器来进行遥控操作。


称重传感器功能的设计:称重传感器选择的是桥式压力应变传感器和型号为hx711的24位A/D转换器芯片。hx711模块专用于高精度电子秤,其集成了所需的外围电路,抗干扰能力强,能直接连接单片机使用。当单片机判断获得的wifi数据符合后,执行称重功能,获得24位AD信号后,通过公式计算重量。再将条码数据和计算结果发送到手机端,手机程序根据获得的数据在列表框中加入数值显示。随后小车开始行驶,开始下一流程。下图为称重模块的功能结构图:

程序设计与调试

主函数的设计:

void main()   //主程序入口

{

  bit ExeFlag=0;  //定义可执行位变量

  EX0=0;   //同意开启外部中断1

  IT0=1;   //设定外部中断1为低边缘触发类型

EA=1;

 TMOD=0X01;

TH0= 0XFc;//1ms定时

TL0= 0X18;

TR0= 1;

ET0= 1;


Init_Tim1();  //串口初始化子程序

#if(0)  //里面数值填0代表是手机与Wifi模块直连模式,里面数值改为1代表是手机与家庭路由器连接

SendString("AT+CWMODE_DEF=1rn");  //进入模式1 Station

HAL_Delay(100);  //延时100ms

SendString("AT+CWJAP_DEF="SCY","bilibili"rn");  //连接家庭路由器

HAL_Delay(3000);

#else

    SendString("AT+CWMODE_DEF=2rn");//进入模式2 SoftAP

#endif

HAL_Delay(100);//延时100ms

SendString("ATE0rn");//关闭回显

HAL_Delay(100);

SendString("AT+CIPMUX=1rn");//wifi模块多连接模式

HAL_Delay(100);

SendString("AT+CIPSERVER=1,333rn");//建立TCP服务器


while(1)   //程序主循环

{

if(P3_3 == 0)

{

delay_nms(10);

if(P3_3 == 0)

{temp++ ; while(!P3_3); }  //检测到按钮按下

BUZZ=0;   //蜂鸣器发出“滴”声响。

delay(50);

BUZZ=1;  //响50ms后关闭蜂鸣器

}

if(temp > 2)  //如果按下超过2次,即第三次还原成1

{temp = 1; }


switch(temp)

{

case 1:  Car_Avoidance();EX0 = 0;break;  //执行自动模式子程序

case 2: BUZZ = 1; EX0 = 1;break; //打开中断,解码红外遥控指令

}}}


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    基于C51单片机的通信测试仪器设计;随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计......
    51单片机实现控制网卡芯片进行数据传输的设计;在网络技术应用日益广泛的今天,网络传输是最经济有效的数据传输方式。如何利用廉价的51单片机来控制网卡芯片进行数据传输,加载TCP/IP协议......
    家用湿度自动调节电路系统设计与实现;  该文主要介绍了一种基于单片机控制的家用湿度智能调控系统的设计与实现方法。该系统以STC89C52RC单片机为控制中心,SHT11温湿度传感器获取环境数据,以触......
    能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计......
    能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计......
    基于RS-232的数字温度测量计的设计与实现;  引言   温度的测量与工农业生产息息相关,比如说大棚蔬菜,温度对它们的影响是显而易见的。人们在生活中能够品尝到各种季节水果,很大......
    处理程序 2.2.2 将数据写到数据库中 3 下位机的设计与实现 3.1 下位机硬件以及原理 温度采集系统下位机采用STC89C52单片机为主控制器,采用DS18B20温度传感器采集温度,硬件电路图如图4所示......
    基于51单片机的正弦信号发生器的设计;正弦信号是电子电路设计中非常重要的信号之一。在很多电子设备和系统中,需要正弦信号作为输入源。基于51单片机的正弦信号发生器设计是一种较为简单且常见的方法。本文将详细介绍如何设计一个基于......
    基于51单片机的智能营养秤系统设计与实现;一、项目背景 随着人们生活水平和健康意识的提高,越来越多的人开始注重自己的饮食健康。在此背景下,智能营养秤系统应运而生,成为了一种非常实用的工具。本项目基于......
    信号[3-4]。即可写入数据。 4   结束语 该系统是基于单片机的数字FM调频收音机的设计,也是基于单片机及其接口技术、计算机技术、微电子技术综合应用的设计,该设计......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>