BusFlow Cash Box
钱箱 BusFlow 3D打印 FreeCAD bambulab截止2025年6月,在新西兰的陶朗加乘坐公交车如果不使用公交卡的话,还只能使用现金。但这里的公交车并没有用来投币的钱箱,所以司机们除了驾驶之外还需要负责售票。

公交公司配给每个司机的钱箱
公交公司配给每个公交车司机一个钱箱,这个钱箱是专门定做的,它可以刚好放进同样精心设计的在公交车上的驾驶座左手边的一个储物空间里。

司机座位左手边的一个储物空间
钱箱与这个储物空间都是由金属材料制造,非常皮实耐用。当钱箱放进这个空间后,可以非常方便的开关钱箱从而进行找零等相关操作。

精心设计的钱箱与放置钱箱的空间
理想与现实的差距通常是巨大的。如果你在陶朗加乘坐公交的时候细心留意,就会发现不是每一个司机都会使用公司配发的这种钱箱。因为它们过于巨大,过于沉重了。

钱箱提在手上的样子

钱箱的皮重

各式各样的替代方案
司机们面临的挑战并不仅限于此,每个司机从正式成为公交车司机的那一天开始,从公司领到的除了这个钱箱,还有由各种面额的纽币所组成的60块钱启动资金用于找零。而当每天结束工作回到公司后,需要将从乘客那里收到的车费与公交卡充值的费用存入一个类似于CRM1的设备里。

巴士公司用于存钱的设备
而如何计算每天应该存多少钱,就成为了司机们各显神通的地方了。最常见的一种办法是无论当天收到了多少钱,只需要保证钱箱里还剩60纽币,把多余的钱全部存入机器就好了。这样做的缺点在于每天结束工作后还需要坐下来数钱,并且因为自己需要尽量保留零钱以供第二天使用,这60纽币就需要从小面额开始数。新西兰硬币面额分别为1毛、2毛、5毛、1元、2元。从1毛开始数,数够60后稍作调整然后把剩下的都存了,这过程通常不会很快结束,也不太令人愉悦。而且还容易数错,特别是有同事故意开玩笑在旁边大声念一些随机的数字的时候。

摆了满满一桌正在数钱的司机
我曾经就使用过这种方法的改良版。所谓改良版,就是把这60纽币分成两份,可以但不一定需要平分。一份用于日常找零,另一份按面额归类,存放在另一边,并记录这一份的金额。假设这一份的金额为40纽币,那么当一天结束过后只用数用来找零的那一份,当数够20纽币就可以把剩下的存进机器了。与此同时我还制作了一个简单的电子表格,它担任了金额纪录的同时,还能让数硬币的过程更加顺畅,不用再去计算13个2毛是多少元,17个5毛是多少钱了。电子表格会自动把硬币数量换算成金额并相加。所以我只需要数20元的硬币,并且只需要数硬币的数量,而不用去计算对应的金额就可以了。

用来计算金额的电子表格
但这种改良版也有问题。问题出现在用来找零的20元零钱中的某一种面额用完后,需要从那40元里面补充的时候。出现这种情况的时候往往是在乘客需要获得找零的时候。所以这个操作经常是在乘客站在巴士前门等待的时候进行的。这位乘客的后面很可能还有其他的乘客在排队等待上车。所以这个操作就显得有点紧迫,以至于具体从40元里面拿了多少出来到找零的那一份里面去,大概率还没等所有乘客都找到位置并坐下,就已经忘记了。当这种事情发生过几次后,即使自己清楚的记得金额,也没有自信它是正确的了。当这种情况出现过后,就只能老老实实把所有钱放在一起,从1毛开始数,数够60。还好有电子表格辅助,仍然算是改良版。
其他的办法有很多,有司机自己手绘表格,把每笔收到的金额当场用笔记录下来,下班后再将他们相加在一起,然后照着这个金额就可以存钱了。还有司机利用不同颜色的纸盒子,把它们剪成若干个圆形的纸片。并在上面根据不同的颜色写上与票价对应的金额。这样每当有乘客付了现金买票过后,他就从纸片堆里拿出写着对应金额的纸片放到专门一个地方。下班后,将专门放纸片的地方的所有纸片拿出来,把它们一一相加就得到了需要存入的金额。而上面这类看似原始的方法实际上已经非常接近一个简单的POS2系统了。

自制的简易“类POS工具”
这种类似POS系统的方式也是截止目前我自己所使用的方式。我在之前用业余时间开发的一个叫BusFlow3简易APP里面添加了一个叫“Cash”的功能。在售出车票的同时点击对应的票价按钮就可以实现记录当日收到的现金金额。缺点也是显而易见的,这需要频繁的掏出手机。总归是不太方便。其实针对这个方式我已经有了一个改进的方案,但目前它还只是一个初步的构想。等以后有了实质的进展我会再来介绍它,这就是另一个话题了。
让我们回到解决当前问题的方案上来,在经过我反复的思考后,终于还是得出了这么一个构想。如果有这么一个钱箱:它尺寸便携,重量轻盈,有专门分别存放公家卡、纸币、硬币现金的地方。其中存放硬币的区域还需要有某种方便统计硬币数的设计。这样就可以同时解决钱箱笨重、数钱繁琐的问题了。

线上线下能够找到的钱箱产品
于是我找遍了各大网购平台,跑遍了本地各大商场超市,都没能找到理想中的钱箱。甚至它们大多都不能很好的支持纽币。
看来,除了自己做一个,就没有其他办法了。这听起来好像很难。
不过真的难吗?

Bambu Lab A1 Mini
随着3D打印技术的普及,现在只需用很少的成本与学习时间就可以平滑的入门3D打印了。再加上像FreeCAD这种开源免费的CAD软件4也已经越来越成熟易用。所以在具备一些基础概念与知识后,以尽量低的成本自己设计并通过3D打印把存在于想象中的物件放进现实已经变得不再遥不可及了。

FreeCAD
经过一番构思于测量,很快,有了第一个用于验证硬币存放槽尺寸的第一版原型。

第一版原型,用于验证各种不同面额硬币存放槽的尺寸与所需公差。
在第一版的基础上调整了各种面额硬币槽的大小,每个槽的旁边增加了对应金额的数字标示。再加上一个可以存放纸币与公交卡的底盘,和一个紧密贴合硬币盘的盖子。还有总计超过9个小时的3D打印时间,第二版原型诞生了。

第二版原型
我带着第二版原型去了公司,替换掉我之前使用的钱箱做了为期一周的真实环境使用测试。期间被好几个司机同事盘问是从哪里得来的钱箱。其中有些还表示等我完成设计后一定要卖一个给他们。但我本不打算出售它,毕竟3D打印成本本身也不低,再加上9个多小时的3D打印时间,以及并非100%成功的3D打印成功率,我不认为可以把价格定在一个让司机觉得可以接受,而又能很好的覆盖住成本的价位来出售它们。但我同时也很愿意将它们分享给司机同事们。所以我让钱箱作为一种礼物来将它们分享给同事们。具体就要说到我之前写的那个叫BusFlow的APP,有时会有同事想要感谢我付出的时间与精力捐赠一些现金给我,有些则会给我买一杯咖啡。等这个钱箱完成后,它就会作为一个礼物在某人捐赠超过一定数额后送给他。与之配套的我还用BusFlow的Logo制作了3D打印胸章和个性化保管箱号牌作为礼物对应低一些金额的捐赠者。在我将计划告诉给一个司机后,她当场一次性给了我三个档位的捐款。还让我慢慢开发,不要着急。并表达了对这个钱箱的喜爱。
有了来自同事们的期盼,钱箱的开发进度不自觉就快了起来。在这一周的真实环境使用测试中发现了很多问题,在一一把它们修正后就来到了最关键的地方。

第三版的硬币盘原型,更改了数字标示的颜色,调整了硬币槽的排列间距等。
这最关键的地方首先是需要给它一个合页,让它可以像所有其他钱箱一样开合,考虑到每天这个钱箱需要开合的次数,这个合页还必须结实耐用。除此之外还要一个锁扣,它负责让这个钱箱放在背包里的时候不会意外的打开。

网络上一些比较著名的3D打印盒子设计
在网络上学习了比较有名的一些3D打印盒子设计,发现最热门的多数都是“一体打印”设计。它们在打印的时候会把盒子的底和盖子连同合页还有合页中的转轴一次性一起打印出来。它们的设计往往十分巧妙,充分考虑到了打印途中的顺序问题,从而让“一体打印”可以实现。
但它们不太适合我的设计。首先因为我所使用的3D打印材料是PLA5的原因,打印出来的合页与转轴的顺滑度和耐用度可能无法满足公交车司机日常开合的要求。其次就是这种“一体打印”设计往往需要大面积的打印区域,我的入门级打印机只有一个相对较小的打印区域。
所以再次经过反复的观察与思考过后,我决定设计出一种结构,来将一个能在五金店里买到的小型金属合页固定在钱箱一侧。
有了目标过后,设计出了A版用于验证合页固定设计的小盒子。

A1版合页验证小盒子( 反向放置合页 )
通过验证,我发现自己设计的这种固定合页的方式以一种和我的设想完全不同的方式将合页牢牢的卡在了合页槽里。

B1版合页验证小盒子( 正向放置合页 )
在测试并决定了合页放置方向后,修改了合页处的设计,这就有了看起来更像个盒子的B2版验证用小盒子。

B2版合页验证小盒子
自己很满意这个设计的表现。将它定为了最终的合页设计。而锁扣我想到了魔术贴。它易得,耐用,方便更换。而且也不需要复杂的设计就可以很好的工作。所以锁扣设计跳过了用于验证的原型打印,直接将设计的锁扣放到了结合了合页设计的第三版原型钱箱上。

第三版原型
第三版原型总体来说很成功。
首先因为与合页验证时的小盒子大小尺寸完全不同,所以在安装合页时遇到了方法上的问题。成功解决后又发现2元硬币槽的硬币与盖子贴合过于紧密,以至于在打开盖子时有一定几率硬币会卡在盖子上而不是留在硬币盘里面。这个问题经过打磨后顺利解决。当然,正式版已经加大盖子上2元槽的公差以解决这个问题。
目前有两个同事正在实际工作中使用这个盒子,收到的反馈都很不错。

一个同事拿到盒子后在我的保管箱上留下的便条
至此,这个从工作中的困难引发的思考,到解决方案的构想,以及将它的实现故事就告一段落了。吗?
估计还会有进一步的改进,到时候我会继续分享。
-
CRM: Cash Recycling Machine,中文名称为自动存取款机。 ↩
-
POS: Point Of Sale, 销售时点情报系统。这种系统最常见的地方就是超市收银员用手指在上面戳个不停的那个东西。 ↩
-
BusFlow:自己利用业余时间开发的一个帮助公交车司机管理班次、查处线路等方便日常工作的简易工具集。 ↩
-
CAD:计算机辅助设计( Computer-Aided Design ),它帮助人们在实际制造出物品之前,先在电脑上制作出非常精确和详细的数字图纸和3D模型。 ↩
-
PLA:聚乳酸( polylactic acid ),3D打印中最常用、也是最受欢迎的一种材料,可生物降解,对环境友好。不适合用在需要耐高温的环境中,受到强烈冲击或者过度弯曲,可能会比较容易断裂。 ↩