ブログだいちゃん

ブログだいちゃん

趣味のブログ

ブログだいちゃん

Arduino と CNC shield でプロッターの作成

以前ストックしておいた中古のステッパーモーターがあるので、プロッターを作ってみることにしました。

ドローイングマシーン でポピュラーな AxiDraw のクローンで 4xiDraw を作成した方が 動画をYouTube にアップされていましたのでこれを参考に作成します。

AxiDraw はペンプロッターで各種ペンを使用し、紙、封筒などにプリンターと同じように書くことが出来ます。

4xiDrawはこれと同様に動作するよう各種パーツと3Dプリンターで作成したフレームを使用し制作しています、また改良次第ではレーザープリンターとしても動作します。

4xiDraw のYouTube動画です。



4xiDrawを作成した作者のページです、作成方法が詳しく書かれています。

instructables.com


使用パーツ


パーツリストは作者のページに詳しく載っていますので主だった物をリストアップしています。

中古ステッパーモーター、オリジナルマインド OKI ステッピングモータ KHP42J2501、中古で安価ですが性能は高いです。
www.originalmind.co.jp

Arduino UNO 互換機


CNCシールド


リニアシャフト8mmΦ:450mm×2本・350mm×2本


タイミングベルトGT2: 2mmピッチ 幅6mm 及びタイミングプーリー20歯 内径5mm セット



ギア無しプーリー内径3mm


リニアベアリングボールブッシング内径8mm


12V6Aスイッチング電源、手持ちのスイッチング電源を使用しました。


サーボMG90

ネジ類、ジャンパーピン等、10mmネジ付ロッドはホームセンターにありました。


ハードウエア作成


4xiDrawのハードウエア作成からソフトウエアのインストールまで丁寧に説明された動画があります。


✍🏻✒️VIDEOTUTORIAL - 4xiDraw "Clone" - The Drawing Machine (UHD - 4K) ✍🏻✒️


3Dプリンター用のSTLファイルはここからダウンロード出来ます。

・当初A3対応にしようと作成しましたが8mmΦのリニアシャフトでは中央付近で弛むので仕方なくA4サイズにしました、サイズを大きくするならリニアシャフトの太さなど考慮が必要です。

・ペンフォルダー部分の機構が思わしくなかったので、違うタイプで作成しました、筆圧を与えるため50円玉を3枚ほど取付けています。

f:id:blogdaichan:20190913165918j:plain


・OKI ステッピングモータはユニポーラタイプですがバイポーラで使用します、接続方法はオリジナルマインドの商品ページにあります。

・CNCシールドの X・Y ドライバーモジュール箇所にジャンパーピンを3個づつ刺すのを忘れないようにします、ジャンパーピンを取付ける意味合いは同じくオリジナルマインドのArduinoでメカトロニクス製品を動かそうに書かれています。

f:id:blogdaichan:20190913170836j:plain

・4xiDrawを作成された方々がYouTubeに動画をアップされている中に興味深い改良点などもあります、その中でいくつか採用させて頂きました。


4xiDraw の完成画像

f:id:blogdaichan:20190913192243j:plainf:id:blogdaichan:20190913192303j:plainf:id:blogdaichan:20190913192309j:plain


ソフトウエアのインストール


作者のページにインストール方法がありますのでその手順に従っていけば問題なく動きます。

注意すべき所を備忘録として書いておきます。

Arduinoには「grbl-servo」をlibrary としてインストールします、方法はGithubに書かれています。
github.com


・PCに無料のベクター画像作成ソフトウエア Inkscape をインストールします、日本語にも対応しています。
 プラグインに必要なpythonをインストールします。 
github.com

 ・python2.7(pyserial-2.7.win32.exe)をPCにインストールします。
  ・Pillow-2.7.0-cp27-none-win32.whl のインストール
  ・easy_install lxml ではインストール出来なかったので lxml-3.4.4-19_py27.exe でインストール
  ・pyserial-2.7.win32.exe をインストール

Inkscapeプラグインとして「4xidraw」「EggBot-master」「plotink-master」をInkscape→share→extensionsフォルダーにインストール
 ・4xidraw:4xidraw-master→inkscape driverフォルダー内の7ファイル
github.com

 ・EggBot-master:EggBot-master→inkscape_driver→eggbot_hatch.py
github.com

 ・plotink-master:plotink-master→librariesフォルダ内4ファイル
github.com

・「Universal-G-Code-Sender」をインストール、「Java」がなければインストールする。
github.com

Universal-G-Code-Senderを起動し以下を設定する、(プーリー20歯の場合)
$100=80.000
$101=80.000
$110=5000.000
$111=5000.000
$120=1000.000
$121=1000.000
$130=200.000
$131=200.000
$132=200.000
$N0=M3S90


動作動画



Fire HD 8 でスマートプラグ を使ってみた

昨年アマゾンで安売りしていた Fire HD 8 を衝動買いしてしまいましたが、使うのは寝る前にYouTubeやニュースを見るだけでした。

つい先日システムのアップデートがあったので起動してみると、なんとAlexaの使い方が表示されていました。

知らなかったのですが、6月に発売された fire7 や fire HD 10 は既に対応済みらしい、HD 8 もアップデートで対応するとの事がネットに出ていました、知らなかった。

なんかエコーショーぽく使えるようです、以前Googleの AIY voicekit を作成してAlexaをインストールしたこともありましたが、音声だけでなくディスプレイに表示されますので使い勝手が全然違いますね、エコーショーの機能が全部使えるのでしょうか?

スマートプラグを購入して動作確認してみました。


アマゾンから安価なスマートプラグを購入して使ってみることにしました、スマートプラグは以下の物です、Amazon co.jp限定って書いてありますが何が違うのでしょうか、物は中国製ですが日本語の取り扱い説明書が入っている事くらいかな。

箱の中にはスマートプラグと老眼には見るのがつらい取扱説明書が入っています、また技適も取ってあります、許容最大電流は12A、1500W(125V時)。

f:id:blogdaichan:20190907110126j:plainf:id:blogdaichan:20190907110129j:plainf:id:blogdaichan:20190907110045j:plain


下の画像のようにいろいろな使い方があるようですが、今回は単純な ON・OFF だけを行います。

f:id:blogdaichan:20190907110123j:plain

スマートプラグの設定

説明書にあるQRコードから「Smart Life」というアプリをインストールします、最初メールアドレスとパスワードを設定して登録し、設定画面に入りディバイスを設定するとSmart socket という名前で登録されます、サポートディバイスはAlexa・Google Assistant・IFTTT の3種類です。

f:id:blogdaichan:20190907110054j:plain


スマート画面でシーンの登録が出来ますのでここで switch ON と switch Off を登録しました、これで Smart Socket のON・Off が出来ます。

f:id:blogdaichan:20190907110056j:plainf:id:blogdaichan:20190907110048j:plain


Alexaアプリでの設定

Alexaアプリの設定画面を開き スキル・ゲーム をタップし「 Tuya」 で検索すると Smart Life が見つかりますのでスキルを有効にしてリンクします。

Alexaアプリの設定画面に戻り 定型アクションを選択し マイ定型アクション項目をタップ、実行条件を設定→開始フレーズ設定で、 アクションワード 例えば「アレクサ スイッチオン」などと設定します。

f:id:blogdaichan:20190907110103j:plainf:id:blogdaichan:20190907110119j:plainf:id:blogdaichan:20190907110116j:plain


アクションを追加で,スマートホームを選択、シーンをコントロールで設定したいシーンを選びます、この場合 switch ON を選択します、オフも同様です。

f:id:blogdaichan:20190907110113j:plainf:id:blogdaichan:20190907110110j:plainf:id:blogdaichan:20190907110106j:plain


これで設定完了、マイ定型アクション画面に設定した内容が表示されているはずです。

f:id:blogdaichan:20190907110100j:plain


「アレクサ スイッチオン」 と言えばアレクサが「わかりました」と言って スマートプラグ内のリレーがカチッと鳴りONになります。

これでスイッチの入り切りが出来ますが、さてこれを何処に使おうか今のところ思い当たりません、天井からぶら下がっている照明器具なんか良いでしょうが加工が必要です、コンセントで繋がっている家電などはリモコンが付いてるし、そばにあるものはいちいち音声で言わなくてもスイッチポンで間に合います。

ルービックキューブロボットをラズパイで動かす

一応完成したルービックキューブロボットですがノートパソコンでの操作からラズベリーバイ3に変更することにしました。

持ち運びに不便を感じたので小型化してバッテリーで駆動したいと思ったからです。

Windows10 IoT Core を使用しRaspberryPi 3B にセットアップ

Windows10 IoT Coreを使うのは初めてでハマりましたが、なんとかラズパイにルービックキューブロボットがインストール出来ましたので以下注意点を備忘録として書いておきます。

おおまかな手順はここに書かれていますが、バージョンの違いなのか、やり方が違う所がありました。

Windows10 IoT Core DashboardをPCにインストールしラズパイ用のデータをSDカードに書き込む

1.Windows10 IoT Core DashboardMicrosoft からダウンロードしインストールします、手順についてはここを参考にしました。

2.IoT Core Dashboard を立ち上げ、 SDカードをセットし新しいディバイスのセットアップでRaspberry Pi 2&3 を指定パスワードなどを設定し、SDカードに書き込みます。

書き込んだSDカードをラズパイにセットし立ち上げる

SDカードをRaspberryPiにセットし立ち上げます、立ち上がるまでに時間が掛りますので気長に待ちます、立ち上がったら日本語の設定、WiFi設定などを行います。

windows IoT Dashboard からラズパイにルービックキューブ用ソフトウエアを転送する

1.正常に動作していればWindows10 IoT Core Dashboard の自分のディバイスにRaspberryPiが表示されていますので、それを右クリックし、デバイスポータルで開くを選択しID及びパスワードを入力し入ります。

2.左側APPS内のApps manager をクリックし、RaspberryPi用RubiksCubeRobotのzipファイルを解凍した中にある .appx ファイルとDependencies フォルダ内にある3個の .appx ファイルを指定してインストールボタンをクリックします。
また、.cer ファイルもインストールします。

ラズパイから起動し正しく動作するか確認する

RspberryPi を再起動し左側の「開始」ボタンをクリック「アプリ」をクリックするとアプリ一覧にルービックキューブロボットが表示されているはずです、操作はWindows用と変わりありません、動作はWindowsに比べて当然遅くなります。
ディスプレイは7インチタッチスクリーンを使用しています。

しかし、なぜかタッチスクリーンが使用出来ません、どこかに設定項目があるかもしれませんがとりあえずUSBキーボードを使用しています。

f:id:blogdaichan:20190801134901j:plainf:id:blogdaichan:20190801134903j:plainf:id:blogdaichan:20190801134907j:plain

f:id:blogdaichan:20190801134856j:plain


5mmのMDFでテーブルを作成しラズパイと降圧レギュレータを配置しました,電池は3Sリポを使用しています。
Rspberrypi3 modelB では動作が鈍く揃えるまでの時間が長くなります、ラズパイ4が発売されたら試してみたいですね。

f:id:blogdaichan:20190817114546j:plain

エアコンのリモコンが壊れたので買換えようと探したら高額だったのでこれにした

古いダイキンのエアコンですがリモコンで入り切りが出来なくなりました、電源ボタンだけ反応無しでその他のボタンは操作が可能です。
また、電池を入れっぱなしで放置したため液漏れで電池ボックスの中が汚れ接触不良を起こす始末。

しょうがないので買換えようとネットで探したら、純正品はどれも 5000~8000円位で結構高額です、もっと安いところはないかと探していたら、アマゾンでベストセラー1位の下記のような物がありました。

価格も然る事ながら1000種類に対応と書かれています、今使っているダイキンのエアコンに対応していれば良いですが、まあ700円以下で送料が無料ですのでダメ元で買ってみることにしました。

注文から1週間近く掛かり郵便で届きました、元のリモコンより小さめで縦135×横50mmの大きさです。

説明書も日本語で書かれていて、マニュアル設定でも自動設定でもできるようです、主要なエアコンメーカーの設定値も説明書に書かれていて、ダイキンのエアコンもその中にありましたので設定に戸惑うことも無く簡単でき、問題なく使えました。


左が壊れた純正のリモコン、右側がユニバーサルマルチリモコンです。

f:id:blogdaichan:20190807155412j:plain

ルービックキューブロボットの作成

昔々若かりし頃ルービックキューブが流行っていて揃え方を必死で覚えたな~~~
片付けの最中ルービックキューブが出て来て懐かしくそんなことを思い出しました。

今は揃え方なぞすっかり忘れていて、YouTubeやネットで揃え方見ながらなんとか揃えられる程度。
覚えたつもりでも途中でつまづき投げ出す始末です。(^_^;)

以前テレビかYouTubeだったか忘れましたがルービックキューブを一瞬で揃えるロボットを見たことがありました。

これがあれば途中で投げ出した不揃いのルービックキューブを揃えてくれるし、練習するのにも便利なのではと。

片付けの最中出て来たルービックキューブのおかげでロボットを作る羽目になりました。

使用パーツ

あったら便利なRspberryPi 3 B+ パソコンだけでも出来ます、今回は使用しません

12チャンネルサーボコントローラー

ミニマエストロ 12CH USBサーボコントローラ

ミニマエストロ 12CH USBサーボコントローラ

デジタルサーボ DS3218

ハイトルクサーボ SET996R  MG996Rのパチ物、安価ですが使えました

USBウエブカメラ 可変LEDライト、マイク付、ピント調整も出来ます画角が狭いのが難点

DC6V3A電源 または5V3A電源でも使えます、私は5V用を使用しました

その他必要な小物パーツ、コネクター、サーボ延長ケーブル、ルービックキューブ


フレームのプリントアウト

フレームは3Dプリンターで作成しますが、パーツが多く大きい物があるので全部印刷するとフィラメントを1Kg程度使用します、また印刷時間も多く掛ります。
1Kg1500円程度の低価格フィラメントを使用しましたが問題なく使えました。

f:id:blogdaichan:20190727111044j:plain

フレームの組み立て

スライド部分が多いので摺り合わせが必要です、スムーズに動くようにするために結構時間を掛けました。

組上げた状態です

f:id:blogdaichan:20190727111051j:plainf:id:blogdaichan:20190727111058j:plain


ルービックキューブの配色を撮影するカメラ部、裏側には12チャンネルサーボコントローラー

f:id:blogdaichan:20190727111102j:plainf:id:blogdaichan:20190727111105j:plain


動作確認

最初にルービックキューブ6面の配色をカメラで撮影しますが、時々認識できなくて動作停止することがあります。

キューブを挟み込むグリップ部分を白色で作成したので色飛びが発生してキューブの色を認識できない事があるのかもしれません、またカメラの画角狭いのでキューブ全体が写らない事も原因かもしれません。

カメラにLEDライトが付いていますが、光を強くしすぎるとキューブに反射した光で色を認識できずエラーになったりします。

いずれにしてもカメラ撮影側のキューブに当る光の具合を調整してエラーが起こりにくくする事が必要です。

デジカメで撮影した動画です見苦しいですが

参考サイト

作成に当っては以下のサイトを参考にしています。

3D-Printed Rubik's Cube Robot

作成方法が詳しく書かれており、STLファイル、ソフトウエア などのダウンロードが出来ます。

追記 USBカメラの交換など

最初からこれにすれば良かった、前のは見た目の格好良さで選びましたが、これは安価で高性能でした。
画角も広く画質も良く、読み込みエラーはほぼありません。

f:id:blogdaichan:20190731085558j:plain

認識しやすいルービックキューブ

下の2種類のキューブで認識度を比べてみました。

f:id:blogdaichan:20190801130718j:plain

左側は最初から使用しているキューブで色の付いたステッカーが貼られている物、右側は購入したキューブ自体に色が付いた物です。
右側の方が色も鮮やかだし認識度が上がるかと思って使用してみましたが、意に反してエラーの出まくりで使い物になりませんでした。

原因は分かりませんが、キューブとキューブとの境が分かりにくいからでしょうか、このタイプは使用しない方が良いでしょう、カメラを取替えてから左側のタイプではエラーは殆ど出ません。

motionEye と RspberryPI ZERO Wで3Dプリンターの監視カメラを作成する

居間が1階で3Dプリンターが2階にあるので、仕上がり状態を見るのに2階まで上っていくのが大変でした。
そこで、印刷物の出来上がり状況をどこに居ても見られるよう、3Dプリンター用に監視カメラを作成しようと思います。

使用パーツ

RaspberryPI ZERO W


イカメラ:スタンド付、フラットケーブル複数付でおすすめです


その他:5V電源、10mmアルミパイプなど

motionEyeのインストール

最初 OpenCV をインストールしましたが、コンパイルに1日以上掛りまたラズパイゼロでは負荷が大きく、まともに動かなかったので motionEye を使用することにしました。

Gihub より motioneyeos をダウンロードします、最新版(20190619)ではなぜか動かなかったので一つ前の(20190427)をインストールしました。

motioneyeos-raspberrypi-20190427.img.xz

解凍して出来たイメージファイルを Win32DiskImager などで microSDカードに書込みます。
次に、WiFiの設定を書込みRaspberryPI Zero W に装着して立ち上げます。

詳しいやり方は ここに記事があります、また英語版はここにありますので説明は省きます。

無事起動できたら スマフォのアプリ(Fing) 等でIPアドレスを調べてアクセスします。

アクセスできたら、ID:admin Pass:無し そのままリターンを押して入り左上の設定ボタンを押して設定します、詳しい設定方法は Github_Wiki にあります、英語版ですが Google翻訳で分かります。

設定で「Fast Network Camera」 を ON にしないとタイムラグが激しく見にくいですね、PI_ZERO の負荷が大きくなり発熱しますが。

ケース及びスタンドの作成

motionEye の設定が出来ましたので次はパイゼロとカメラの一体型ケースと3Dプリンター監視用カメラスタンドを作成します。

当初カメラは3Dプリンターのケース内部に入れようと思いましたが取付場所がないのでカメラスタンドにしてプリンターの正面に置くことにしました。

パイゼロとカメラの一体型ケースの作成

イカメラとパイゼロが収まる最小の大きさで作成しました。

f:id:blogdaichan:20190706102003j:plainf:id:blogdaichan:20190706102019j:plainf:id:blogdaichan:20190706102016j:plain

カメラスタンドの作成

カメラスタンドは、スタンドベースとカメラフォルダーの間を10mmのアルミパイプで繋げました。
安定するよう、ベースに海釣りに使うおもりを入れています。

f:id:blogdaichan:20190706102007j:plainf:id:blogdaichan:20190706102010j:plain


印刷中の画像です、1階居間のPCでキャプチャーした物です。
また、スマフォのアプリでも確認出来ます、印刷終了、印刷トラブルなど何処にいても確認出来る用になりました。

f:id:blogdaichan:20190706102014j:plainf:id:blogdaichan:20190706104202j:plain

3Dマウスのケースを作成

最近所用で忙しく、ブログの更新が出来ていない状況が続いています。

そんな中 はてなブログから、1ヶ月記事が投稿されていないので何か書けのようなメールが届きました、大きなお世話って言いたいところですが文句を言っても仕方ないので記事を書きます。

CADを使う上で便利な3Dマウスを使っています2年ぐらい前に記事にしていますが、この3Dマウスは頻繁に使う物ではないのでいつも机の片隅で埃まみれになっています。

この3Dマウス用のケースを作成して埃まみれから解放しようという間に合わせな記事です。(^_^;)

使用している3Dマウスです、高価なので程度の良い中古品を購入しました。

3Dconnexion 3Dマウス SpaceNavigator SE (Standard Edition) SNSE

3Dconnexion 3Dマウス SpaceNavigator SE (Standard Edition) SNSE


このマウスが入るようにCADで適当にケースを設計、3Dプリンターで印刷しました。

f:id:blogdaichan:20190616085525j:plainf:id:blogdaichan:20190616085527j:plain


出来上がったケースです。

f:id:blogdaichan:20190616085531j:plainf:id:blogdaichan:20190616085533j:plain


3Dマウスは普通のマウスと違い本体を動かすことはしませんが、USB接続用ケーブルが長く邪魔になります、コードレスタイプがあるのでしょうか?