好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于STM32的IMU摄像机设计与实现.docx

11页
  • 卖家[上传人]:平***
  • 文档编号:17137444
  • 上传时间:2017-11-10
  • 文档格式:DOCX
  • 文档大小:550.34KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于 STM32 的 IMU 摄像机设计与实现一、实验目的1、熟悉 STM32 的硬件组成及配置,了解 ARM 嵌入式体系编程流程;2、掌握中断、串口的数据传输和熟悉 STM32 控制使用 PCT08 串口摄像头采集图像的方法;3、掌握 STM32 采集 IMU 传感器数据的方法;4、掌握 STM32 通过 Wi-Fi 向 PC 机传输图像数据和 IMU 传感器数据的方法;5、进一步了解、熟悉、掌握嵌入式系统编程的思路和方法,为应用嵌入式 MCU 打下良好基础二、实验设备神舟 III 号实验板、PCT08 串口摄像头、MPU6050 传感器模块、iTool 工具盒、PC机、杜邦线若干三、硬件结构设计图 1:系统硬件连接框图如上图所示,系统分为两部分, 第一部分是下位机:主要模块有:1、图像采集模块,主要由 STM32 控制串口摄像头(PCT08 )实现; 2、IMU 传感器数据采集模块,主要由 STM32 控制 IMU 传感器(MPU6050 )实现; 3、Wi-Fi 模块,实现 STM32 同PC 机的无线通信,传输信息第二部分是上位机,主要功能是对下位机上传的数据进行处理(显示等)。

      四、系统模块功能介绍系统中主要的三个功能模块分别是:PCT08 串口摄像头,MPU6050 和 Wi-Fi 模块各模块功能介绍如下:(一)、PCT08 串口摄像头PTC08 是一款集图像采集、拍摄控制、数据压缩、串口传输于一体的工业级图像采集处理模块其内置的高性能数字信号处理芯片实现了对原始图像的高比例压缩产品图像输出采用标准JPEG 格式,可方便地兼容各种图像处理软件;标准的三线式RS-232 通信接口以及简单的图像传输协议使得摄像头可以方便地实现与电脑以及各种嵌入式系统的连接;预留的红外补光功能接口可以外接红外灯板,在各种光照条件下清晰成像1、使用说明PTC08 串口摄像头模块分为模块本体和串口连接线(可自行选配)两部分两者之间用可任意插拔的4pin 2.0mm间距的标准插座连接,如下图所示:图 2:PCT08 完整视图2、 电路设计图 3:PCT08 电路图3、摄像头通讯协议a.复位指令: 56 00 26 00 ;返回:76 00 26 00 +DSP 版本信息(只需判断返回的前 4 个字节正确即可,版本信息不用理会)b.拍照指令:56 00 36 01 00;返回:76 00 36 00 00c.读所拍图片长度指令:56 00 34 01 00;返回:76 00 34 00 04 00 00 XX YY;XX YY -------图片数据长度,XX 为高位字节,YY 为低位字节d.读取所拍图片数据指令:56 00 32 0C 00 0A 00 00 XX XX 00 00 YY YY 00 FF;返回:76 00 32 00 00 FF D8 。

      FF D9 76 00 32 00 00;00 00 XX XX --- 起始地址(先高位字节,后低位字节必须是 8 的倍数);00 00 YY YY --- 本次读的数据长度(先高位字节,后低位字节)注意:完整的 JPEG 图片文件一定是以 FF D8 开始,FF D9 结束如果是一次性读出整张图片数据,则起始地址就是:00 00 00 00,本次读的数据长度就是 c 指令读出的整张图片的字节长度读出的数据就是以 FF D8 开头,FF D9 结尾如果要分多次读取图片数据,则第一次读的起始地址是:00 00 00 00,后几次读的起始地址就是上一次读取数据的末尾地址e.清空图片缓存指令:56 00 36 01 02;返回:76 00 36 00 00f.设置拍照图片压缩率指令:56 00 31 05 01 01 12 04 XX; 返回:76 00 31 00 00;XX 一般选 36 (范围:00 ----FF)g.设置拍照图片大小指令: (默认大小为:320 * 240)56 00 31 05 04 01 00 19 11 320*240返回:76 00 31 00 00 xx;注意:设置图片大小指令后,需要复位一次,新的设置值才会生效!h.修改串口临时波特率指令: 56 00 24 03 01 XX YY;返回:76 00 24 00 00注意:1、默认波特率为: 38400;2 、用该指令修改波特率后,重新上电时,又会恢复为 38400。

      i.修改串口初始波特率指令: 56 00 31 06 04 02 00 08 XX YY;返回:76 00 31 00注意:修改串口初始波特率后,需要复位一次,新的设置值才会生效!执行指令强烈建议采用一问一答的交互方式, 以确保指令执行成功!2.4 PTC08 摄像头上电初始化流程:(1 ) 上电;(2) 延时 2.5 秒;(3)复位指令;(4)设置拍照图片大小指令(可选,如更改后需要复位一下才会生效);(5)设置拍照图片压缩率指令(可选)56 00 31 05 04 01 00 19 00 640*48056 00 31 05 04 01 00 19 22 160*120XX YY 速率AE C8 960056 E4 192002A F2 384001C 4C 576000D A6 115200XX YY 速率AE C8 960056 E4 192002A F2 384001C 4C 576000D A6 115200拍照片的流程:(1)发送清空图片缓存指令;(2 )发送拍照指令;(3)发送读取所拍图片长度指令;(4)发送读取所拍图片数据指令二)、 WIFI 串口服务器 USR-WIFI232-6021、 硬件连接首先将 DC5V 电源、232 线、天线接到 USR-WIFI232-602 服务器上,232 线另一端接到STM32 的一个串口上。

      2、配置模块(1 )、进入模块的内置网页:第一步:首先将电脑的 WIFI 打开(如果本身没有带 WIFI,可以用 USB 无线网卡替代)点击电脑右下角的“网络”图标并在其中选择我们服务器的 WIFI 网络“HF-A11x_AP ”并加入其中第二步:打开电脑的浏览器,在地址栏输入模块的 IP“10.10.100.254”,点击回车进入网页;进入网页后会有用户名密码的验证,模块默认的用户名是 admin,密码是 admin2 )、设置模块的工作模式:在首页也就是“模式选择”页面将“Station 模式”选中,并点击“确定”3 )、无线终端设置:点击“无线终端设置”,在无线终端设置页面,点击页面中的“搜索”按键新弹出来的页面中是周围路由器的列表,选择你要加入的路由器,并点击“Apply”选择“Apply ”后,会回到“无线终端设置”页面,如果有密码会提示输入密码,之后填写密码,最后点击“确定”即可4 )、重启模块:点击“模块管理”,进入“模块管理”页面,并点击“重启”3、数据传输协议设计(1 )、基本传输命令a、下位机命令0x00:StartPIC 准备传输图片0x02:PICDataLength 传输图片数据长度0x06:StartMPU 准备传输 MPU0x08:MPUDataLength 传输 MPU 数据长度b、上位机命令0x01:ACKStartPIC 0x00 的应答信号0x03:ACKPICDataLength 0x02 的应答信号0x05:ACKPICData 完整接收图片数据应答0x07:ACKStartMPU 0x06 的应答信号0x09:ACKMPUDataLength 0x08 的应答信号0x0B:ACKMPUData 完整接收 MPU 数据应答(2 )、图片发送:a、STM32 发送握手信号 0x00,等待应答信号 0x01b、PC 发送 0x01 应答信号(握手成功),然后开始等待 picture 长度c、STM32 发送“0x02+PICDataLength”d、PC 响应 0x03,说明接收成功e、STM32 发送 PICDataf、PC 响应 0x05,图片数据接收成功(3 )、 MPU 数据发送a、STM32 发送 0x06,开始发送 MPU 的准备b、PC 响应 0x07c、STM32 发送“0x08+MPUDataLength”d、PC 响应 0x09,说明接收成功e、STM32 发送 MPUDataf、PC 响应 0x0B,MPU 数据接收成功(三)、 IMU 传感器 MPU6050传感器模块采用高精度的陀螺加速度计 MPU6050,通过处理器读取 MPU6050 的测量数据然后通过串口输出,该模块内部自带电压稳定电路,可以兼容 3.3V/5V 的嵌入式系统,连接方便。

      1、引脚说明VCC 的功能是模块电源,3.3 V 或 5V 输入;GND 的功能是地线;RX 的功能是串行数据输入,TTL 电平 TX 的功能是串行数据输出,TTL 电平 SCL 的功能是 I2C 时钟线 SDA 的功能是I2C 数据线如上图所示,模块的轴向在上图的右上角标示出来,向右为 X 轴,向上为 Y 轴,垂直于纸面向外为 Z 轴旋转的方向按右手法则定义,即右手大拇指指向轴向,四指弯曲的方向即为绕该轴旋转的方向2、与单片机连接,如下图所示: 图 4、MPU6050 与 STM32 连接图3、通信协议(1 )、上位机至模块指令内容 功能 0xFF 0xAA 0x52 角度初始化,使 Z 轴角度归零0xFF 0xAA 0x61 使用串口,禁用 I2C,掉电保存,建议使用上位机修改0xFF 0xAA 0x62 禁用串口,使用 I2C 接口,掉电保存,建议使用上位机修改0xFF 0xAA 0x63 波特率 115200,帧率 100Hz,掉电保存,建议使用上位机修改0xFF 0xAA 0x64 波特率 9600,帧率 20Hz,掉电保存,建议使用上位机修改说明:模块上电以后需先保持静止,模块内部的 MCU 会在模块静止的时候进行自动校准,校准以后 Z 轴的角度会重新初始化为 0,Z 轴角度输出为 0 时,可视为自动校准完成的信号。

      出厂默认设置使用串口,波特率 115200,帧率 100Hz 的配置可通过上位机软件配置,因为所有配置都是掉电保存的,所以只需配置一次就行2 )、模块至上位机模块发送至上位机每帧数据分为三个数据包,分别为加速度包、角速度包和角度包,三个数据包顺序输出波特率 115200 时每隔 10ms 输出 1 帧数据,波特率 9600 时每隔 50ms 输出一帧数据加速度输出 角速度输出 角度输出数据编号 数据内容 含义 数据编号 数据内容 含义 数据编号 数据内容 含义0 0x55 包的开头 0 0x55 包的开头 0 0x55 包的开头1 0x51 标识此包是加速度包1 0x52 标识此包是加角速度包1 0x53 标识此包是加角度包2 AxL x 轴加速度低字节2 wxL x 轴角速度低字节2 RollL x 轴角度低字节3 AxH x 轴加速度高字节3 wxH x 轴加速度高字节3 RollH x 轴角度高字节4 AyL y 轴加速度低字节4 wyL y 轴加速度低字节4 PitchL y 轴角度低字节5 AyH y 轴加速度高字节5 wyH y 轴加速度高字节5 PitchH y 轴角度高字节6 AzL z 轴加速度低字节6 wzL z 轴加速度低字节6 YawL z 轴角度低字节7 AzH z 轴加速度高字节7 wzH z 轴加速度高字节7 YawH z 轴角度高字节8 TL 温度低字节 8 TL 温度低字节 8 TL 温度低字节9 TH 温度高字节 9 TH 温度高字节 9 TH 温度高字节10 Sum 校验和 10 Sum。

      点击阅读更多内容
      相关文档
      高一历史上学期期末考前必刷卷统编版03考试版A4含答案.docx 高中英语考试各题型突破攻略听力篇高一高二高三的都要看.docx 高一历史上学期期末考前必刷卷统编版01考试版A3含答案.docx 高中英语考试各题型突破攻略语法填空篇高一高二高三的都要看.docx 高一历史上学期期末考前必刷卷统编版02考试版A3含答案.docx 高中英语考试各题型突破攻略完形填空篇高一高二高三的都要看.docx 高中英语考试各题型突破攻略作文篇高一高二高三的都要看.docx 高考政治如何规范化答题?.docx 高一历史上学期期末考前必刷卷统编版03考试版A3含答案.docx 高一历史上学期期末考前必刷卷统编版02考试版A4含答案.docx 高一历史上学期期末测试卷01统编版中外历史纲要上129课含答案.docx 日历表2028年日历中文版纵向排版周一开始带周数带农历带节假日调休安排1.docx 日历表2028年日历中文版横向排版周一开始带农历带节假日调休安排1.docx 八年级数学北师大版上册课时练第7章《3 平行线的判定》含答案解析.docx 日历表2029年日历中文版横向排版周一开始带周数带农历带节假日调休安排1.docx 日历表2028年日历中文版纵向排版周一开始带周数带农历.docx 人教版二年级数学下册同步测试-有余数的除法含答案解析3含答案.docx 日历表2028年日历中文版横向排版周一开始带农历1.docx 人教版二年级数学下册同步测试-总复习含答案解析-人教新课标含答案.docx 日历表2028年日历中文版横向排版周一开始带周数带农历1.docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.