基于STM32控制的自动往返电动小汽车
基于STM32的智能循迹避障小车
![基于STM32的智能循迹避障小车](https://img.taocdn.com/s3/m/1917c1e10129bd64783e0912a216147916117e59.png)
基于STM32的智能循迹避障小车智能循迹避障小车是一种基于STM32微控制器的智能车辆,它可以根据预设的路径自动行驶并能够避开障碍物。
这种小车具有很高的自主性和智能性,非常适合用于教学、科研和娱乐等领域。
本文将介绍基于STM32的智能循迹避障小车的设计原理、硬件结构、软件开发以及应用场景。
一、设计原理智能循迹避障小车的设计原理主要包括传感器感知、决策控制和执行动作三个部分。
通过传感器感知车辆周围环境的变化,小车可以及时做出决策并执行相应的动作,从而实现自动行驶和避障功能。
在基于STM32的智能小车中,常用的传感器包括红外避障传感器、光电传感器和编码器等。
红外避障传感器可以检测到障碍物的距离和方向,从而帮助小车避开障碍物。
光电传感器可以用于循迹,帮助小车按照预定的路径行驶。
编码器可以用于测量小车的速度和位置,实现精确的定位和控制。
通过这些传感器的数据采集和处理,小车可以实现智能化的行驶和避障功能。
二、硬件结构基于STM32的智能循迹避障小车的硬件结构包括主控制板、传感器模块、执行器模块和电源模块。
主控制板采用STM32微控制器,负责控制整个车辆的运行和决策。
传感器模块包括红外避障传感器、光电传感器和编码器等,用于感知周围环境的变化。
执行器模块包括电机和舵机,用于控制车辆的速度和方向。
电源模块提供电能,为整个车辆的运行提供动力支持。
三、软件开发基于STM32的智能循迹避障小车的软件开发主要包括嵌入式系统的编程和算法的设计。
嵌入式系统的编程主要使用C语言进行开发,通过STM32的开发环境进行编译和调试。
算法的设计主要包括避障算法和循迹算法。
避障算法通过传感器的数据处理,判断障碍物的位置和距离,并做出相应的避开动作。
循迹算法通过光电传感器的数据处理,使小车能够按照预设的路径行驶。
四、应用场景基于STM32的智能循迹避障小车可以广泛应用于教学、科研和娱乐等领域。
在教学领域,可以用于智能机器人课程的教学实验,帮助学生掌握嵌入式系统的开发和智能控制的原理。
《2024年基于STM32智能小车的设计与实现》范文
![《2024年基于STM32智能小车的设计与实现》范文](https://img.taocdn.com/s3/m/c67815432379168884868762caaedd3383c4b5ad.png)
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断发展,智能小车在物流、安防、救援等领域的应用越来越广泛。
本文将详细介绍基于STM32的智能小车的设计与实现过程,包括硬件设计、软件设计、系统调试及实际运行效果等方面。
二、硬件设计1. 核心控制器本智能小车采用STM32F4系列微控制器作为核心控制器,其具有高性能、低功耗的特点,满足小车在运动控制、传感器数据处理等方面的需求。
2. 电机驱动智能小车的驱动部分采用电机和电机驱动器。
通过PWM (脉冲宽度调制)控制电机转速,实现对小车的运动控制。
此外,为了保证小车的运动稳定性和动力性,采用差速转向的方式。
3. 传感器模块传感器模块包括红外避障传感器、超声波测距传感器等。
红外避障传感器用于检测小车前方障碍物,实现自动避障功能;超声波测距传感器用于测量小车与前方障碍物的距离,为小车的速度和方向调整提供依据。
三、软件设计1. 操作系统及开发环境本智能小车采用基于STM32的嵌入式操作系统,开发环境为Keil uVision等软件工具。
这些工具能够为开发人员提供丰富的调试、测试等功能。
2. 软件设计流程软件设计包括初始化、数据采集、运动控制等部分。
初始化阶段包括对微控制器及各模块的配置;数据采集部分包括传感器数据的读取和解析;运动控制部分根据传感器数据调整小车的速度和方向,实现智能导航和避障功能。
四、系统调试与实现1. 系统调试系统调试包括硬件调试和软件调试两部分。
硬件调试主要检查电路连接是否正确,各模块是否工作正常;软件调试主要检查程序逻辑是否正确,各功能是否实现。
2. 实际运行效果经过系统调试后,智能小车能够在各种环境下自主导航和避障。
在平地、坡道等不同路况下,小车能够稳定运行,并自动调整速度和方向以适应不同环境。
此外,小车还具有较高的避障能力,能够快速识别并避开障碍物。
五、结论本文详细介绍了基于STM32的智能小车的设计与实现过程。
通过合理的硬件设计和软件设计,实现了智能小车的自主导航和避障功能。
《2024年基于STM32智能小车的设计与实现》范文
![《2024年基于STM32智能小车的设计与实现》范文](https://img.taocdn.com/s3/m/4d297b78580102020740be1e650e52ea5418ce14.png)
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断发展,智能小车作为一种集成了传感器、控制算法和执行机构的智能移动平台,在物流、安防、救援等领域得到了广泛的应用。
本文将详细介绍基于STM32微控制器的智能小车的设计与实现过程。
二、系统概述本智能小车系统以STM32微控制器为核心,通过集成电机驱动、传感器(如红外传感器、超声波传感器等)、通信模块等,实现小车的自主导航、避障、远程控制等功能。
系统具有体积小、重量轻、成本低、性能稳定等特点。
三、硬件设计1. 微控制器选择本系统选用STM32系列微控制器,该系列微控制器具有高性能、低功耗、丰富的外设接口等特点,能够满足智能小车的控制需求。
2. 电机驱动设计电机驱动采用H桥电路,通过PWM信号控制电机的转速和方向。
同时,为了保护电机和电路,还设计了过流、过压等保护电路。
3. 传感器模块设计传感器模块包括红外传感器、超声波传感器等,用于实现小车的自主导航和避障功能。
传感器通过I2C或SPI接口与微控制器进行通信,实时传输数据。
4. 通信模块设计通信模块采用蓝牙或Wi-Fi等无线通信技术,实现小车的远程控制和数据传输功能。
通信模块与微控制器通过串口进行通信。
四、软件设计1. 开发环境搭建软件设计采用Keil uVision等集成开发环境,进行代码的编写、编译和调试。
同时,为了方便程序的烧写和调试,还使用了STM32的调试器。
2. 程序设计流程程序设计主要包括主程序、电机控制程序、传感器数据处理程序和通信程序等。
主程序负责整个系统的协调和控制,电机控制程序根据传感器数据和遥控指令控制电机的转速和方向,传感器数据处理程序负责处理传感器的数据并输出控制指令,通信程序负责与上位机进行数据传输和指令交互。
五、系统实现与测试1. 系统实现根据硬件设计和软件设计,将各部分模块进行组装和调试,完成智能小车的制作。
在制作过程中,需要注意各部分模块的连接和固定,确保系统的稳定性和可靠性。
基于 stm32 单片机的智能小车控制
![基于 stm32 单片机的智能小车控制](https://img.taocdn.com/s3/m/7211c1c7b52acfc788ebc99b.png)
基于 stm32 单片机的智能小车控制摘要:进入21世纪以来,智能化已成为时下最热门的课题。
智能小车在日常生活、交通、军事等领域中发挥了独有作用,不仅断提高了人们的生活品质,而且还能够提升人们的服务效率、工作效率,成为了智能化研究的热门课题。
利用超声波传感器和SG90舵机组成超声波云台,以stm32单片机作为控制核心,对智能小车控制进行详细研究。
关键词:stm32单片机;智能小车;控制引言本文所设计的基于STM32F103的无线智能小车控制系统,其中以STM32F103单片机为控制核心,小车辅助避障模块为E18-D80NK光电传感器,使用超声波传感器和SG90舵机组成超声波云台,并将红外发射管、红外接收管和LM339电压比较器进行组合作为智能小车巡航传感器。
该小车在前进时能够检测一定范围内的障碍物距离,实现智能小车巡航、防摔等功能。
并且智能小车上安装GPS定位模块和无线模块,能够控制智能小车能够避开障碍自由行走。
GPS模块用于智能小车定位,无线模块能够使智能小车通过无线通信连接,与PC无线通信连接,将智能小车定位信息及障碍物距离信息显示到PC上,从而通过PC端控制智能小车的行走。
另外,为了驱动智能小车行走,并测量左右轮转速,直流电机驱动分别采用了TB6612FNG电机驱动模块和槽型光耦传感器、测速码盘,在PWM脉宽改变电机转速上,通过PID控制器实现小车调速功能。
一、基于STM32单片机的智能小车的硬件设计1.1主控芯片设计为了满足大多数嵌入式系统控制要求,采用STM32F103单机片,其性能优越且性价比较高。
1.2传感器设计避障系统传感器采用成本低、距盲区小及灵敏度高的HC-SR04超声波测距模块,该模块具有更好的抗干扰能力、可非接触测量0.02~4m的障碍物距离;巡航传感器选用模块价格便宜、体积较小的红外传感器,但该传感器多在没有强光的环境中使用,抗干扰能力较差,可控制小车巡航,防止摔倒;测速模块采用槽型光耦传感器和测速光电码盘组成测速系统,模块采用施密特触发器抖动触发脉冲,只要有非透明物体阻挡模块光电射槽,就可以触发模块输出5VTTL电压,触发脉冲稳定。
《2024年基于STM32的智能小车研究》范文
![《2024年基于STM32的智能小车研究》范文](https://img.taocdn.com/s3/m/c8adf631a88271fe910ef12d2af90242a995ab50.png)
《基于STM32的智能小车研究》篇一一、引言随着科技的不断进步,智能小车已经成为人们日常生活中不可或缺的一部分。
本文旨在探讨基于STM32的智能小车的研究,详细阐述其设计原理、实现方法及实际应用价值。
STM32系列微控制器以其高性能、低功耗的特点,为智能小车的开发提供了强大的硬件支持。
二、智能小车设计概述智能小车是一种集成了传感器、控制器、执行器等设备的自动驾驶小车。
它可以根据环境变化自动规划路径,实现自主导航、避障、信息采集等功能。
基于STM32的智能小车设计主要包括硬件设计和软件设计两个部分。
硬件设计主要包括STM32微控制器、电机驱动模块、传感器模块、电源模块等。
其中,STM32微控制器作为核心部件,负责整个系统的控制与协调。
电机驱动模块用于驱动小车的运动,传感器模块用于感知环境信息,电源模块为整个系统提供稳定的电源。
软件设计主要包括操作系统、算法实现、通信协议等。
操作系统负责管理系统的软硬件资源,算法实现包括路径规划、避障算法、控制算法等,通信协议用于实现小车与上位机之间的数据传输与控制。
三、硬件设计1. STM32微控制器STM32微控制器是智能小车的核心部件,它具有高性能、低功耗、丰富的外设接口等特点。
在智能小车的设计中,我们选用了适合的STM32系列微控制器,如STM32F4系列,以满足小车的性能需求。
2. 电机驱动模块电机驱动模块用于驱动小车的运动。
它包括电机、编码器、驱动电路等部分。
电机采用直流无刷电机或步进电机,具有较高的控制精度和较低的噪音。
编码器用于检测电机的转速和方向,为控制算法提供反馈信息。
驱动电路则负责将微控制器的控制信号转换为电机能够识别的驱动信号。
3. 传感器模块传感器模块用于感知环境信息,包括红外传感器、超声波传感器、摄像头等。
这些传感器可以实时检测小车周围的障碍物、路况等信息,为路径规划和避障算法提供数据支持。
四、软件设计1. 操作系统操作系统负责管理系统的软硬件资源,包括任务调度、内存管理、设备驱动等。
《2024年基于STM32的智能小车研究》范文
![《2024年基于STM32的智能小车研究》范文](https://img.taocdn.com/s3/m/007f12577dd184254b35eefdc8d376eeaeaa1790.png)
《基于STM32的智能小车研究》篇一一、引言随着科技的飞速发展,智能小车在各个领域的应用越来越广泛,如物流、安防、救援等。
STM32作为一款高性能的微控制器,其强大的处理能力和丰富的接口资源为智能小车的开发提供了有力支持。
本文将详细介绍基于STM32的智能小车研究,包括系统设计、硬件实现、软件编程以及实验结果等方面。
二、系统设计智能小车的系统设计主要包括硬件和软件两部分。
硬件部分主要包括STM32微控制器、电机驱动模块、传感器模块等;软件部分则包括操作系统、驱动程序、算法等。
在硬件设计方面,我们选择了STM32F4系列微控制器作为主控芯片,其具有高性能、低功耗的特点,能够满足智能小车对处理能力和续航能力的要求。
电机驱动模块采用H桥驱动电路,能够实现对电机的正反转和调速控制。
传感器模块包括红外传感器、超声波传感器等,用于实现智能小车的避障、定位等功能。
在软件设计方面,我们选择了实时操作系统(RTOS)作为核心操作系统,以实现多任务管理和调度。
驱动程序采用C语言编写,算法部分则采用了如PID控制算法、模糊控制算法等先进控制算法,以提高智能小车的性能。
三、硬件实现在硬件实现方面,我们首先进行了电路设计。
根据系统需求,我们设计了电源电路、电机驱动电路、传感器电路等。
在电路设计过程中,我们充分考虑了抗干扰性、功耗等因素,以保证智能小车的稳定性和可靠性。
接下来是硬件制作与组装。
我们采用了SMT工艺制作了PCB板,将STM32微控制器、电机驱动模块、传感器模块等元器件焊接到PCB板上。
然后进行组装,将各个模块按照设计要求进行连接,形成完整的智能小车硬件系统。
四、软件编程在软件编程方面,我们首先进行了操作系统移植和驱动程序编写。
我们将RTOS移植到STM32微控制器上,并编写了相应的驱动程序,以实现对硬件设备的控制和管理。
接下来是算法实现。
我们采用了PID控制算法和模糊控制算法等先进控制算法,通过编程实现这些算法在智能小车上的应用。
基于STM32的智能循迹避障小车
![基于STM32的智能循迹避障小车](https://img.taocdn.com/s3/m/fda9415515791711cc7931b765ce0508763275ae.png)
基于STM32的智能循迹避障小车一、引言随着科技的不断发展,智能化机器人已经成为了人们生活中的重要一部分。
智能小车作为重要的机器人之一,具有很多应用领域。
在智能小车中,智能循迹和避障是两个非常重要的功能。
本文将介绍一款基于STM32的智能循迹避障小车的制作过程和原理。
二、硬件设计1. 控制器在本设计中,我们选择了STM32作为智能小车的控制器。
STM32是意法半导体推出的一款高性能、低功耗的32位RISC处理器,拥有丰富的外设接口和强大的性能,非常适合用来控制智能小车。
2. 传感器智能循迹避障小车需要用到多种传感器来感知周围环境。
我们选择了红外传感器作为循迹传感器,用来检测地面上的黑线。
我们还选择了超声波传感器和红外避障传感器,用来感知前方障碍物的距离。
3. 驱动电路智能小车的驱动电路是控制小车运动的关键。
我们选择了L298N驱动模块,可以通过控制电机的速度和方向来实现小车的前进、后退、转向等功能。
4. 电源模块为了保证整个小车系统的正常工作,我们还需要一个稳定的电源模块,供给控制器、传感器和驱动电路等设备。
1. 系统架构智能循迹避障小车的软件设计采用了基于FreeRTOS的多任务设计。
我们将系统划分为三个主要任务:循迹控制任务、避障控制任务、通信任务。
循迹控制任务通过读取红外传感器的数值,判断小车当前所处位置是否在黑线上,并根据传感器的值控制电机的转向,使小车沿着黑线行驶。
4. 通信任务通信任务负责与外部设备进行通信,比如与遥控器进行通信,接收外部指令控制小车的运动。
四、功能实现1. 循迹功能通过循迹传感器检测地面上的黑线,控制电机的转向,实现小车沿着黑线行驶的功能。
2. 避障功能通过超声波传感器和红外避障传感器检测前方障碍物,控制电机的转向和速度,实现小车避开障碍物的功能。
3. 远程控制功能五、总结本文介绍了一款基于STM32的智能循迹避障小车的制作过程和原理。
通过硬件设计和软件设计,实现了小车的循迹、避障和远程控制功能。
基于STM32的智能物流循迹往返小车设计
![基于STM32的智能物流循迹往返小车设计](https://img.taocdn.com/s3/m/e8ebc4efa1c7aa00b52acbb0.png)
基于STM32的智能物流循迹往返小车设计作者:申家正来源:《中国科技纵横》2017年第21期摘要:本设计以STM32系列单片机STM32F103RC作为核心处理器,辅以循迹模块,测速模块,超声测距模块,压力传感器模块,通过PID算法构成了完整的智能物流循迹小车,可以实现自动调速循迹功能,停车避障功能,自动往返功能。
经过测试,该系统运行可靠,成本低,抗干扰能力强,节省人力成本,可被用于教学,智能玩具,仓储运输等场合,具有很好的使用价值。
并且本系统保留多个接口,方便后期开发,使系统更加实用。
关键词:STM32;PID;智能小车;物流;循迹中图分类号:TP273 文献标识码:A 文章编号:1671-2064(2017)21-0027-02小车作为现代智能小车热门发展方向之一,是许多新技术的集合,它体现了车辆工程,自动控制,计算机技术和人工智能集为一体的综合技术。
本文提出了一种基于STM32F103芯片为控制核心,以循迹模块,测速模块,超声测距模块,通过PID算法构成了完整的智能物流循迹小车,可以实现自动调速循迹功能,停车避障功能,自动往返功能。
通过模糊PID和芯片自带PWM脉宽调制技术的结合,大大提高了对车辆位置和速度控制的精度。
1 系统硬件电路设计1.1 循迹模块本系统采用YL-70型红外探测传感器模块实现循迹功能,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~60cm,工作电压为3.3V-5V。
循迹模块电路图如图1。
1.2 超声测距模块本系统采用US-100型超声波测距模块,块可实现 2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠,超声测距模块电路图如图2。
基于STM控制的自动往返电动小汽车
![基于STM控制的自动往返电动小汽车](https://img.taocdn.com/s3/m/48615a410b4e767f5acfce81.png)
基于STM控制的自动往返电动小汽车————————————————————————————————作者:————————————————————————————————日期:湖南科技大学信息与电气工程学院《STM32控制自动往返小汽车》设计报告专业:电子信息工程班级:二班姓名:曾有根学号:0904030218指导教师:罗朝辉自动往返电动小汽车本设计民用STM32作为自动往返小汽车的检测和控制核心,辅以传感器、控制电路、显示电路等外围器件,构成了一个车载控制系统。
路面黑线检测使用反射式红外传感器,利用PWM技术动态控制电动机的转速。
基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了小车在限速和压线过程中的精确控制。
电动小汽车能够根据题目要求在直线方向上完成调速、急刹车、停车、倒车返回等各种运动形式;这辆小车还可以自动记录、显示一次往返时间和行驶距离,并用蜂鸣器提示返回起点。
另外,我们经过MATLAB仿真后,成功地实现了从最高速降至低速的平稳调速。
本系统主要采用模糊控制算法进行速度调节。
通过模糊控制和PWM脉宽调制技术的结合,提高了对车位置控制精度,并且实现了恒速控制。
关键词:PWM,STM32F103,电机,传感器前言嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。
单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,ARM微处理器资源丰富,具有良好的通用性。
Cortex-M3是ARM公司最新推出的第一款基于ARMv7体系的处理器内核。
它主要针对MCU领域,在存储系统、中断系统、调试接口等方面做了较大的改进,有别于过去的ARM7处理器;Cortex-M3具有高性能、低功耗、极低成本、稳定等诸多优点,非常适合汽车电子、工业控制系统、医疗器械、玩具等领域。
基于Cortex-M3内核的STM32系列处理器于2007年由ST公司率先推出,它集先进Cortex-M3内核结构、出众创新的外设、良好的功耗和低成本于一体,极大的满足自动控制系统设计要求。
《2024年基于STM32智能小车的设计与实现》范文
![《2024年基于STM32智能小车的设计与实现》范文](https://img.taocdn.com/s3/m/c83a373459fafab069dc5022aaea998fcc22402f.png)
《基于STM32智能小车的设计与实现》篇一一、引言随着科技的不断进步,智能小车作为一种集成了计算机、传感器和执行器等技术的产品,已经在各个领域得到了广泛的应用。
本文旨在设计并实现一款基于STM32微控制器的智能小车,通过对小车的硬件设计和软件编程进行详细的阐述,以期为相关领域的科研和实践提供一定的参考。
二、硬件设计1. 微控制器选择本设计选用STM32F4系列微控制器,该系列具有高性能、低功耗等特点,能够满足智能小车在复杂环境下的实时控制需求。
2. 传感器模块传感器模块包括红外避障传感器、超声波测距传感器、光电编码器等。
这些传感器能够实时获取小车的环境信息,为小车的智能控制提供数据支持。
3. 电机驱动模块电机驱动模块采用H桥电路,通过PWM信号控制电机的转速和方向。
同时,为了保护电机和电路,还设置了过流、过压等保护措施。
4. 电源模块电源模块采用锂电池供电,通过DC-DC转换器为小车各部分提供稳定的电源。
同时,为了方便充电,还设置了USB接口。
三、软件实现1. 开发环境搭建本设计采用Keil uVision5作为开发环境,通过JTAG或SWD 接口进行程序的烧录和调试。
2. 程序设计程序设计包括主程序、传感器数据处理程序、电机控制程序等。
主程序负责协调各部分的工作,传感器数据处理程序负责获取并处理传感器的数据,电机控制程序则根据数据处理结果控制电机的转速和方向。
3. 算法实现本设计采用PID算法进行电机控制,通过调整PID参数,使小车在各种环境下的运动更加稳定。
此外,还实现了路径规划算法和避障算法,使小车能够根据环境信息自主规划路径和避障。
四、系统测试与实现效果1. 系统测试在完成硬件设计和软件编程后,对智能小车进行了系统测试。
测试内容包括小车的运动性能、传感器数据的准确性、电机控制的稳定性等。
测试结果表明,本设计的智能小车具有良好的性能和稳定性。
2. 实现效果在实际应用中,本设计的智能小车能够根据环境信息自主规划路径、避障和执行其他任务。
基于STM32的智能循迹往返小车设计
![基于STM32的智能循迹往返小车设计](https://img.taocdn.com/s3/m/b2faf612a22d7375a417866fb84ae45c3b35c2ae.png)
基于STM32的智能循迹往返小车设计董杰;王国豹【期刊名称】《电子设计工程》【年(卷),期】2013(21)12【摘要】本设计针对智能交通系统,采用STM32F103作为主控芯片,辅以路面检测模块、显示模块等外围器件,构成了一个完整的车载控制系统,能够在直线方向上完成调速、急刹车、停车、倒车返回等各种运动形式,并且可以自动记录、显示一次往返时间和行驶距离,同时用蜂鸣器提示返回到了起点.另外,经过MATLAB仿真后,成功地实现了从最高速降至低速的平稳调速.%The design of vehicle control system which is aimed at Intelligent Transportation Systems usesSTM32F103 as main control chip,which supplements road detection module,display module and other peripheral devices.The electric car can complete various forms of speed regulation,brakes,parking,reversing the return in a straight direction.The car can also automatically records and displays the round-trip time and distance traveled,and the buzzer prompt when it returns to the starting point.Additionally,it can control speed from top speed down to low speed smooth successfully through MATLAB simulation.【总页数】3页(P158-160)【作者】董杰;王国豹【作者单位】山东省汽车电子技术重点实验室山东济南 250014;山东省汽车电子技术重点实验室山东济南 250014【正文语种】中文【中图分类】TN215【相关文献】1.基于STM32的智能循迹小车设计 [J], 于雷;支语睿;朱一凡2.基于STM32的智能小车自动循迹及倒车入库设计 [J], 朱伟枝;杨亚萍;戴金龙3.基于STM32智能小车自主循迹避障系统设计与功能实现 [J], 卢雪红;邵亚军4.基于STM32的智能小车循迹优化设计 [J], 曾尧5.基于STM32的智能小车循迹避障测距的设计 [J], 洪一民;钱庆丰;章志飞因版权原因,仅展示原文概要,查看原文内容请购买。
基于STM32的智能循迹避障小车
![基于STM32的智能循迹避障小车](https://img.taocdn.com/s3/m/370348488f9951e79b89680203d8ce2f006665ff.png)
基于STM32的智能循迹避障小车基于STM32的智能循迹避障小车近年来,随着科技的不断发展,智能机器人逐渐走进人们的生活中。
智能小车作为机器人的一种应用形式,具备了很高的实用性和娱乐性,因此备受人们的喜爱。
本文将介绍一种基于STM32的智能循迹避障小车的设计过程和实现效果。
首先,介绍一下STM32嵌入式微控制器。
STM32是一款由ST公司推出的基于ARM Cortex-M内核的32位嵌入式微控制器,具备了高性能、低功耗、丰富的外设接口等特点,广泛应用于各种嵌入式系统中。
在智能小车的设计中,STM32作为控制核心,能够提供稳定可靠的运行环境。
接下来,详细介绍智能循迹避障小车的设计原理和实现过程。
首先,小车需要能够自主地循迹行驶,以达到遵循特定线路的目的。
为了实现这一功能,使用了红外传感器模块来检测地面上的黑色线条。
通过对传感器输出信号的采集和处理,可以得到小车相对于线条的位置信息,从而控制电机的转动方向以及速度,使小车能够跟踪线条进行移动。
其次,为了避免小车与障碍物相撞,需要在小车上安装超声波传感器模块。
超声波传感器能够测量周围环境中物体的距离,并将距离信息传递给STM32进行处理。
当距离较近时,STM32会发出指令控制小车改变方向或停止前进,以避免碰撞。
在整个设计过程中,需要进行大量的编程和调试工作。
首先,在Keil开发环境中进行C语言编程,编写程序以控制红外传感器和超声波传感器的工作,实现循迹和避障功能;其次,需要编写控制电机的代码,以实现小车的转动和速度控制;最后,通过调试和优化程序,确保小车能够稳定、准确地执行指令。
基于STM32的智能循迹避障小车的设计完成后,进行了实际测试。
测试结果表明,小车能够准确地跟踪黑色线条行驶,并在检测到障碍物时及时避免碰撞,具备了良好的智能性和安全性。
综上所述,基于STM32的智能循迹避障小车是一种结合了嵌入式技术和智能控制的应用方案。
它利用红外传感器和超声波传感器实现了循迹和避障的功能,通过STM32的处理以及电机的控制,能够准确地行驶并避开障碍物。
《2024年基于STM32的智能小车研究》范文
![《2024年基于STM32的智能小车研究》范文](https://img.taocdn.com/s3/m/a26623826e1aff00bed5b9f3f90f76c661374c9c.png)
《基于STM32的智能小车研究》篇一一、引言随着科技的进步和人工智能的快速发展,智能小车作为一种集成了传感器、控制算法和执行机构的智能设备,在物流、安防、救援等领域得到了广泛的应用。
STM32系列微控制器以其高性能、低功耗的特点,在智能小车的控制系统中得到了广泛的应用。
本文将基于STM32的智能小车研究进行探讨,分析其设计原理、实现方法和应用前景。
二、STM32微控制器概述STM32系列微控制器是ST公司推出的一款基于ARM Cortex-M内核的微控制器,具有高性能、低功耗、低成本等特点。
其丰富的外设接口和强大的计算能力,使得STM32在智能小车的控制系统中发挥着重要的作用。
STM32通过与各种传感器、执行机构等设备的连接,实现对小车的控制,完成各种复杂的任务。
三、智能小车设计原理智能小车的设计主要包括硬件设计和软件设计两部分。
硬件设计主要包括小车的机械结构、传感器、执行机构等设备的选择和布局。
软件设计则主要包括控制算法的实现、通信协议的制定等。
在硬件设计方面,智能小车通常采用轮式结构,通过电机驱动实现运动。
传感器部分包括速度传感器、距离传感器、方向传感器等,用于获取小车的运动状态和环境信息。
执行机构部分包括电机驱动器、舵机等,用于控制小车的运动方向和速度。
在软件设计方面,STM32通过控制算法实现对小车的控制。
常见的控制算法包括PID控制算法、模糊控制算法等。
此外,为了实现小车的自主导航和避障等功能,还需要制定相应的通信协议,实现小车与上位机或其他设备的通信。
四、实现方法基于STM32的智能小车实现方法主要包括以下几个方面:1. 硬件搭建:根据小车的机械结构和功能需求,选择合适的传感器、执行机构等设备,完成硬件的搭建和布局。
2. 程序设计:编写控制算法和通信协议的程序,实现小车的控制和通信功能。
3. 调试与测试:对小车进行调试和测试,确保其各项功能正常。
4. 优化与改进:根据测试结果和实际需求,对小车的硬件和软件进行优化和改进,提高其性能和稳定性。
基于STM32的智能循迹避障小车
![基于STM32的智能循迹避障小车](https://img.taocdn.com/s3/m/fb75fda9e109581b6bd97f19227916888486b927.png)
基于STM32的智能循迹避障小车史上最流行的智能循迹避障小车1. 产品概述基于STM32的智能循迹避障小车采用STM32系列单片机作为控制核心,结合红外循迹模块和超声波避障模块,实现了对小车的精准控制和智能避障功能。
用户可以通过遥控器或者手机APP控制小车的移动方向,同时小车能够自主进行循迹和避障,具有较高的智能化水平和丰富的互动性。
2. 技术特点(1)基于STM32单片机STM32单片机是ST公司推出的一款高性能、低功耗的微控制器,具有强大的计算和控制能力。
通过STM32单片机,可以实现对小车的多种功能控制,如速度控制、方向控制、循迹控制和避障控制等,大大提升了小车的智能化水平。
(2)红外循迹模块红外循迹模块是小车的核心模块之一,它通过接收地面上的红外线信号,实现对小车行进路径的感知和掌控。
当小车偏离预设的轨迹时,红外循迹模块会向STM32单片机发送信号,从而实现小车的自动调整和校准。
(3)超声波避障模块超声波避障模块是小车的另一核心模块,它通过发射超声波脉冲并接收回波,实现对小车前方障碍物的探测和距离测量。
一旦探测到障碍物,超声波避障模块会及时向STM32单片机发送信号,触发小车的避障程序,从而保证小车在行进过程中能够避开障碍物,并确保行进的安全性。
(4)遥控器和手机APP控制3. 应用场景基于STM32的智能循迹避障小车可以广泛应用于各种领域,如教育、科研、娱乐和工业等。
在教育领域,它可以作为学生学习编程和控制技术的教学工具;在科研领域,它可以作为智能化设备,用于开展机器人领域的研究和实验;在娱乐领域,它可以作为智能玩具,提供给孩子们进行智能玩耍和游戏;在工业领域,它可以作为智能运输车辆,用于物流和仓储等领域的应用。
4. 发展趋势随着人工智能、物联网和自动驾驶技术的不断发展,基于STM32的智能循迹避障小车必将迎来更加广阔的发展前景。
未来,智能循迹避障小车将更加智能化和智能化,能够实现更加复杂的任务和功能,如语音识别、图像识别、路径规划和自主导航等,为人们的生活和工作带来更大的便利和帮助。
基于STM32单片机的智能小车控制系统
![基于STM32单片机的智能小车控制系统](https://img.taocdn.com/s3/m/ff57d51adf80d4d8d15abe23482fb4daa58d1d4e.png)
• 164•本设计基于STM32F 系列单片微型控制器,设计的核心模块选用STM32F103rct6型号单片微型控制器,其具备强大的数据运算和控制能力。
主要使用TCRT5000红外反射模块、HC-SR04超声波测距模块、L298N 电机驱动模块等,实现智能小车的黑白线循迹功能与超声波测距并避障报警的功能。
该设计使智能小车具有一定程度的环境感知能力、障碍物探测能力和自动黑白线循迹行驶能力。
智能小车在各行各业中均有广泛的应用,以智能小车为基础的可移动平台,在其上搭载其它更为智能、功能更为强大的探测器和设备,更够有效地代替人类在危险环境中作业,减少环境对人类的危害,也能代替人类从事一些繁重、机械的工作,提高工作效率,让人类从低效率的、机械性的、危险的工作或工作环境中脱离的转速,利用差速转动原理使小车回归到轨道内行驶。
在小车的车体前端安装有一个超声波测距模块,当小车在运行过程中,超声波模块以一个极为短暂的时间间隔不断地向前发射超声波。
利用声波的反射,当声波在传播过程中碰上障碍物,会产生一个回波,超声波模块会接收到这个回波,并将会返回一个电信号给单片微控制器。
此时电信号代表小车前方出现障碍物,单片机会向电机驱动模块发送控制指令使电机停止转动,这时小车处于停止状态,接着单片机向蜂鸣器发送电信号使其蜂鸣报警,提示智能小车遭遇障碍物。
待障碍物被清理之后,小车继续循迹前进。
小车的整个控制过程不断循环重复,即可达到循迹行驶功能和避障报警功能(见图1)。
基于STM32单片机的智能小车控制系统贵州师范大学物理与电子科学学院 刘雪飞 李 勇图1 小车控制系统控制流程图出来。
科技的进步使得移动机器人技术正在飞速发展,各行各业中都有其广泛应用的场景,移动机器人技术的出现,让人们的生活充满了便利与快捷。
在可预见的未来,小车的智能化、自动化已经成为了不可避免的主流趋势。
因此,研究智能小车具有重要的现实实用意义以及重要的理论意义。
《2024年基于STM32的智能小车研究》范文
![《2024年基于STM32的智能小车研究》范文](https://img.taocdn.com/s3/m/e0a000640812a21614791711cc7931b764ce7b4f.png)
《基于STM32的智能小车研究》篇一一、引言随着科技的发展和社会的进步,智能化和自动化的应用领域不断拓展。
其中,智能小车以其体积小、移动性强和灵活多样的功能受到了广泛的关注。
作为当今最具代表性的硬件控制器之一,STM32以其高性价比和高效性能成为众多科研和应用的首选。
因此,本文以基于STM32的智能小车为研究对象,对其系统设计、实现方法以及性能评估进行详细研究。
二、系统设计1. 硬件设计本智能小车以STM32F4微控制器为核心,配备传感器、电机驱动、电源管理等模块。
其中,传感器包括速度传感器、超声波传感器、红外传感器等,用于检测环境信息并实时反馈给STM32F4进行计算和决策。
电机驱动采用高性能的H桥驱动芯片,确保小车的平稳和精准移动。
2. 软件设计在软件设计方面,我们采用C语言进行开发,结合STM32F4的HAL库进行编程。
系统软件主要包括初始化程序、传感器数据采集程序、电机控制程序以及决策控制程序等。
通过STM32F4的强大计算能力,实现多传感器数据的实时处理和决策控制。
三、实现方法1. 传感器数据采集与处理通过超声波传感器和红外传感器等设备,实时获取环境信息,如障碍物距离、前方有无行人等。
然后通过STM32F4进行数据预处理和特征提取,为后续的决策和控制提供数据支持。
2. 电机控制与决策控制根据传感器数据和环境信息,STM32F4通过电机控制程序实现小车的精确移动。
同时,结合决策控制程序,实现小车的自动避障、寻迹等功能。
通过调整控制算法的参数,可以实现小车在不同环境下的最佳性能。
四、性能评估经过实验测试,本智能小车在避障、寻迹等任务中表现出良好的性能。
在避障任务中,小车能够准确检测到障碍物并实时调整行进路线;在寻迹任务中,小车能够沿着设定的轨迹准确移动。
此外,STM32F4的强大计算能力和多传感器数据融合技术使小车具有更高的智能性、灵活性和适应性。
在电池续航能力方面,我们的智能小车也表现出较高的水平,能够在长时间的工作中保持稳定的性能。
基于STM32智能循迹避障小车(设计报告)
![基于STM32智能循迹避障小车(设计报告)](https://img.taocdn.com/s3/m/fd77e729cd7931b765ce0508763231126edb7716.png)
基于STM32智能循迹避障小车(设计报告)具有丰富的外设和存储器资源,能够满足本设计的需求。
在硬件方面,采用了红外对管和超声波传感器来检测道路上的轨迹和障碍物,并通过PWM调速来控制电动小车的速度。
在软件方面,采用MDK(keil)软件进行编程,实现对小车的自动循迹和避障,快慢速行驶,以及自动停车等功能。
设计方案本设计方案主要分为硬件设计和软件设计两个部分。
硬件设计部分主要包括电路原理图的设计和PCB的制作。
在电路原理图的设计中,需要将stm32芯片、红外对管、超声波传感器、电机驱动模块等元器件进行连接。
在PCB的制作中,需要将电路原理图转化为PCB布局图,并进行钻孔、贴片等工艺流程,最终得到完整的电路板。
软件设计部分主要包括程序的编写和调试。
在程序的编写中,需要先进行芯片的初始化设置,然后分别编写循迹、避障、速度控制等功能的代码,并将其整合到主函数中。
在调试过程中,需要通过串口调试工具来进行数据的监测和分析,以确保程序的正确性和稳定性。
实验结果经过多次实验测试,本设计方案实现了对电动小车的自动循迹和避障,快慢速行驶,以及自动停车等功能。
在循迹和避障方面,红外对管和超声波传感器的检测精度较高,能够准确地控制小车的运动方向和速度;在速度控制方面,PWM调速的方式能够实现小车的快慢速行驶,且速度控制精度较高;在自动停车方面,通过超声波传感器检测到障碍物后,能够自动停车,确保了小车的安全性。
结论本设计方案采用stm32为控制核心,利用红外对管和超声波传感器实现对电动小车的自动循迹和避障,快慢速行驶,以及自动停车等功能。
在硬件方面,电路结构简单,可靠性能高;在软件方面,采用MDK(keil)软件进行编程,实现了程序的稳定性和正确性。
实验测试结果表明,本设计方案能够满足题目的要求,具有一定的实用性和推广价值。
内核采用ARM32位Cortex-M3 CPU,最高工作频率为72MHz,1.25DMIPS/MHz,具有单周期乘法和硬件除法功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南科技大学信息与电气工程学院《STM32控制自动往返小汽车》设计报告专业:电子信息工程班级:二班姓名:曾有根学号:0904030218指导教师:罗朝辉自动往返电动小汽车本设计民用STM32作为自动往返小汽车的检测和控制核心,辅以传感器、控制电路、显示电路等外围器件,构成了一个车载控制系统。
路面黑线检测使用反射式红外传感器,利用PWM技术动态控制电动机的转速。
基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了小车在限速和压线过程中的精确控制。
电动小汽车能够根据题目要求在直线方向上完成调速、急刹车、停车、倒车返回等各种运动形式;这辆小车还可以自动记录、显示一次往返时间和行驶距离,并用蜂鸣器提示返回起点。
另外,我们经过MATLAB仿真后,成功地实现了从最高速降至低速的平稳调速。
本系统主要采用模糊控制算法进行速度调节。
通过模糊控制和PWM脉宽调制技术的结合,提高了对车位置控制精度,并且实现了恒速控制。
关键词:PWM,STM32F103,电机,传感器前言嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。
单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,ARM微处理器资源丰富,具有良好的通用性。
Cortex-M3是ARM公司最新推出的第一款基于ARMv7体系的处理器内核。
它主要针对MCU领域,在存储系统、中断系统、调试接口等方面做了较大的改进,有别于过去的ARM7处理器;Cortex-M3具有高性能、低功耗、极低成本、稳定等诸多优点,非常适合汽车电子、工业控制系统、医疗器械、玩具等领域。
基于Cortex-M3内核的STM32系列处理器于2007年由ST公司率先推出,它集先进Cortex-M3内核结构、出众创新的外设、良好的功耗和低成本于一体,极大的满足自动控制系统设计要求。
作为先进的32位通用微控制器的领跑者,STM32以其出众的性能、丰富且灵活的外设、很高的性价比以及令人意外的功耗水准,使其自面世以来得到众多设计者的青睐,众多行业领导者纷纷选用STM32作为新一代产品的平台。
因此将STM32F103应用于智能小车的控制系统是一种较好的选择。
基于此,本文提出了一个比较合理的智能小车系统设计方案。
整个小车系统以STM32F103芯片为控制核心,附以外围电路,利用红外探测器、触角传感器采集外界信息和检测障碍物;充分利用STM32F103的串口、并口资源和高速的运算、处理能力,来实现小车自动识别路线按迹行走、躲避障碍物,并且通过LCD显示器实时显示小车运动参数;配置STM32F103通用定时器为PWM输出模式产生PWM波,通过步进调节PWM波占空比参数控制电机的转速。
第一章系统方案论证与分析根据题目中的设计要求,本系统主要由主控单片机模块、电源模块、电机驱动模块、黑线检测模块、测速模块以及液晶显示模块构成。
本系统的方框图如下图所示:1、主控单片机根据题目要求,控制器主要用于控制电机的运动,黑线的检测以及相关信息的显示。
对于控制器的选择主要有以下两种方案:方案一:采用51系列单片机作为控制器。
51系列单片机应用广泛,技术成熟,但是运行速度慢,内部资源较少,且只有2个定时计数器,不满足题目要求。
方案二:采用STM32作为控制器。
基于Cortex- M3内核的STM32F10x系列芯片是新型的32位嵌入式微处理器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。
综上,我们选用了方案一,采用了STM32,该单片机价格便宜,资源足够。
2、电动机驱动模块方案一:采用达林顿管阵列ULN2003驱动芯片。
ULN2003是7通道高电压、大电流驱动器,并联端口可以加大输出电流,对直流电机具有良好驱动能力。
但其结构决定驱动直流电机只能是单方向的,不能驱动直流电机反转,这与题目要求不符。
方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:采用双H桥驱动芯片L298。
其内部包含4通道逻辑驱动电路,可以方便的驱动两个直流电机,或一个两相步进电机。
L298的逻辑电平与51单片机匹配,可以与其直接相连。
控制芯片的驱动使能端就可以控制驱动电机的速度。
L298对直流电机具有良好的驱动控制能力,故这里选择方案三。
3、路面黑线检测模块选择方案一:采用发光二极管与光敏电阻,利用光敏电阻的阻值变化来控制信号。
由于外界光亮条件不定,一旦光线条件改变很可能造成误判和漏判;虽然采取超高亮发光管可以降低一定的干扰,但这用将增加额外的功率损耗。
方案二:采用红外线控制的反射式红外对管。
红外对管只对红外线具有较高灵敏度,从而避免了外界光线的干扰;跑道黑带能够吸收红外线,而白色跑道能够反射红外线,从而检测到跑道黑带。
方案选择:光敏电阻的易干扰性和红外对管的单一灵敏行决定方案二具有较好控制作用。
4、里程计算与计时模块选择方案一:采用霍尔传感器。
该器件内部由三篇霍尔金属板组成,当磁铁正对金属板时,由于霍尔效应,金属板发生横向导通,发出低电平信号。
因此可以在车轮上安装微型磁铁,而将霍尔传感器安装在固定轴上,通过对脉冲的计数进行车速测量。
方案二:采用检测黑线的方法,每经过一条黑线就增加相应的里程数,并通过定时器计时。
方案选择:相比而言,方案二不需要另外的传感器,计算方便,定时器也很精确,故选择方案二。
图2.1 电机控制系统框图由系统框图可看出,小车整个控制系统设计主要包括电机驱动、液晶显示、键盘扩展电路、触角传感电路、红外收发检测电路等模块。
整个系统的硬件电路设计原理图见附录,下面分别介绍各部分模块的设计。
一、主要电路设计1、STM32F103及外围电路设计本设计采用STM32F103为主控芯片,则STM32F103芯片的最小系统设计如图1.2、1.3所示。
图1.2 STM32F103芯片最小系统图图1.3 STM32F103芯片最小系统图续如图1.2、1.3,此部分电路包括系统时钟电路、实时时钟电路、JTAG调试接口电路,复位电路和启动模式选择电路。
下面对部分电路设计做简要说明。
1.时钟电路系统时钟电路选用8MHZ的HSE晶体作为振荡器晶振。
如图2.2所示,由R113、Y100(HSE晶振)、C108及C109构成系统时钟电路。
HSE晶体可以通过设置时钟控制寄存器里RCC_CR中的HSEON位被启动和关闭。
实时时钟电路选择LSE时钟模式,如图2.2所示,由Y101(LSE晶振)、C112及C113构成LSE旁路,提供一个32.768kHz频率的外部时钟源。
LSE晶体是一个32.768kHz 的低速外部晶体或陶瓷谐振器。
它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。
2.启动模式选择电路如图2.3所示,通过BOOT[1:0]引脚可以选择三种不同启动模式。
如下表2-1所示。
表2-1 启动模式在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。
此时可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。
2、电源电路设计由于各电路模块所需电压不同,本设计需多种电源供电。
STM32F103主控芯片采用3.3V供电,电机驱动采用5V与12V,红外收发检测电路采用5V与3.3V,液晶显示与触角传感电路均采用3.3V供电。
外部电源采用12V的直流电压,因此根据设计要求,本设计进行了电源转换设计。
1. 采用KA7805芯片实现12V到5V的转换。
KA7805的作用是输入大于5V 的直流电压,输出5V的直流电压,且管脚较少,易于连接和实现,稳定性高。
图2.4为KA7805芯片引脚接线图。
图2.4 KA7805引脚接线图2.本设计采用LM1117-3.3芯片将5V转换为3.3V,具体电路设计如图2.5 所示。
图2.5 LM1117-3.3引脚接线图3、电机驱动电路设计STM32F103芯片外部扩展的电机驱动电路采用L298芯片控制,其基本电路图如图2.6。
图3.6 电机驱动电路基本电路原理图如图2.6所示,小车运动状态通过电机A和B的不同方向转动来实现,电机有正转、反转和停止三种状态,每个电机由一对I/O口进行控制。
表2-2是I/O端口状态与电机制动对照表。
表2-2 I/O端口状态与电机制动对照表电机A IN1 IN2 电机B IN3 IN4停止0 0 停止0 0正转 1 0 正转 1 0反转0 1 反转0 1- 1 1 - 1 1L298芯片采用5V(VSS)与12V(VS)直压供电,EN A和EN B分别用STM32F103主控芯片的TIM3_CH3和PB1/ADC_IN9/TIM3_CH4控制,产生PWM1和PWM2两路PWM波输出,IN1-IN4分别用PE3-PE6实现I/O输出控制电机转动方向。
在L298与电机之间加入二极管,以保护电路。
4、液晶显示电路设计液晶显示电路采用2.4寸TFT显示5、红外探测电路设计采用反射式光电开关来识别轨迹上的黑线标记信号,如图3 所示。
这种光电开关的红外发射管和接收管位于同一侧,光敏三极管只能接收反射回的红外光。
当车身下面是黑线时,由于黑线吸收部分光,光敏三极管接收到的红外光不能使光敏三极管导通,光电开关输出高电平,经非门输出低电平。
反之,当车身下面是白色的地面时,红外发射管发射的光经其反射后,被接收管接受,光电开关输出低电平,经非门整形后输出高电平。
将非门的输出接至CPU的INT1输入端.车在前进和后退过程中,小车每过一道黑线,便产生一次中断申请,从而调用相应的子程序,随着小车的不断行驶,相应的程序依次被调用执行,使小车在跑道上按设计要求时快、时慢、时前进、时后退.第三章小车控制系统软件设计采用单片机STM32为主控制器.采用C 语言进行软件编程实现各种算法和逻辑控制1 红外光电检测到的开关信号作为中断源, 送入STM32中断源EXTI_Line0; STM32 再对中断请求做出响应, 并在GPIOB0和GPIOB1口输出控制驱动电路的脉冲和转速; 通过GPIOC0、GPIOC1、GPIOC4、GPIOC5驱动电路控制直流电机的转向; 显示模块以2.4寸tft为核心, 对记录的结果进行显示.1、前进(带矫正)子程序void qianjin(){while(1){//检测到黑,发光12外13内if(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12) && GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)) // 12亮(高电平)13不亮(低电平){GPIO_SetBits(GPIOC, GPIO_Pin_0);GPIO_ResetBits(GPIOC, GPIO_Pin_1);GPIO_SetBits(GPIOC, GPIO_Pin_4);GPIO_ResetBits(GPIOC, GPIO_Pin_5);}else if (!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12) && !GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)) //都亮{GPIO_SetBits(GPIOC, GPIO_Pin_0);GPIO_ResetBits(GPIOC, GPIO_Pin_1);GPIO_ResetBits(GPIOC, GPIO_Pin_4);GPIO_ResetBits(GPIOC, GPIO_Pin_5);}else if (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12) && !GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)) // 12亮(低电平)13不亮(高电平){GPIO_ResetBits(GPIOC, GPIO_Pin_0);GPIO_ResetBits(GPIOC, GPIO_Pin_1);GPIO_SetBits(GPIOC, GPIO_Pin_4);GPIO_ResetBits(GPIOC, GPIO_Pin_5);}if(flag==6){// GPIO_SetBits(GPIOA , GPIO_Pin_4);break;}}}2、后退(带矫正)子程序void houtui(){while(1){//检测到黑,发光12外13内if(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) && GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)) // 12亮(高电平)13不亮(低电平){GPIO_ResetBits(GPIOC, GPIO_Pin_1);GPIO_ResetBits(GPIOC, GPIO_Pin_0);GPIO_SetBits(GPIOC, GPIO_Pin_5);GPIO_ResetBits(GPIOC, GPIO_Pin_4);}else if (!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8) && !GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)) //都亮{GPIO_SetBits(GPIOC, GPIO_Pin_1);GPIO_ResetBits(GPIOC, GPIO_Pin_0);GPIO_ResetBits(GPIOC, GPIO_Pin_5);GPIO_ResetBits(GPIOC, GPIO_Pin_4);}else if (GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12) && !GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)) // 12亮(低电平)13不亮(高电平){GPIO_SetBits(GPIOC, GPIO_Pin_1);GPIO_ResetBits(GPIOC, GPIO_Pin_0);GPIO_SetBits(GPIOC, GPIO_Pin_5);GPIO_ResetBits(GPIOC, GPIO_Pin_4);}if(flag==12){GPIO_SetBits(GPIOA , GPIO_Pin_4);break;}}}3、横线检测并调速程序void EXTI0_IRQHandler(void){if ( EXTI_GetITStatus(EXTI_Line0) != RESET ) { EXTI_ClearITPendingBit(EXTI_Line0);flag++;if(flag==2||flag==4) //||flag==3||flag==4{pulse = 3000;TIM_SetCompare3(TIM3,pulse);TIM_SetCompare4(TIM3,pulse);}if(flag==3) //||flag==3{pulse = 2850;TIM_SetCompare3(TIM3,pulse);TIM_SetCompare4(TIM3,pulse);}if(flag==5){pulse = 2650;TIM_SetCompare3(TIM3,pulse);}if(flag==9){pulse = 2900;//2350TIM_SetCompare3(TIM3,pulse);TIM_SetCompare4(TIM3,pulse);}if(flag==8||flag==10) //flag==7||{pulse = 3000; //2600TIM_SetCompare3(TIM3,pulse);TIM_SetCompare4(TIM3,pulse);}if(flag==11||flag==7){pulse = 2850; //2600TIM_SetCompare3(TIM3,pulse);TIM_SetCompare4(TIM3,pulse);}if(flag==12){pulse = 0; //2600TIM_SetCompare3(TIM3,pulse);TIM_SetCompare4(TIM3,pulse);}}}4、显示子程序void ILI9325_PutString(u16 x, u16 y, u8 *s, u16 fColor, u16 bColor){u8 row=0;while(*s){if( *s < 0x80){ILI9325_PutChar(x+(row<<3),y,*s,fColor,bColor);s++;row++;}else{ILI9325_PutGB16x16(x+(row<<3),y,(u8*)s,fColor,bColor);s+=2;row+=2;}}}第四章结论本文根据设计内容和要求,制定了设计方案,并逐步完成了硬件和软件部分的设计。