【项目实战】基于STM32单片机的智能小车设计(有代码)

【项⽬实战】基于STM32单⽚机的智能⼩车设计(有代码)
【1】背景意义
近些年随着国民⽣活⽔平的提升,以⼩车为载体的轮式机器⼈进⼊了我们的⽣活,尤其是在⼀些布线复杂困难的安全⽣活区和需要监控的施⼯作业场合都必须依赖轮式机器⼈的视频监控技术。因此,基于嵌⼊式技术的⽆线通信视频监控轮式机器⼈应运⽽⽣。由于它们与⼈类⼯作相⽐具有成本低廉、安全稳定的优点,⽬前已经在许多危险作业以及⼯业场合得到了⼴泛应⽤⽽且轮式机器⼈不需要像⼈那样采取过多的保护措施,因此轮式机器⼈更适合在危险困难的⼯作环境中⼯作。然⽽轮式机器⼈在⾏驶中所能碰到的障碍很多,例如前部凸出物的碰触,后部凸出物的拖托,中部凸出物的顶举,特别还有垂直障碍和壕沟等,所以必须对轮式机器⼈的越障问题进⾏研究来解决类似问题。
针对复杂地形环境的巡检作业,设计⼀种基于wifi视频监控的智能⼩车。基于STM32F103主控板搭建智能⼩车的控制系统,并采⽤模块化的设计思想编写控制系统程序,为能够在复杂地形下进⾏巡检作业的轮式机器⼈研究提供理论依据。
【2】总设计⽅案
本课题利⽤STM32作为智能⼩车的主控制器来驱动智能⼩车的直流电机⼯作,电机驱动芯⽚采⽤L298N
微型集成电路电机驱动芯⽚,配合STM32核⼼板使⽤实现四个直流电机运⾏和pwm软件调速,通过改变直流电机占空⽐的电压来改变平均电压的数值,从⽽改变电机的转速变化来驱动轮式机器⼈运⾏。轮式机器⼈⾏驶的状态有:前进、后退、左转、右转和停⽌。当轮式机器⼈在⾏驶过程中遇到障碍物,红外避障检测模块检测周围障碍物,轮式机器⼈⾃动停⽌或转向。通过WIFI⽆线信号作为传输媒介,以上位机或⼿机作为控制端来控制机器⼈的运动以及将摄像头所拍摄的视频信息在控制端界⾯中显⽰,这样便可观察轮式机器⼈周围的环境并对机器⼈进⾏实时监控。主要设计步骤有:
(1)根据提出⽅案的功能需求对智能⼩车进⾏结构设计。
(2)根据主控制器的基本结构和特点,设计总体硬件电路模块。总体硬件电路模块的设计包括电机驱动电路设计、红外避障电路设计、⽆线传输电路设计等。
(3)选择符合系统设计需求的系统软件,并在该软件的基础上编写驱动代码和应⽤软件代码。针对系统功能的具体要求,从系统信号稳定传输的⾓度出发,对电机驱动、调速、⽆线路由器系统的改造、视频信息的接受与发送、红外避障模块的改造和控制端界⾯的设计等进⾏详细的分析与设计,并完成代码的编写与调试。
(4)把硬件开发板和软件平台结合起来,对视频监控智能⼩车整个系统进⾏了整体测试。对测试中出现的问题进⾏相关的改进⼯作,进⼀步提⾼系统⼯作的可靠性和稳定性。
球形接头
【3】结构设计
根据提出⽅案的功能需求,对轮式机器⼈的整体结构进⾏设计,采⽤双⾯覆铜加硬的PCB板料作为轮式机器⼈的底盘,其优点是:不易变形、不易折断、轻量化、不易造成短路;选⽤抗⼲扰TT马达,其加⼊压敏抗组的转⼦可抵抗电机突然启动产⽣的⽕花⼲扰,避免触发信号错误,可有效降低马达启动噪⾳,并在启动时可提供更⼤电流,使马⼒更强;使⽤航模级抗滑橡胶轮胎内带海绵表⾯平整不易变形,在避障⾏⾛时刹车不易撞上障碍物。马达⽤马达锁⽚固定到机器⼈底盘上,轮⼦通过轴与马达相连。
其余硬件设备均固定到机器⼈底盘上,包括电池座、红外避障传感器、wifi模块、摄像头、STM32单⽚机主控模块和L298N电机驱动芯⽚。机器⼈底盘俯视图⽰意图如图:
【4】系统硬件设计edcnhs
硬件系统主要由单⽚机主控模块、电源模块、电机驱动模块、红外避障模块控制终端模块和⽆线视频监控模块组成。硬件系统框图如图:
(1)主控模块
主控模块采⽤STM32F103为主控制器,STM32F103属于中低端的32位ARM微控制器,该系列芯⽚是意法半导体(ST)公司出品,其内核是Cortex-M3。该系列芯⽚按⽚内Flash的⼤⼩可分为三⼤类:⼩
容量(16K和32K)、中容量(64K和128K)、⼤容量(256K、384K和512K)。芯⽚集成定时器,CAN,ADC,SPI,I2C,USB,UART,等多种功能。STM32F103可使⽤keil C语⾔编译,⽀持STLink-SWD在线调试,主要⽤于收集信息、处理数据、协调系统中的每个功能模块预计要完成的任务。
(2)电源模块
电源模块在机器⼈的运⾏过程中,需要给单⽚机、电机、各⼤模块及传感器供电。为了保证系统的可靠供电,所以选择可充电的18650锂电池,如图3.5所⽰。**18650是锂离⼦电池的⿐祖–⽇本SONY公司当年为了节省成本⽽定下的⼀种标准性的锂离⼦电池型号,其中18表⽰直径为18mm,65表⽰长度为65mm,0表⽰为圆柱形电池。**常见的18650电池分为锂离⼦电池、磷酸铁锂电池。锂离⼦电池电压为标称电压为3.7v,充电截⽌电压为4.2v,磷酸铁锂电池标称电压为3.2V,充电截⽌电压为3.6v容量通常为1200mAh-3350mAh,常见容量是2200mAh-2600mAh。
(3)电机驱动模块
电机驱动模块采⽤L298N为电机驱动芯⽚,其原理图如图3.6所⽰。L298N是ST公司⽣产的⼀种⾼电压、⼤电流电机驱动芯⽚。该芯⽚采⽤15脚封装。主要特点是:⼯作电压⾼,最⾼⼯作电压可达46V;输出电流⼤,瞬间峰值电流可达3A,持续⼯作电流为2A;额定功率
25W。内含两个H桥⾼电压⼤电流全桥式驱动器,可以⽤来驱动直流电动机和步进电动机、继电器线圈等感性负载;采⽤标准逻辑电平信号控制;具有两个使能控制端,在不受输⼊信号影响的情况下允许或禁⽌器件⼯作有⼀个逻辑电源输⼊端,使内部逻辑电路部分在低电压下⼯作;可以外接检测电阻, 将变化量反馈给控制电路。使⽤L298N芯⽚驱动电机,该芯⽚可以驱动⼀台两相步进电机或四相步进电机,也可以驱动两台直流电机,并联时可以驱动四台电机。此次研究将L298N配合STM32核⼼板⽆缝对插使⽤,实现⽆损扩展并对四个马达进⾏驱动和PWM调速。
(4)红外避障模
红外避障模块选⽤不怕光的HJ-IR2传感器,如图3.7所⽰,它相当于⼀个红外电⼦开关,检测到障碍输出低电平,⼀般情况下为⾼电平。当前⽅有障碍物时,红外管发出的红外信号经红外接收管接收回来后,经集成的芯⽚放⼤,⽐较后,输出⼀低电平,点亮模块上的LED发光管,同时可以输出⼀个低平信号,信号可以作为单⽚机的信号输⼊检测控制外部各种驱动模块之⽤。HJ-IR2传感器具有模块三线
卷轴门制的特点,VCC为电源+5V,OUT为信号输出端,GND接电源负极。探测距离⼤概为1~30CM(探测距离的长短和供电电压、 电流还有周围环境有关)。⼯作电压为5V,⼯作电流为18-30ma左右。
地锚机
(5)控制终端模块
控制终端模块有PC上位机和安卓⼿机两种,两种控制界⾯都能实现对于智能⼩车的各种运动状态的控制。
(6)⽆线视频监控模块
本模块采⽤720p⾼清USB摄像头,可以对轮式机器⼈的运动状态以及周围环境进⾏视频采集,然后将采集的视频数据通过⽆线信号返回到控制界⾯显⽰,以达到实时监控的⽬的。**USB接⼝是⽬前应⽤
220v稳压器⽐较⼴泛的⼀种接⼝模式,⼏乎所有的产品都能⽀持,即插即⽤,具有强⼤的扩充能⼒,⽤起来⼗分⽅便。**依靠USB连接⽆线路由器获得的电压就能否满⾜摄像头正常⼯作需求的电压,这样就不⽤再接外部电压,使得电路设计更加简单⽅便。USB摄像头虽然在采集动态画⾯与成像清晰度上仍然⽆法与接⼝摄像头相⽐,但是其接⼝简单,即插即⽤,⼰经成为设计者的⾸选。本模块主要是⽤来完成轮式机器⼈与各个控制界⾯之间的通信,由于机器⼈移动性的特点,所以系统选⽤⽆线通信进⾏数据传输。⽆线通信的实现主要由⽆线路由器实现,通过⽆线路由器可以搭建⼀个局域⽹,并且在这局域⽹的基础上可以运⾏多种底层协议。控制终端与轮式机器⼈进⾏信号的控制和交互就是采⽤这种传输模式。⾸先运⾏于控制终端的⽹络程序通过局域⽹与轮式机器⼈建⽴起连接,待连接建⽴成功后,⽤户就可以使⽤控制终端的⽤户界⾯软件向轮式机器⼈发送各种控制指令和获取摄像头视频信息等数据。本系统设计将数字摄像头的驱动加载在⽆线路由器固件当中,当主控制器发出采集视频指令,摄像头开始⼯作。
【5】系统软件设计
软件的设计包括:主程序的设计、电机驱动程序设计、红外循障程序设计、视频采集程序设计、⽆线数据传输程序设计。
(1)电机驱动程序
电机的驱动主要是对L298N驱动芯⽚的操作,运⽤PWM调速⽅法完成对电机进⾏驱动控制。脉冲宽度调制(PWM),简称脉宽调制,是利⽤微处理器的数字输出来对模拟电路进⾏控制的⼀种⾮常有效的技术。PWM波的产⽣可以通过时钟频率、⾃动重装值等参数进⾏设置,从⽽调节PWM波的占空⽐和输出频率,即对脉冲宽度的控制,PWM原理如图:
dvi画面分割器由图我们先假定定时器⼯作正处于向上计数PWM模式,且当CNT⼩于CCRx 时,输出0,当CNT⼤于等于CCRx 时输出 1。那么就可以得到如上的PWM⽰意图:当CNT值⼩于CCRx的时候,IO输出低电平(0),当CNT值⼤于等于CCRx的时候,IO输出⾼电平(1),当CNT达到ARR值的时候,重新归零,然后重新向上计数,依次循环改变CCRx的值,就可以改变PWM输出的占空⽐,改变ARR的值,就可以
改变PWM输出的频率,这就是PWM输出的原理。由此可知PWM 技术就是把直流电压斩成⼀系列脉冲,通过改变脉冲的占空⽐获得所需的输出电压。
由图L298N芯⽚的原理图,引脚A,B可⽤于输⼊PWM脉宽调制信号对电机进⾏调速控制。如果⽆须调速可将两引脚接5V,使电机⼯作在最⾼速状态,既将短接帽短接。假设驱动的两台直流电机分别为M1和M2,当输⼊信号端IN1接⾼电平输⼊端IN2接低电平时,电机M1正转。当信号端IN1接低电平,IN2接⾼电平,电机M1反转。控制另⼀台电机是同样的⽅式,输⼊信号端IN3接⾼电平,输⼊端IN4接低电平,电机M2正转(反之则反转)。PWM信号端A控制M1调速,PWM信号端B控制M2调速 。可通过单⽚机IO⼝状态来控制⼩车运⾏,电机具体运⾏⽅式如图

本文发布于:2024-09-21 18:39:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/108513.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:机器   控制   模块   轮式   驱动   电机
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议