资讯详情

基于stm32的视觉和蓝牙控制F407芯片智能机械臂控制小车

1.项目概述:

这个实验是通过手机进行的APP蓝牙连接HC-05模块,向HC-05发送数据,HC-蓝牙模块来自蓝牙APP并通过数据UART串口传输给STM32核心板,然后STM32通过PWM控制直流电机驱动模块,最后驱动电机。

2.设计要求:

(1)利用stm32组成蓝牙小车;

(2)通过蓝牙传输数据,控制机械臂小车前进、后退、左转、右转,让小车通过视觉处理自动选择有色色块抓取色块。

3.汽车总体设计思路

主要是逐一分析项目的功能,详细说明每个模块和功能实现的整个过程。首先,我们的汽车功能分为五个部分,第一个是汽车的基本驱动,建立智能汽车的基本框架,基本框架,后续功能基于基本框架,所有后续功能都相对简单;第二个是机械臂的驱动和控制,第三个是项目的小程序和AndroidAPP控制汽车和机械臂,第四是ASR-M09C语音识别模块(更新后),最后一个就是视觉智能控制,通过OpenMV视觉识别,从而实现色彩识别、视觉跟随、形状识别等。然后添加蓝牙模块,手机通过蓝牙串发送ABCDE,主板接收后,根据不同的数据前进后退,舵机的组成:直流电机、减速齿轮组、传感器和控制电路。

4.实现各功能模块程序的原理分析

该系统分为主控板、蓝牙模块、电机驱动模块、电源管理模块,Android5个舵机、摄像头等模块(openmv)。

第一步

组装机械臂小车,STM32F429核心板与6WD驱动板的接线方式是GND、VCC、PB8、PB9分别接GNC、3.3V、SCL、SDA,汽车的两台电机分别连接6台WD的驱动板的M1和M2。连接芯片已经连接到每个模块,如蓝牙模块通过蓝牙串口通信测试连接,并在手机上安装蓝牙调试助手,帮助手机连接到蓝牙模块进行测试。蓝牙模块上电后会迅速闪光,显示处于等待状态,用手机蓝牙连接。有两种方法可以通过串口下载程序:ISP下载 或者 下载器下载(JLINK、ULINK、STLINK)

  1. 硬件接线
  2. 安装JLINK驱动 --- 我的计算机-管理-设备管理-通用串行总线控制器---JLINK Driver
  3. 配置KEIL5软件

第二步 烧录程序

可使用烧录程序USB也可以用SWD,如果你和我一样,手边只有一个ST-link也可以用杜邦线强行转换SWD,注意这样在Keil在设置中还是要选择的ST-link。在记录之前,有必要了解代码的基本逻辑。汽车的核心知识在于基本原理和代码实现。汽车的原理可以是6WD原理图和参考资料中的文档实际上是汽车的角度和速度,以及电机的转向。代码实现基本上是根据这个控制理念编写的,但是,除了以后可以复用代码之外,main.c和upstandingcar.c修改其他功能。在编写代码的基础上增加(.C和.H的文件)

第三步 调节PWD占空比参数

尽管我们经常调整PWD嘲讽为玄学工作。因为参数之间有耦合,看着车在地下疯狂旋转,却不知道该变。PWD哪个参数更好,甚至不知道应该增加或减少。事实上,只要你掌握了正确的参数调整顺序,了解每个参数对响应的影响机制,就不难调整令人满意的参数。每个不同的参数都会影响每个舵机的摆动方向。

计算方法是将0-185分为250份,每份0.74度。

控制所需的PWM宽度为0.5ms—2.5ms,宽度2ms。

2ms÷250=8us;

所以得出:PWM信号 = 1度/8us;

第四步 调整电机转速

在6WD智能汽车扩展板背面设计了6个电机接口,可支持六路独立电机控制,方便扩展6WD智能小车,4WD智能汽车。每个电机都可以独立控制,6个电机可以同时输出6个不同的速度,实现独立控制。

6WD扩展板有四个路带测速码盘电机接口,每条路都可以单独测速、控制、调速和停止。我们可以在程序中调整汽车的最高速度和最低速度,每次都增加了速度。

第五步 视觉处理模块

OpenMV是基于STM32F7/H7系列视觉图像处理模块,OpenMV摄像头是一个小、低功耗、低成本的电路板,可以帮助我们轻松完成机器视觉(machine vision) 应用。也可以使用高级语言Python脚本,Python在机器视觉算法中,高级数据结构使您很容易处理复杂的输出。然而,它仍然可以完全控制OpenMV,包括IO引脚。也可以很容易地使用外部终端触发拍摄或执行算法,也可以控制算法的结果IO引脚。

标签: 连接器ms3126f14

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台