导:因为云台的配合,无人机可以各种场合,都能执行一大堆任务,云台是无人机之中最重要的外设之一;
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 验证测试
根据现象 验证成功!!!
----------------------------------------------------
所用的云台连接见: