亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

POV Cylinder with Arduino Due

组件和用品

Arduino Due
× 1
输出可调的线性稳压器
× 1
德州仪器通用双运放
× 1
电阻 20k ohm
× 3
电阻 220 ohm
× 1
电阻 1k ohm
× 2
通用晶体管 NPN
× 1
电容 1000 µF
× 1
电容 100 nF
× 1
电容 1 µF
× 1
电阻 240 ohm
× 1
微调电阻 1k ohm
× 1
红外发射器(通用)
× 1
红外接收器(通用)
× 1
面包板(通用)
× 1
泡沫塑料圆柱体(直径:20cm,高度:10cm)
× 2
电动机,12V,XDRIVE 545-1
× 1
皇冠齿轮 60 T 8 MM
× 1
Crown Gear 12 T, 3.2 MM
× 1
齿形带,80 T,6 x 200 MM
× 1
螺纹杆,M8,125 毫米
× 3
螺纹杆,M8,330 毫米
用作轴。
× 1
接触环 ASL9017
× 1
胶带(黑色,48 毫米)
用于粘在转子上
× 1
胶合板盘(Ø 150mm,厚度:10mm)
× 2
铝盘(Ø 200mm,厚度:2.5mm)
× 2

必要的工具和机器

烙铁(通用)
滚锯(通用)
台钻(通用)
实验室电源(通用)
Windows 10 笔记本电脑(通用)

应用和在线服务

Microchip Technology Microchip Studio
用于Arduino SW开发
Arduino IDE
可以替代 Atmel Studio IDE
Cygwin
Cygwin 提供类似于 Windows 上的 Linux 发行版的功能。用于 PC 控制程序。
Microsoft Visual Studio 2015
用于图形用户界面。

关于这个项目

简介

这是我的第一个 Arduino 项目。我的工作受到几个创客项目的启发,这些项目创造了视觉显示持久性 [2,3,4]。

视觉的持久性 (POV) 是指视觉错觉,其中多个离散图像在人脑中融合为一个图像,并被认为是电影和动画电影中运动感知的解释 [1]。

项目 [2,3,4] 使用离散 LED 和离散移位寄存器实现 POV 地球仪显示器。相反,我的设备使用旋转圆柱体和现成的 RGB LED 灯条作为 POV 显示。

我的 POV Cylinder 的主要特点是:

  • POV(视觉暂留)显示
  • 在旋转圆柱体上显示动画 GIF 图片
  • GIF 图片存储在 Arduino 的 RAM 或 Flash 中
  • 通过蓝牙与 PC 通信

技术概述

  • 圆柱直径:200 毫米
  • 气缸高度:200 毫米
  • 圆筒材料:泡沫塑料
  • 钢瓶重量:420 克
  • 4 个基于 LPD8806 的 RGB LED 灯条
  • 屏幕尺寸 151 x 40 像素
  • 基于 Arduino Due
  • 包括 HC06 蓝牙模块
  • 通过 PC 上的蓝牙进行控制

机械结构

机械结构如下图所示。

该装置包括底盘和转子。底盘由两个圆形胶合板组成,通过三个螺纹杆连接。圆盘之间的距离为 120 毫米。中间有两个滚珠轴承和轴。轴也使用螺纹杆。轴由电动机通过两个冠状齿轮和齿形带驱动。转速高达1300 RPM (22 Hz)。

转子由两个泡沫聚苯乙烯圆柱体和两个圆形铝盘组成。聚苯乙烯泡沫塑料圆柱体粘在下盘上。上盘可以取下。它用于将转子连接到轴上。

电子元件位于转子的上部。它包括以下几个部分:

  • Arduino Due 板
  • Arduino Due 板的自制屏蔽
  • 电源 (PS) 板
  • HC-06 蓝牙模块

电源(7.5V)通过滑动触点和接触环馈送到电源板。

使用了四个 LED 灯条,总共使用了 40 个 RBG LED。它们通过电缆连接到 Arduino Shield。

四个 LED 灯带如下图所示放置。通过使用四个移位的 LED 条纹,LED 之间 Y 轴上的距离除以 4。X 轴上的距离由 SW 处理。软件每转更新所有 40 个 LED 151 次。图中的网格对应可见像素。

电子电路

电子电路显示在随附的 PDF 原理图中。

有一个带有LM317稳压器的电源板。输入电压为 7.5 伏,输出电压为 4.6 伏。电压调节器为 Arduino Due 板和 LED 灯条供电。

还有一个自制的Arduino盾牌。它包含连接到 LED 灯条的连接器电缆和用于 IR 接收器的电路。 IR 接收器用于检测转子位置。它连接到Arduino的定时器/中断输入。

有四个名为 STRIP0 到 STRIP3 的 LED 灯条。每个灯条有 5 个 LPD8806 LED 驱动器和 10 个 RBG LED。 STRIP0 连接到 USART0,STRIP1 连接到 USART1。两个 USART 都在 SPI 模式下运行。 STRIP2和STRIP3串联,由Arduino的SPI接口驱动。

为了与 PC 通信,HC-06 蓝牙模块连接到 USART3。蓝牙模块由Arduino板提供的3.3V供电。

Arduino 软件

Arduino 软件由主程序 (mpc.ino ) 和以下库:

  • bt - 蓝牙模块驱动软件
  • LDP8806 - LED 灯条驱动软件
  • 无内存 - 检测可用 RAM 内存的功能
  • mpcgif - 播放位于 RAM 或闪存中的 GIF 文件
  • 图片 - Flash 中存储的内部 GIF 图片
  • 跟踪 - 软件调试功能

图像到 LED 灯条的周期性输出是由中断驱动的。有两个切换帧缓冲区。每个帧缓冲区保存一张 40 x 151 像素的图片。每个像素是一个字节的调色板索引。当一个帧缓冲区通过中断和 DMA 输出到 LED 灯条时,另一个帧缓冲区由主程序准备(例如通过解码 GIF 图片的函数)。帧缓冲区的切换由帧中断例程完成。

IR 传感器触发每转一帧中断。帧中断例程测量(通过硬件计时器)演化速度并使用硬件计时器对周期性列中断(每列一个,即每转 150 个中断)进行编程。列中断例程将当前列输出到 LED 灯条。出于性能原因,输出是通过三个完全并行运行的 DMA 通道完成的。

完整的 Arduino 源代码可在 github 上找到。

PC控制程序

PC 控制程序 (pccp ) 是一个用 C++ 编写的命令行工具。它在 Cygwin 下运行并通过蓝牙与 Arduino 通信。 pccp 允许使用以下单字符命令控制 POV Cylinder:

  • 0-7 - 用颜色填充屏幕(黑色、红色、黄色、绿色、青色、蓝色、紫色、白色)
  • t - 绘制三角形曲线(作为测试图)
  • s - 启用或禁用显示图片的旋转
  • r - 绘制单行
  • c - 绘制单列
  • - 播放存储在闪存中的内部 GIF 图片
  • f - 通过 BT 从 PC 下载外部 GIF 文件
  • x - 播放下载的外部 GIF 文件

pccp 还提供了图形用户界面的界面。此外,它还显示当前旋转速度(以赫兹和微秒为单位)和帧计数器值。

完整的源代码可在 github 上找到。

图形用户界面

图形用户界面是一个通用的 Windows 应用程序。它允许选择要由 POV Cylinder 显示的 GIF 文件。该应用程序源自“Microsoft Windows 通用示例”[5] 中的 FilePicker 应用程序。

完整的源代码可在 github 上找到。

参考资料

[1] https://en.wikipedia.org/wiki/Persistence_of_vision

[2] RGB LED 地球仪 - POV - 40 x 200

[3] POV Globe Display RGB

[4] POV Globe Display RGB - 项目描述(德语)

[5] https://github.com/Microsoft/Windows-universal-samples

代码

POV Cylinder 的 Arduino 源代码
https://github.com/hanoba/povc-arduino
POV气缸PC控制程序
这是Cygwin下运行的C++命令行程序https://github.com/hanoba/povc-pccp
POV Cylinder 的图形用户界面
这是一个 Windows 通用应用 https://github.com/hanoba/povc-win-app

示意图

这是原理图。

制造工艺

  1. Arduino pov 视觉时钟
  2. 诺基亚 5110 LCD 上的 DIY 简单 20 kHz Arduino 示波器
  3. 智能百叶窗
  4. Arduino Due TIC TAC TOE 带触摸屏
  5. 使用 Arduino 控制硬币接收器
  6. 意大利字时钟
  7. Arduino 带蓝牙控制 LED!
  8. 带有 Arduino 的简单障碍物传感器
  9. Sigfox kWh Meter
  10. 蓝牙温度监视器
  11. 使用 Arduino 测量太阳辐射
  12. Arduino 的隔离模拟输入