作为无人机方面做嵌入式编写的飞控总结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

相关文章

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

JS 实现复制到剪贴板的几种方式小结

《JS实现复制到剪贴板的几种方式小结》本文主要介绍了JS实现复制到剪贴板的几种方式小结,包括ClipboardAPI和document.execCommand这两种方法,具有一定的参考价值,感兴趣的... 目录一、Clipboard API相关属性方法二、document.execCommand优点:缺点:

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库