工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ArduinoDueを備えたPOVシリンダー

コンポーネントと消耗品

>
Arduino Due
× 1
出力調整可能なリニアレギュレータ
× 1
Texas Instruments General Purpose Dual Op-Amp
× 1
抵抗20kオーム
× 3
抵抗220オーム
× 1
抵抗1kオーム
× 2
汎用トランジスタNPN
× 1
コンデンサ1000µF
× 1
コンデンサ100nF
× 1
コンデンサ1µF
× 1
抵抗240オーム
× 1
トリミング抵抗1kオーム
× 1
IRトランスミッター(汎用)
× 1
IRレシーバー(汎用)
× 1
ブレッドボード(汎用)
× 1
発泡スチロールのシリンダー(直径:20cm、高さ:10cm)
× 2
電気モーター、12V、XDRIVE 545-1
× 1
クラウンギア60T 8 MM
× 1
Crown Gear 12 T、3.2 MM
× 1
>
歯付きベルト、80 T、6 x 200 MM
× 1
スレッドバー、M8、125 mm
× 3
スレッドバー、M8、330 mm
シャフトとして使用されます。
× 1
コンタクトリングASL9017
× 1
粘着テープ(黒、48 mm)
ローターに貼り付けるために使用
× 1
>
合板ディスク(Ø150mm、厚さ:10mm)
× 2
アルミニウムディスク(Ø200mm、厚さ:2.5mm)
× 2

必要なツールとマシン

>
はんだごて(汎用)
スクロールソー(汎用)
ベンチドリル(汎用)
実験用電源(汎用)
Laptop with Windows 10(generic)

アプリとオンラインサービス

>
Microchip Technology Microchip Studio
ArduinoSW開発に使用
Arduino IDE
Atmel StudioIDEの代わりに使用できます
Cygwin
Cygwinは、Windows上のLinuxディストリビューションと同様の機能を提供します。 PC制御プログラムに使用されます。
Microsoft Visual Studio 2015
グラフィカルユーザーインターフェイスに使用されます。

このプロジェクトについて

はじめに

これは私の最初のArduinoプロジェクトです。私の作品は、視覚現象の持続性を生み出したいくつかのメーカープロジェクトに触発されました[2、3、4]。

視覚の持続性 (POV)は、人間の心の中で複数の個別の画像が1つの画像に溶け込み、映画やアニメーション映画の運動知覚の説明であると考えられている目の錯覚を指します[1]。

プロジェクト[2、3、4]は、ディスクリートLEDとディスクリートシフトレジスタを使用して、POVグローブディスプレイを実装します。代わりに、私のデバイスは回転シリンダーと既製のRGBLEDストリップをPOVディスプレイとして使用しています。

私のPOVシリンダーの主な機能は次のとおりです。

  • POV(視覚の持続性)表示
  • 回転する円柱にアニメーションGIF画像を表示します
  • GIF画像はArduinoのRAMまたはFlashに保存されます
  • Bluetoothを介したPCとの通信

技術概要

  • シリンダーの直径:200 mm
  • シリンダーの高さ:200 mm
  • シリンダーの材質:発泡スチロール
  • シリンダー重量:420 g
  • LPD8806に基づく4つのRGBLEDストリップ
  • 画面サイズ151x40ピクセル
  • ArduinoDueに基づく
  • HC06Bluetoothモジュールが含まれています
  • PCからBluetooth経由で制御

機械的構造

機械的構造を下の図に示します。

<図>

このデバイスは、シャーシとローターで構成されています。シャーシは、3本のネジ棒で接続された2枚の円形合板ディスクで構成されています。ディスク間の距離は120mmです。真ん中には2つのボールベアリングとシャフトがあります。シャフトにもネジ棒が使用されています。シャフトは、2つのクラウンギアと歯付きベルトを介して電気モーターによって駆動されます。回転速度は最大1300RPM(22 Hz)です。

ローターは、2つの発泡スチロールシリンダーと2つの円形アルミニウムディスクで構成されています。発泡スチロールのシリンダーは下部ディスクに接着されています。上のディスクは取り外すことができます。ローターをシャフトに取り付けるために使用されます。

<図>

電子機器はローターの上部にあります。次の部分が含まれています:

  • Arduinoデュエボード
  • ArduinoDueボード用の自作シールド
  • 電源(PS)ボード
  • HC-06Bluetoothモジュール
<図>

電源(7.5V)は、スライド接点と接点リングを介して電源ボードに供給されます。

合計40個のRBGLEDを備えた4つのLEDストリップが使用されます。それらはケーブルでArduinoシールドに接続されています。

<図>

下の図に示すように、4つのLEDストライプが配置されています。 4つのシフトされたLEDストライプを使用することにより、LED間のY軸の距離が4で除算されます。X軸の距離はSWによって処理されます。 SWは、40個のLEDすべてを1回転あたり151回更新します。図面のグリッドは、表示されているピクセルに対応しています。

<図>

電子回路

電子回路は、添付のPDF回路図に示されています。

LM317電圧レギュレータを備えた電源ボードがあります。入力電圧は7.5ボルト、出力電圧は4.6ボルトです。電圧レギュレータは、ArduinoDueボードとLEDストリップを供給します。

Arduino用の自作シールドもあります。 LEDストリップへのコネクタケーブルとIR受信機用の回路が含まれています。 IRレシーバーは、ローターの位置を検出するために使用されます。 Arduinoのタイマー/割り込み入力に接続されています。

STRIP0からSTRIP3という名前の4つのLEDストリップがあります。各ストリップには、5つのLPD8806LEDドライバーと10のRBGLEDがあります。 STRIP0はUSART0に接続され、STRIP1はUSART1に接続されます。両方のUSARTはSPIモードで動作しています。 STRIP2とSTRIP3は直列に接続されており、ArduinoのSPIインターフェースによって駆動されます。

PCとの通信には、HC-06BluetoothモジュールがUSART3に接続されています。 Bluetoothモジュールは、Arduinoボードが提供する3.3ボルトで供給されます。

Arduinoソフトウェア

Arduinoソフトウェアはメインプログラム( mpc.ino )で構成されています )および次のライブラリ:

  • bt -Bluetoothモジュール用のドライバーSW
  • LDP8806 -LEDストリップ用のドライバーSW
  • MemoryFree -使用可能な空きRAMメモリを検出する機能
  • mpcgif -RAMまたはフラッシュメモリにあるGIFファイルの再生
  • 写真 -Flashに保存されている内部GIF画像
  • トレース -SWデバッグ用の関数

LEDストリップへの画像の定期的な出力は、割り込み駆動で行われます。 2つのトグルフレームバッファがあります。各フレームバッファは、40 x151ピクセルの1つの画像を保持します。各ピクセルは1バイトのカラーパレットインデックスです。一方のフレームバッファは割り込みとDMAを介してLEDストリップに出力されますが、もう一方のフレームバッファはメインプログラムによって準備されます(たとえば、GIF画像をデコードする機能によって)。フレームバッファの切り替えは、フレーム割り込みルーチンによって行われます。

IRセンサーによってトリガーされる1回転ごとに1つのフレーム割り込みがあります。フレーム割り込みルーチンは、(ハードウェアタイマーを介して)進化速度を測定し、ハードウェアタイマーを使用して定期的な列割り込み(列ごとに1つ、つまり1回転あたり150の割り込み)をプログラムします。カラム割り込みルーチンは、現在のカラムをLEDストリップに出力します。パフォーマンス上の理由から、出力は完全に並列で動作する3つのDMAチャネルを介して行われます。

完全なArduinoソースコードはgithubで入手できます。

PC制御プログラム

PC制御プログラム( pccp )は、C ++で記述されたコマンドラインツールです。 Cygwinで実行され、Bluetooth経由でArduinoと通信します。 pccp 次の1文字のコマンドでPOVシリンダーを制御できます。

  • 0-7 -画面を色(黒、赤、黄、緑、シアン、青、紫、白)で塗りつぶします
  • t -三角形の曲線を描きます(テスト画像として)
  • s -表示された画像の回転を有効または無効にします
  • r -単一の行を描画します
  • c -単一の列を描画します
  • y -フラッシュメモリに保存されている内部GIF画像を再生します
  • f -BT経由でPCから外部GIFファイルをダウンロード
  • x -ダウンロードした外部GIFファイルを再生します

pccp グラフィカルユーザーインターフェイスへのインターフェイスも提供します。さらに、現在の回転速度(Hzおよびµs)とフレームカウンター値が表示されます。

完全なソースコードはgithubで入手できます。

グラフィカルユーザーインターフェイス

グラフィカルユーザーインターフェイスはユニバーサルWindowsアプリです。 POVシリンダーで表示するGIFファイルを選択できます。このアプリは、「MicrosoftWindowsユニバーサルサンプル」[5]のFilePickerアプリから派生しています。

完全なソースコードはgithubで入手できます。

<図>

参考資料

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

[2] RGB LED GLOBE-POV-40 x 200

[3] POVグローブディスプレイRGB

[4] POV Globe Display RGB-プロジェクトの説明(ドイツ語)

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

コード

POVシリンダーのArduinoソースコード
https://github.com/hanoba/povc-arduino
POVシリンダーのPC制御プログラム
これは、Cygwinhttps://github.com/hanoba/povc-pccpで実行されているC ++コマンドラインプログラムです。
POVシリンダーのグラフィカルユーザーインターフェイス
これはWindowsユニバーサルアプリですhttps://github.com/hanoba/povc-win-app

回路図

これは概略図です。

製造プロセス

  1. Arduinoハメ撮りビジョンクロック
  2. Nokia 5110LCDのDIYシンプル20kHzArduinoオシロスコープ
  3. スマートブラインド
  4. Arduino Due TIC TAC TOE with Touchscreen
  5. Arduinoでコインアクセプターを制御する
  6. イタリア語の単語時計
  7. LEDを制御するBluetoothを搭載したArduino!
  8. Arduinoを搭載したシンプルな障害物センサー
  9. SigfoxkWhメーター
  10. Bluetooth温度モニター
  11. Arduino用の絶縁アナログ入力