MiniFly微型四轴学习与开发日志(一) |
您所在的位置:网站首页 › 飞控恢复默认设置 › MiniFly微型四轴学习与开发日志(一) |
文章目录
注意事项技术参数遥控器操作说明调试界面遥控器设置遥控器开发环境配置四轴飞行过程往一边偏
![]()
将四轴水平放置然后开机,并等待传感器校准通过,传感器校准通过后遥控器蜂鸣器会发出“滴”一声,表示已校准通过,校准通过后方可飞行。(注意:校准过程不能手持四轴 或倾斜放置,否则导致传感器校准不通过) A:无线连接信号强度:已连接(左)、未连接(右);B:控制模式:H 定高模式(左)、M 手动模式(右)、T 定点模式;C:遥控器状态:加锁(左)、解锁(右); 解锁:油门摇杆(左)往左下方打,方向摇杆(右)往右下方打(八字形状)。 加锁:油门摇杆(左)往右下方打,方向摇杆(右)往左下方打(V 字形状)。D:飞行模式:无头(左)、有头(右);E:电量显示:遥控器电量(加锁状态)、四轴电量(解锁状态)。 调试界面1. 控制模式 MDK5-keil + JLink 遥控器使用的MCU为STM32F103C8T6,在MDK5中配置STM32F1的开发环境。 ① 打开 MiniFly Remoter Firmware_F103 源码工程,弹出Pack Installer,直接选择文件安装STM32F1xx的pack文件(File -> Import -> Keil.STM32F1xx_DFP.2.0.0.pack)。 但是我遇到了一个很棘手的问题,就是无法将程序下载到遥控器中: 一个难关又接着一个难关,我依次烧录了 Bootloader 和 Firmware,发现上电后,遥控器只有指示灯亮着,LCD却黑屏了! 为了解决这个问题,我花费了好大的精力与时间,最终找到了办法(固件升级): (1)我先安装STM32 USB 虚拟串口驱动; 与客服技术支持交流后,我才知道原本的开发是使用MDK 5.30的,而我使用的是V5.33,版本不同,存在bug(有可能是烧录Firmware程序时,将Bootloader程序擦除了,即使我将flash设置为erase sectors或do not erase也不行),导致我使用MDK直接下载固件程序后,遥控器无法正常使用。具体解决办法就是(即上文)使用MDK下载Bootloader程序后,再使用固件升级软件通过烧录.bin文件将固件程序下载进遥控器中,程序烧录完毕后需要进行四轴和遥控器的重置以进行匹配通信(重置并不会改变用户烧录的程序,即不具有恢复出厂的功能,其类似于单片机的复位,可放心进行二次开发)。 下载器为JLink OB。 遥控器开机时,先运行 Bootloader 程序,判断当前KEY_L 键是否按下,如果按下大于 3S 则留在 Bootloader 程序等待固件升级,否则跳转至固件程序,此时编译固件并下载即可。所以正常开发只需要下载调试APP代码就行了,即只下载固件程序。 注意: 下载时,芯片必须是上电状态! 代码下载和调试前,需要将下载器开关拨到STM32档。 bootloader起始地址(BOOTLOADER_START_ADDR) : 0x8000000 固件起始地址(FIRMWARE_START_ADDR) : 0x8002400 (默认已配置好起始地址) 匿名科创地面站支持多种通信方式,这里我们使用的是串口方式通信。 我们可以使用使用匿名科创地面站查看飞控姿态,显示数据波形及 PID 调试。 ① 将 USB 线连接四轴或遥控器 四轴和遥控器的固件都支持和匿名科创地面站通信、调试。使用 USB 线连接四轴或遥控器,在设备管理器中找到端口号。 注意:使用遥控器和地面站通信时,只有四轴是开机状态才有数据上传,因为遥控器只做数据转发功能。 ② 打开软件选择串口通信 打开软件后点击左边一列图标的程序设置,即可显示程序设置界面。 我们选择通信连接方式为 COM 方式,然后选择端口号,设置波特率为 500000,最后点击右下角的打开连接,即可通信。当有数据上传时,RX:显示接收到数据的个数。 点击左边一列图标的飞控状态即可显示飞控状态界面。飞控状态显示主要包括当前四轴姿态(PIT\ROL\YAW)、接收机(遥控器控制数据)、电机输出(PWM)、传感器原始数据(ACC\GYR\MAG)、气压高度(单位 cm)、电池电压。飞行模式和 GPS信息功能未使用。 点击左边一列图标的数据波形即可显示数据波形界面,。首先选中我们要显示的数据,再点击飞控数据即可显示数据波形。 点击左边一列图标的飞控设置即可显示飞控设置界面,。飞控设置包括PID 设置、飞行模式设置、传感器校准,这里我们只使用了 PID 设置的功能。读取飞控:读取四轴当前 PID 参数。写入飞控:将显示的所有 PID 参数写入到飞控。恢复默认值:将四 轴 PID 参数恢复成出厂默认值。这里我们总共使用了 7 组 PID,分别是 roll 速率、pitch 速 率、yaw 速率、roll 角度、pitch 角度、yaw 角度、高度位置。 注意:显示的 PID 数值是实际数值的 10 倍。由于地面站 PID 数据传输只能是 int16 类型不能浮点型,所以将实际数值乘以 10 再上传,同时写入时也除以了 10。 PID 三项的的意义:P 是系统平衡的回复力; I 是消除误差,有辅助 P 的作用;D 是阻尼,抑制超调和干扰的作用。调试时一般先调节 P 找到临界震荡的 P 值,然后减小一点 P 值,增加 I 值消除静态误差,最后增加 D 值抑制干扰。要不要加 I 和 D 需根据实际情况而定。调试定高 PID 时,需要 P 和 D 同时调。 四轴飞行过程往一边偏如果偏飞得厉害,先检查遥控器微调值是否为 0,如果不为零,就先调整为 0 再试飞看飞行效果。如果通过微调的方式不能纠正偏飞问题,那就是其他原因所致。 ① 电机坏了,电机坏了也分好几种情况,电机蓝色底座脱离或者脱落,这种情况导致电机输出动力减弱,甚至有烧坏 MOS 管的可能;还有,电机输出轴弯曲,输出轴弯曲,装上桨叶转动起来就会因为不平衡产生很大的震动,震动的直接结果就是导致传感器读数据精度变差甚至错误;还有可能是电机长时间工作,轴承或者电刷磨损厉害,导致动力减弱,因为有刷电机是有寿命的,按正常使用来说, 这个电机还是有几个月寿命的。对于这种电机坏了的情况,我们只需要换上新的电机即可。 ② 偏飞也有可能是桨叶不平衡所致,因为空心杯转速高,装上不平衡桨叶高速转动,就会产生很大震动,过大的震动导致传感器度数精度降低甚至错误。怎么看桨叶是否平衡呢?最直接的就是看桨叶是否磨损,变形以及残缺等。如果这种情况,直接换上新的桨叶即 可,注意桨叶是有正反的。 ③ 偏飞也有可能是信号干扰导致,信号干扰导致四轴接受不到控制信号,从而出现偏飞的情况,如何判断干扰呢?在可控制范围内,遥控器控制四轴飞行,无干扰的时候,遥控器蓝色通讯指示灯常亮;有一点点干扰(不会影响飞行)的时候,遥控器红色指示灯偶尔闪烁一下,蓝色指示灯基本还是常亮;当干扰变严重,遥控器红色指示灯常亮,这时候四轴基本接收不到遥控器控制信号了,偏飞,乱飞的可能性就很大了。如果遇到干扰严重的情况,需要重置遥控器和四轴,然后再匹配四轴和遥控器,如果还是有干扰,请再次重置遥控器和四轴,然后匹配,通常重置两三次就可以解决这个问题。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |