Home
Projects
Resources
Alternatives
Blog
Sign In
Light Trace
Save
基于stm32和openmv的色块追踪云台
Overview
Reviews
Resources
Project README
light_trace
基于stm32和openmv的色块追踪云台
STM32F103C8T6作为本系统的主控芯片,在实时接收openmv传来的数据的同时控制舵机云台进行目标追踪
系统主控软件控制流程图
设计方案
舵机脉冲波角度化:舵机的脉冲控制周期为0.5ms~2.5ms,控制频率在50Hz~330Hz之间。本系统采用的舵机为180°数字舵机,并以50Hz频率控制。即0.5ms为0°,2.5ms为180°,X角度需要的脉冲时间为0.5ms + x/180°* 2ms。
追踪算法:stm32在接收到openmv的串口数据后,即得到了坐标反馈,并以此得到了angle_error,这里采用了PID算法,分别精准控制roll_angle和pitch_angle,使得激光落点位置误差达到最小。
Openmv程序设计:采用最传统的色块追踪,通过调用相关库函数来实现色块的追踪的功能。并通过调用pyb写入串口发送函数,将blob.cx和blob.cy实时发送至Stm32。
串口通信协议:串口通信协议采用的数据帧格式,即帧头、数据、校验位、帧尾。这样可以保证数据的准确性和效率性。由于数据可能大于8位,所以我采用了数据高八位和低八位分别传输,保证了数据的准确性。校验位采用数据位之和并对255进行取余。具体的程序设计中,openmv是通过右移实现发送,STM32通过左移实现接收,并且在STM32的串口程序设计中,采用了逐字节判断的方法来接收数据包,当检测到最后一个字节0xfe并且校验成功时,把坐标值传至全局变量中。
Open Source Agenda is not affiliated with "Light Trace" Project. README Source:
RaymondMeng/light_trace
Stars
35
Open Issues
0
Last Commit
5 months ago
Repository
RaymondMeng/light_trace
License
MIT
Tags
Automatic Control
Openmv
Pantilt Platform
Stm32
Open Source Agenda Badge
Submit Review
Review Your Favorite Project
Submit Resource
Articles, Courses, Videos
Submit Article
Submit a post to our blog
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
From the blog
Dec 11, 2022
How to Choose Which Programming Language to Learn First?
Home
Projects
Resources
Alternatives
Blog
Sign In
Sign In to OSA
I agree with
Terms of Service
and
Privacy Policy
Sign In with Github