项目源地址:https://github.com/larsmm/hoverboard-firmware-hack-FOC-bbcar
自诉翻译:
这是EmanuelFeru著名的悬浮滑板主板 FOC 固件的 4 轮驱动 bobbycar 优化版本。这是我的旧 bbcar 固件的改进版本。
由方向盘上的 2 个位置控制:1. 前进,2. 刹车或后退或涡轮模式
4 种具有不同速度、加速度和功能的驾驶模式
加速和制动坡道、涡轮坡道
其他一切都与:https://github.com/EFeru/hoverboard-firmware-hack-FOC相同
为了安全而向后发出蜂鸣声:D(可以在 config.h 中禁用)
锅超出范围检测:受控断开和断电(快速声音)
低电量蜂鸣声和断电(校准电池并使用良好的 BMS!)
电机故障检测
查看蜂鸣代码
使用 1 个电源按钮并将其连接到两块板
您可以在通电时握住一个或多个电位器来激活它们。 (公里/小时@满12秒电池):
模式 1 - 儿童:左舵,最大速度 ~3 km/h,向后非常慢,无涡轮
模式 2 - STVO:无 poti,最大速度 ~<6 km/h(验证),慢速向后,无涡轮
模式 3 - 乐趣:右电位,最大速度 ~12 km/h,无涡轮增压
模式 4 - 动力:双动力,最大速度 ~22 km/h,涡轮增压 ~39 km/h
开机后,会发出欢迎旋律,然后进入模式,发出 1 至 4 声快速蜂鸣声。默认为模式 2。
弱磁仅在模式 4 下可用。它只能在最高速度 80% 以上时激活。保持前坡完全按下。要启动涡轮增压,请完全按下向后电位器以获得额外 40% 的动力。 :) 请小心,这个速度很危险!
干沙上全油门+涡轮增压时的峰值功率约为 50A = ~2300W(12 个锂电池)。正常道路上的平均电流要小得多。更多的权力并没有多大意义。轮子无法将动力传递到地面。板子的冷却没问题,之前轮子会太热。在没有涡轮增压的模式 4 下,10Ah 12s 电池的续航里程约为 20 公里。使用好的BMS!!!
在新板上,芯片被写保护,必须首先解锁。
安装 Visual Studio 代码
在 VSCode 扩展系统中安装 PlatformIO IDE
文件 --> 打开文件夹:hoverboard-firmware-hack-FOC-bbcar
将st-link v2适配器连接到开发板(不连接3.3V)pic
将电池或电源连接到电路板
按住开机按钮,按“上传”按钮,等待上传完成,松开开机按钮
如果ADC没有校准,板子会发出快速的“嘀嘀嘀嘀嘀嘀嘀”的声音,上电后会立即断电
断开串行和 st-link 适配器的连接
确保同时校准两块板!
打开电源并按住按钮直至发出蜂鸣声(约 10 秒后)。 1 秒后,您将听到另一声较低的蜂鸣声。
现在您有 20 秒的时间将两个 Potis 移动到最小和最大位置。在中间位置释放(在本例中等于最小位置)。等待 20 秒结束或短按开机按钮。
在 Poti 范围的起点和终点有一个死区。
编辑 config.h ### DEFAULT SETTINGS ### 部分:
减小 ADC_MARGIN 可以使死区变小。这取决于你的盆的质量,你能把它做得小到什么程度。如果太小,汽车有时会在不按下电位器的情况下开始缓慢行驶,或者您将无法达到最大速度。我建议使用 Hall-potis 而不是机械的。
每次 ADC_MARGIN 更改后重新上传并重新校准电位。
编辑 config.h ### BATTERY ### 部分:
将 USB 串行转换器(GND、TX、RX,不是 3.3V!)连接到右侧板电缆。图片
按“Serial Monitor”按钮即可从开发板 115200 获取调试反馈。
将已知电压连接到板上,用万用表进行验证。对于 45.00V,将 4500 写入 BAT_CALIB_REAL_VOLTAGE。如果电路板突然断电,则 ADC 未校准(首先校准它们)或欠压保护启动(使用高达 51V 的更高电压)
将 BatADC 从串行输出写入 config.h 中的 BAT_CALIB_ADC
确保 BAT_CELLS 与您的细胞计数相符
重新上传
按电源按钮直至发出蜂鸣声。松开按钮并立即再次按下 >= 2 sek。嘟嘟嘟表示模式切换到FOC。要切换回 SIN,请关闭电源并再次打开电源。弱磁在 FOC 模式下效果不佳。它的速度要慢得多。
有时,一块板打开,另一块板关闭。这是一个罕见的案例。关闭两块板电源的最简单方法是半按电位计,然后按电源按钮。尝试开机的主板会将其检测为无效状态并关机。
通过特殊方式按下开机按钮启动的当前和最大速度校准功能在这些固件中被禁用。
通电后,开发板立即断电,不会发出额外的蜂鸣声代码:如果电位器处于有效范围内,但不在检测驾驶模式的有效位置,则会发生这种情况:最大和最小位置有效,中间位置无效。使用串行调试来获取更多信息。
目前它以正弦模式运行,而不是焦点模式。这是因为在旧版本中,弱磁对 foc 不起作用。必须再试一次。
为什么选择 SIN 而不是 FOC?当我创建代码时,FOC 无法正常工作,所以我使用了 SIN。大约两年后,我再次尝试 FOC。它有效,但驾驶行为更糟糕。
我可以使用侧板、其他输入,如双节棍、串行、我自己的混音……吗?不,这是不可能的。我对代码的结构进行了大量修改。我什至跳过了原来的混合并制作了自己的混合。


发表评论