Presentation is loading. Please wait.

Presentation is loading. Please wait.

ARDUINO 画蛋机 15307110352 金雨琦 15307130019 孙骏.

Similar presentations


Presentation on theme: "ARDUINO 画蛋机 15307110352 金雨琦 15307130019 孙骏."— Presentation transcript:

1 ARDUINO 画蛋机 金雨琦 孙骏

2 1.原理介绍 2.实现过程. 目 录/contents 3.成果展示. 4.问题解决

3 PART 01 1 原理介绍

4 ARDUINO单片机简介 Arduino是一个基于硬件和软件的开源电子原型平台。它由可编程的电路板(包含许多微控制器)和称为Arduino IDE的集成开发环境组成。可用软件编写计算机代码并上传到物理板。

5 01 02 ARDUINO单片机简介 C代码+API 二进制代码 ARDUINO IDE ARDUINO板
交互的规则取决于烧录进ARDUINO板子的代码。在“ARDUINO IDE”编译器中利用ARDUINO编程语言写好C代码,IDE将其编译成二进制代码并烧录进板子上的微控制器。但ARDUINO编程语言的特点是IDE的核心库文件提供了一些应用程序编程接口(API),大大简化了写代码的步骤、增强了代码的可读性。 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 ARDUINO板上有很多引脚,连接PC、信号输出/输出 ARDUINO IDE ARDUINO板 01 02

6 PART 02 2 实现过程

7 画蛋机装置 步进电机:控制笔和鸡蛋的旋转 舵机:控制抬笔/落笔

8 步进电机 vs 舵机 为何用两种器件运动控制? 扭力较小:控制抬笔/落笔 扭力较大:控制笔和鸡蛋的旋转 原理:信号—马达—减速齿轮—摆臂
闭环控制:位置传感器(可变电阻) 扭力较大:控制笔和鸡蛋的旋转 原理:电脉冲—丝杆角位移 开环控制:不能检测位移 步进电机是能将电脉冲转化成角位移的机电元件。给电机施加一个脉冲,电机将转过一个步距角。靠电脉冲信号来控制角度与转动圈数 代码将二维图像的坐标信息转化成脉冲个数,而与步进电机相连接的丝杆也转过同样的弧度,并通过螺纹带动杆上的滑块平移过一定的水平距离,到达对应的坐标点。 工作原理是由接收机发出讯号给舵机,经由电路板上的 IC判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已经到达定位。位置检测器其实就是可变电阻,当舵机转动时电阻值也会随之改变,藉由检测电阻值便可知转动的角度。 舵机:精准到角度的控制

9 代码实现 调用3个Arduino第三方库: AccelStepper.h 控制步进电机 VarSpeedServo.h 控制舵机
SerialCommand.h 标记、解析命令,实现串口通讯 画蛋程序:通过inkscape软件可视化 设置步进电机端口、最大速度、旋转 单片机的print函数把数据打印到串口,然后用Serial1.read把数据从串口读取回来(以ASCII码的形式),然后把ASCII码转换成字符,然后发送.

10 如何实现画蛋? 对象转化为路径,生成G代码 PC端的软件将含有坐标信息的G代码通过通信串口一条条地发送给ARDUINO板
Inkscape软件绘制目标图案 如何实现画蛋? 对象转化为路径,生成G代码 PC端的软件将含有坐标信息的G代码通过通信串口一条条地发送给ARDUINO板 板中烧录的Grbl程序对G代码进行识别并执行。 G代码是包含了图像文件中像素点坐标信息的代码,或者其他和运动坐标、速度有关的指令。

11 如何实现画蛋? 步进电机+舵机 一系列控制功能: 控制抬笔/落笔的角度、速度 控制蛋的旋转速度、方向 返回/重设原点 G代码
Inkscape软件 EggBot control 如何实现画蛋? 一系列控制功能: 控制抬笔/落笔的角度、速度 控制蛋的旋转速度、方向 返回/重设原点 AccelStepper.h VarSpeedServo.h SerialCommand.h G代码 即时暂停/手动控制各轴/激光开关/返回原点/重设原点/参数调节等。 每一个功能都对应一种G代码和相应的处理函数,这些函数包含在开源程序Grbl中,因此需要将Grbl程序烧录进ARDUINO板才能使用该软件。 步进电机+舵机

12 PART 03 3 成果展示

13 画蛋样品

14 PART 04 4 问题解决

15 如何画在一整只蛋上? 改变矩形绘画框的图案大小,并且改变鸡蛋轴离步进电机的距离以及笔的高度,来使得笔能覆盖更大范围
请在这里输入文字请在这里输入文字请在这里输入文字请在这里输入文字 改变矩形绘画框的图案大小,并且改变鸡蛋轴离步进电机的距离以及笔的高度,来使得笔能覆盖更大范围

16 图像畸变—Map Projection 竖直直线不是一条子午经线 圆看起来像椭圆 因为笔的连杆的横移大于步进电机的转动
地球椭球体表面是个曲面,而地图通常是二维平面,因此在地图制图时首先要考虑把曲面转化成平面。然而,从几何意义上来说,球面是不可展平的曲面。要把它展成平面,势必会产生破裂与褶皱。这种不连续的、破裂的平面是不适合制作地图的,所以必须采用特殊的方法来实现球面到平面的转化。 球面上任何一点的位置取决于它的经纬度,所以实际投影时首先将一些经纬线交点展绘在平面上,并把经度相同的点连接而成为经线,纬度相同的点连接而成为纬线,构成经纬网。然后将球面上的点按其经纬度转绘在平面上相应的位置。 因为笔的连杆的横移大于步进电机的转动

17 建模分析 r x Theta = arccos 𝑥−ℎ 𝑥 2 + 𝑟 2 −𝑎𝑟𝑐𝑡𝑎𝑛 𝑟 𝑥
竖直直线不是一条子午经线 圆看起来像椭圆 Theta = arccos 𝑥−ℎ 𝑥 2 + 𝑟 2 −𝑎𝑟𝑐𝑡𝑎𝑛 𝑟 𝑥 Delta= xsin(theta)-r + rcos(theta) 请在这里输入文字请在这里输入文字请在这里输入文字请在这里输入文字

18 笔杆长度和连杆长度 笔杆长度越小和连杆长度越长,抬高相同高度时,画一条直线的距离差越小。 步进电机

19 多个图案如何集成在一张图上? 图案转换路径后会有线条重叠,使得机器画图的优先级次不同,导致画图效率降低

20 不同图层重叠 请在这里输入文字请在这里输入文字请在这里输入文字请在这里输入文字

21 不同图层重叠

22 参考资料 [1] http://www.arduino.cn/ [2] https://egg-bot.com/support/
[3]

23 Thanks for listening!


Download ppt "ARDUINO 画蛋机 15307110352 金雨琦 15307130019 孙骏."

Similar presentations


Ads by Google