本文主要是介绍作为无人机方面做嵌入式编写的飞控总结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 超频开发编程小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!