为FreeCAD创建一个专用的左手控制器
本项目是我之前作品的升级版本,最初发布于 Hackster.io。由于操纵杆PCB设计存在错误,我之前尝试制作FreeCAD设备失败了。现在我已经修正了PCB设计,并订购了一套新的电路板。
电路设计
示意图如下所示。
该左手设备以RP2040微控制器为核心,包含一个压电扬声器、三个机械按键开关和一个摇杆。按键开关和摇杆安装在独立的PCB板上,并通过扁平电缆连接到主控制板。
以下电路适用于操纵杆。
下图显示的是之前的版本。在那个版本中,第1号垫片和第2号垫片是交叉的。
我修正了PCB布局中的错误,并订购了一套新的电路板。
如果你使用KiCad,从PCBWay订购PCB板非常简单。只需安装官方的PCBWay插件,PCB编辑器顶部工具栏就会出现一个PCBWay图标。点击该图标,系统将自动生成Gerber文件,并将你的设计上传至PCBWay。
制作模具
我设计并使用3D打印定制了模具,以帮助在装配过程中准确实现和对准操纵杆。
装配夹具使用Bambu Lab X1C设备以PETG材料进行3D打印。
摇杆PCB背面有多个SMD电阻和一个扁平电缆连接器。如果没有夹具,很难对准并焊接摇杆。
摇杆接线与GPIO映射
摇杆通过扁平电缆连接到RP2040主控制板,如下图所示。
摇杆引脚连接到RP2040的GPIO引脚,如下图所示。
编程RP2040
FreeCAD 提供多种鼠标导航方式。我主要使用下方所示的 CAD 导航模式。您可随时通过底部工具栏中的下拉菜单切换不同的导航方式。
我主要在使用CAD导航时依赖旋转视图。
左侧单元还配备了三个机械按键开关。它们的GPIO引脚分配如下:
•GPIO 0:鼠标右键点击
•GPIO 1:鼠标左键点击
•GPIO 2:Mpise 滚动点击
固件在 PlatformIO 上开发。我使用了键盘和鼠标库来处理鼠标移动、点击以及键盘输入。
整体上设备运行良好,但在长时间使用时感觉有些疲劳。我将在下一个版本中改进摇杆位置,以提升人体工学体验。
本文编译自hackster.io





