作为无人机方面做嵌入式编写的飞控总结1-基本协议驱动介绍2.2-无人机云台的can 超频开发编程小结

本文主要是介绍作为无人机方面做嵌入式编写的飞控总结1-基本协议驱动介绍2.2-无人机云台的can 超频开发编程小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导:因为云台的配合,无人机可以各种场合,都能执行一大堆任务,云台是无人机之中最重要的外设之一;

1.所采购云台的基本信息

    云台ID

    帧要求

     收发要求


2.开始修改我上个博客所说的demo,进行修改,匹配波特率

(1)我们都知道,can的是5K~1MBPS;现在的设备要求超频到3MHz 使用;

    官方给的参数是基于STM32F103的配置:tb1=4,tb2=1,psr=2,can所在总线时钟是36MHz;则波特率计算为:36MHz/(4+1+1)/2=3M bps

我需要在F4上,总线时钟是42MHz,tb1=4,tb2=2,psr=2;波特率=42MHz/(4+2+1)/2=3Mbps

3.初始化配置:

初始化的配置有四个(IO口,can时钟,过滤器初始化,中断初始化),但是中断没有使用;

(1)修改其从设备ID号;


4.收发设置

该设备的收发设置有要求

发送的实质

接收的设置


5.应用和测试

//----------------------------------------新can的云台变量---------------------------------------------------------//
//1.查询0x31================================= 
u8 Check_Roll_Sta[1]={01};	//横滚开关状态查询,返回1-ON,0-OFF
//硬件版本查询0x31
u8 Check_Hard_Vision[1]={1};
//软件版本查询0x32
u8 Check_Sofe_Vision[1]={1};
//电量查询0x33
u8 Check_PM[1]={0x01};		//电量查询,返回电量百分比和电压值
//模式查询0x34
u8 Check_mode[1]={0};		//模式查询,正常返回1,2,3,4
//横滚开关状态查询0x35
u8 Check_Py_state[1]={0x34};	//py状态查询,正常返回0,1//2.控制0x21=======================================
u8 Ctl_OFF[2]={0x02,0x07};	//控制云台关机
u8 Ctl_ON[2] ={0x01,0x06};			//控制云台开机
u8 Ctrl_Lock_Head[2]={0,0x08};	//锁头模式设置,成功会返回0x0800
u8 Ctrl_Horizontal_follow[2]={0x01,0x08};//水平跟随模式设置,成功会返回0x0801
u8 Ctrl_Full_follow[2]={0x02,0x08};	//全跟随模式设置,成功会返回0x0802
u8 Ctrl_Roll_follow[2]={0x03,0x08};	//横滚跟随模式设置,成功会返回0x0803
//姿态控制0x22======================================
u8 Ctrl_Yaw_Pitch[4]={0,0, 0,0};//前两个yaw控制AD值,后两个为pitch控制ad值,无返回;//3.校准0x11=======================calibration
u8 Cal_GYRO[2]={0x01,0x0};	//第二位:1-开始,0-结束 陀螺仪零点校准
u8 Cal_ADC[2]={0x04,0x0};		//第二位:1-开始,0-结束 ADC校准
u8 Cal_ACC[2]={0x05,0}; 		//第二位:1-开始,0-结束  加速度校准(自动翻转)//4.配置0x13========================
u8 Set_follow[5]={01,0x32,0x32,0x0F,0x0F};	//第2-5位分别表示:水平跟随速度(0~100)默认50,上下跟随速度(0~100)默认50,水平跟随死区(0~30)默认15	上下跟随死区(0~30)默认15
u8 Set_PID[2] ={0x02,0x02};									//Pid等级(n),具体数值,未说明
//--------------------------------------------------------------------------------------------------------------//


=============================

6 验证测试


            根据现象 验证成功!!!

----------------------------------------------------

所用的云台连接见:


这篇关于作为无人机方面做嵌入式编写的飞控总结1-基本协议驱动介绍2.2-无人机云台的can 超频开发编程小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/494662

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty