20201114-三轴云台storm32 BGC HAKRC调试+

storm32 BGC HAKRC

2轴云台支持俯仰(抬头低头)以及横滚;
三轴多了一个航向。支持锁头模式,拍摄更方便。
可以控制俯仰通过接收机或者其他单独PWM通道
可以设置跟随模式或者锁定模式
可以设置角度模式或者速度模式
支持3S供电,使用时注意电压。
通电之前务必吧相机装好,否则会导致控制板烧毁。

不要着急上电,装好相机使云台和相机保持水平再通电, 反之如果发生抖动或不水平,重复此动作。
1.供电电源是12V。 (3CELL锂聚合物电池)
2.手持启动会初始化失败
3.调整相机向左或向右,让相机处于水平。
4.相机固定在云台之前云台请不要通电开机。

装好摄像机(务必装摄像机,否则会不停抖动)后,通电后稳定云台大约20秒(不要晃动云台,保持云台挂起,离地),听到一声响后,就可以正常使用
在这里插入图片描述

20201114-三轴云台storm32 BGC HAKRC调试+_第1张图片
20201114-三轴云台storm32 BGC HAKRC调试+_第2张图片
20201114-三轴云台storm32 BGC HAKRC调试+_第3张图片
20201114-三轴云台storm32 BGC HAKRC调试+_第4张图片
20201114-三轴云台storm32 BGC HAKRC调试+_第5张图片
RC0俯仰
RC1横滚
RC2方向

驱动安装

使用usb-ttl下载器连接云台UART port,另加一个3.3V。共四条线
安装VCP-V1.3.1
+
打开调试程序o323BGCTool_v096.exe :【可以看到界面由红色变为绿色。出现相应信息】
20201114-三轴云台storm32 BGC HAKRC调试+_第6张图片

20201114-三轴云台storm32 BGC HAKRC调试+_第7张图片

调参软件:

20201114-三轴云台storm32 BGC HAKRC调试+_第8张图片

20201114-三轴云台storm32 BGC HAKRC调试+_第9张图片
20201114-三轴云台storm32 BGC HAKRC调试+_第10张图片
页面其他汉化截图没有找到。

调参软件控制

20201114-三轴云台storm32 BGC HAKRC调试+_第11张图片
右下两个按钮可以让无刷电机开始工作或停止工作。
红框中的Offset 设置可以控制云台平衡状态。先调节滑块,再点击write按钮写入即可。可以看到云台发生转动。

PWM控制

可用PWM控制,输入脉冲在1ms到2ms之间。
经测试没有发现让电机保持不动的PWM频率
20201114-三轴云台storm32 BGC HAKRC调试+_第12张图片
在这里插入图片描述
IO口接在RC2-0、RC2-1、RC2-2。也可在软件中更改。20201114-三轴云台storm32 BGC HAKRC调试+_第13张图片
其中mode修改为relative后发送的PWM脉冲就会导致电机转动并且PWM脉冲停止后电机不返回初始状态。
如果使用默认的absolute,则需要pwm脉冲一直存在才会让电机不返回原来初始位置。
20201114-三轴云台storm32 BGC HAKRC调试+_第14张图片

控制前的设置

将mode全部修改为relative,
20201114-三轴云台storm32 BGC HAKRC调试+_第15张图片

stm32控制

程序中配置好1ms 和2ms的脉冲信号。并将输出引脚连接到RC2的对应引脚上。

链接

云台跟随:
(9条消息) 树莓派简易人脸追踪云台_yonglisikao的博客-CSDN博客
https://blog.csdn.net/yonglisikao/article/details/82318626
(9条消息) 机器人小派_yonglisikao的博客-CSDN博客
https://blog.csdn.net/yonglisikao/article/details/82804318
(9条消息) 无刷云台之跟随模式_u014694105的博客-CSDN博客
https://blog.csdn.net/u014694105/article/details/104959658

一天精通无人中级篇:遥控器协议 S-BUS_数值
https://www.sohu.com/a/283533837_175233
(1条消息) SBUS协议:SBUS解析与合成_peach_orange的博客-CSDN博客_sbus协议
https://blog.csdn.net/peach_orange/article/details/52958385
Futaba SBUS协议解析
http://www.360doc.com/content/16/0818/08/35267583_584012245.shtml

遥控双舵机云台(U型遥控器,Python 3,第一人称射击游戏控件) - 简书
https://www.jianshu.com/p/8ceb34a9c303

PELCO-D协议大收集 - 百度文库
https://wenku.baidu.com/view/9aaa3333f111f18583d05a12.html

How to use PWM on Jetson Nano - Latest open tech from seeed studio
https://www.seeedstudio.com/blog/2020/05/27/configure-pwm-output-on-jetson-nano-m/

用Jetson NANO做个机器狗? - 云+社区 - 腾讯云
https://cloud.tencent.com/developer/article/1464630

Jetson/TX2 SPI - eLinux.org
https://elinux.org/Jetson/TX2_SPI

指令控制

mode使用默认的absolute
20201114-三轴云台storm32 BGC HAKRC调试+_第16张图片

调试软件中的offset需要全为0
20201114-三轴云台storm32 BGC HAKRC调试+_第17张图片

控制指令

控制指令:【经过测试意外发现自己使用的这个三轴云台控制命令中CRC是固定的值3334】

CMD_SETPITCH 指令:0xFA 0x02 0x0A data-low-byte data-high-byte crc-low-byte crc-high-byte
数据类型为uint16_t,可以采用值700 … 2300。它代表音俯仰输入值。如果发送值0,则将重新调整俯仰轴,忽略任何其他值。作为对该命令的响应,将发出CMD_ACK消息。

CMD_SETROLL指令:0xFA 0x02 0x0B data-low-byte data-high-byte crc-low-byte crc-high-byte
数据类型为uint16_t,可以采用值700 … 2300。它表示滚转输入值。如果发送值0,则将重新定位滚动轴。忽略任何其他值。作为对该命令的响应,将发出CMD_ACK消息。

CMD_SETYAW 指令:0xFA 0x02 0x0C data-low-byte data-high-byte crc-low-byte crc-high-byte
数据类型为uint16_t,可以采用值700 … 2300。它代表偏航输入值。如果发送值0,则偏移轴将被重新定位。忽略任何其他值。作为对该命令的响应,将发出CMD_ACK消息。

[0xFA,0x02,0x0a,0xe8,0x03,0x33,0x34],[0xFA,0x02,0x0a,0xdc,0x05,0x33,0x34],[0xFA,0x02,0x0a,0xd0,0x07,0x33,0x34] 三个加粗位置依次代表1000,1500,2000.按照先低位后高位的顺序,注意要小写。格式为16进制,控制俯仰输入,1000与1500 2000差不多相隔90度。roll轴则不是。

控制代码:

import serial,time
x=serial.Serial('com10',115200,timeout=1)
lista=[[0xFA,0x02,0x0a,0xe8,0x03,0x33,0x34],[0xFA,0x02,0x0a,0xdc,0x05,0x33,0x34],[0xFA,0x02,0x0a,0xd0,0x07,0x33,0x34]]
listb=[[0xFA,0x02,0x0b,0xe8,0x03,0x33,0x34],[0xFA,0x02,0x0b,0xdc,0x05,0x33,0x34],[0xFA,0x02,0x0b,0xd0,0x07,0x33,0x34]]
listc=[[0xFA,0x02,0x0c,0xe8,0x03,0x33,0x34],[0xFA,0x02,0x0c,0xdc,0x05,0x33,0x34],[0xFA,0x02,0x0c,0xd0,0x07,0x33,0x34]]

def receivedata():   # 发送函数
    while True: # 循环发送数据
        for n in range(4): # 循环发送数据
            if n>=3:
                n=0
            myinput=bytes(lista[n])    # 需要发送的十六进制数据
            x.write(myinput)    # 用write函数向串口发送数据
            time.sleep(3)  # 设置发送间隔时间
        for n in range(4): # 循环发送数据
            if n>=3:
                n=1
            myinput=bytes(listb[n])    # 需要发送的十六进制数据
            x.write(myinput)    # 用write函数向串口发送数据
            time.sleep(3)  # 设置发送间隔时间
        # for n in range(2): # 循环发送数据
        #     myinput=bytes(listc[n])    # 需要发送的十六进制数据
        #     x.write(myinput)    # 用write函数向串口发送数据
        #     time.sleep(3)  # 设置发送间隔时间
 

if __name__ == '__main__':
	receivedata()

STorM32 BGC 三轴云台学习(一) 通信协议分析_小玺大大-CSDN博客
https://blog.csdn.net/Zhaoxi_Li/article/details/88539368



一下尝试失败

py例程运行

环境

安装clr

直接在命令行中录入
pip install pythonnet

为在python中使用dotnet程序安装clr - 生命体验之kevin-Y - 博客园
https://www.cnblogs.com/kevin-Y/p/10235125.html

jetson nano下ubuntu系统安装失败
猜测可能与系统基于的架构有关。pythonnet分win32和amd64两种,都安装失败了

安装MissionPlanner【windows与ubuntu不同】

ArduPilot/MissionPlanner: Mission Planner Ground Control Station (c# .net)
https://github.com/ardupilot/MissionPlanner

20201114-三轴云台storm32 BGC HAKRC调试+_第18张图片
20201114-三轴云台storm32 BGC HAKRC调试+_第19张图片
狗血啊,垃圾32板子两个引脚短路,耽误了我一天

你可能感兴趣的:(20201114-三轴云台storm32 BGC HAKRC调试+)