
FOC力反馈方向盘手柄,带挡杆
简介
使用PY32F403作为主控,MS8313作为驱动,一颗2804无刷电机运行FOC作为力反馈方向盘,带有一个原创微型排挡,通过usb hid获取游戏下发的力反馈数据
简介:使用PY32F403作为主控,MS8313作为驱动,一颗2804无刷电机运行FOC作为力反馈方向盘,带有一个原创微型排挡,通过usb hid获取游戏下发的力反馈数据开源协议
:CERN Open Hardware License
(未经作者授权,禁止转载)描述
力反馈方向盘手柄,带有排挡

一、项目简介
演示视频:【Bilibili】@realTiX - 力反馈方向盘手柄,带排挡,无刷电机方案【开源】
这是一个带有力反馈方向盘和小型排挡的游戏手柄,目前在欧卡2与神力科莎上测试通过。
力反馈部分通过 无刷电机 FOC 实现,排挡部分为原创的微小且简易的结构。
支持自定义方向盘的限位与中点,开机时可以直接配置,或者开机后也可通过串口或 usb 上位机进行修改。
本项目使用了自研的裸机调度器 LTX V3,提供更高效的响应与更好的开发体验:
- Github:TiX233/ltx
- Gitee:TiX233/ltx
本项目有一篇三万字的配套博客,主要讲解 FOC 相关内容,可以使用您喜欢的平台阅读:
- CSDN:FOC 迷你方向盘手柄配套博客
- 知乎:FOC 迷你方向盘手柄配套博客
- 立创:FOC 迷你方向盘手柄配套博客
二、开源管理
仅供个人复刻学习用,违者必究。
未经授权,禁止商用,包括但不限于售卖成品、半成品、(以本项目名义的)套件包或(以本项目名义的)收费代制作等等。
修改本项目以任何形式再发布都必须开源,不得删去原作者署名与开源协议。
本仓库负责管理本项目的单片机源码部分,所有部分开源链接如下:
- 单片机源码:
- 原理图/PCB:
- 立创开源平台:本页面
- 外壳:
- 立创开源平台附件
三、焊接与组装
0、可能用到的工具
- 烙铁:刀头,尖头
- 锡丝:便于直插元件的焊接
- 锡膏:便于贴片元件的焊接
- 助焊剂
- 镊子:用于夹取元件
- 加热台:可选,便于贴片元件的焊接
- 带 PFOA 滤芯的焊接排烟器:可选
- 十字螺丝刀:3mm,用于安装外壳螺丝
- 3d 打印机:用于打印外壳,或者您也可以寻找代打印服务
- dap-link:用于烧录固件
- 防静电手套:可选,避免元器件被静电打坏
本项目含有 QFN 封装器件,需要一定的焊接经验
1、焊接顺序
需要注意部分元件的焊接方向,可在 pcb 页面点击导出交互式 bom,便于查看元件点位辅助焊接。
建议先使用加热台焊接贴片元件,而后使用烙铁焊接直插元件,最后安装电机。
更细分则可以先只焊接供电部分,冷却后通电检查各路供电是否正常,而后断电进行进一步的焊接。
总共需要焊接三块板子:主板V0.2,挡杆小板,编码器小板spi
电机尺寸:

2、变档器注意事项

请先将三档开关套进底座后再焊接到电路板上,也就是至少需要组装完上图的第一步再焊接到电路板上,焊接时需要注意不要花太长时间,否则可能导致塑料件融化。
3、焊接图例



使用 3.7v 锂电池,建议选用稳定输出电流大于 3.5A 的型号,并且应该带有保护板。如果需要安装在手柄内部,那么应该使用海绵垫或者其他措施盖住直插元件的引脚,避免戳破电池,并且电池厚度不应该超过4mm。手柄底盖外壳在电池焊接处有一个洞口,您也可以将更大容量与尺寸的电池粘接在底部,从洞口将导线引入。
四、烧录
使用 daplink/jlink/... 等等 swd 调试器进行固件烧录,可使用 keil 编译源码烧录。因立创平台修改内容后的审核期间无法看到项目,所以不直接发布编译好的固件在立创附件。如果您不想配置开发环境自行编译源码烧录,那么在材料包售后群内会及时更新编译好的固件,以便您可以直接使用您的调试器商家提供的 swd 下载软件下载固件。
五、调试
如果您需要对本项目进行二次开发或拓展,那么应该需要一些调试手段。
本项目最初使用 RTT 进行调试信息输入输出,现改为串口,串口速度为 4M。如果需要,那么可以在宏定义切换回 RTT,以下是 RTT 相关的用法:
segger RTT 会将输入输出信息保存在一块 ram 中,当调试器链接后,电脑用通过 openOCD 来对内存进行写入读出以实现输入输出,无需外设收发,并且还能保存一定的历史输出。
如果您有 jlink,那么可以直接用 segger 提供的 rttviewer 进行调试,这里仅提供使用 dap-link 的调试方法:
- 在普冉官网下载官方提供的
openocd版本,将其加入环境变量 - 链接调试器和设备,打开任意
shell,输入openocd -f rtt2tcp.cfg- 注:如果没有加入环境变量,那么上述命令需要输入 openocd.exe 的完整路径
- 打开任意支持
tcp的串口调试工具,这里以vofa+为例,填入如下图的配置信息 - 链接成功后,即可查看输入输出信息
通过自定义命令,可控制单片机的运行状态,比如使用 /ltx_app 命令暂停某些 app 等等,也可依赖发布订阅机制实现数据更新后的自动打印,在 ltx_cmd.c 中提供的 /print 命令有一个 heart_beat 样例,用来每秒打印心跳,您可参考该样例来设置自己的订阅数据打印;
如果您需要经常修改一些变量如尝试某些不同的 pid 参数,那么也无需重新烧录,在 ltx_cmd.c 中提供了一个 /param 命令,该命令可对 ltx_param.c 中指向的自定义数据进行读写;
所有的自定义命令可在 ltx_cmd.c 中查看,也可开机后给单片机发送 /help 命令来列出所有命令,您也可以参考这些命令创建一些方便调试自定义命令,部分现有命令可能会影响系统的正常运行
六、使用方法
开机后,按下彩灯右侧的按键则会进入方向盘较准,期间不要用手触碰方向盘,校准完毕后彩灯会变成紫色,电机会哔两声,此时将方向盘旋转至您所需要的中点,并且挂入某一挡位用于设置方向盘限位,每个挡位代表单边 0.25圈,例如挂入 5 挡就是 5*0.25=1.25 圈,代表左右各 1.25 圈,加起来就是两圈半,再次按下灯右侧按键即可完成配置。如果后续想要修改,可以使用串口或者 usb 上位机修改。

设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。











