开启新的征程,邀请您见证ST的蜕变

学习微波射频没方向?这些资料不可少!

【备战电赛】先导片-如何补全知识链条


基于Arduino Uno制作的啤酒浇注机器人

基于Arduino Uno制作的啤酒浇注机器人

倒啤酒是一种艺术,绝对是品尝体验的一部分,特别是当你需要足够的泡沫完美地排列在玻璃的边缘。由于比利时是啤酒之乡,我们决定为两种比利时啤酒(Duvel和Jupiler)制作一个浇注机器人,并根据玻璃瓶和瓶子尺寸制作机器人,作为我们的Master One项目的一部分。这个想法是为两个啤酒品牌建立一个共同的机器人。基于可用性,我们使用以下组件和材料构建机器人。

硬件:Arduino微控制器。

结构材料:密度板,有机玻璃

3D打印:解放军

建模软件:Solidworks / Inventor

编码:Fritzing和Arduino

步骤1:所需组件

所需组件的图片

这一步是关于我们的选择和可用性。在其他条件可能有所不同。

  1. 直流电机(2个)
  2. 径向球轴承(2个)
  3. 轴联轴器(2个)
  4. 液晶显示屏(1个)
  5. 称重传感器(1个)
  6. Arduino Uno(1个)
  7. 称重传感器模块(放大器HX711)(1个)
  8. H桥电机驱动器(1个)
  9. 电位器(2个)
  10. 中密度纤维板(五金店)
  11. 有机玻璃(五金店)
  12. 用于3D打印的PLA卷筒*

*如果三维打印机不可用,大部分打印件可以无论如何订购或加工。

步骤2:持有人设计

Holder Design的图片

选择您需要制作的啤酒品牌做一个机器人。(经过简短的讨论后,我们决定与一个温和而非常有名的啤酒Jupiler和一个强烈的啤酒Duvel)。对不同的想法进行头脑风暴,以共同的设置为玻璃和瓶子设计合适的支架。(我们遵循scrum的方法来提出一些创新的设计,并用以下两个设计来完成)

持有人:

在Solidworks中设计了两个瓶子,并通过叠加一个或其他来比较两个瓶子。

概述了组合模型的边界,准备了一个壳,并与它们抵消一些。抓手需要被设计来抓住瓶子(我们的抓手通过将三根触手伸出平面而嵌入支架设计中)。

为支架制作一个合适的连接器,将其与执行器/马达连接起来(在我们的例子中,我们将连接器和支架合并在一起,因为我们用PLA来打印三维)

如果分别设计连接器和支架,最好使用两种不同的材料(最好是金属 - 聚合物组合)

玻璃持有人:

Duvel和Jupiler的眼镜也采用了类似的方法。玻璃可能不需要复杂的3D打印外壳,但需要一些东西来阻止其不需要的垂直运动。但是,与瓶架单元中的一样,玻璃架也需要连接器连接到执行器。(我们的玻璃支架的概念只是一个L支撑,用于将玻璃放置在两个通用的合适直径之间,然而,由于我们还需要设计一个连接器,因此我们决定在加工支架组件的其余部分时进行3D打印出有机玻璃)

注意:一般来说,可以使用任何两种不同的瓶子和一杯含酒精或不含酒精的饮料。

步骤3:框架设计和组件/材料选择

框架设计和组件/材料选择的图片

框架设计

一旦支架设计完成瓶和玻璃,继续框架设计。准备一个粗略的草图勾画了我们关于自动化啤酒倾倒的粗略想法。现在,自动浇注的一个重要因素是,正确固定轴线并确定瓶子和玻璃杯轴之间的精确距离,以便将啤酒精确地倒入玻璃杯中。但是为此,需要至少放置一个轴,然后通过反复试验重复另一个轴的位置。(在我们的例子中,我们固定了瓶子的轴线,并在其周围设计了一个装配体的框架,甚至可以固定玻璃轴并在其周围工作)。

最好将框架设计成两个部分。这将有助于更轻松的组装。(上半部分由有机玻璃制成,为了使啤酒倾倒得更好,下半部分由中纤板制成,上半部分是一个主要部分支撑啤酒浇注的所有结构部件,下半部分主要是上半部分的支撑,还包含电气和电子部件,并具有电池盒设置,上下半部之间的连接使用2个铰链,这种方式如果需要,我们可以很容易地访问电子。)

组件选择

为了完美地倒入啤酒,玻璃和瓶子同时进行受控运动。这可以通过在连接到电机的轴的帮助下旋转来完成。电机的选择需要通过计算旋转玻璃和瓶子所需的有效扭矩来完成。旋转编码器/电位器需要在闭环中用直流电来控制角度,如果不是伺服电机的话。(我们使用25千克*厘米扭矩的直流电动机在两个轴上连接一个闭环电位器)

与电机和轴一起,轴联轴器,轴承及其支架,电机,电机夹的良好支撑也需要设计/采购。(我们采购轴承和轴联轴器,3d印刷轴承座,底座支架,电机夹和电机支架,电位器支架和电位器支架)

步骤4:电路设计和传感器选择

电路设计和传感器选择的图片

这个项目所需的电气部分是:

  • 1个Arduino UNO板;
  • 2x直流电机(高转矩); [ 电机 ]
  • 1个H桥(L298N); [ H桥 ]
  • 1个适配器AC / DC 220V AC-12V DC;
  • 1个称重传感器(0-10kg); [ 称重传感器 ]
  • 1x称重传感器放大器HX711; [ 称重传感器放大器 ]
  • 2个电位计10kΩ;
  • 1个液晶显示器(16x2);
  • 1x内部集成电路协议I2C;
  • 1个按钮(开始按钮);
  • 1个开/关按钮;
  • 不同颜色的电线。

旋转玻璃和瓶子所需的扭矩是非常高的,所以选择了两个高扭矩,低速度的电机,因为我们需要慢慢倒入啤酒。为了控制电机的速度和方向,H-Bridge连接到电机和Arduino。速度由Arduino的PWM引脚控制(使用“模拟写入(pin,speedValue)”功能)。由于电机电压是12V,我们使用AC / DC适配器,可以将电压从220V AC转换为12V DC。

(我们使用电位计对电机进行闭环,实际上,通过适当的计算,可以给出电机轴的角度位置。)

为了识别瓶子和玻璃杯的不同可能的组合,使用配备有能够检测小的重量变化的放大器(HX711)的称重传感器。每个重量对应于一个组合。根据所需的输出数量,情况可能会有所不同(总共我们考虑了6种组合,因为我们有2种不同的瓶子和2种不同的眼镜,第六种组合表示不同的情况,所有的情况在后面的基准。)

LCD配备协议I2C以节省引脚并使通信变得简单,显示了在整个过程中所遵循的所有指令。

最后,机器人配有一个按钮,可以启动循环。

 步骤5:编码

为了使代码清晰,我们将其分为不同的部分。

第一部分:包含图书馆。这部分对简化代码非常重要。事实上,包括一些图书馆,我们可以使用现有的功能,而不是自己创建它们。我们使用传感器和液晶显示器的库,如下图所示:

第二部分:全局变量的声明。这些变量被用在所有的代码中。

第三部分:引脚声明。在这里,我们正确地设置连接在Arduino上的引脚。

第四部分:本部分致力于功能的创建

  • 测量重量。它可以测量称重传感器上的重量。每当我们需要知道哪个瓶子和玻璃被固定在盒子里时,我们使用这个功能。
  • 阅读角度。它允许实现电机的闭环。事实上,通过阅读和分析电位器给出的值,我们可以知道瓶子和玻璃的角位置。
  • 运动。这包含执行电机旋转的两个功能。一个用于玻璃杯,另一个用于瓶子。
  • 重置。在循环结束时使用它来重置程序并使其能够进行新的灌注。

第五部分 最后一部分是专用于主要代码。这里有设置和循环。

  • 无效设置。这部分只在程序开始时执行一次。我们使用该设置来初始化所有引脚(INPUT或OUTPUT)和LCD。
  •  无效循环。这部分是真正的程序,它在循环中执行不定时间(直到提供电源)。在这里,我们使用的功能“切换大小写”,根据称重传感器读取的重量,程序会执行不同的操作。例如,它在液晶显示屏上显示下一步要做的事情,如“插入Duvel瓶”。然后,如果外壳兼容,按下开始按钮,机器人开始倾倒。在几种情况下浇注是为了正确倒入啤酒。

最后,如果程序终止,我们可以通过按下开始按钮重新启动程序,循环再次开始。

步骤6:制造和装配

制造与装配的图片

这个项目的制造主要可以分为两类

  1. 3D打印

对于3D打印,需要注意所选材料的收缩百分比,打印机的最大尺寸容量,材料的密度,打印温度,支撑的有效放置,以便在建筑物中正确地竖立所需的部件区。我们使用PLA材料在Ultimaker 2.0中进行了打印。

我们3d打印的部分如下,

  • 瓶架(1个)
  • 轴承座(2个)
  • 电位器支架(2个)
  • 电位器支持(2个)
  • 电机座(4个)
  • 电机夹(2个)
  • 玻璃座连接器(1个)
  • 电位器轴耦合器(2个)

  2.加工:

这可以通过材料板的激光切割来完成,或者在较厚的木板或MDF的情况下通过切割机来完成。在装配过程中,一些偏移或不匹配可以通过研磨或锉削来解决,以减小直径或平滑部件的边缘。(我们通过激光切割完成了所有的有机玻璃切割,而MDF被切割机切割,钻孔机钻孔)。

通过激光切割完成的部件:

1)玻璃持有人

2)装配框架的上部

切割机完成的部件:

1)装配框架的下部

2)电机安装

注:制造时,最好将螺栓组装的零部件的孔尺寸标准化(我们是用M4螺栓和螺钉做的,CAD也是附在整个装配上供参考)。

步骤7:Bechmarking&Trails

Bechmarking&Trails的图片

这是一个关键的阶段,因为在机器人上执行设计的代码需要很多时间。从两个品牌之一开始,一旦成功尝试在另一个品牌上实施。注意其他品牌的速度和旋转角度的变化,并尝试相对地改变它。

此外,如果您使用以下液体循环进行每个品牌的测试,以确保电子和物理安装的安全性,则是首选。

  • 没有液体 - 3个周期
  • 水 - 3个周期
  • 啤酒 - 2个周期

在桌上,我们可以看到不同瓶子和眼镜之间的不同情况。因为瓶子和玻璃瓶的品牌是兼容的,所以只有箱子4和5倒入啤酒很好。该表格还显示了定义箱子的重量范围。

步骤8:结果

一旦用水测试结果良好,是时候用真正的啤酒尝试。不幸的是,这些结果并不是真的很重要。对于Jupiler,由于玻璃和瓶子的位置,我们无法得到适当的泡沫。主要的问题在于瓶子与玻璃的相对位置/角度不适合于正确倒出两种啤酒,因为玻璃和瓶子具有非常不同的形状。

设置在有机玻璃框架内的相对位置,使之后无法调整。缺乏时间不允许我们通过尝试和错误的真正的啤酒来调整位置。除了这个位置的调整,机器人是完美的(啤酒识别,电机控制,...)。

一旦位置问题得到解决,您就可以坐下来,让机器人为您辛苦工作,享受比利时啤酒!

视频观看链接:https://v.youku.com/v_show/id_XMzI5MjQ0NTQ3Mg==.html

电路相关文件

电路图文件
Final+Sketch.fzz
描述:最终的Sketch文件
源代码
Beer_Robot.ino
描述:啤酒机器人Arduino代码
其他文件
drawing+pdfs.rar
描述:3D打印文件
分享到:
收藏 (5)
电子硬件助手小程序 电子硬件助手小程序

电路城电路折扣劵获取途径:

电路城7~10折折扣劵(全场通用):对本电路进行评分获取;

电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。

(版权归AnandJ23所有)

版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击投诉本电路反馈给电路城。

使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!

换一批 more>>

大家都在看:

继续阅读

  • 迷你智能手机控制的汽车

    使用Arduino或Raspberry Pi构建迷你智能手机控制的汽车,可用于监控和情报收集。硬件组件:Arduino Uno R3,× 1 索尼H桥模块× 1 三星蓝牙模块× 1 Allied Electronics GEAR MOTOR× 2 Alorium技术跳线× 1 树莓派3× 1 充电电池× 1 4节AA 6V电池座× 1 软件应用程序和在线服务:Arduino IDEArduino Web编辑器Arduino Cloud手动工具和制造机器:德州仪器电子工程师工具包UnderGround金属探测器带有Arduino Uno R3的2w车通过智能手机通过发送各种命令控制蓝牙。这款机器人汽车有三种基本设备可以使用Arduino控制我们的智能手机控制的汽车。一个是Arduino Uno R3,一个H桥模块和蓝牙模块。
    来自:智能车时间:2019-03-22 机器人 蓝牙 人工智能
  • Hakko 907 v.2的烙铁控制器

    Hakko 907铁的烙铁控制器的改进版本。为了简化控制器的构建,实现了LCD屏幕。硬件组件:hakko 907铁× 1 5针航空插头× 1 dc-dc转换器× 1 Arduino Nano R3× 1 液晶屏8x2× 1 放大器mcp602或模拟× 1 mosfet irfz44n× 1 fr107快速恢复整流二极管× 1 通用晶体管NPN× 1 通用晶体管PNP× 1 带按钮的旋转编码器× 1 电容器1000 uF 35v× 1 电容器100 nF× 4 电阻1k欧姆× 2 电阻10k欧姆× 1 电阻100k欧姆× 2 多圈精密电位器 - 10k欧姆(25转)× 1 多圈预制电位器500k× 1 蜂鸣器× 1 软件应用程序和在线服务:Arduino IDE手动工具和制造机器:烙铁(通用)该控制器的主要功能包括:该控制器适用于各种hakko 907手柄,带热电偶或热敏电阻来检查温度。在PID算法被实现,以保持烙铁的温度。熨斗在大约30秒内升高温度并将其保持在1-2摄氏度之内。由于PID算法非常灵敏并且可以快速增加供电,因此控制器在大量使用时保持温度。在烙铁校准程序中实施三个参考温度点。通过使用PID算法使校准过程自动化以使温度保持在参考点附近。控制器支持两种工作模式:保持温度并保持供电。为保持操作静音,Timer1高频中断在控制器中实现。这样可以通过内置功能将PWM频率提高到31250 Hz而不是490 Hz。控制器采用加速旋转编码器。当编码器缓慢旋转时,温度设置会改变1度。当编码器快速旋转时,温度设置会改变5度。在更换温度设置后使用烙铁后,温度将存储在Arduino EEPROM中。控制器支持Celcius或Farenheit单位用于显示的温度值,预设温度和校准数据。控制器具有调谐模式以简化控制器的初始设置过程。
    来自:工业控制时间:2019-03-18 arduino 焊接 烙铁控制器
  • 具有Android和语音控制技术的机器人

    基于物联网的自制机器人,具有Android和语音控制技术硬件组件:Arduino Mega 2560和Genuino Mega 2560× 1 Arduino Nano R3× 1 语音识别模块V3× 1 超声波传感器 - HC-SR04(Generic)× 1 SG90微伺服电机× 4 德州仪器双H桥电机驱动器L293D× 1 Adafruit标准LCD - 16x2白色蓝色× 1这项研究的重点是机器人在日常生活中的必要性。本文档显示了可以通过语音,无线和全自动模式等不同方式控制机器人的系统。
    来自:机器人时间:2019-03-14 物联网 机器人 语音控制
  • arduino2560 PCB源文件

    arduino2560 PCB源文件
    来自:MCU开发板时间:2019-03-13 arduino arduino2560 pcb
  • arduino328P 改进版 PCB

    arduino328P 改进版 PCB
    来自:MCU开发板时间:2019-03-13 arduino arduino uno arduino328
  • 用Zio控制机器人手臂教程

    在这个简单的教程中学习如何控制机器人手臂。硬件组件:机器人手臂× 1 Zio Zuino M Uno× 1 Zio 16伺服控制器× 1 Zio DC-DC Booster× 1 3.7V 2000MAh锂离子电池× 1 Qwiic电缆× 1 软件应用程序和在线服务:Arduino IDEAdafruit PWM伺服驱动程序库手动工具和制造机器:螺丝刀在本教程中,我们将构建一个项目,我们将使用Zio模块来控制机械臂。 该项目将教您如何使机器人手臂爪打开和关闭。这个漂亮的教程适用于需要机器人执行简单的拾取和放置功能的项目。
    来自:机器人时间:2019-03-01 机器人 机器人手臂 伺服驱动
  • LulaBot:Arduino滚动机器人

    一个两轮的,基于Arduino的机器人,可以滚动。硬件组件:SparkFun Arduino Pro Mini 328 - 5V / 16MHz× 1 德州仪器双H桥电机驱动器L293D× 1 SparkFun双H桥电机驱动器L298× 1 HC-05蓝牙模块× 1 软件应用程序和在线服务:Arduino IDEarduino rc car手动工具和制造机器:热胶枪(通用)
    来自:机器人时间:2019-03-01 机器人 蓝牙 电机驱动
  • 基于智能手机相机制作的循迹机器人

    该项目将向您展示如何使用智能手机的相机功能制作循迹机器人。硬件组件:evive入门套件× 1 HC-05蓝牙模块× 1 直流电机(通用)× 2 轮× 2 脚轮× 1 电机安装座× 11 底盘× 1 Spacers× 1 跳线(通用)× 1 Arduino Mega 2560和Genuino Mega 2560× 1 软件应用程序和在线服务:evive Dabble第一项任务是在红外传感器的帮助下完成的。现在,它的另一个任务是做到循迹,这次用的是智能手机的相机和Dabble,一个智能移动应用程序,以帮助他们协调能力。
    来自:机器人时间:2019-03-01 arduino 智能车 循迹小车
  • Spresense Bot:语音控制机器人

    有没有想过使用Spresense和Donkey Car Kit创建一个语音控制的机器人?这个教程可以教你完成它!硬件组件:Sony Spresense主板(主要和扩展)× 1 面包板(通用)× 1 HC-05蓝牙模块× 1 德州仪器双H桥电机驱动器L293D× 1 机壳× 1 直流电机(通用带齿轮箱和轮子)× 2 电阻2.21k欧姆× 1 电阻1k欧姆× 1 公/母跳线× 20 软件应用程序和在线服务:Arduino IDE适用于Arduino IDE的Sony Spresence LibraryAMR语音应用程序手动工具和制造机器:烙铁(通用)语音控制机器人是一种自主移动机器人,其动作可以由用户通过给出特定的语音命令来控制。在PC上运行的语音识别软件能够识别由特定用户发出的5个语音命令“前进”,“后退”,“左”,“右”和“停止”。在处理语音之后,通过蓝牙连接将必要的运动指令提供给移动平台。语音识别软件依赖于说话者。该应用程序的特殊功能是软件能够为特定用户训练自己的上述语音命令。与软件一起运行的图形用户界面为用户提供了非常方便的训练方法。它还提供许多其他操作机器人的设施。
    来自:机器人时间:2019-03-01 机器人 蓝牙 语音控制
  • 简单的LED矩阵数字时钟

    一个简单的时钟,使用LED矩阵和RTC来显示时间,日期和温度。硬件组件:Arduino UNO和Genuino UNO× 1 Maxim Integrated 8x8 LED矩阵模块,带MAX7219× 1 Adafruit RTC DS3231 breakout× 1 无焊接面包板半尺寸× 1 跳线(通用)× 1 软件应用程序和在线服务:Arduino IDELED矩阵模块非常适用于微控制器,该项目使用单个8x8 LED矩阵和Arduino引入非常简单的数字时钟,以摄氏度和华氏度显示时间,日期和温度。矩阵模块由MAX7219控制,时间和温度数据由DS3231 RTC(实时时钟)模块提供。在这种情况下,DS3231使用起来更有趣,因为它具有内部温度传感器,并且对于时间读数更准确。
    来自:照明与LED显示时间:2019-02-28 arduino 时钟 led矩阵
销量
28
查看
1632
参数名 参数值
发布于 2018 年 01 月 05日
Moore8直播课堂