用 Arduino 制造全自动颜色分拣机


MAKER:MakerChris/译:趣无尽 Cherry(转载请注明出处)
颜色分拣机,将被分类的物体根据颜色的不同分门别类放置,以一挡百的效率被广泛应用于流水线。小苹果、小番茄、塑料零件、甚至是M&M豆糖的分拣都可以用上这种分拣机。

其中的核心部件是颜色传感器,下面我们将以M&M豆糖的分拣为例,基于 Arduino 实现一个简易的颜色分拣器。你可以根据项目原理,将其改装成其他的颜色分拣机。现在我们来看一下具体的操作流程吧。

材料清单

外壳 × 1
面包板 × 1
舵机 SG90 9G × 1
Arduino Uno R3 × 1
步进电机 5V × 1
颜色传感器 TCS230 × 1
电源适配器 9V × 1
面包板跳线 × 1
电池 9V × 1
胶带 × 1
稳压器 5V × 1
1/4英寸厚 椴木木板 × 1
1/32英寸厚 软木木板 × 1
胡椒瓶 × 6
黑色贴纸 × 1
M&Ms豆 × 若干
螺丝 × 若干

3D打印部件





需要3D打印部件分为四个部分。
1、输送管。用于放入 M&Ms 豆,开始分拣。
2、旋转盘。用于承载六个孔中的 M&Ms 豆,并将它们从输送管的末端运送到颜色传感器,最后运送到出口。
3、固定托盘带一个孔。用于与旋转盘对齐,一次对准一个孔,以便对 M&Ms 豆进行单独分类。
4、滑动装置。用于将 M&Ms 豆从附件中落到指定颜色的容器里。
3D打印文件请在项目文件库下载。

搭建电路部分

准备其他部件




1、制作两块8英寸长的椴木木块,全宽。从顶部开始,在每件中心下方1/2英寸处钻1/4英寸的孔。钻孔的高度也可以自己决定(我选择使用第二个洞来安装)。

2、制作一组2、3英寸长,1/2英寸宽的软木条块,这些条带将附在滑道上。

3、准备好4段胶带方便使用。在面包板和Arduino的外侧使用两个。然后将另外的粘贴到盒子两边的内侧。这种胶带更易于接线和调试。

4、将一条黄铜条弯曲成“C”形,易于舵机安装在外壳下方。

5、取一条2.5英寸的黄铜条,使其顶部弯曲以便缠绕在电机喇叭上。 (我建议粘贴。其他的条带应该均匀弯曲,以便让滑块达到你想要的角度。同时也可以自由调节分拣机高度和容器的距离。)

6、将所需附件喷成黑色,除了托盘。颜色传感器必须初始化为白色以正确读取颜色。别忘了也要给螺母和螺栓涂漆!

7、在外壳上钻孔。用于电池电线,两侧螺栓,输送管(盖子)和落点处。我在落点处的一侧做了一个小凹槽,这可以在电机电缆向上穿过外壳时,不会妨碍 M&Ms 豆的分拣。

8、在黄铜条的顶部使用一条胶带将其与电机相连,安置在滑块的下侧(喷漆)。

9、将步进电机的电枢粘在旋转盘的小孔中。然后测量外壳的宽度,并切割一块与外壳宽度一样长的椴木,宽度为1和1/2英寸。然后将步进电机的顶部粘到这块椴木的中心。

10、切下一条两英寸长的黄铜条,然后将其连接到底部带有步进电机的椴木顶部。 (用于将颜色传感器挂在光盘上)然后在这个悬挂的黄铜底部和颜色传感器的下面安装一个胶带。

11、将黑色纸裁成9″×9″的正方形。

组装所有配件





1、将固定盘粘贴到外壳的底部,与落点处的孔对齐。

2、固定住椴木,将步进电机和圆盘放到壳子里,让使其稍微悬空在固定盘上,然后用热熔胶将椴木与外壳接触的地方粘贴起来。

3、将弯曲成“C”形黄铜连接到外壳底部,然后将电机安装在上面。在电机上安装滑块有助于定位。

4、在外壳内部组装电路。中间的那块木块将有助于分组和清理壳内的电线。

5、将输送管连接到盖子上,在外壳盒盖子上打孔。这个管子安装到快接近旋转盘的位置。最简单的定位方法是用盖子将其固定在盘上,然后将其粘在工作的位置。

6、用胶带粘贴在外壳的右后方,靠近为电池线钻的孔。胶带的另一面粘贴9V电池。将适配器的线穿过该孔,我们可以轻松地打开和关闭项目的电源,以及更换电池。

7、将支架放入外壳的两侧并用螺母固定。你可以在自定义高度。

8、将支架底部粘贴到黑色纸上,最好在边缘上,给收纳容器留足空间。

9、沿着黑色贴纸组装胡椒瓶(除去瓶盖)。前后手动投放 M&Ms 豆,以便让收纳容器找到正确的下落点。一旦找到合适的位置,将胶水贴在黑色贴纸和容器底部之间。上传代码后,你必须根据放置容器的位置和给定的颜色稍微调整电机的位置。注意,你可以弯曲黄铜来调整滑块的角度。

10、代码没有问题后,请将arduino放在壳子的侧面,确保旋转盘上的其中一个孔与固定盘上的孔对齐,然后与顶部固定。

代码

代码在项目文件库中可以下载:
https://make.quwj.com/project/95
首先解压缩 libraries 文件夹,然后将其导入到 arduino IDE libraries 中。
你需要使用两种代码。

1、有一个文件名是 Color Read 的代码,需要预先上传,以便调试你的程序来设置正确的颜色。打开串行监视器,放入 M&Ms 豆时,记下 RGB 值,根据 M&Ms 豆投入的颜色对它们对应的代码进行改变。每当对影响颜色传感器的事项进行更改时,请确保颜色传感器可以正常工作。

2、实际工作的代码文件名为 MMs Sorter 。
以下是代码的每个部分的工作描述:
有个方法初始化颜色传感器,并根据当前环境设置颜色的缩放系数。工作流程是:主循环运行颜色传感器——并根据其频率读数——评估条件——确定 M&Ms 的颜色——确定掉落的方向。在每种情况下,电机会在特定的位置,然后是1/6旋转,将 M&Ms 豆从孔中掉落并沿着滑块向下移动。

功能说明:
TCS_Init():映射颜色传感器的引脚并打开颜色传感器。
TSC_FilterColor(int Level01, int Level02): 选择滤过颜色(红色,绿色或蓝色)。
TSC_Count():将数组递增到切换过滤器。
TSC_Callback():没有颜色时调整过滤器。(前驱体调整到到白色平衡)
TSC_WB():确定当前环境中的白色。
ISR(TIMER2_COMPA_vect):电机的定时器。
void servoInit():电机设置。
void servoSetPosition(uint16_t highTimeMicroseconds):将电机设置到某个位置的函数。

关闭顶部,但 Arduino 仍然插入电脑,使用串行监视器来调试问题。对电机位置和颜色频率进行随意的更改。
代码请在项目文件库下载。

可能的优化

1、可以采用更强大的步进电机。
本项目中的步进电机可以完成工作,但它没有太大的扭矩。更大的扭矩木会使项目更加顺畅地运行。

2、更换更高效的颜色传感器。
我使用的颜色传感器至少需要4秒才能读取 M&Ms 豆的颜色。你可以选择一个更快的颜色传感器,几秒钟就可以对 M&Ms 豆进行分类!

我最初的计划是采用触摸传感器来启动或关闭分拣机,但是我发现使用开关按钮更加简单。
项目文件库中的 On_off.zip 是一些带有 Arduino 兼容触摸传感器的示例代码,用于点亮 LED ,并保持打开状态,直到你再次触摸传感器。
代码请在项目文件库下载。
https://make.quwj.com/project/95

https://www.quwj.com/2019/02/27/mm-color-sorter.html



坐沙发

发表评论