信号与信息处理综合应用设计(报告)
题 目: 基于 STM32 智能循迹避障小车
二级学院:
专 业:
班 级:
学生姓名: 学号:
指导教师:
时 间:
基于 STM32 智能循迹避障小车
摘要
以设计题目的要求为目的,采用 stm32 为控制核心,利用红外线传感器检测道路上的轨迹和
超声波检测障碍,控制电动小车的自动循迹和避障,快慢速行驶,以及自动停车,整个系统的电
路结构简单,可靠性能高。实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测
试结果分析。
采用的技术主要有:
(1) 通过编程来控制小车的速度;
(2) 传感器的有效应用;
(3) 新型芯片的采用。
关键词:stm32 芯片、PWM 调速、电动小车、红外对管、循迹、避障、MDK(keil)软件
正文前言
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和市内电子
大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义
很大。指导教师已经有充分的准备。设计的智能电动小车具有自动寻迹、避障、可程控行驶速度。
根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加红外线传感器和超声波传感
器,实现对电动车的速度、运行状况的实时测量,并将测量数据传送至 stm32 进行处理,然后由
stm32 根据所检测的各种数据实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行
实时控制,可靠,精度高,可满足对系统的各项要求。
概述
本设计采用 stm32 为控制核心。STM32 系列基于专为要求高性能、低成本、低功耗的嵌入式
应用专门设计的 ARM Cortex-M3 内核,STM32F 系列有:
STM32F103“增强型”系列
STM32F101“基本型”系列
STM32F105、STM32F107“互联型”系列
增强型系列时钟频率达到 72MHz,是同类产品中性能最高的产品;基本型时钟频率为 36MHz,
以 16 位产品的价格得到比 16 位产品大幅提升的性能,是 32 位产品用户的最佳选择。两个系列都
内置 32K 到 128K 的闪存,不同的是 SRAM 的最大容量和外设接口的组合。时钟频率 72MHz 时,从
闪存执行代码,STM32 功耗 36mA,相当于 0.5mA/MHz。
本次课程设计用的芯片为 stm32f103ze 型
内核:ARM32 位 Cortex-M3 CPU,最高工作频率 72MHz,1.25DMIPS/MHz。单周期乘法和硬件除
法。
存储器:片上集成 32-512KB 的 Flash 存储器。6-64KB 的 SRAM 存储器。
时钟、复位和电源管理:2.0-3.6V 的电源供电和 I/O 接口的驱动电压。上电复位(POR)、掉
电复位(PDR)和可编程的电压探测器(PVD)。4-16MHz 的晶振。内嵌出厂前调校的 8MHz RC 振
荡电路。内部 40 kHz 的 RC 振荡电路。用于 CPU 时钟的 PLL。带校准用于 RTC 的 32kHz 的晶振。
低功耗:3 种低功耗模式:休眠,停止,待机模式。为 RTC 和备份寄存器供电的 VBAT。
调试模式:串行调试(SWD)和 JTAG 接口。
DMA:12 通道 DMA 控制器。
支持的外设:定时器,ADC,DAC,SPI,IIC 和 UART。
方案设计及工作原理
根据题目的要求,有如下方案:
一 调速系统
方案:脉宽调速系统。
PWM 调速系统有下列优点:
(1)由于 PWM 调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动很小的直
流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽,可达 1:10000 左右。由于电
流波形好,电动机的损耗和发热都比较小。
(2)同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频带,因此快
速响应性能好,动态抗扰能力强。
(3)由于电力电子器件只工作在开关状态,主电路损耗较小,装置效率较高。
根据以上综合比较,以及本设计中受控电机的容量和直流电机调速的发展方向,本设计采用了
H 型单极型可逆 PWM 变换器进行调速。
脉宽调速系统的主电路采用脉宽调制式变换器,简称 PWM 变换器。
脉宽调速也可通过 stm32 控制继电器的闭合来实现,但是驱动能力有限。为顺利实现电动小汽
车的前行与倒车,本设计采用了可逆 PWM 变换器。可逆 PWM 变换器主电路的结构式有 H 型、T 型等
类型。我们在设计中采用了常用的双极式 H 型变换器,它是由 4 个三极电力晶体管和 4 个续流二
极管组成的桥式电路。
二 检测系统
检测系统主要实现光电检测,即利用各种传感器对电动车的避障、位置、行车状态进行测量。
行车起始、终点及光线检测:
本系统采用反射式红外线光电传感器用于检测路面的起始、终点(黑线),玩具车底盘上沿黑
线放置,以适应起始的记数开始和终点的停车的需要。
行车方向检测电路采用反射接收原理配置了一对红外线发射、接收传感器。该电路包括一个红
外发光二极管、一个红外光敏三极管及其上拉电阻。红外发光二极管发射一定强度的红外线照射物
体,红外光敏三极管在接收到反射回来的红外线后导通,发出一个电平跳变信号。此套红外光电传
感器固定在底盘前沿,贴近地面。正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被
接收管接收,输出高电平信号;电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不
到反射光线,传感器输出低电平信号后送 stm32 进行处理,判断执行哪一种预先编制的程序来控制
玩具车的行驶状态。前进时,驱动轮直流电机正转,进入减速区时,由单片机控制进行 PWM 变频调
速,通过软件改变脉冲调宽波形的占空比,实现调速。最后经反接制动实现停车。前行与倒车控制电
路的核心是桥式电路和继电器。电桥上设置有两组开关,一组常闭,另一组常开。方案设计流程图
如下图所示:
各功能模块设计和仿真
1、电机模块
模块接口说明
+5V:芯片电压 5V。
VCC:电机电压,最大可接 50V。
GND:共地接法。
A-~D-:输出端,接电机。
A~D+ :为步进电机公共端,模块上接了 VCC。
EN1、EN2:高电平有效,EN1、EN2 分别为 IN1 和 IN2、IN3 和 IN4 的使能端。
IN1~ IN4:输入端,输入端电平和输出端电平是对应的。
主程序代码如下:
void TIM3_PWM_Init(void)
{ GPIO_InitTypeDef GPIO_Initstrut;
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitstrut;
TIM_OCInitTypeDef TIM_OCInitstrut;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO|RCC_APB2Periph
_GPIOA,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
GPIO_Initstrut.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Initstrut.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1; //TIM3 通道 3、4
GPIO_Initstrut.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_Initstrut);
GPIO_Initstrut.GPIO_Mode=GPIO_Mode_AF_PP;
- 1
- 2
- 3
- 4
- 5
- 6
前往页