エントリー

カテゴリー「3Dプリンタ」の検索結果は以下のとおりです。

XY-2 ProのZ軸接触センサーを更新

ガラステーブルに対応するためにZ軸の接近センサーを金属感知タイプから静電容量タイプに更新した

付いていたセンサーでは稀にテーブルの接近を感知せずヘッドがテーブルに当たり押し下げてしまうことがあり,監視していないとテーブルを破壊してしまいそうになるのが懸案だったこともある

IMG_20210620_170151.jpgIMG_20210620_171654.jpg

翠工房さんを参考にして静電容量タイプ(LJC18A3-H-Z/BX)を選択し日本で購入しようとしたが高価だったのでAliexpressで安く(日本の価格で3~4個購入できる)購入(ただし到着まで1か月かかった)→ 実は4月には届いていたのだけど・・・Valheimに嵌って遊んでしまったため遅くなってしまった^^

既存のセンサーを外してケーブルの信号を確認(色は同じ)してケーブル長を合わせ3PのXH端子を接続

IMG_20210620_172139.jpgIMG_20210620_174655.jpg

新しいセンサーを付けるにはアダプタが必要となるため2種準備していたが,最終的に翠工房さんのを利用することにした(取付には(左)M3×6(右)M3×10が丁度良かった)

IMG_20210620_170610.jpgIMG_20210620_174833.jpg

手を近づけると正常に反応したので更新完了・・・オートレベル補正で確認しようとしたところ・・・なんと!

IMG_20210620_180244.jpg

X軸の0点に移動する際,リミットSWに接触する前にアダプタが干渉して正常に動作しないことが判明

なんで干渉するのだろう?とネットで製品画像など確認して良く見ると,リミットSWを接続しているカバー?が(左右逆で)上下逆に付けられていることに気付いた(今までまったく気付かなかったが良く見ると左側にあるパーツを保護するために出っ張っている部分が右になっている)

IMG_20210620_191349.jpg

早速修理する(リミットSWも逆)

IMG_20210620_191639.jpgIMG_20210620_191905.jpg

IMG_20210620_192532.jpg

カバーも正常に戻って見えていた配線も保護され,正常にリミットSWで感知されオートレベル補正もOK

IMG_20210620_192856.jpgIMG_20210620_194406.jpg

これでいろんなビルドシートを試すことができるようになった

IMG_20210221_094520.jpg

尚,ガラステーブルは3mmのフロートガラスをオーダーメイド(255mm×255mm)で作製済

XY-2 ProのラズパイZero収納ケースの作製

TRONXY XY-2 ProにOctoPrint用ラズパイZeroを取付ける

設置箇所

先ずはケースを作製するにあたり設置場所のを以下にした

IMG_20210304_190515.jpgIMG_20210304_190506.jpg

ケース印刷

ケースをFreeCADで作図して印刷

IMG_20210308_191325.jpgIMG_20210309_200921.jpg

ケースにはラズパイZero,電源ボード,DCDC(24V→5V)ボードを設置する

ラズパイカメラ

後はXY-2に取付けるところで,AliExpressで注文していたラズパイ用内蔵カメラが到着した

IMG_20210310_203250.jpgIMG_20210310_203833.jpg

純正品を購入するとやたら高価なのでAliExpressで探したら¥331+¥148(送料)の¥479だったので購入

もう少し到着まで掛かるかと思っていたが25日で届いた(50日超えても届いてない注文もあるのだが・・・)

先ずは正常に動作するか確認したところ

IMG_20210310_205135.jpgIMG_20210310_205146.jpg

解像度は低いようだが問題なく使える

WS_20210321_01.png

映像は印刷異常が起きていないか確認のために欲しい機能

カメラ対応のケース印刷

カメラを付けるため再度ケースを作製し直し

IMG_20210320_122928.jpgIMG_20210320_123004.jpg

カメラ用に追加した部品は上部の2点で,サポート材なしで印刷するため2つに分けて作製

ケースの縁に立てて先にカメラを設置する構成となる

実はカメラ用のケーブルの長さを間違えて柱が長くなってしまったので削って加工した

IMG_20210321_172022.jpgIMG_20210321_172042.jpg

当初からの設計であるがケースの蓋は小物入れになるよう内側に落とし込んでいる(当然ながら蓋を受ける部分も作ってある)

IMG_20210321_171742.jpgIMG_20210321_171816.jpg

サイドには電源コネクタとUSB接続ケーブルが繋がる

IMG_20210321_172220.jpg

動作確認

全てをケースにセットして動作確認

IMG_20210321_194608.jpg

WS_20210321_02.png

電源切りでOctoPrintも終了

WS_20210321_03.png

XY-2に取付けるのは後日

(追加)

IMG_20210326_170658.jpg

IMG_20210326_170740.jpg

(参考)

電源端子情報(XY-2Proで使われている電源ユニットと端子は同じ)

REF_20210321_01.jpg

OctoPrint用ラズパイの電源制御ボードを作製

OctoPrint用ラズパイの電源を制御する

IMG_20210228_190639.jpg

基本仕様

ラズパイZEROを使用

ラズパイは3Dプリンタの電源と連動して起動/終了させる

電源制御

3Dプリンタの電源切りを判断し,ラズパイを正常終了(シャットダウン)して電源切りとするため,UPSと電源ON/OFF回路を作ることになる

ソフトコントロールした方が柔軟性が高いのでいつものとおりAVRを使用することとしATtiny13aを使用する

ラズパイZEROはWiFi使用時でも最大消費電流200mA程度(入力5V)→ 効率を多めにみても5V500mA入力できれば良しと見積もる

ラズパイの起動/終了確認はGPIOの8ピン(UART_TXD)を監視することで行う → OSのシリアル利用設定が必要でシリアルコンソールとなる,シリアルは負論理なので使用可能になるとON(1)となる(終了でOFF)

シャットダウン要求はGPIOの7ピンを利用して制御,ラズパイ側でGPIOを監視してシャットダウンする

GPIOは3.3VロジックなのでATtiny13aも3.3Vで使用する

回路図

octoPiPower_回路図.png

  • 元電源が入るとATtiny13aとリポ充放電モジュールが通電
  • ATtiny13aは起動後FETのONでラズパイを起動させGPIOの監視を行う
  • 元電源が切れると電圧の関係でFETへの充電はバッテリーに切り替わる
  • ATtiny13aは元電源OFFを感知してラズパイにシャットダウン要求しシャットダウン後FETをOFF(電源断)する
  • バッテリーはダイソーのUSB充電ライターのリポ(200mAh)を利用

IMG_20210223_200835.jpg

IMG_20210223_200826.jpgIMG_20210223_200911.jpg

  • ON時の5V出力安定のため100μFを付けた(オシロでチェックしたところ無くても問題なしだったが排除していない)
  • スイッチ部はGrd共通のためPチャネルFETとなる
  • ラズパイ3などに変更する場合はダイオードの許容電流に注意
ソフトウェア

ATtiny13a

IMG_20210227_141426.jpg

//3Dプリンター用ラズパイ(octoPi)電源制御プロクラム
// octoPiPower.ino V1.3
//
// ATMEL ATTINY13 / ARDUINO
//
// +-\/-+
// ADC0 (D 5) PB5 1|    |8 Vcc
// ADC3 (D 3) PB3 2| |7 PB2 (D 2) ADC1
// ADC2 (D 4) PB4 3| |6 PB1 (D 1) PWM1
// GND 4|    |5 PB0 (D 0) PWM0
// +----+
//
// PB0 - OUT FET ON/OFF
// PB1 - OUT raspi control (PIN7)
// PB2 - IN raspi sense (PIN8)
// PB3 - OUT LED
// PB4 - IN power
//
// 処理フロー(V1.2まで)
// ①元電源ONにより本機(ATTINY13)がON
// ②ラズパイの電源をONさせる(FET ON)
// ③電源(PB4)とラズパイの状態(PB2)を監視
// ④電源OFFでラズパイにシャットダウンを通知(PB1)
// ⑤ラズパイが終了したらラズパイの電源OFF(FET OFF)
// ⑥⑤により本機もOFFもしくは元電源がONなら終了状態へ移行
// 処理フロー(V1.3から③以降変更)
// 電源連動となるので電源OFFからの復帰はない,また,リブートを可能とした
// ③電源(PB4)を監視
// ④電源OFFでラズパイにシャットダウンを通知(PB1)
// ⑤ラズパイが終了したらラズパイの電源をOFF(FET OFF)
//
#include <avr/io.h>
#include <avr/sleep.h>
#include <util/delay.h>

//接続PIN
#define FET PB0             //電源SW制御
#define RASP7 PB1             //ラズパイ指示(ONでシャットダウンさせる)
#define RASP8          PB2 //TXD(通信ポート)で起動判断(負論理なので通常はON)
#define LED PB3             //動作状態を示すLED
#define POWER PB4 //主電源

void setup() {

  //PIN(入力)
    pinMode(RASP8, INPUT);
    pinMode(POWER, INPUT);
    //PIN(出力)
    pinMode(FET, OUTPUT);
    pinMode(RASP7, OUTPUT);
    pinMode(LED, OUTPUT);

  set_sleep_mode(SLEEP_MODE_PWR_DOWN);

  //ラズパイ電源ON
    digitalWrite(FET, HIGH); //ラズパイON
    digitalWrite(RASP7, LOW); //ラズパイ指示初期化

  //ラズパイ起動待ち
    while(!bit_is_set(PINB, RASP8)) {
     digitalWrite(LED, HIGH);
_delay_ms(900);
digitalWrite(LED, LOW);
_delay_ms(100);
        if(!bit_is_set(PINB, POWER)) {
            digitalWrite(RASP7, LOW); //ラズパイシャットダウン指示
            digitalWrite(FET, LOW); //ラズパイ電源OFF
return; //loop()で元電源OFF待ち
        }
    }
    digitalWrite(LED, HIGH);

//元電源OFF待ち
while(bit_is_set(PINB, POWER)) _delay_ms(1000);

//ラズパイへシャットダウン指示
digitalWrite(RASP7, HIGH);

//シャットダウン待ち
while(bit_is_set(PINB, RASP8)) {
digitalWrite(LED, HIGH);
_delay_ms(500);
digitalWrite(LED, LOW);
_delay_ms(500);
}

//20秒待ち,電源OFF実行
for(int n = 0; n < 20; n++) {
digitalWrite(LED, HIGH);
_delay_ms(100);
digitalWrite(LED, LOW);
_delay_ms(900);
}
digitalWrite(RASP7, LOW); //ラズパイシャットダウン指示
digitalWrite(FET, LOW); //ラズパイ電源OFF
}

//終了
void loop() {
sleep_mode();
}

ラズパイ

IMG_20210223_200934.jpg

ピン監視+シャットダウンプログラムを/etc/rc.localから起動

プログラムは参考の「While loop」版を元にほぼそのままで使用(7ピン監視は10秒間隔にしている)

※)割込み版はバックグランド動作しない

完成ボード

IMG_20210227_214435.jpgIMG_20210227_214450.jpg

バッテリーは基板の裏に配置した

接続

ラズパイとの接続用にソケットを作製

IMG_20210227_161542.jpgIMG_20210227_161553.jpg

ピンはラズパイ上から右ピンに多いので接続のやり易さから左右反転させている(基板の裏からみるとラズパイ上と同じ位置になる)

必要なのは8ピンまでだが切り良く10ピンまで対応できるようにしている(ただし不必要なピンは接続していない)

raspi_gpio.png

システムテストによる調整

最終確認にてソフトウェアの調整を行った

  • シャットダウン要求でシャットダウン後の電源OFFまでの時間を20秒にした(当初は5秒)→ 8ピンがOFF直後に電源OFFすると正常終了していないためディレイを入れている
  • 元電源OFFでシャットダウンまでにONになったらシャットダウン中止を削除(ラズパイ単体なら良いが3Dプリンタと連動なので必要ない)
  • ラズパイ起動後にて元電源OFF前にシャットダウンされたら電源OFFを削除(3Dプリンタと連動のため不必要と再起動を可能にした)

尚,3Dプリンタとの電源連動は(コンセントで連動でも良いが)DCDCで24Vから5Vにダウンさせ入力する予定である

(電源ON)

(電源OFF)

調整により電源OFFまで長くなっている(安全のためでもある)

参考

ラズパイZeroでOctoPrint

ラズパイでOctoPrintを試用して(拙者の環境では)便利であることが判ったので本格的に組み込んでみようかと計画

そこでそれならOctoPiは対応していないようだがコンパクトなラズパイZero(正式名:Raspberry Pi Zero)の方が良いかと考え「Raspberry Pi Zero W」を購入(W付きでないとネットワーク機能がない)

IMG_20210213_173300.jpgIMG_20210213_173450.jpg

IMG_20210213_173544.jpg

(発売当初から1台は欲しかったのだけど数の問題もあり入らなかったため保留になっていた)

印刷だけなら問題ないだろうと期待して動作確認する

OctoPiのセットアップ

今後のためポイントだけ記録

①OS(OctoPi)をダウンロード

②mSDカードに書き込み

③bootドライブを開いて「octopi-wpa-supplicant.txt」にWifi設定

## WPA/WPA2 secured
#network={
# ssid="put SSID here"
# psk="put password here"
#}

コメントを外してx部を入力

## WPA/WPA2 secured
network={
  ssid="xxxxxxxxxx"
  psk="xxxxxxxxxxxxx"
}

(※)起動後LAN経由でアクセスするために必要

④mSDカードをラズパイにセットして起動しSSH接続(pi/raspberry)

WS2021021401.png

⑤OS設定

・言語設定(ja_JP.UTF-8 UTF-8を追加)

・タイムゾーンを変更(Asia>Tokyo)

・必要に応じてパスワード(ローカルなので必要はない),ホストネームを変更

・再起動

⑥ブラウザから接続してOctoPrint設定(設定は再起動しないと反映されない)

・ユーザ設定

・プリンタ設定

XY-2 PRO,255x255x260,Y方向のinvert controlをチェック

・ファームウェア問題回避プラグインを適用

設定>プラグインから「Fix CBD Firmware」を検索&インストール

・日本語化

設定>Appearance>「Language Packs」の「Manage」ボタンを実行しダウンロードした言語ファイルをUpload,最後にSave

⑦その他

・Ultimaker Curaから直接印刷

マーケットプレース(左上ボタン)から「OctoPrint Connection」をインストール

再起動後,プリンタの設定からOctoPrintの接続設定

動作確認

ラズパイ3に比べれば動作が遅いがブラウザの操作はできる

USBにカメラを取付てディレイはあるが映像を確認できるがUSBは1つなので専用カメラを使う必要がある

印刷は1時間程度の造形が問題なく終了

IMG_20210214_125535.jpgIMG_20210214_132035.jpg

印刷の際のブラウザ表示も問題なし(カメラはない)

WS2021021402.png

WS2021021405.png

WS2021021406.png

実装

十分に使えそうなので組込方法を考えていく

  • プリンタと電源の連動(ラズパイの電源制御が必要)
  • 装置をプリンタ本体に設置(ケースを作る)

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

過去ログ

Feed