在这个项目中,设计并制造了一个可以自主演奏音乐的自弹尤克里里机器人!

基于 Arduino Uno 微控制器!

Arduino Uno
L293D 电机驱动器扩展罩
8× 12V 电磁阀
Nema 17 步进机
TMC2208 步进驱动器
迷你面包板
150 毫米 MGN9B 直线导轨,带块
GT2 6mm 同步带
滑轮和惰轮
微型伺服
12V 10A 电源
实心线 (22 AWG)
M3 具体细节
烙铁
螺丝刀
万用表
第一步是 3D 打印所需的部件。我建议先打印 shell_bottom.stl 和 shell_top.stl ,因为它们是以下安装组件连接的基础:
rail_mount.stl (×2)
idler_holder.stl
stepper_mount.stl
然后可以打印拾取机构的零件( servo_mount.stl 、 pick.stl )。机器人的另一端基于 solenoid_cage.stl 。它通过 2× neck_mount.stl 连接到尤克里里琴上。然后您将需要 4× plunger_center.stl 和 4× plunger_side.stl ,但这可能会根据使用的螺线管数量及其布局而变化。*附件:3D模型资料.7z
打印部件时需要注意的重要事项:
大多数女高音尤克里里应该有一个足够相似的设计,以便贝壳件能够正确地适应,但情况可能并非总是如此,所以这些部分可能需要稍微修改一下,以适应你的乐器。



首先将线性导轨支架放在上半部分,然后用 M3 螺钉固定。外壳的底部有一个槽,用于拧紧 M3 螺母。
重复此过程,将步进器安装座安装在侧面,然后将步进器面朝上滑入到位。
对于下半部分,首先安装惰轮支架,然后安装另一个导轨支架。接下来,将带有电机护罩的 Arduino 连接到侧面。
最终结果应与上面显示的图片相似。
现在,线性导轨可以安装在尤克里里琴的琴身上。一旦它处于正确的位置,就应该将导轨支架完全拧紧。
接下来,拿起 3D 打印的伺服支架并将其连接到正时皮带上。伺服安装座具有用于固定皮带的特定插槽,因此它应该很容易推入到位。仔细检查滑块是否在线性导轨上自由上下移动,然后将伺服安装座拧到上面,确保其方向正确。
将惰轮放在其支架上,然后将皮带绕在它和步进轴上。将皮带剪成合适的长度,然后将其插入步进器支架上的另一个插槽中。这将允许步进器上下移动滑块。
将微型试验板放在步进电机旁边,并将TMC2208步进驱动器插入中心。现在,为了限制提供给步进电机的电流,我们需要在驱动器模块上设置电压参考。
首先,将驱动器连接到 12V 电源。
打开电源并设置万用表以测量直流电压。
将黑色探针放在 GND 引脚上,将红色探针放在微型电位计上。
在监控万用表读数的同时调整电位计,以设置参考电压 (VREF)
我最终将参考电压设置为1V 左右。
对于与 Arduino 的其余连接:
M1A 、 M1B 、 M2A 、M2B 连接到步进电机
VIO 焊接到电机扩展板上的 5V 输出上
DIR 、STEP 和 ENABLE 连接到您选择的 Arduino 数字引脚,用于向驱动程序发送信号
应连接接地


现在是时候让机械装置动起来了!

通过将滑块移动到尽可能靠近步进电机的位置来重置滑块的位置。然后上传 stepper.ino 代码,该代码使用 Accelstepper 库来测试其移动(您可能需要调整限制以确保滑块具有其完整的移动范围)。

完成后,将微型舵机连接到 Arduino 并运行 servo.ino 代码以验证其操作。*附件:servo.7z
*附件:stepper.7z
如果两个部分都正常工作,您现在可以通过将伺服器安装到滑块上来组合它们,并合并前面的两段代码

伺服电机就位后,您可能需要调整并确定伺服电机的正确角度。
这部分稍微困难一些,可能需要一些反复试验。为了让机器人拨动琴弦,找到每根琴弦的位置并将其放入代码中,以便拨片轻轻地放在四根琴弦中每根琴弦的一侧。后面部分的代码可能会对此有所帮助(删除不必要的部分)。

完成后,打印螺线管笼(如果尚未打印),然后按照上图所示的模式插入螺线管(先将电线穿过)。对于每个螺线管,将一根电线接地,另一根电线连接到 arduino 扩展板上的电机输入之一。

将柱塞拧入螺线管末端,然后使用笼式支架将笼子连接到尤克里里琴的颈部。验证柱塞是否正确压紧琴弦,并在必要时重新对齐。

根据设置,要使所有内容正常工作可能需要多次尝试。在本节中,包含了一些可以帮助完成此过程的脚本。每次要记住的测试过程:
插入 12V 电源。
连接 Arduino。
将滑块移动到起始位置。

我在 ukulele.ino 的草图中放了几首不同的歌曲,所以一定要全部尝试一下!
现在,构建已大功告成,可以试试自行演奏音乐了。

全部0条评论
快来发表一下你的评论吧 !