文档库 最新最全的文档下载
当前位置:文档库 › STM32的小车控制

STM32的小车控制

STM32的小车控制
STM32的小车控制

摘要

对于小车的控制,即是对于电机的控制。电机作为机电能量转换装置,其应用范围已遍及国民经济的各个领域以及人们的日常生活中,所以怎么更好的对电机进行控制就显得尤为重要。基于Cortex- M3内核的STM32F10x系列芯片是新型的32位嵌入式微处理器,其性能优良,移植性好,提高了对直流电机的控制效率,并对控制系统进行模块化设计,有利于智能小车的功能扩展和升级。

本论文主要分析了基于STM32F103的小车控制系统的设计过程。此系统主要包括STM32F103控制器、液晶显示电路、键盘控制电路、电机驱动电路、红外探测电路、触角检测电路等。以STM32F103主控芯片及其外围扩展电路实现系统整体功能;小车基本运动模式的选择及速度调节用按键开关式的键盘输入实现;同时液晶模块实时显示小车运动参数;用红外探测电路实现小车循迹功能;用触角传感检测模块实现小车简单避障功能。在硬件设计的基础上提出了实现电机控制功能、LCD显示功能及小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境IAR EWARM 5.3下编写了控制程序。

关键词:PWM,STM32F103,电机,传感器

目录

前言 (1)

第1章绪论 (2)

1.1 STM32芯片介绍 (2)

1.1.1STM32处理器的分类 (2)

1.1.2 STM32处理器的内部结构及特点 (3)

1.1.3 TIMx定时器介绍 (4)

1.2 小车及其驱动器介绍 (6)

1.2.1 小车结构及功能简介 (6)

1.2.2 电机驱动电路简介 (7)

第2章小车控制系统硬件设计 (9)

2.1 系统功能实现及需求分析 (9)

2.2 主要电路设计 (10)

2.2.1 STM32F103及外围电路设计 (10)

2.2.2 电源电路设计 (12)

2.2.3 电机驱动电路设计 (12)

2.2.4 液晶显示电路设计 (13)

2.2.5 键盘扩展电路设计 (14)

2.2.6 触角探测电路设计 (15)

2.2.7 红外探测电路设计 (15)

第3章小车控制系统软件设计 (17)

3.1 IAR开发环境介绍 (17)

3.2 程序设计思路及部分模块程序 (18)

3.2.1 程序设计思路 (18)

3.2.2 按键子程序 (19)

3.2.3 循迹子程序 (21)

3.2.4 自由行走子程序 (22)

3.2.5 LCD显示子程序 (23)

第4章结论 (24)

致谢 (25)

参考文献 (26)

附录 (27)

前言

随着计算机、微电子、信息技术的快速发展,智能化技术的开发速度越来越快,程度越来越高,广泛应用于海洋开发、宇宙探测、工农业生产、军事、社会服务、娱乐等各个领域。智能电动小车系统以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科,主要由路径识别、角度控制及车速控制等功能模块组成,被应用于隧道探测、机器人、考古、娱乐等许多方面。因此,对智能小车的研究具有重要的实际意义。

嵌入式技术依靠其体积小、成本低、功能强等特点,适应了智能化发展的最新要求。单片机作为控制系统的微处理器,在数据处理和代码存储等方面都已经无法满足系统的要求,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章绪论

1.1 STM32芯片介绍

2006年ARM公司推出了基于ARMv7架构的Cortex系列的标准体系结构,以满足各种技术的不同性能要求,包含A、R、M三个分工明确的系列[1]。其中,A 系列面向复杂的尖端应用程序,用于运行开放式的复杂操作系统;R系列适合实时系统;M系列则专门针对低成本的微控制领域。Cortex-M3是首款基于ARMv7-M 体系结构的32位标准处理器,具有低功耗、少门数、短中断延迟、低调试成本等众多优点。它是专门为在微控制系统、汽车车身系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域实现高系统性能而设计的,它大大简化了编程的复杂性,集高性能、低功耗、低成本于一体[2]。半导体制造厂商意法半导体ST公司是ARM公司Cortex-M3内核开发项目一个主要合作方,2007年6月11日ST公司率先推出了基于Cortex-M3内核的STM32系列MCU。本章将简要介绍STM32系列处理器的分类、内部结构及特点,并对本设计中重点应用的通用定时器做进一步分析。

1.1.1STM32处理器的分类

STM32系列处理器目前分为2个系列。STM32F101是标准型系列,工作在36MHZ;STM32F103是增强型系列,工作在72MHZ,带有更多片内RAM和更丰富的外设。这两个系列的产品拥有相同的片内Flash选项,在软件和引脚封装方面是兼容[3]。

标准型系列是STM32处理器入门产品,其价格仅相同于16位MCU却拥有32位MCU的性能,其外设的配置能提供优秀的控制和联接能力。增强型系列产品则将32位MCU的性能和功效引向一个新的级别。内含的Cortex-M3内核工作在72MHZ,能实现高端运算,其外设的配置能提供极好的控制和联接能力。

STM32全系列处理器拥有的脚对脚、外设及软件的高度兼容性,这给其应用带来全方位的灵活性,可以在不必修改原始框架及软件的条件下,将应用升级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。

对于使用同一平台进行多个项目的开发而言,STM32更是一种非常好的选择。因为在STM32全系列产品中,既有适合仅需少量的存储空间和引脚,也有满足需要更多的存储空间和引脚;既有适于高性能应用的,又有满足低功耗要求的;既有适合低成本简单应用,也有满足高端复杂应用的。全系列兼容,使得项目之间的代码重用和代码移植变得非常方便。

1.1.2 STM32处理器的内部结构及特点

STM32F103系列微处理器是首款基于ARMv7-M体系结构的32位标准RISC (精简指令集)处理器,提供很高的代码效率,在通常8位和16位系统的存储空间上发挥了ARM 内核的高性能。该系列微处理器工作频率为72MHz,内置高达128K 字节的Flash存储器和20K 字节的SRAM,具有丰富的通用I/O 端口。其内部结构图如图1.1所示。

图1.1 STM32F10x内部结构图[4]

STM32F103系列微处理器主要资源和特点如下[5]:

1. 多达51个快速I /O 端口,所有I/O口均可以映像到16个外部中断,几乎所有端口都允许5V 信号输入。每个端口都可以由软件配置成输出(推挽或开

漏)、输入(带或不带上拉或下拉)或其它的外设功能口。

2. 2个12位模数转换器,多达16个外部输入通道,转换速率可达1MHz,转换范围为0~ 36V;具有双采样和保持功能;内部嵌入温度传感器。

3. 灵活的7路通用DMA 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输,无须CPU 任何干预。通过DMA可以使数据快速地移动,这就节省了 CPU 的资源来进行其他操作。DMA 控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。它支持的外设包括:定时器、ADC、SPI、I2C和USART 等。

4. 调试模式:支持标准的20脚JTAG 仿真调试以及针对Cortex- M3内核的串行单线调试(SWD)功能。通常默认的调试接口是JTAG 接口。

5. 含有丰富的通信接口:三个USART异步串行通信接口、两个I2C 接口、两个SPI接口、一个CAN 接口和一个USB接口,为实现数据通信提供了保证。

6. 内部包含8个定时器。在本设计中电机调速通过定时器的PWM功能实现。这将在下一节做进一步介绍。

1.1.3 TIMx定时器介绍

STM32F10x系列处理器内部有8个定时器,其中TIM1和TIM8为高级控制定时器,TIM2、TIM3、TIM4和TIM5为4个独立的通用定时器,TIM6和TIM7为基本定时器。这8个定时器各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。其中基本定时器可以为通用定时器提供时间基准,特别地可以为数模转换器(DAC)提供时钟,实际上,它们在芯片内部直接连接到DAC并通过触发输出直接驱动DAC。通用定时器TIMx,它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)。通过对定时器预分频器和RCC时钟控制器预分频器的编程,可将脉冲长度和波形周期在几个微秒到几个毫秒间进行调整。每个定时器都是完全独立的,没有互相共享任何资源,它们也可以一起同步操作。

STM32F103主控芯片的8个定时器中,高级控制定时器TIM1和TIM8及4个通用定时器均可生成PWM波。高级控制定时器与通用定时器相比较,它们有非常多的相似之处,虽然前者功能要强大些,但鉴于后者已能够满足设计要求,因此选用通用定时器作为PWM生成模块。下面简要介绍通用定时器的特性及功能。

通用定时器TIMx (TIM2、TIM3、TIM4和TIM5)主要特性如下[6]:

1. 16位向上、向下、向上/向下自动装载计数器。

2. 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值。

3. 4个独立通道:输入捕获、输出比较、PWM生成(边缘或中间对齐模式)、单脉冲模式输出。

4. 使用外部信号控制定时器和定时器互连的同步电路。

5. 如下事件发生时产生中断/DMA:更新:计数器向上溢出/向下溢出,计数器初始化(通过软件或者内部/外部触发);触发事件(计数器启动、停止、初始化或者由内部/外部触发计数);输入捕获;输出比较。

6. 支持针对定位的增量(正交)编码器和霍尔传感器电路。

7. 触发输入作为外部时钟或者按周期的电流管理。

对通用定时器TIMx功能简要描述如下[7]:

时基单元可编程通用定时器的主要部分是一个16位计数器和与其相关的自动装载寄存器。这个计数器可以向上计数、向下计数或者向上向下双向计数。此计数器时钟由预分频器分频得到。时基单元包含计数器寄存器(TIMx_CNT)、预分频器寄存器 (TIMx_PSC)和自动装载寄存器 (TIMx_ARR),它们都可以由软件读写,在计数器运行时仍可以读写。预分频寄存器用于设定计数器的时钟频率;自动装载寄存器的内容是预先装载的,其内容被永久的保存在影子寄存器,或每次更新事件UEA发生时传送到影子寄存器;当计数器达到溢出条件且当TIMx_CR1寄存器中的UDIS位为0时,产生更新事件。更新事件也可由软件产生。

定时器工作模式有计数器模式、输入捕获模式、PWM输入模式、强制输出模式、PWM模式等,根据设计要求,定时器应配置成PWM模式生成不同占空比的PWM 波。以下对PWM模式做简要介绍。

脉冲宽度调制(PWM)模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。在TIMx_CCMRx寄存器中的OCxM位写入‘110’(PWM模式1)或‘111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。使用PWM模式,必须通过设置TIMx_CCMRx寄存器的OCxPE位使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计

数或中心对称模式中)使能自动重装载的预装载寄存器。因为仅当发生一个更新事件的时候,预装载寄存器才能被传送到影子寄存器,因此在计数器开始计数之前,必须通过设置TIMx_EGR寄存器中的UG位来初始化所有的寄存器。OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。OCx的输出使能通过(TIMx_CCER和TIMx_BDTR寄存器中)CCxE、CCxNE、MOE、OSSI和OSSR位的组合控制。在PWM模式(模式1或模式2)下,TIMx_CNT 和TIMx_CCRx始终在进行比较,依据计数器的计数方向以确定是否符合TIMx_CCRx≤TIMx_CNT或者TIMx_CNT≤TIMx_CCRx。根据TIMx_CR1寄存器中CMS 位的状态,定时器能够产生边沿对齐的PWM信号或中央对齐的PWM信号[8]。

PWM输出信号的占空比由TIMx_CRRx寄存器确定的。其公式为“占空比=(TIMx_CRRx/TIMx_ARR)*100%”,因此,可以通过向CRR中填入适当的数来输出自己所需的频率和占空比的方波信号,进而实现本设计中调速功能。

1.2 小车及其驱动器介绍

1.2.1 小车结构及功能简介

所谓小车控制实际上就是电机控制,本论文所设计的小车分为电机系统、显示系统、控制系统、避障和循迹系统五大结构。

电机系统使用两个电机(A和B),设定正转、反转和停止三种状态,分别控制左轮和右轮,通过两个电机的转动状态切换控制小车的行驶方向,例如前进、后退、左转、右转,实现小车的基本运动功能;通过对电机转速的调节控制小车的运动速度。根据实际情况,假设两个电机相对安装,则表1-1是电机转动状态与小车运动方向的关系表。

表1-1 电机转动状态与小车运动方向关系表

小车的显示系统,即小车装有液晶显示器(128×64),初始化由编程设定,小车运动过程中实时显示小车的运动参数,并可在以后予以扩展,根据实际运用的需要显示更多内容。

小车的控制系统为按键开关式的键盘,设定小车启动/停止、自由行走模式/循迹模式、加速/减速六种状态,最初都赋以高电平,当按键被按下时,即触发低电平,使小车按相应状态运动。

小车避障系统,即在自由行走模式下通过触角传感器对障碍物检测,使小车实现自动避障功能。

小车循迹系统,即在循迹模式下通过红外探测器对黑迹不断进行检测,自动识别路线,使小车按指定的路线行驶。

1.2.2 电机驱动电路简介

电机驱动电路采用L298芯片控制,其内部原理图如图1.2。L298是恒压恒流双H 桥集成电机芯片,可同时控制两个电机,且输出电流可达到2A 。直流电机驱动电路使用最广泛的就是H 型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。

图1.2 L298内部原理图

全桥式驱动电路的4只开关管都工作在斩波状态,如图1.2所示,S1、S2为一组,S3、S4 为另一组,两组的状态互补,一组导通则另一组必须关断。当S1、S2导通时,S3、S4关断,电机两端加正向电压,可以实现电机的正转或反转制动;当S3、S4导通时,S1、S2关断,电机两端为反向电压,电机反转或正转制动。

S2

S3 S4

S1

在小车动作的过程中,我们要不断地使电机在四个象限之间切换,即在正转和反转之间切换,也就是在S1、S2导通且S3、S4关断,到S1、S2关断且S3、S4导通,这两种状态之间转换。在这种情况下,理论上要求两组控制信号完全互补,但是,由于实际的开关器件都存在开通和关断时间,绝对的互补控制逻辑必然导致上下桥臂直通短路,比如在上桥臂关断的过程中,下桥臂导通了。这个过程可用图1.3说明。

图1.3上下桥臂导通图

因此,为了避免直通短路且保证各个开关管动作之间的协同性和同步性,两组控制信号在理论上要求互为倒相的逻辑关系,而实际上却必须相差一个足够的死区时间,这个矫正过程既可以通过硬件实现,即在上下桥臂的两组控制信号之间增加延时,也可以通过软件实现。

对于PWM(脉冲宽度调制)控制,通常配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大,它的原理就是直流斩波原理。若S3、S4 关断,S1、S2受PWM控制,假设高电平导通,忽略开关管损耗,则在一个周期内的导通时间为t,周期为T,则电机两端的平均电压为:U=Vcc*t/ T=α*Vcc ,其中α=t/T 称为占空比,Vcc为电源电压(电源电压减去两个开关管的饱和压降)[9]。PWM 的占空比α决定输出到直流电机电枢电压的平均电压,进而决定了直流电机的转速。

L298的EN A(第6引脚)、EN B(第11引脚)分别与两路PWM波输出端相连,控制电机是否转动。IN1-IN4两对I/O输入,控制电机转动方向。SENSE A、SENSE B为电流反馈引脚。Vss电压最小为4.5V,最大可达36V;Vs电压最大值也是36V。但经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。

第2章小车控制系统硬件设计

2.1 系统功能实现及需求分析

本设计采用STM32F103芯片作为控制器来实现对小车电机、液晶显示模块、外置键盘、传感器探测等外设的控制是一个合理的解决方案。STM32F103具有丰富的外设接口、实时性强等优点,采用模块化设计,满足实际需要及扩展;用液晶显示模块可以实时显示小车的工作状态,比如显示小车是处在自由行走模式还是在循迹模式等;利用键盘的外部输入实现对小车行走模式的选择和速度的步进调节;利用传感器检测外界信息,实现小车简单的避障和循迹功能。基于设计功能需求,本设计采用的是低电平触发的按键开关式键盘,这样可以合理地利用硬件资源,操作简便,并且编程灵活。本论文设计的小车控制系统框图如图2.1所示。

图2.1 电机控制系统框图

由系统框图可看出,小车整个控制系统设计主要包括电机驱动、液晶显示、键盘扩展电路、触角传感电路、红外收发检测电路等模块。整个系统的硬件电路设计原理图见附录,下面分别介绍各部分模块的设计。

2.2 主要电路设计

2.2.1 STM32F103及外围电路设计

本设计采用STM32F103为主控芯片,则STM32F103芯片的最小系统设计如图2.2、2.3所示。

图2.2 STM32F103芯片最小系统图

图2.3 STM32F103芯片最小系统图续

如图2.2、2.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.2.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引脚接线图

2.2.3 电机驱动电路设计

STM32F103芯片外部扩展的电机驱动电路采用L298芯片控制,其基本电路图如图2.6。

图2.6 电机驱动电路基本电路原理图

如图2.6所示,小车运动状态通过电机A和B的不同方向转动来实现,电机有正转、反转和停止三种状态,每个电机由一对I/O口进行控制。表2-2是I/O 端口状态与电机制动对照表。

表2-2 I/O端口状态与电机制动对照表

L298芯片采用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与电机之间加入二极管,以保护电路。

2.2.4 液晶显示电路设计

显示模块采用LCD12864与STM32F103主控芯片串行通信方式,即LCD12864的15引脚(并/串行接口选择)接地。液晶显示模块LCD12864的外部引脚连接关系如图2.7。

图2.7 LCD12864的外部引脚连接图

2.2.5 键盘扩展电路设计

键盘扩展电路与STM32F103的5个I/O引脚相连,实现对按键检测。键盘扩展电路与STM32F103引脚连接图如图2.8。

图2.8 键盘扩展电路引脚连接图

键盘扩展电路采用按键开关式电路,,添加上拉电阻以保持按键检测默认为高电平,采用低电平触发方式,只要有按键按下,即触发相应电机转动状态。详细对照见表2-3。

表2-3 小车状态与各按键高低电平对照表

2.2.6 触角探测电路设计

触角传感器由两条胡须构成,每条胡须都可简化为一个机械式的、接地常开的单刀单掷开关,当胡须没有被触动,连接胡须的I/O管脚的电压是3.3V;当胡须被触动时,I/O短接到地,所以I/O管脚的电压是0V。通过低电平触发方式,使小车实现简单的避障功能。

触角探测电路与主控芯片STM32F103的2个I/O口相连,接收检测信号。触角传感电路与STM32F103引脚连接图如图2.9。

图2.9 触角传感电路

2.2.7 红外探测电路设计

直流驱动红外探测器电路的设计如图2.10所示,R401和V1构成简单直流发光二极管驱动电路,NE555及其外围元件构成施密特触发器,其出发电平可通过W2控制,接收管V2和电阻R406构成光电检测电路,通过NE555输出的TTL

电平可直接驱动主控芯片I/O口。

根据不同地面对红外光不同的反射状况,红外探测器接收管接收不同反射,当寻到黑迹时,红外光被吸收,输出高电平;在光滑地面时则红外光被大部分反射接收,输出低电平。

本次设计中,红外发射与接收都由主控芯片STM32F103控制,STM32F103的PE1、PE2实现对发射电路的控制;PD5、PD6与红外接收相连,实现红外接收信号的检测。为方便对小车的控制,采用两个红外探测器分别对左右侧进行探测,根据左右两侧接收到的信号可方便对小车的运动方向进行快速调整。具体电路设计如图2.10所示。

图2.10 红外收发检测电路

第3章小车控制系统软件设计

3.1 IAR开发环境介绍

IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。IAR软件是嵌入式设计软件产品中优质的开发工具。它最著名的产品是C编译器IAR Embedded Workbench,支持众多知名半导体公司的微处理器。许多全球著名的公司都在使用IAR SYSTEMS提供的开发工具,用以开发他们的前沿产品,从消费电子、工业控制、汽车应用、医疗、航空航天到手机应用系统。

IAR Embedded Workbench for ARM 是IAR Systems公司为ARM微处理器开发的一个集成开发环境。比较其他的ARM开发环境,IAR EWARM具有入门容易、使用方便和代码紧凑等特点。IAR EWARM中包含一个全软件的模拟程序(simulator),用户不需要任何硬件支持就可以模拟各种ARM内核、外部设备甚至中断的软件运行环境,从中可以了解和评估IAR EWARM的功能和使用用法。IAR EWARM包含项目管理器、编辑器、编译连接工具和支持RTOS的调试工具,在该环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。IAR EWARM主界面如图3.1所示。

基于STM32 智能抓物小车的设计 电子设计II课程报告

摘要 本实验主要分析把握对象的智能车基于STM32F103的设计。智能系统的组成主要包括STM32F103控制器、伺服驱动电路、红外检测电路、超声波避障电路。本试验采用STM32F103微处理器作为核心芯片,速度和转向的控制采用PWM技术,跟踪模块、检测、障碍物检测和避免功能避障模块等外围电路,实现系统的整体功能。 小车行驶时,避障程序跟踪程序,具有红外线跟踪功能的汽车检测电路。然后用颜色传感器识别物体的颜色和抓取。在硬件设计的基础上提出了实现伺服控制功能,简单的智能车跟踪和避障功能的软件设计和控制程序,在STM32集成开发环境IAR编译,并使用JLINK下载程序。 关键词:stm32;红外探测;超声波避障;颜色传感;舵机控制

ABSTRACT This experiment mainly analyzed the grasping object intelligent car based on STM32F103 design. The composition of the intelligent system mainly includes STM32F103 controller, servo drive circuit, infrared detection circuit, ultrasonic obstacle avoidance circuit. This test uses the STM32F103 microprocessor as the core chip, the speed and steering control using PWM technology, tracking module and detection, obstacle avoidance module for obstacle detection and avoidance function, other peripheral circuit to achieve the overall function of the system. The car is moving, obstacle avoidance procedures prior to tracking program, car tracking function with infrared detection circuit. Then use color sensor to recognize object color and grab. On the basis of the hardware design is proposed to realize the servo control function, simple intelligent car tracking and obstacle avoidance function of the software design, and the control program is compiled in the STM32 integrated development environment IAR, and download the program using Jlink. Key words: STM32; infrared detection; ultrasonic obstacle avoidance; color sensing; steering control

基于STM32的智能小车摄像头循迹系统

分类号编号 烟台大学 毕业论文(设计) 基于STM32的智能小车 摄像头循迹系统 Intelligent Car Tracking System Based on STM 32 Camera 申请学位:工学学士 院系:光电信息科学技术学院 专业:电子信息工程 姓名:王坤 学号: 200813503229 指导老师:杨尚明(教授) 2012年5 月21 日 烟台大学EDA实验室

基于STM32的智能小车摄像头循迹系统 姓名:王坤 导师:杨尚明(教授) 2012年5 月21 日 烟台大学EDA实验室

烟台大学毕业论文(设计)任务书院(系):光电信息科学技术学院 姓名王坤学号200813503229 毕业届别2012 专业电子信息工程 毕业论文(设计) 基于STM32的智能小车摄像头循迹系统题目 指导教师杨尚明学历本科职称教授所学专业无线电技术 具体要求(主要内容、基本要求、主要参考资料等): 主要内容:设计一个抗干扰能力强的智能小车循迹系统。 基本要求:通过对本课程的设计,能够利用OV7670实现黑白线信息采集;并且能够达到一定的抗干扰效果;能够实现实时采集外界环境信息的效果。 主要参考资料: [1]陈启军.嵌入式系统及其应用:基于Cortex-M3内核和STM32F103系列微控制器的系统设计与开发. [M].北京: 同济大学出版社,2008. [2]谭浩强. C语言程序设计. [M].北京: 清华大学出版社,2010. [3]曾星星. 基于摄像头的路径识别智能车控制系统设计[J].湖北汽车工业学院学报, 2008(6): P76-80. 进度安排: 第一阶段:1~4周通过资料、网络、导师了解本设计所需要的知识、资料、相关软件及设计思路方案; 第二阶段:5~8周请教老师查阅资料按要求并由实际情况逐渐得出设计方案及方法;第三阶段:9~11周根据方案在老师的指导下完成相关的软硬件设计; 第四阶段:12~13周撰写论文(分初稿、定稿、审合、打印论文); 第五阶段:14周进行优化调试达到目标并进行论文答辩。 指导教师(签字): 年月日 院(系)意见: 教学院长(主任)(签字): 年月日 备注:

基于stm32的智能小车设计毕业设计

海南大学 毕业论文(设计) 题目:基于stm32的智能小车设计学号:20112834320005 姓名:陈亚文 年级:2011级 学院:应用科技学院(儋州校区) 学部:工学部 专业:电子科学与技术 指导教师:张健 完成日期:2014 年12 月 1 日

摘要 本次试验主要分析了基于STM32F103微处理器的智能小车控制系统的系统设计过程。此智能系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路、超声波避障电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度以及舵机转向进行控制,循迹模块进行黑白检测,避障模块进行障碍物检测并避障功能,其他外围扩展电路实现系统整体功能。小车在运动时,避障程序优先于循迹程序,用超声波避障电路进行测距并避障,在超声波模块下我们使用舵机来控制超声波的发射方向,用红外探测电路实现小车循迹功能。在硬件设计的基础上提出了实现电机控制功能、智能小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境Keil下编写了相应的控制程序,并使用mcuisp软件进行程序下载。 关键词:stm32;红外探测;超声波避障;PWM;电机控制

Abstract This experiment mainly analyzes the control system of smart car based on microprocessor STM32F103 system design process. The composition of the intelligent system mainly including STM32F103 controller, motor drive circuit, infrared detection circuit, circuit of ultrasonic obstacle avoidance. This experiment adopts STM32F103 microprocessor as the core chip, using PWM technique to control speed and steering gear steering, tracking module is used to detect the black and white, obstacle avoidance module for obstacle detection and obstacle avoidance function, other peripheral extended circuit to realize the whole system function. When the car is moving, obstacle avoidance program prior to tracking, using ultrasonic ranging and obstacle avoidance obstacle avoidance circuit, we use steering gear under ultrasonic module to control the emission direction of ultrasonic, infrared detection circuit is used to implement the car tracking function. On the basis of the hardware design is proposed for motor control function, simple intelligent car tracking and obstacle avoidance function of software design, and in the STM32 integrated development environment under the Keil. Write the corresponding control program, and use McUisp program download software. Keywords:STM32;Infrared detection;Ultrasonic obstacle avoidance;PWM;Motor control

基于STM32控制的自动往返电动小汽车

湖南科技大学信息与电气工程学院 《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的串口、并口资源和高速的

基于STM32F103单片机的智能购物车系统设计

基于STM32F103单片机的智能购物车系统设计 【摘要】本文针对传统的超市购物车进行改进,通过无线通信和RFID技术的引入,使购物车具有最佳购物路线查询、商品信息查询、结算等功能,从而一定程度上缓解了购物高峰期出现的付款等待时间过长问题,大大减轻了付款时收银员的压力。 【关键词】智能;购物车;RFID 0 前言 随着经济的发展和人民生活水平的提高,人们的购物需求也逐渐增长,与此同时超市应运而生。经过几十年的发展,超市的经营模式已经深入人心,超市也已经成为人们日常消费最重要的场所之一。随着超市规模的发展壮大和质量上的保障,越来越多的人们选择在超市购买食品及生活用品。下班时间、节假日或超市促销活动时成为了超市购物的高峰期,此时收银台必定会出现排队长龙,即使所有收银台开放也无法明显缓解付款时的压力。有些顾客即使购买很少量的商品也需要等上很长时间,怨言不断。为了解决付款排队等待时间过长的问题,智能购物车是一个不错的选择。 智能购物车将RFID技术和ZigBee技术相结合,将无线通信的便利和快捷应用在选择商品和付款环节上。 1 系统总体结构 智能购物车系统在传统购物车上安装可触摸的电子系统,其功能是当购物车启动时显示超市近期的促销信息,用户可以通过触摸屏查找所需商品的位置及路线,当用户将商品放入购物车时,液晶屏可以显示此商品的相关信息(商品名称、价格、生产日期、保质期等),并实时显示购物车中商品的总额。用户结账时,通过购物车的无线通信模块将商品总金额传输到收银台,实现一键式付款,大大提高了商品结账的速度,有效的缓解了购物高峰期带来的压力。 本系统由中央信息处理系统、RFID模块、ZigBee通信模块、输入与显示系统等组成[1]。中央信息处理系统是核心控件,实现对数据的处理和各组成部分的控制。RFID模块用于对商品信息进行查询。ZigBee通信模块将商品的总额传输至收银台。触摸屏便于使用户进行功能上的切换,从而显示促销信息、商品信息、购物路线等。系统总体框图如图1所示。 图1 系统总体框图 2 硬件设计 下面分别对系统的各组成部分的硬件结构进行设计。

基于stm32的智能循迹小车的设计

燕山大学 课程设计说明书 题目:基于STM32的智能循迹小车的设计 学院(系):理学院 年级专业:12级智能传感器 学号:120108040006 学生姓名:贺红红 指导教师:杜会静徐超 教师职称:副教授讲师

燕山大学课程设计(论文)任务书院(系):理学院基层教学单位:12级智能传感器 学号120108040006 学生姓 名 贺红红专业(班级)12级智能传感器 设计题 目 基于STM32的智能循迹小车的设计 设计技术参数 设计参数: 以SMT32作为主控制器,由红外传感器作为检测工具,两者相辅相成,控制电机电机转动。 设计要求1.按要求组装好小车,编写程序,使得小车按下按键后停两秒自启,并沿 着黑胶带行驶,到达终点线后停止。 2.在满足1的条件下,调试小车,使小车走的快而稳。 工作量15个工作日 平均每个工作日约8小时 工 作计划2015/6/27---2015/7/1 焊接STM32开发板,组装小车。 2015/7/2---2014/7/10 学习STM 32开发板的使用,进行编程练习。调试小车2015/7/11 课设结题答辩。 参考资料[1]《控制电机》杨渝钦 [2]《 STM32系列ARM Cortex-M3微控制器原理与实践》王咏虹徐炜郝立平 [3]《Cortex-M3嵌入式处理器原理与应用》范书瑞 [4] 《电子元器件与实用电路基础》韩广兴 指导教师签字基层教学单位主任字 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。 年月日

基于STM32的智能循迹小车的设计 贺红红 理学院12级智能传感器 摘要:主要分析了基于STM32的小车控制系统的设计过程,此系统主要包括STM32控制器、按键控制电路、电机驱动电路、红外探测电路等。以STM32为主控芯片及其外围扩展电路实现系统整体功能,用红外探测电路实现小车循迹功能,小车速度由PWM波控制,控制电动小车的速度及转向,从而使小车顺利通过直线,虚线,十字路口,S弯,实现循迹功能。在硬件设计的基础上实现了电机控制功能,LED显示功能,以及小车简单循迹的软件设计方案。 关键字:STM32 电机传感器 PWM KEIL Design of intelligent tracking car based on STM32 Abstract:.Mainly analyzes the design process of the car control system based on STM32, this system mainly includes the STM32 controller, button control circuit, motor drive circuit, infrared detection circuit, etc. STM32 as main control chip and extend the peripheral circuit to realize the whole system function, the function of infrared detection circuit is used to implement the car tracking, vehicle speed is controlled by a PWM wave, control the speed of the electric car and steering, which makes the car pass straight line, dotted line, intersection, S bending, realize the tracking function. On the basis of the hardware design to realize the function of motor control, LED display function, and software design scheme of simple car tracking. Keywords:STM32、The motor、The sensor、PWM、KEIL. 学习目的 1.学习STM32工作原理及使用方法; 2. 学习计算机程序设计; 3. 学习编程并掌握软件调试。二〇一九年十二月二十六日 学习软件 Keil uVision、串口猎人 学习任务 学会利用STM32和红外线传感器设计智能循迹小车

基于STM32的智能小车控制系统设计

www?ele169?com | 21电子电路设计与方案 0 引言 移动机器人已经渗透到工业生产、物流、搬运、医疗等 社会的每个方面[1]。智能小车作为一种轮式机器人也得到了 广泛的应用研究[2]。控制系统是智能小车的关键构成部分, 能够在较为复杂的环境中,将小车按照预定的轨迹运行,或者运行到预先设定的位置,实现小车精确的速度与位置的控制,对智能小车系统起着至关重要的作用[3] 。因此,本文以四轮轮式结构智能小车为研究对象,采用STM32系列单片 机作为控制核心,结合CAN 总线通信接口,设计一种基于STM32的智能小车控制系统,该系统功能强大且扩展性好, 具有一定的实用价值。1 系统介绍 智能小车的控制系统是整个智能小车设计过程中最为重 要的一环。智能小车是在它的统一协调控制下完成行走、 避障、 自主循迹等任务,它的好坏直接关系着智能小车的性能好坏, 控制系统的设计方法也决定着智能小车的功能特点。图1 控制系统结构框图 通常,智能小车应具备自主定位、障碍物实时检测、自 动避障、速度检测以及无线通信等功能。根据上述功能的要求,本文所设计的控制系统的硬件模块主要包括:主控模块、障碍物检测模块、速度检测模块、无线通信模块、电源模块以及电机驱动模块等部分。控制系统的结构如图1所示。为了方便后续的功能的扩展,在实际设计过程中,各模块的软硬件设计均采用相对独立的模块化设计方法。2 系统硬件设计 ■2.1 电源模块电源模块主要为控制系统提供工作的电压。根据各个组成部分的功能,电源模块应提供电机驱动所需的12V、STM32主控核心所需的3.3V、其他芯片工作所需的5V 三种幅值的电压。因此,采用12V 的航模电池作为供电电源,5V 与3.3V 电源转换电路如图2所示。为了增加电源的可靠性,减少外界扰动的影响,在稳压芯片7805和LM1117的 输入和输出两侧均布置有电容。图2 电源模块电路 ■2.2 障碍物检测模块智能小车要具备自主避障的能力,必须在其行进过程中能够时刻检测到障碍物的信息,为此就需要设计相应的障碍物检测模块。常用的传感器主要有超声波、激光以及红外测距传感器。鉴于超声传感器使用方便、实时性强和性价比高等优点,本文选用型号为HC-SR04的超声测距模块,得到智能小车在行进过程中遇到的障碍物的信息。所使用的测距模块如图 3所示。其中VCC 为5V 电源输入接5V 电源即可, GND 为接地线,回响信号输出ECHO 与触发控制信号输入TRIG 与STM32的I/O 口连接即可。基于STM32的智能小车控制系统设计王嘉俊 (山西省清徐梗阳中学,山西清徐,030400)摘要:本文设计一种基于STM32的智能小车控制系统。该系统采用STM32单片机作为控制核心,通过HC-SR04超声波传感器实时检测障碍物信息,采用光电编码器得到转速信息构成闭环控制系统,使得智能小车的控制更为精确,通过CAN总线和无线通信模块实现操作人员对智能小车的有线和无线通信。该系统设计简单、可扩展性好且控制精度高,具有一定应用价值。关键词:智能小车;STM32;转速检测;避障

基于STM32的智能小车摄像头循迹系统毕业论文设计

烟台大学 毕业论文(设计) 基于STM32的智能小车 摄像头循迹系统 Intelligent Car Tracking System Based on STM 32 Camera 申请学位:工学学士 院系:光电信息科学技术学院 专业:电子信息工程

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

基于stmf的蓝牙控制小车

项目报告 题目:基于stm32f4的蓝牙控制小车学校:中南民族大学 指导教师: 视频观看地址:

题目:基于stm32f4的蓝牙控制小车 关键词:STM32F4 L298N FBT06_LPDB 蓝牙串口通信android 摘要 “基于stm32f4的蓝牙控制小车”是一个基于意法半导体与ARM公司生产的STM32F4 DISCOVERY开发板的集电机驱动模块、电源管理模块、stm32f4主控模块、蓝牙串口通信模块、android控制端模块。电机驱动模块使用了两个L298N 芯片来驱动4路电机,使能端连接4路来自主控板的PWM波信号,8个输入端接主控板的8个输出端口;电源管理模块使用了芯片进行12V到5V的转换,12V 用于电机模块的供电,5V用于蓝牙模块、传感器等的供电;主控模块采用了MDK 编辑程序,然后下载到主控板,实现硬件与软件的交互;蓝牙串口通信模块则是采用了FBT06_LPDB针插蓝牙模块,与主控板进行串口通信,同时与android 手机进行通信;android控制端模块是一个集开启蓝牙、搜索蓝牙、控制小车等功能。用户可以通过android控制端进行控制小车的运动,实现一些用户需要的功能和服务。 1.引言 蓝牙的创始人是瑞典爱立信公司,蓝牙技术是一种无限数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。手机之间通过蓝牙实现数据共享成为常理,将手机变为遥控器为人们的生活带来无限方便。遥控小车在工业、国防、科研等领域应

用越来越广泛,例如说:消防遥控小车、探测小车等。本文详细阐述了使用蓝牙通信的手机遥控小车前行、倒退、左转、右转和停止等功能的软硬件设计过程。 2. 系统方案 该系统分为电机驱动模块、电源管理模块、主控板、蓝牙通信模块、android 控制端等5个模块,如图所示: 图 系统模块图

毕业设计基于stm32的智能小车设计说明

摘要 本次试验主要分析了基于STM32F103微处理器的智能小车控制系统的系统设计过程。此智能系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路、超声波避障电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度以及舵机转向进行控制,循迹模块进行黑白检测,避障模块进行障碍物检测并避障功能,其他外围扩展电路实现系统整体功能。小车在运动时,避障程序优先于循迹程序,用超声波避障电路进行测距并避障,在超声波模块下我们使用舵机来控制超声波的发射方向,用红外探测电路实现小车循迹功能。在硬件设计的基础上提出了实现电机控制功能、智能小车简单循迹和避障功能的软件设计方案,并在STM32集成开发环境Keil下编写了相应的控制程序,并使用mcuisp软件进行程序下载。 关键词:stm32;红外探测;超声波避障;PWM;电机控制

Abstract This experiment mainly analyzes the control system of smart car based on microprocessor STM32F103 system design process. The composition of the intelligent system mainly including STM32F103 controller, motor drive circuit, infrared detection circuit, circuit of ultrasonic obstacle avoidance. This experiment adopts STM32F103 microprocessor as the core chip, using PWM technique to control speed and steering gear steering, tracking module is used to detect the black and white, obstacle avoidance module for obstacle detection and obstacle avoidance function, other peripheral extended circuit to realize the whole system function. When the car is moving, obstacle avoidance program prior to tracking, using ultrasonic ranging and obstacle avoidance obstacle avoidance circuit, we use steering gear under ultrasonic module to control the emission direction of ultrasonic, infrared detection circuit is used to implement the car tracking function. On the basis of the hardware design is proposed for motor control function, simple intelligent car tracking and obstacle avoidance function of software design, and in the STM32 integrated development environment under the Keil. Write the corresponding control program, and use McUisp program download software. Keywords:STM32;Infrared detection;Ultrasonic obstacle avoidance;PWM;Motor control

相关文档
相关文档 最新文档