最近想做一台遥控水下机器人,使用Pixhawk2.4.8作为主控,参考BlueROV2的设计。其中机械爪部分是难点之一,尤其是对于我这种初学者而言。为了实现机械爪的控制,尝试使用Pixhawk控制舵机转动是第一步。
安装固件,这里以ArduSub V4.1.2为例。
进入Mission Planner,将Paxhawk 2.4.8通过数据线连接电脑,
注意:先不要点右上角的连接!
而是进入初始设置->安装固件Legacy->ArduSub V4.1.2,
然后根据操作安装即可。如果要选择飞控版本就选FMUv3,安装完成后,进度条下方会显示“Upload Done”,此时Ardupilot固件就刷写成功了。
接下来选择AUTO进行连接,点击“连接”就可以将飞控连接到地面站。
第一排是GND,第二排是VCC,第三排接信号线
最左边的两列RC和SB分别是接收机输入和SBUS输出,
中间的八列1-8是主输出(MAIN OUT),
最右边的六列1-6是辅助输出(AUX OUT)。
接下来校准遥控器。
提示:最后控制舵机没有使用到新添加的四个拨动开关,而是选用了控制效果更加丝滑的旋钮VrA,此部分可跳过。
这里遥控器选择的是富斯i6X中文版,接收机选择的是FS-A8S。
在这个界面,长按“OK”按钮进入“菜单”界面。
选择“功能”->“通道显示”。
进入到通道显示界面时,发现只有6个通道,拨动遥控器上的摇杆和开关发现,前四路通道对应的是左右两个摇杆的四个方向,通道5和6对应的是VrA和VrB两个旋钮。而SwA、SwB、SwD这三个两路开关和SwC这个三路开关没有对应的通道。
这时我们返回到菜单界面,
选择“系统”->“辅助开关设置”。
长按CANCEL保存修改。
接下来进入“功能”->“辅助通道”,将通道7~10的控制从“无”改为SwA~SwD
进入“功能”->“最大舵量”,将通道5的最大舵量改为“120% 120%”。修改完第一个120%后顺时针旋转VrA,以修改第二个120%,长按CANCEL保存修改。
最后进入“功能”->“通道显示”,拨动SwA~SwB这四个开关,测试新添加的四个通道的效果。
将FS-A8S接收机插到飞控上的RCIN处,线序从上往下依次是黑、红、黄,与遥控器进行对码对频,具体流程这里不再赘述,可以自行百度。
打开Mission Planner,点击“初始设置”->“必要硬件”,点击绿色的“校准遥控”进行遥控器校准
幅度尽可能大地拨动各个摇杆和开关,转动两个旋钮,使得每个通道的两条红线的间距尽可能大。
点击“配置/调试”页面,全部参数列表,修改以下参数:
SERVO9_FUNCTION的值改为55 (AUXOUT 1对应SERVO9,55表示使用遥控器5通道控制SERVO9的输出)
也可以在选项中选择RCIN5,对应遥控器的第五个通道。
为了让舵机旋转尽可能大的角度,这里将SERVO9_MAX的值设置为2200,SERVO9_MIN的值设置为800。
SERVO9_MAX最大只能是2200,SERVO9_MIN最小只能是800,可能是因为官方担心你接上无刷电机后转速过快或者过慢。
但是对于舵机来说,这个范围还是小了一些,大概只能转120°左右,应该能满足实际要求。在后续应用时,这两个值以及上文中的“最大舵量”还需要根据实际情况进一步调整。
设置完以上参数记得点击右侧的“写入参数”
想要使用其他通道驱动舵机,可以参考下表,方便修改对应参数。
Pix的main和aux的输出通道定义:
Pixhawk Label | Servo Channel |
Main 1 | SERVO1 |
Main 2 | SERVO2 |
Main 3 | SERVO3 |
Main 4 | SERVO4 |
Main 5 | SERVO5 |
Main 6 | SERVO6 |
Main 7 | SERVO7 |
Main 8 | SERVO8 |
Aux 1 | SERVO9 |
Aux 2 | SERVO10 |
Aux 3 | SERVO11 |
Aux 4 | SERVO12 |
Aux 5和6默认是GPIO输出而不是PWM,若要使用Aux 5和6驱动舵机,可在全部参数表中将BRD_PWM_COUNT从默认的4改为6。
Aux 5 | SERVO13 |
Aux 6 | SERVO14 |
将舵机插到AUX OUT 1 ,线序从上往下依次是棕、红、黄。此时第一排GND和第二排VCC之间是没有电压的,虽然飞控通过数据线连接电脑,却无法给舵机供电。
接下来将11.1V航模电池连接电调,再将电调的三根线连接MAIN OUT或AUX OUT的任一一列,用于提供5V电压,给飞控和舵机供电。
没有航模电池和电调也可以自行选择5V电源,VCC连接第二排的一个针脚,GND连接第一排的一个针脚。
线序从上往下依次是黑、红、白。
接下来就可以拔掉飞控与电脑之间的数据线,旋转遥控器上的VrA旋钮进行愉快的玩耍咯。
至于为什么要拔掉数据线,这是个悲伤的故事。
去年某次用单片机驱动电机时,航模电池的高电压通过STLink进入电脑,导致主板险些被烧,留下了心理阴影。
好了,这次的内容就到这里,感谢看到这里的你。
因篇幅问题不能全部显示,请点此查看更多更全内容