作为无人机方面做嵌入式编写的飞控总结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 AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用