智能小车系统设计(STM32版) - 第09章 -基础实验:码盘测速实验_第1页
智能小车系统设计(STM32版) - 第09章 -基础实验:码盘测速实验_第2页
智能小车系统设计(STM32版) - 第09章 -基础实验:码盘测速实验_第3页
智能小车系统设计(STM32版) - 第09章 -基础实验:码盘测速实验_第4页
智能小车系统设计(STM32版) - 第09章 -基础实验:码盘测速实验_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章实验7——码盘测速实验2022Codediskspeedmeasurementexperiment

容Experimentcontent“

学习智能小车核心板上的测速模块接口电路原理图,利用STM32微控制器的输入捕获相关功能和寄存器,STM32的固件库函数,编写智能小车码盘测速驱动程序,然后在OLED显示屏上将测量结果显示出来。One

ExperimentalprincipleTwo

原理“测速模块简介·通光时指示灯亮,输出高电平·遮光时指示灯灭,输出低电平检测距离5mm(凹槽宽度)标准检测物体2*0.8mm以上不透明物体应差距离0.025mm以下指示灯入光时灯亮(红色)光源红外发光二极管最大发光波长940nm电源电压DC5V~24V±10%纹波(p-p)10%以下频率响应1KHz以上(平均值为3KHz)使用环境照度受光面照度荧光灯:1000lx以下使用环境温度工作时:-25℃~55℃保存时:-30℃~80℃颜色识别棕色线粉色线黑色线蓝色线电源正极(5V~24V)选择动作模式(常开/常闭)常开接法:粉色线忽略不接常闭接法:棕色线与粉色线相连接输出端(接负载)电源负极

智能小车采用EE-SX672-WR型传感器来测量速度,智能小车测速光栅码盘有20格,车轮转动时,光栅码盘将会不停地打断测速传感器的红外光路,测速传感器将产生一串连续的方波,可被STM32微控制器检测到。

智能小车的测速使用了外部中断,外部中断用于检测测量信号的上升沿,每检测到一次上升沿,计数值(cnt)加1。每次开启测量时,将cnt计数清零,测量时间为t。因为小车车轮每旋转一周产生的脉冲数量是固定的,再结合小车直径,就可以计算出小车行驶过的路程,再除以时间t即可得到小车速度。测速时序如下图所示:测速时序

测速模块接口电路原理图如图所示,从图中可以看出,右测速SPD_R对应的I/O口是PB5,左测速SPD_L对应的I/O口是PC12,正好对应外部中断线EXTI_Line5和EXTI_Line12。车轮旋转一周后,测速感应器将产生20个方波信号,可用示波器进行验证,这些方波信号可以触发STM32微控制器的外部中断。

本实验将EXTI_Line5和EXTI_Line12都配置为上升沿触发,通过累计产生外部中断的次数,再结合TIM2通用定时器获取两次测速的间隔时间,就可以推算出左、右车轮的速度。当然,也可以将它们配置为下降沿中断,或者上升沿和下降沿交替触发。测速模块接口电路原理图

EXTI管理了20个中断/事件线,每个中断/事件线都对应一个边沿检测电路,可以对输入线的上升沿、下降沿或上升/下降沿进行检测,每个中断/事件线可以通过寄存器进行单独的配置,既可以产生中断触发,也可以产生事件触发。如下图所示是EXTI的功能框图:EXTI功能框图

STM32的外部中断EXTI的寄存器地址映像和复位值如下表所示。本实验涉及的EXTI寄存器包括中断屏蔽寄存器(EXTI_IMR)、事件屏蔽寄存(EXTI_EMR)、上升沿触发选择寄存器(EXTI_RTSR)、下降沿触发选择寄存器(EXTI_FTSR)、软件中断事件寄存器(EXTI_SWIER)、挂起寄存器(EXTI_PR)。EXTI部分寄存器

本实验涉及的EXTI固件库函数包括EXTI_Init、EXTI_GetITStatus、EXTI_ClearITPendingBit。EXTI_Init函数的功能为根据EXTI_InitStruct中指定的参数初始化EXTI相关寄存器;EXTI_GetITStatus函数的功能为检查指定的EXTI线路触发请求发生与否;

EXTI_ClearITPendingBit函数的功能为清除EXTI线路挂起位。EXTI_ClearITpendingBit(EXTI_Line2);EXTI部分固件库函数

本实验涉及的AFIO寄存器包括复用重映射和调试I/O配置寄存器(AFIO_MAPR)、AFIO的外部中断配置寄存器1(AFIO_EXTICR1)、外部中断配置寄存器2(AFIO_EXTICR2)、外部中断配置寄存器3(AFIO_EXTICR3)和外部中断配置寄存器4(AFIO_EXTICR4)。以外部中断配置寄存器2(AFIO_EXTICR2)为例:本实验设PB5为输入源AFIO部分寄存器

本实验涉及的AFIO固件库函数只有GPIO_EXTILineConfig。GPIO_EXTILineConfig函数的功能是根据GPIO_PortSource和GPIO_PinSource的值,配置AFIO->EXTICR[x](x=1,…,4),从而选择GPIO某一引脚用作外部中断线路。GPIO_EXTILineConfig(GPIO_PortSource_GPIOB,GPIO_PinSource8);AFIO部分固件库函数步骤1:复制并编译原始工程 步骤2:添加BEEP文件对 步骤3:完善BEEP.h文件 步骤4:完善BEEP.c文件 步骤5:完善蜂鸣器驱动应用层步骤6:编译及下载验证实验步骤Experimentalsteps“Three实验步骤steps步骤1:复制并编译原始工程步骤2:添加Encoder和EXTI文件对 步骤3:完善Timer.h文件步骤4:完善Timer.c文件步骤5:完善Encoder.h文件步骤6:完善Encoder.c文件步骤7:完善EXTI.h文件步骤8:完善EXTI.c文件步骤9:完善码盘测速实验应用层步骤10:编译及下载验证本

务Tasksinthischapter“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论