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源码