基于stm32的智能小车设计与实现内容摘要:
功能实现。 这将在沈阳理工大学学士学位论文 9 下一节做进一步介绍。 TIMx 定时器介绍 STM32F10x系列处理器内部有 8个定时器,其中 TIM1和 TIM8为高级控制定时器,TIM TIM TIM4和 TIM5为 4个独立的通用定时器, TIM6和 TIM7为基本定时器。 这 8个定时器各包含一个 16位自动装载计数器,由各自的可编程预分频器驱动。 其中基本定时器可以为通用定时器提供时间基准,特别地可以为数模转换器 (DAC)提供时钟,实际上,它们在芯片内部直接连接到 DAC并通过触发输出直接驱动 DAC。 通用定时器 TIMx,它适用于多种场合,包括测量输入信号的脉冲长度 (输入捕获 )或者产生输出波形 (输出比较和 PWM)。 通过对定时器预分频器和 RCC时钟控制器预分频器的编程,可将脉冲长度和波形周期在几个微秒到几个毫秒间进行调整。 每个定时器都是完全独立的,没有互相共享任何资源,它 们也可以一起同步操作。 STM32F103主控芯片的 8个定时器中,高级控制定时器 TIM1和 TIM8及 4个 通用定时器均可生成 PWM波。 高级控制定时器与通用定时器相比较,它们有非常多的相似之处,虽然前者功能要强大些,但鉴于后者 已能够满足设计要求,因此选用通用定时器作为PWM生成模块。 下面简要介绍通用定时器的特性及功能。 通用定时器 TIMx (TIM TIM TIM4和 TIM5)主要特性如下 [6]: 1. 16位向上、向下、向上 /向下自动装载计数器。 2. 16位可编程 (可以实时修改 )预分频器,计数器时钟频率 的分频系数为 1~ 65536之间的任意数值。 3. 4个独立通道:输入捕获、输出比较、 PWM生成 (边缘或中间对齐模式 )、 单脉冲模式输出。 4. 使用外部信号控制定时器和定时器互连的同步电路。 5. 如下事件发生时产生中断 /DMA:更新;计数器向上溢出 /向下溢出;计数器初始化 (通过软件或者内部 /外部 触发 ); 触发事件 (计数器启动、停止、初始化或者由内部/外部触发计数 ); 输入捕获;输出比较。 6. 支持针对定位的增量 (正交 )编码器和霍尔传感器电路。 7. 触发输入作为外部时钟或者按周期的电流管理。 对通用定时器 TIMx 功能简要描述如下 [7]: 时基单元可编程通用定时器的主要部分是一个 16 位计数器和与其相关的自动装载沈阳理工大学学士学位论文 10 寄存器。 这个计数器可以向上计数 、向下计数或者向上向下双向计数。 此计数器时钟由预分频器分频得到。 时基单元包含计数器寄存器 (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 中填入适当的数来输出自己所需的频率和占空比的方波信号,进而实现本设计中调速功能。 电机驱动电路介绍 电机驱动电路采用 L298 芯片控制,其内部原理图如图。 L298 是恒压恒流双 H沈阳理工大学学士学位论文 11 桥集成电机芯片,可同时控制两个电机,且输出电流可到 2A。 直流电机驱动电路使用最广泛的就是 H 型全桥式电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。 图 L298内部原理图 全 桥式驱动电路的 4 只开关管都工作在斩波状态,如图 所示, S S2 为一组,S S4 为另一组,两组的状态互补,一组导通则另一组必须关断。 当 S S2 导通时,S S4 关断,电机两端加正向电压,可以实现电机的正转或反转制动;当 S S4 导通时, S S2 关断,电机两端为反向电压,电机反转或正转制动。 在小车动作的过程中,我们要不断地使电机在四个象限之间切换,即在正转和反转之间切换,也就是在 S S2 导通且 S S4 关断,到 S S2 关断且 S S4 导通,这两种状态之间转换。 在这种情况下,理论上要求两组控制 信号完全互补,但是,由于实际的开关器件都存在开通和关断时间,绝对的互补控制逻辑必然导致上下桥臂直通短路,比如在上桥臂关断的过程中,下桥臂导通了。 这个过程可用图 说明。 图 上下桥臂导通图 S2 S3 S4 S1 沈阳理工大学学士学位论文 12 因此,为了避免直通短路且保证各个开关管动作之间的协同性和同步性,两组控制信号在理论上要求互为倒相的逻辑关系,而实际上却必须相差一个足够的死区时间,这个矫正过程既可以通过硬件实现,即在上下桥臂的两组控制信号之间增加延时,也可以通过软件实现。 对于 PWM(脉冲宽度调制)控制,通常配合桥式驱动电路实现直流电机调速, 非常简单,且调速范围大,它的原理就是直流斩波原理。 若 S S4 关断, S S2 受 PWM控制,假设高电平导通,忽略开关管损耗,则在一个周期内的导通时间为 t,周期为 T,则电机两端的平均电压为: U=Vcc*t/ T=α *Vcc ,其中 α =t/T 称为占空比, Vcc 为电源电压(电源电压减去两个开关管的饱和压降)。 PWM 的占空比 α 决定输出到直流电机电枢电压的平均电压,进而决定了直流电机的转速。 L298 的 EN A(第 6 引脚)、 EN B(第 11 引脚)分别与两路 PWM 波输出端相连,控制电机是否转动。 IN1IN4 两对 I/O 输入,控制电机转动方向。 SENSE A、 SENSE B为电流反馈引脚。 Vss 电压最小为 ,最大可达 36V; Vs 电压最大值也是 36V。 但经过实验, Vs 电压应该比 Vss 电压高,否则有时会出现失控现象。 沈阳理工大学学士学位论文 13 3 小车控制系统硬件设计 在整个智能小车系统的总体设计之中,控制系统是最重要的,它是整个系统的灵魂。 控制系统的先进与否,直接关系到整个机器人系统智能化水平的高低。 机器人的功能都在控制系统的统一协调前提下实现,控制系统设计的策略也决定了整个机器人系统的功能特点及其可扩展性。 本文设计的智能小车控制系统,具 备了边界墙检测、自主定位、提升电机自动开启等一系列功能。 系统功能实现及需求分析 本设计采用 STM32F103 芯片作为控制器来实现对小车电机、传感器探测等外设的控制是一个合理的解决方案。 STM32F103 具有丰富的外设接口、实时性强等优点,采用模块化设计,满足实际需要及扩展;利用传感器检测外界信息,实现小车简单的避障和识别功能。 基于设计功能需求,本设计采用的是低电平触发的按键开关式 键盘,这样可以合理地利用硬件资源,操作简便,并且编程灵活。 本论文设计的小车控制系统框图如图 所示。 图 电机控制系统框图 由系统框图可看出,小车整个控制系统设计主要包括电机驱动、触角传感电路、红外收发检测电路等模块。 整个系统的硬件电路设计原理图见附录,下面分别介绍各部分模块的设计。 沈阳理工大学学士学位论文 14 主要电路设计 小车结构及功能简介 所谓小车控制实际上就是电机控制,本论文所设计的小车分为电机系统、控制系统、识别系统三大结构。 电机系统使用两个电机( A 和 B) , 设定正转、反转和停止三种状态,分别控制左轮和右轮,通过两个电机的转动状态切换控制小车的行驶方向,例如前进、后退、左转、右转,实现小车的基本运动功能; 通过对电机转速的调节控制小车的运动速度。 根据实际情况,假设两个电机相对安装,则表 是电机转动状态与小车运动方向的关系表。 表 电机转动状态与小车运动方向关系表 运动状态 电机 A(右轮) 电机 B(左轮) 前进 正转 反转 后退 反转 正转 右转 停止 正转 左转 正转 停止 小车电机系统,即通过 PID 算法,对电机进行闭环控制,实现小车的直线行驶,使小车按指定的路线行驶。 小车的控制系统,即在 STM32 芯片的控制下实现自由行走、自动识别及自动开启识别装置等功能。 小车识别系统,即在自由行走模 式下通过距离传感器对障碍物检测,使小车实现在边界处自动停止。 STM32F103 及 外围电路设计 本设计采用 STM32F103 为主控芯片,则 STM32F103 芯片的最小系统设计和 启动模式选择电路 如图 、 所示。 沈阳理工大学学士学位论文 15 图 STM32F103芯片最小系统图 图 启动模式选择电路 沈阳理工大学学士学位论文 16 如图 、 ,此部分电路包括系统时钟电路、实时时钟电路、 JTAG 调试接口电路、复位电路和启动模式选择电路。 下面对部分电路设计做简要说明。 1. 时钟电路 系统时钟电路选用 8MHZ 的 HSE 晶体作为 振荡器晶振。 如图 所示,由 R11Y100( HSE 晶振)、 C108 及 C109 构成系统时钟电路。 HSE 晶体可以通过设置时钟控制寄存器里 RCC_CR 中的 HSEON 位被启动和关闭。 实时时钟电路 选择 LSE 时钟模式,如图 所示,由 Y101( LSE 晶振)、 C112 及 C113 构成 LSE 旁路,提供一个 频率的外部时钟源。 LSE 晶体是一个 的低速外部晶体或陶瓷谐振器。 它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。 2. 启动模式选择电路 如图 所示,通过 BOOT[1:0]引脚可以选择三种不同启动模式。 如下表 所示。 表 启动模式 启动模式选择引脚 启动模式 说明 BOOT1 BOOT0 X 0 主闪存存储器 主闪存存储器被选为启动区域 0 1 系统存储器 系统存储器被选为启动区域 1 1 内置 SRAM 内置 SRAM被选为启动区域 在系统复位后, SYSCLK 的第 4 个上升沿, BOOT 引脚的值将被锁存。 此时可以通过设置 BOOT1 和 BOOT0 引脚的状态,来选择在复位后的启动模式。 电源电路设计 由于各电路模块所需电压不同,本设计需多种电源 供电。 STM32F103 主控芯片采用 供电,电机驱动采用 5V与 ,红外收发检测电路采用 5V 与 ,液晶显示与触角传感电路均采用 供电。 外部电源采用 的直流电压,因此根据设计要求,本设计进行了电源转换设计。 由上可以知道,系统需要 、 5V、 ,其中 可以由电池直接供电, 6V和 5V 就需要稳压芯片来供电了,如果把所有接到 5V 的电源都从一个口输出,万一出现异常状况(例如大电流),单片机必然重启,因此需要多个稳压芯片同时工作,以保沈阳理工大学学士学位论文 17 证单片机正常工作。 图 电源模 块电路图 5V 稳压电路的设计:市场上 5V的稳压芯片有很多,例如 LM29 LM780开关型 LM257 LM2596,其中 2940 和 7805 转换效率比较低,只有 40%左右,但是输出纹波很小,对于单片机这种对电源要求比较高的元件而言很适合,而 2575 和 2596 是开关型的稳压芯片,。基于stm32的智能小车设计与实现
相关推荐
eb 服务器:。 Web 开发框架:。 Java 开发包:。 数据库 : SQL Server2020。 浏览器: 以上。 操作系统: windows XP (二 )硬件环境 对硬件环境无具体要求。 第二节 关键技术简介 一、 Struts技术 本课题采用 Struts 框架结构设计并实现了一个基于 Struts 的都市供求信息网站。 它提贵阳学院毕业设计( 论文) 4
字段名 字段描述 数据类型 是否为空 是否主键 name 会员账号 varhar(50) 否 是 password 账号密码 varhar(50) 否 否 realName 会员姓名 varchar(50) 否 否 age 会员年龄 int(4) 否 否 会员邮箱 varchar(50) 否 否 job 会 员职业 varchar(50) 否 否 ( 2)、商品信息表主要用来保存商品信息。 如
接按钮、连接按钮、复制按钮、反转按钮、便笺按钮、创建嵌套系统按钮、观察嵌套系统按钮、根轨迹按钮、波特图按钮、重绘按钮、取消操作按钮、开始仿真按钮、系统定时按钮、分析窗口按钮。 3 System View 的图标库 图标是 System View 仿真运算 ,处理的基本单元 ,共分为三大类。 第一类包括信号源库 ,它只有输出端没有输入端。 第二个类包括观察窗库 ,它只有输入端没有输出端。
有重现性;稳定可靠。 就以上要求本设计所使用的称重传感器为 YZC1B型传感器,该传感器是 10kg量程的电阻应变片式传感器,在激励电压为 5V的条件下输出,满量程时输出为 10mV,该称重传感器的实物如图 22。 图 22 称重传感器实物图 其结构为由电阻应变片搭接的惠更斯全臂电桥贴于铝块载体上。 应变片是镍铬丝或康铜丝绕成栅状(或使用薄金属箔腐蚀成栅状)夹在两层绝缘的薄片中制成。 YZC1B
符发生存贮器地址 0 0 0 1 字符发生存贮器地址 8 置数据存贮器地址 0 0 1 显示数据存贮器地址 9 读忙标志 或地址 0 1 BF 计数器地址 10 写数CGRAM或DDRAM) 1 0 要写的数据内容 11 从 CGRAM或 DDRAM读数 1 1 读出的数据内容 宜宾职业技术学院电子信息工程系 基于 STC89C52 的电子密码锁 9 1602 液晶模块的读写操作
性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。 由于 2种蜂鸣器发音原理不同,压电式结构简单耐用但音调单一音色差,适用于报警器等设备。 而电磁式由于音色好,所以多用于语音、音乐等设备。 蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“ H”或“ HA”(旧标准用“ FM”、“ LB”、“ JD”等)表示。 有源蜂鸣器与无源蜂鸣器 这里的“源”不是指电源。 而是指震荡源。 也就是说