Fastbond2阶段1-基于MCP3204的游戏摇杆原理图设计
一、前言
最近在进行硬件方面的学习,已经系统学习了原理图的绘制,PCB布局及绘制,看到电子森林上有fastbond这个活动,于是就想练练手,提升自己的硬件实力。
最近在使用电子森林的十二指神探,不得不说RP2040这一款单片机性能真的强悍,虽然是Cortex-M0+,但是主频有133MHz,264kSRAM,2MB内存,真的超强啊有木有,所以打算围绕着RP2040这个核心板来画一个扩展板。
一直以来都想搞清楚游戏手柄的摇杆是怎么工作的,那就画个游戏摇杆吧,先练练手,后面会的多了再往深得地方挖。
游戏手柄一般采用摇杆电位器进行制作,具有2轴(X,Y)模拟输出,1路(Z轴)按钮数字方向输出。通过主控的ADC口读取电位器的电压值,来控制游戏中走位的距离。我手头上有一款2轴的摇杆式电位器,就使用这个吧。
下面将介绍设计框图和检测方法,原理图及芯片说明。
二、设计框图及原理介绍
流程图及原理图初步设计都是在Scheme-it网页上绘制的,还挺方便的,嘿嘿嘿。
链接附在这里:https://www.digikey.cn/schemeit/project/detail/a48f5b79eea04fec8ab1ad79a74db9d4
如图所示,由RP2040作为主控芯片,通过SPI协议来驱动MCP3204芯片,并且给整个扩展版进行供电,MCP3204芯片在对2765这个双轴电位器进行ADC读取后,把所获取的电压模拟值经过SPI协议回传给RP2040主控芯片,RP2040主控芯片对数据进行处理,来达到对电脑控制的目的。
三、原理图及芯片介绍
整个扩展板原理图初步设计如下所示,使用了FastBond活动中要求的Microchip厂家的MCP3204芯片,
下面对这一芯片做详细介绍:
- 分辨率:MCP3204是一个12位的ADC,这意味着它可以将模拟输入信号转换为0到2^12(即0到4095)之间的数字值。
- 通道数:MCP3204有4个单独的输入通道(CH0到CH3),它可以选择性地将输入信号转换为数字值。
- SPI接口:MCP3204使用SPI(串行外围设备接口)进行通信。它可以通过SPI总线与微控制器或其他设备进行通信。
- 工作电压:MCP3204可以在7V到5.5V的工作电压范围内工作。
- 采样速率:MCP3204的最大采样速率为100k样本/秒(ksps)。
- 内部参考电压:MCP3204具有一个内部参考电压源,可以用来设置模拟输入范围。
下面是电位器在CircuitJS上的原理仿真:
当滑动变阻器的阻值变化时,也就是人手控制摇杆滑动时,电位器上的分压会发生变化,MCP3204上ADC转换后的值不一样,两个通道上的12位高低数据也在变化,这便是电位器的原理。
四、结语
以上是FastBond活动阶段一的内容,阶段一只要求流程框图及原理图绘制,还是比较容易的,阶段二部分的PCB绘制已经开始了,后续完成会继续发布出来,如本项目有不同的见解,肯定各位批评指正。
五、参考资料