撰写了文章 更新于 2019-11-28 21:47:44
IIDX / SDVX 手台自制教程
绪
在弟弟游戏已经式微的九一零二年,记录一些我自己制作手台的过程,为那些还想自己制作手台的人提供一些简单的思路和参考。
基于此,本文旨在解决以下三个问题:
- 手台好贵啊买不起怎么办?
- 想要的弟弟手台停产没得买了怎么办?(指毛台)
- 市面上的手台都太菜了不够土儿怎么办?
如果你有遇到上面的这些问题,或者对手台有着各种各样奇奇怪怪的要求。那么,希望这篇文章可以给你一点帮助。
最后,祝愿各位都能成为一个优秀的乡村土味儿DJ。
Go for kaiden,与君共勉。
IIDX部分
事前准备
当我们在讨论IIDX手台的时候,我们需要注意点什么?
- 手台跟街机是两个不同的概念。手台的制作并不一定要完全按照街机的规格。街机讲究的是“标准”,以及“绝大多数人都能够愉快或者不愉快地使用”。而手台追求的是“你个人使用起来最舒服的尺寸”。盲目地使用街机尺寸手台,就容易造成下列状况:
我手太短不能手首皿,告别发狂人.jpg
- 手台的选择要结合自身的出勤条件和出勤意愿。如果你常用的手台尺寸和街机不一致,那么在手台与街机之间频繁地切换并不会是一件好事。当然,我觉得,以国内目前的街机状况来讲,大部分人都是没有机会做到频繁出勤的。这条大概可以忽略不计。
基础篇
一个手台最基本最核心的功能是什么,是能打碟。
框体
框体部分可以选用的材料有很多。工程塑料,金属,木材,什么都可以。此外,虽然手台常见的是立方体结构,但如果你更加中意别的异形框体,也可以自由发挥。比如说,官方就曾有过一款按键与转盘分离的台子。
立方体的话,框体可以比较简单地分为两个部分;需要开按键和转盘孔的顶板,和剩下的其他五个面。这里我选择将顶板单独分离出来,然后下方五个面固定。你也可以使用别的拆卸结构,从底部拆卸,或是从侧面。
至于五个固定的面采用什么样的接合方式,很多,可以用螺丝,也可以用胶水,亦或者是角铁,甚至还可以尝试更加艺术的榫卯。此外,侧板需要预留一个数据线孔。整体的结构大致如图:
然后,在设计顶板之前,需要了解一些基本的尺寸信息。
- 三和按键与大部分国产按键的外观尺寸为 50x33mm;安装部分的尺寸为 45x28mm,在此基础上再增加1mm的裕度,最后所需要的切口尺寸为 46x29mm。
- 按键之间的距离,以切口尺寸为准,横向间隔12mm,纵向间隔10mm。这是我量取的源台的数据,街机尺寸不详。请按需调整。
- 国产 33x33mm的正方形按键需要的切口尺寸为 29x29mm。在游玩HDD时,你一共会需要三个这样的功能键,而如果是INFINITAS的话则需要四个。
- 需要注意的是,当功能键与黑键距离过近的时候,会容易发生误碰的状况。这与每个人的手掌大小、指法,以及运指习惯有关。如果你不确定自己是否会误碰,可以先找块纸板切一切体验一下,再根据个人情况去调整功能键的位置和分布,甚至缩减按键数量。
- 转盘直径,街机为220mm。手台的话,个人认为150mm ~ 220mm都可。
- 盘高,指盘面离开手台表面的高度,一般是20mm。
- 盘距,指最左侧按键(1号键)的左边缘与盘面最右端切线的水平距离。以街机为准的话这个距离是90mm,家用小手台的话一般是70mm。可以根据个人习惯选择。
盘距示意图
根据这些尺寸信息,设计出来的顶板结构大概会像这样子:
最简单的顶板.jpg
转盘
转盘应该是IIDX手台结构中相对较复杂的部分了。目前,iidx手台的转盘主要有两种结构,光电开关和旋转编码器。这里先说旋转编码器的使用,光电开关会放在本文的后半部分。
旋转编码器
从时间上来说,旋转编码器属于新时代科技的产物。它有很多的优点,其中最主要的就是,它会比光电开关更方便,更简单。
目前市面上的旋转编码器有两种:
- 增量式编码器:将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。如果停电时编码器发生移动,会造成记忆的零点偏移。而且不抗干扰。适用于低性能的简单应用。
- 绝对式编码器:每一个位置对应一个确定的数字码,因此它的示值只与测量的起始和终止位置有关,而与测量的中间过程无关。抗干扰、无需掉电记忆。适用于对速度和位置控制有更精确要求的复杂应用。
以上摘自百科。总结一下就是,绝对式编码器更好用,但也更贵。
而只从打碟的角度来讲,二者的体验应该是没有太大区别的。因此,如果是要压缩成本的话,增量式编码器会是更好的选择。
同时,如果你不知道到底该选择旋转编码器还是光电开关,这里先给一个结论:
从性能来比较:绝对式编码器 > 增量式编码器 = 光电开关。详细的解释会放在后面的光电开关部分。
然后,编码器的参数方面,注意选择AB两相,DC 5V-24V,NPN集电极开路输出。脉冲数无所谓。
但是,太便宜的编码器体验同样不会太好。比如我手上用的,从某宝花40软妹币购买的廉价货色,在HDD环境下,正常使用时体验没有任何问题,但是当你转得很快或是转得很慢的时候它都会失去响应。价格高一点的编码器应该是不会出现这个问题的。
顺带一提,这颗编码器后来我拿去装SDVX台了,好像没有出现过上述状况。
旋转编码器的安装比较简单,直接用螺丝固定在顶板上就行。如图:
比较关键的是如何让转盘可以带动编码器旋转。这一点其实也好解决,实际上编码器的轴并不是规整的圆柱体,它的横截面是一个D字形。
虽然这个切面很小,但只要在转盘上切这个口的时候精度足够,用来卡住编码器还是绰绰有余的。因此在转盘的设计上,建议分成两个部分,如下图:
中间的小件采用3d打印来保证精度,外面的部分仍然使用亚克力。这样,虽然3d打印价格比较高,但是由于打印的物件体积很小,总成本几乎没有变化。比如,上图的这个小件,打印只需要4软妹币。
最后,用亚克力把你的盘面垫到20mm高。同时,为了增加摩擦力,在转盘底下垫一层毛毡。A4纸或者其他任何能够增加摩擦力的东西皆可。
PCB主板
主板部分其实没什么好说的。如果你有单片机基础的话,可以自行制作,这里(GitHub)也有完整的代码可供参考。
如果不会单片机,请直接购买舟板(晓舟ZhouSensor),一步到位。
当然,你还可以尝试一下这种。只要20元,按键信号、摇杆信号,统统都有。不过延迟和按键冲突就不清楚了。
主板尽量不要直接放置在框体内部,最好有一定的悬空。可以用螺丝和带螺纹的空心铜柱固定。没有铜柱的话也可以用空心的PVC管,切出四截,用合适的螺丝在PVC管内部拧出螺纹,然后将其粘在某个地方即可。
按键
有关按键、微动和弹簧的选择,可以参考毛哥的视频(如何选择手台的按键与微动)。
常用的配置为:欧姆龙D2MV-01-1C3(0.49N)+ 60g / 20g弹簧。
除此之外还需要准备的东西有:带灯微动线,用于连接微动开关和主板;5V的LED灯珠,用于赋予灵魂。
接线的话,以国产微动为例。
其实就是一个很普通的开关,NC表示常闭,NO表示常开,看图也很好理解。而我们所需要的就是常开端子和下方带折角的端子。
微动和LED接线
端子的对应关系请参照舟板或者相应板子的说明书。微动的两端是无极性的,LED的正负极接反了虽然不会有任何问题,但也请尽量正确接线。
最后出来的成品大概像这样子,这是我在正式制作手台之前定制的一个样品。因为只是作为测试用,所以没有开功能键的孔,但是从打碟这一基本功能来看,它已经是合格的了。
你说什么?黑白键装反了?不存在的。
这样子的手台,成本可以压得很低。其中最大的开销是舟板。如果用的是Leonardo开发板之类的话,那就更便宜了。
进阶篇
当然,任何一个有追求的乡村DJ都不可能满足于如此简单的结构。所以我们接下来要做的就是对现有设计方案的优化(指不差钱)。
光栅电路原理
在此之前,要先讲一下光栅电路,也就是常说的光电开关结构的原理。在手台中的结构大概像这样:
上面是转盘,下面是控制光电开关信号用的圆盘,它们通过中间的同心轴连接。右侧是光电开关。
我们在制作手台中需要用到的是这种U型光电开关,或者叫槽型光电开关。输出形式是NPN。关于NPN和PNP的区别,可以自行百度或者翻书。
这种光电开关通常会有四个输出引脚,也有一些款式是三个。
从三引脚形式的说起,假设输出为常开,那么U型槽内有遮挡时输出为1,无遮挡时为0。基于这个原理,我们通常会将相应的遮挡圆盘设计成这样:
这样,在转动转盘的时候,通过轴带动圆盘就可以控制光电开关的输出信号。假设圆盘上开槽的宽度为L1,槽间距为L2,那么此时光电开关输出的波形如下:
匀速转动时,波形图中的L1:L2 = 实际的L1:L2。
在使用HDD时,我们会用这段信号来模拟鼠标的X轴或Y轴位移。当L1 = L2的时候,我们就可以得到非常平滑的输出了。
但是现在还有一个非常重要的问题。光电开关是没有办法辨别方向的,也就是说,无论转盘是顺时针转或者逆时针转,最终输出的波形都是一样,带来的鼠标位移也都是同方向的。
因此,我们就需要有另一个光电开关来提供第二条信号曲线,通过两条曲线的相位差来实现方向的判断。
同样,匀速转动时,波形图中的R:L1:L2 = 实际的R:L1:L2。
当我们把A、B两个光电开关并在一起的时候,设它们两个感应点之间的距离为R,那么得到的输出波形如图右。以T0到T1为一个周期,那么每个周期内AB的输出信号为:
- 顺时针:00 —> 10 —> 11 —> 01
- 逆时针:01 —> 11 —> 10 —> 00
这样,通过比较当前的AB输出值与前一刻的AB输出值,就可以得到转盘转动的方向了。同时,由于每个周期转动的角度是已知的,所以转盘转动时的角速度也是可求的。
可以注意到,当我们人为地将R与L1、L2的比值设计为1:2:2的时候,每组信号的持续时长相等,信号间的时间间隔也就相等。带来的结果就是,当我们匀速转动转盘时,鼠标的位移也会是匀速的。而如果比值不是1:2:2,那么信号间的时间差不等,就会造成速度的不均匀。这种变化感带来的体验是非常不友好的,因此,如果你追求更好的体验,请记住R:L1:L2 = 1:2:2。
另外,变量R的数值变化带来的结果也是周期性的,它的周期长度为 ( L1 + L2 ) 。假设L1 = L2 = L,那么它在(0,L)与(L,2L)的函数曲线关于L点对称。所以,我们对R的取值进行一下扩展,可以得到一个一般结论:R = ( 2k + 1 ) / 2 * L ( k∈N )。最后,需要注意,R不可以等于 kL ( k∈N ),这种情况下AB信号的变化会变成00—>11—>00或01—>10—>01。
上面说的这些东西其实挺麻烦的,因为要用到两个光电开关。那么有没有更加简单一点的方法呢?有的,只需要你准备好两个三引脚光电开关,再拍一张融合卡,就可以得到之前说过的四引脚光电开关。
四引脚光电开关有两个输出点,事实上就相当于同时使用两个三引脚光电开关。注意,这里说的四引脚指的是之前图中的第二个。另一个虽然也是四个引脚,但是其中一个是用来切换常闭和常开输出模式的,实际上它只拥有一个输出,可以当成三引脚对待。同时还要注意,四引脚光电开关的话,上面提到的它的R值是不可控的。
至于常开和常闭输出的区别,其实无所谓,它只是反转波形,并不会影响方向的判断。
以上就是光栅电路的原理。事实上,增量式旋转编码器,大部分使用的都是这种结构,这也是为什么之前说增量式编码器等于光电开关,因为它们采用的结构和原理是一样的。
而一般增量式编码器的R:L1:L2也是设计成(2k+1):2:2的。所以,说了那么多,你为什么还要选择光电开关而不是更加方便快捷的旋转编码器呢?
好吧,其实光电开关也是有它的优势的,重点就在于连接转盘与下方圆盘的轴体部分。这个轴体一般会采用滚珠轴承。
不是这一种,手台轴承的要求是,它的外圈能固定在框体上,然后转盘和底部圆盘要能固定在它的内圈上。像下面这样:
也叫回转轴承
这种内外圈都带螺丝孔的就比较合适。但是现实是,你在某宝基本只能买到上面那种滚珠轴承。于是只能找CNC厂家定制,这样的话成本还挺高的。
当然,从功能上来讲,我们其实只是需要一个连杆来连接两块圆盘而已。塑料也可以的不是嘛,毕竟本身就只是在做塑料玩具而已。
塑料的话,那还挺简单的,亚克力定制也好,3D打印也好,都不贵,做出来大概可以像下面这样:
打磨抛光之后也不是不能用是不是,只不过手感没那么好罢了。
然而全是塑料,感觉还是有点过于《廉价》了。虽然定制整个滚珠轴承有点贵,但是如果只是稍作装饰,那还是有可以操作的空间的嘛。比如说某宝随便买个便宜的滚珠轴承,然后把它的钢珠和保持器拆下来装到你的塑料玩具上:
最后周围再垫一圈铁皮。成了!滚珠轴承!
为什么我一直在强调金属,明明整个手台到处都是塑料。难道只是为了摆脱塑料玩具的头衔吗?并不是,真正原因还是为了手感。因为金属轴承的手感好。
滚珠轴承的摩擦力很小,所以内环金属在转动的时候因为质量大而会有很强的惯性。你可以将其称之为“金属的厚重感”,而这,就是它手感好的原因。这种厚重感,是没办法用塑料来模仿的。
如果要说用光电开关追求的是什么,那大概就是这种金属的质感吧。
1P / 2P 切换
在我正式开始设计手台方案的时候,把框体的结构稍微做了一些更改,之前用的是单层5mm厚的亚克力。后来想了想改成了双层结构,加了一点层次感。
然后就开始思考1P和2P的切换问题。其实很简单,1P / 2P切换的技术关键就在于按键面板是否可拆卸,只要把按键和顶板分离开,就等于实现了1P / 2P的切换。
然后在此基础上又衍生出另一个问题,关于按键面板支撑部分的设计。因为按键的分布本身是不对称的,所以在为支撑板做切口的时候,就要考虑到按键面板调转方向后是否会产生阻挡。综合考虑了一下,对称式的切口应该是最合适的。当然,对称还有一个更重要的优势,那就是美观。
最后做成了这种样子。同时,考虑到这种面板镶嵌的设计可能会因为尺寸误差或者其他原因导致松动,所以在支撑板上额外开了两个孔,用于安装磁铁。再给按键面板底部贴上薄铁片,改成磁吸式设计,可以让按键面板更加稳固。
盘距切换
在选择手台的时候,街机盘距和家用机盘距你要哪一个?
只有小孩子才做选择题,而我全都要。
盘距的切换,其实也是一个很简单的问题。只要你把光电开关和一切与转盘侧有关的东西都固定在转盘底座上,那么只需要改变转盘底座在面板上的位置,就很轻松地改变了盘距。你所需要做的,就只剩下在面板上多开几个螺丝孔。而如果你用的是旋转编码器,事情就更简单了,连哪些东西应该固定在转盘底座上都不需要考虑。
还是上面那张图,我在固定转盘底座时用了四颗螺丝,顶板上开的四个螺丝孔适用的是70mm家用机盘距。那么只要将顶板上的这四个螺丝孔整体向左移动20mm再开四个孔,就达到了改变盘距的目的。同时,其他开口在设计时也要能够适应盘踞切换后的状况。
最后是转盘侧的设计,原本只是单纯的用亚克力圆板垫高,但是这样会非常缺乏层次感,不美观。所以可以考虑用不同形状和设计的板子来进行垫高,增加细节。
最终我转盘部分是设计成了三层,再外加一个用来遮挡转盘顶部螺丝的小盖。
整体的组装结构如下:
为了进一步地对手台进行装饰,可以在顶板上再盖一层薄的透明亚克力,一方面可以稍微增加一点光泽和空间感;另一方面,还可以去打印店打印一些装饰用的图案,垫在下方,一举两得。
方案都确定完毕之后,就可以着手画CAD图纸然后上某宝找厂家定制了。然后你就可以切实地体会到,什么叫作,奸商的恶意。
以亚克力厂商为例。他们通常都会在商品描述里写上什么七大工艺、八种工序,有的甚至还会提供代画图纸服务。然而事实却是,当你拿着这种小批量的订单去找客服时,他们所承诺的服务就只剩下了三项:切割、抛光,以及粗糙的倒角。代画图纸?不存在的。
因此,在这里要格外提醒一下,在设计框体的时候,尽量简单直接,不要考虑太复杂的结构,因为厂商不给你做。
最后,我辗转了无数家店铺,在各种客服的爱答不理中,无比艰难地凑齐了需要的东西。
顺带一提,与这些狗屎奸商相比,那些3D打印服务的提供商服务态度简直是天差地别,做出来的东西质量也很好,唯一的缺点就是贵。
这是装完的成品:
街机盘距的话会像这样:
......
我一个人就展示了买家秀与卖家秀 (
SDVX部分
相较于IIDX,SDVX的手台结构会简单很多。如果你学会了上面的内容,那么想要做一个SDVX手台出来可以说是易如反掌。
理坛里也有很多SDVX手台的教程,包括mon台。这里(SDVX PC Controller (DIY))甚至还有完整的代码和CAD文件提供。mon台的话看这里(Pocket Voltex)。
稍微提一点东西:
- 长方形按键和功能键用的是IIDX同款。正方形按键尺寸 60x60mm,需要的切口尺寸为 57x57mm。
- 旋钮就是一般音箱上面会用到的全铝高光旋钮,内径6mm,外径30mm,高度25mm。
- 旋转编码器需要搭配阻尼器使用,否则手感会特别滑。同时,如果编码器的轴长度不够,可以考虑加装联轴器。另外,联轴器还可以起到保护编码器,延长使用寿命的作用。
- 按键与旋钮的分布大致如下。我没有量过街机,所以数据肯定不准确,看看就好。
最后成品如图:
尾
祝各位都能早日成为皆传人。
最后,欢迎各位大佬加Rival暴打我。
A:HIYORI
本菜鸡八段,DP一段。
白熊 1年前
行行重行行 [作者] 1年前
白熊 1年前
发布
绫波Official 1年前
行行重行行 [作者] 1年前
绫波Official 1年前
发布
東雲閑 1年前
行行重行行 [作者] 1年前
发布