基于STM32F103C8T6最小系统板与OpenMV的二维云台PID控制追踪系统

一:系统概述

本系统使用OpenMV作为摄像头,追踪红色小球。系统利用OpenMV内置的MicroPython库中的find_blobs函数查找识别红色小球,接着调用find_max()函数进行滤波,将红色小球中心的X,Y坐标打包成数据包,通过串口发送给主控STM32F103C8T6最小系统板,当STM32F103C8T6通过串口中断接收到位置信息后通过PID算法输出合适的PWM波对X轴、Y轴的两个舵机控制旋转相应的角度,使OpenMV摄像头对准被测物体,以实现物体追踪功能。

二:硬件选型

(一):实验版本

1.云台部分

1.1:二维舵机云台带轴承

由于预算充足故选用了某宝的二维电动云台(带轴承)如图所示:

f7d4f74a13c6cc00c5601e24a6e6fec0.jpeg

1.2:数字舵机

X轴采用S20系列270°舵机,工作电压5V,堵转电流1.8A,20KG负载马力十足。

Y轴采用S20系列180°舵机,工作电压5V,堵转电流1.8A,20KG负载马力十足。

Tips:

1:舵机必须与STM32F103C8T6共地!!否则无法控制舵机!!

2:舵机调试仪可以用来调试舵机中值,也可以检测舵机好坏。

14920468cef0250de0e97c2fecf0638e.jpeg

2.主控部分

2.1:STM32F103C8T6最小系统板

本系统使用STM32F103C8T6最小系统板作为核心MCU,实物如所示。

db4c9f60bbe1f2a66a36bb6cdc8bbaa5.jpeg

本系统中STM32F103C8T6使用串口中断与OpenMV进行串口通信,进行数据接收,当其接收到数据后通过硬件IIC与OLED相连输出X轴与Y轴的坐标,并且输出两路PWM波分别控制X轴与Y轴的舵机。

3.传感器部分

3.1:0.96寸OLED显示屏

OLED模块供电可以是3.3V,也可以是5V。本系统使用5V供电。OLED屏具用于显示X轴与Y轴的点坐标。在实验的初期,主要利用OLED检验是否可以正常的通过串口中断进行数据传输,并且检验传输的数据是否正确。

Tips:1:GND与VCC千万不要接反,接反轻则烫手,重则烧屏。

bd23b6a1318bdd41f7c4896bc431ac5a.jpeg

3.2:OpenMV 4 H7 PLUS

本系统中OpenMV部分完成三个任务:

1:完成被测物体的识别(以红色小球为例)。

2:寻找最大色块区域。

3:通过串口将被测物体的位置信息发送给STM32F103C8T6。

Tips:

1:本实验中我们使用5V的电压脱机运行。

2:OpenMV与STM32F103C8T6进行数据传输必须共地!!!

23c3882a337359f8ff9572b94f60860a.jpeg

4.稳压部分

4.1:稳压模块

MP1584固定输出5V的稳压模块。输出电压:5V;输出电流:3A(峰值),长时间工作1.5A左右。

5V的电压1.5A-3A的电流可以同时给Openmv与STM32F103C8T6,OLED,舵机供电。

b23d1a0bd654375a45b9e99a52e76cfe.jpeg

5.电源部分

5.1:电源模块

本系统使用了两节18650锂电池搭配串联构成7.4V的电源。

22bf2c7ee89fbb3dd6b1b6f9c8ee1f50.jpeg

(二):集成版本

杜邦线承载的电流有限,无法长时间负载大电流,并且信号传递不稳定。为了优化与简化电路,使得系统稳定工作,故绘制

评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值