Sapog开源高性能电调

2022-09-06 14:50:49 浏览数 (1)

Sapog 是一种先进的开源无传感器 PMSM/BLDC 电机控制器固件,设计用于电动无人驾驶飞机 (UAV) 和船舶的推进系统。

电调是这样的

塑料壳子

接口

出色的动态特性。

再生制动和主动续流。

持续功率输出高达 350 W。

极其轻巧,不带电线时仅重 10 克。

可选的 RPM 控制回路(RPM 调速器)。

嵌入式自我诊断程序和健康状态报告。

高度可配置。

低噪声和低电流纹波。

支持的接口:

CAN ( UAVCAN ),具有可选的双冗余。

UART。

RCPWM(广泛用于机器人技术的模拟 PWM 接口)。

设计指南:

1.选择功率晶体管时,请牢记其动态特性:开关时间必须低于 50 纳秒。Sapog 采用了一些非正统的状态估计方法,需要高速逆变器。

2.相电压反馈电路中的 RC 滤波器应设计为截止频率在 19 kHz 左右,输出阻抗不超过 8 kohm。

3.除非你的最大电源电压超过 25 V (6S),否则不要更改直流链路电压测量分压器。

主控使用的是STM32 ,使用了7个定时器:

TIM1 - 三相 FET 桥式 PWM

TIM2 - ADC 同步,与 TIM1 同步工作

TIM3 - RGB LED PWM

TIM4 - 用于电机控制逻辑的硬实时调出接口(抢占内核)

TIM5 - RC PWM 输入捕捉

TIM6 - 电机控制逻辑的高精度时间戳(亚微秒分辨率,永不溢出)

TIM7 - 通用时间戳

代码倒是很简单

main文件一下就找到了。。。

代码语言:javascript复制
https://github.com/OpenCyphal/libcanard

通讯使用了CAN:

这是啥?

Cyphal 是一种基于现代网络标准(以太网、CAN FD 等)的实时车内分布式计算和通信的开放技术。它的创建是为了解决下一代智能车辆中车载确定性计算和数据分布的挑战:有人和无人驾驶飞机、航天器、机器人和汽车。

有的特征,家人我过段时间写

UAVCAN设计时的哲学

缺少两个库

chiOS这个在自己的库下面

目前应该是这样的

CHIBIOS现在已经封存了

分成了三个这样的库,独立库

引导程序的状态机

代码语言:javascript复制
git submodule update --init --recursive
cd firmware
make RELEASE=1 # RELEASE is optional; omit to build the debug version

以上是如何编译

事实上还有个V3的最新版本:

代码语言:javascript复制
https://github.com/Zubax/sapog/tree/v3

V3的更新

以前的版本虽然代码简单一些,但是我发现有一些头文件跳转不了,我加入了新的库也还是缺。

3代代码是可以跳转的

代码语言:javascript复制
https://files.zubax.com/products/io.px4.sapog/sapog_reference_hardware.pdf

电路图

代码语言:javascript复制
https://files.zubax.com/products/io.px4.sapog/

里面有硬件设计

代码语言:javascript复制
https://kb.zubax.com/display/MAINKB/Zubax Orel 20
代码语言:javascript复制
https://github.com/pixhawk/Hardware

开源硬件设计

代码语言:javascript复制
https://kb.zubax.com/display/MAINKB/Bistromathic virtual machine

开发环境

代码语言:javascript复制
https://github.com/Zubax/sapog

飞控源码

代码语言:javascript复制
https://github.com/OpenCyphal-Garage/libuavcan

libauavcan源码

0 人点赞