本帖最后由 MDebug 于 2017-1-24 11:32 编辑 项目介绍: 1、方案主题与功能 本项目实现了基于STM32F4 平台的全向运动平台,并实现与手机交互。该平台充分运用了STM32F4 平台的强大性能与平台控制系统的便利性,实现了视觉追踪与控制逻辑生成,采用Android ADK框架进行板间通信,具有较强的兼容性。该项目在工业和民用领域具有较好的实用价值,如自然语言交互机器人、自主移动拍摄平台等。 2、关键词 STM32F4,视觉追踪,人机交互,自动识别。 工作原理: 1、硬件组成与介绍; 整个系统分为运动平台和视觉追踪平台两部分。运动平台主要由Android设备、扩展板和执行机构构成,执行机构可以是很多种类的运动平台,本项目中是由电机驱动、电机、机架组成的全向移动平台。视觉追踪部分由摄像头、主控板和LCD构成。运动平台中的扩展板与视觉追踪部分的主控板均由同一块STM32F4 Discovery来实现。它们的功能如下图所示: 主控板:扩展板是一块以STM32F407VGT6为主控的核心控制板。其上有1路USB Host接口用以连接Android设备,3路USART接口以实现和电机驱动器的通信。扩展板的软件基于ST官方提供的USBH ADK类库,以USBHost方式与手机进行通讯。 摄像头:摄像头设备为视觉输入传感器,本平台选用OV7725和MT9M111两种CMOS传感器作为视觉输入设备,其中,OV7725能提供VGA分辨率60fps输出,而MT9M111能提供1280*960分辨率,15fps输出,且在色彩上更好一些,对于本次应用,两种平台均能成功实现。 Android设备:Android设备是一个运行有Android系统的硬件平台,最常见的为Android智能手机。它的作用是提供一个用户交互界面,采集自身传感器信息,将用户意图转化为信号量,并提供提示界面和拟物化的操作面板。在本项目中,Android手机负责收集自身的加速度计、陀螺仪、电子罗盘的信息,通过DCM互补滤波以及四元数矩阵融合转化成为Yaw,Pitch,Roll三个姿态角。通过人操纵手机改变手机的姿态,从而代替手柄的功能。同时,屏幕上放置按钮控件以实现抓取、放开等机械臂动作的控制。 电机驱动:电机驱动是一块基于STM32F103CBT6的控制板,通过USART接口与上位机通讯获得指令(目标速度、目标位置等),生成不同占空比的PWM波驱动一个H全桥。同时,电机上的编码器接回电机驱动板,以实现速度的闭环控制。 电机:电机是直接执行机构,本项目中使用有刷直流电机,电机自带两相正交旋转编码器,可以实现速度的大小和方向的测量。电机以及其安装的机架构成了3自由度机械臂执行机构,可以实现弯曲、伸展、转向等动作。 2、此项目中STM32的功能; STM32F407:此为STM32F407VGT6 主控芯片,基于ARM Cortex-M4架构,168Mhz主频,具备完备的通信接口与连接能力,集成32位浮点运算单元和单周期多指令执行器,可以完成一些较复杂的控制逻辑和算法。 3、软件流程 在本系统中,软件设计分为三个部分,第一部分为Android软件设计,第二部分为扩展板软件设计,第三部分为驱动板软件设计。Android设备程序为实现一个Activity类,在这个类中构造了读取传感器、姿态解算、读取按钮状态、发送指令、刷新UI等方法。在扩展板软件设计中,主要为USBH类的实现和消息读取,转化为电机目标速度。在电机驱动板程序中,主要实现了UART读取、PWM生成、正交编码器读取等函数。简要的软件流程如下图所示。蓝牙连接的流程图和下图基本一致,只是将USB发送和接收数据部分替换为蓝牙方式。
实物与演示
|
【stm32F429开发日志】STM32F429上 NES 模拟器 移植 试玩
【小“福”蝶赏灯展+Nucleo-STM32F410】
读书感悟--STM32库开发实战指南——基于STM32F4(有空更新)
【STM32F429心得\疑问】+STM32学习心得(新手必看)
【我要SHOW】我的STM32F411
【我要show】+STM32F407+我爱ST
【我与STM32共成长】+脚踏STM32F1和STM32F4两条船
[线下活动] STM32F4与STM32L4系列功耗对比分析与测试
[STM32粉丝狂欢节开箱]STM32F410和L432
【MCU实战经验】+移植lwip1.4.1到STM32F4上
http://www.cirmall.com/circuit/1 ... 3%E5%8F%B0#/details
http://www.cirmall.com/circuit/1410/%E5%9F%BA%E4%BA%8ESTM32F4%E7%9A%84%E8%A7%86%E8%A7%89%E8%BF%BD%E8%B8%AA%E4%B8%8E%E6%89%8B%E6%9C%BA%E6%8E%A7%E5%88%B6%E8%BF%90%E5%8A%A8%E5%B9%B3%E5%8F%B0#/details