我花100多,做了个方向盘!开源了……

来源:立创开源硬件平台 嵌入式开发 11 次阅读
摘要:工程名称:FOC力反馈方向盘手柄,带挡杆 工程作者:realTiX 前言 小编今天逛开源平台,看到了一个很有趣的力反馈方向盘。 控制赛车非常丝滑**▼** 这这这,这是主打一个,在家也能实现“赛车”自由? 但这不是最重要的!最重要的是: 作者只用 1颗主控+1个10X7cm的主板PCB 就实现了 FOC+力反馈+USB HID全流程! 这是什么水平? 这是非常的有水平! 事情变得有趣起来了…… 这

工程名称:FOC力反馈方向盘手柄,带挡杆

工程作者:realTiX

前言

小编今天逛开源平台,看到了一个很有趣的力反馈方向盘

控制赛车非常丝滑**▼**

这这这,这是主打一个,在家也能实现“赛车”自由?

但这不是最重要的!最重要的是:

作者只用

1颗主控+1个10X7cm的主板PCB

就实现了

FOC+力反馈+USB HID全流程

这是什么水平?

这是非常的有水平!

事情变得有趣起来了……

这是个什么方案?咱“研究”一下😏

在那之前,咱简单罗列一下它的功能!

*0***1

项目功能&亮点

  • 它能在赛车计划、漂移赛车等游戏中,通过震动等反馈,体验到“真在开车”的快感。比如:撞路肩时,实体方向盘会同步游戏摆动,并有整体震动,实现力反馈效果

  • 兼容《欧洲卡车模拟 2》《神力科莎》等主流赛车/模拟驾驶游戏

  • 有mini方向盘,用于控制赛车方向

  • 有mini排档,实现游戏换挡操作,可切换1-12,R1,R2,N档

  • 集成肩键、扳机等功能按键

  • 内置 3.7V 锂电池供电,非常便携,可以躺在沙发上玩

  • 可自定义方向盘旋转圈数:0.1~255 圈

  • 带有彩灯状态指示

  • 支持开机一键校准方向盘中点/限位,也支持串口/USB 上位机后续修改

  • 通过 USB HID 协议与电脑通信,自动获取游戏下发的力反馈数据

换挡演示▼

接下来咱们瞅瞅,它是如何实现这些功能的?

*0***2

硬件设计方案

作者用嘉立创EDA,设计了3块板子——含主控板、挡杆小板、编码器小板。

主板

负责 FOC 算法、USB HID 通信、力反馈计算、按键与 LED 控制

Clip_2026-04-20_14-08-49.png

原理图

Clip_2026-04-20_14-09-05.png

PCB图

虽然但是……

Clip_2026-04-20_14-13-12.png

哈哈哈哈哈哈哈哈哈作者是天才吗!

挡杆小板

实现原创微型排挡的档位检测与信号转换

Clip_2026-04-20_14-11-13.png

原理图

Clip_2026-04-20_14-11-27.png

PCB图

磁编码器小板

精确检测无刷电机转角与转速,为 FOC 算法提供位置反馈

这里,作者设计了i2c和spi两个版本,相对灵活,可用于适配不同成本 / 性能需求的编码器

①磁编码器小板-i2c

Clip_2026-04-20_14-11-37.png

Clip_2026-04-20_14-11-56.png

②磁编码器小板-spi

Clip_2026-04-20_14-12-08.png

Clip_2026-04-20_14-12-23.png

硬件参数

  • 主控:PY32F403,带FPU,适配FOC高速运算

  • 电机驱动:MS8313 支持有感/无感控制

  • 无刷电机:一颗2804运行FOC作为力反馈方向盘

  • 电源管理:锂电池供电、5V/3.3V 稳压、防反接与过流保护

  • 通信接口:USB-C,HID协议连接PC,获取游戏力反馈数据、SWD调试口

  • 人机交互:彩灯(状态指示)、功能按键(校准 / 配置)

  • 扩展接口:连接挡杆小板、编码器小板的排针 / 排母

小编OS:

要知道,想实现上述功能,很多商用设备都要靠 “多颗芯片 + 更大的电路板” 才能实现,而作者只通过「1 颗主控 + 巴掌大的主板+2个小板」就全部搞定了

这算不算是把单片机的 Flash、RAM、运算能力压榨到极限?

*0***3

软件设计方案

项目的软件部分已全开源了。

Clip_2026-04-22_16-09-13.png

作者也提供了固件!

如果你只是想尝试复刻,练习技术,直接烧录固件即可!

以下是一些注意事项说明:

  • 本项目使用了自研的裸机调度器 LTX V3,提供更高效的响应与更好的开发体验;

  • 关于烧录:使用 daplink/jlink/... 等等swd调试器进行固件烧录,可使用keil编译源码烧录;

  • 如果您需要对本项目进行二次开发或拓展,那么应该需要一些调试手段。

关于调试:

本项目最初使用 RTT 进行调试信息输入输出,现改为串口,串口速度为 4M。如果需要,那么可以在宏定义切换回 RTT,以下是 RTT 相关的用法:

segger RTT 会将输入输出信息保存在一块 ram 中

如果您有 jlink,那么可以直接用 segger 提供的 rttviewer 进行调试,这里仅提供使用 dap-link 的调试方法:

在普冉官网下载官方提供的 openocd 版本,将其加入环境变量

FOC力反馈方向盘手柄 (7).png

本章的最后:

  • 通过自定义命令,可控制单片机的运行状态,比如使用 /ltx_app 命令暂停某些 app 等等,也可依赖发布订阅机制实现数据更新后的自动打印,在 ltx_cmd.c 中提供的 /print 命令有一个 heart_beat 样例,用来每秒打印心跳,您可参考该样例来设置自己的订阅数据打印;

  • 如果您需要经常修改一些变量,如尝试某些不同的 pid 参数,那么也无需重新烧录,在 ltx_cmd.c 中提供了一个 /param 命令,该命令可对 ltx_param.c 中指向的自定义数据进行读写;

  • 所有的自定义命令可在 ltx_cmd.c 中查看,也可开机后给单片机发送 /help 命令来列出所有命令,您也可以参考这些命令创建一些方便调试自定义命令,部分现有命令可能会影响系统的正常运行。

*0***4

结语

这个作品的DIY成本在200元以内。

PS:出于好奇,小编悄悄去某宝,搜了一下【力反馈方向盘】关键词,想看看这类方案的市场:

Clip_2026-04-22_14-32-59.png

虽然咱的方向盘很mini,但要是复刻成功,好像,也挺值的吼……😁

PPS:最后,本项目还有一篇三万字的配套博客,主要讲解 FOC 相关内容,感兴趣可前往作者开源主页了解更多!可别错过啦~

*0***5

开源网址

你喜欢这个作品吗?如果是你,你会怎么设计它?欢迎评论区唠唠丫!

目前,项目已全开源

——想复刻****想给作者**点赞*下面会附上开源网址↓,欢迎大家在遵循作者开源协议的情况下,友好复刻学习~~*

相关推荐
评论区

登录后即可参与讨论

立即登录