3Dプリンタ修理完了

Original Prusa i3 MK3S用の新しいエクストルーダーが到着するまでの間、ZONESTAR P802Qを修理。

P802の方は、リミットスイッチ周りとホットエンド周りがうまく行ってないので、Y軸のリミットスイッチとZ軸のリミットスイッチにスペーサとして木片をかませ、調整をした。まぁ、これでなんとかリミットスイッチ周りはOK。ホットエンドは…フィラメントのロード、アンロードがスムーズに行かないのだけど、おそらく内部のジョイント部分で詰まるのだろうと予測。仕方ないのでロードとアンロードの度にノズルを分解することで対処。

あと、Curaをスライサとして使用しているのだけれど、これがP802をUSB経由で認識しない。COMポートはPC上でできているので、認識できない原因がよく分からない。しょうがないのでSDカード経由で印刷することで対処する。これでなんとか出力できるようになるものの、吐出量が理想より少なくて出力したものがスカスカに。これも強引に吐出量を200%の設定にして対処。なんとか及第点のものを出力できるようにまで持っていった。吐出量はなんだろうなぁ、無負荷のときに出すとき(空中)はスムーズに出るのだけど、ステージに出そうとすると途端に出にくくなる。うーむ。

吐出量の違い。右に行くに従って徐々に多くしていっている。

まぁとりあえず出力はできたので、研修で使う残りの分の出力と、P802本体のパーツを出力してZ軸については木片でごまかしていた部分を解消。Y軸は…そのままでもいいかも。

左パーツ。青いものが新しく出力したもの。Z軸用のリミットスイッチを押すネジを入れる穴の位置が違う。

そんなこんなしてるうちにPrusaの方のエクストルーダーが届いたので装着。温度の認識もしっかり取れる。さすが専用。

キャリブレーションでちょっとひっかかったものの、おおむね故障前と同じものを出力できるように。こうして見るとP802Qより精度は高い。調整次第でP802Qもこうなるのかな。

P802Qで出力したもの(左)とPrusaで出力したもの(右)基本同じデータでも、ぜんぜん違う。

3Dプリンタの修理

現在所有している3Dプリンタは以下の通り。

1台は「ZONESTAR P802Q」(Prusa i3 クローン)で2017年の6月にAliexpressで購入。$ 272.57。造形エリアは220 × 220 × 240mm。
2台目は「ORIGINAL Prusa i3 MK3S」で 今年8月31に 公式サイトより購入 。$793.99。。造形エリアは250 × 210 × 210 mm。
いずれも自分で組み立てるタイプで組み立ては1日がかりでした。

さて、2月に研修会をやるのですが、3DプリンタでFA-130のモーターマウントを作って回転台を作成するという内容です。モデリングはFusion360で済んでいるのであとは出力するだけ…。

で、ちまちま出力しているのですが、すこぶる調子が悪い。

そもそもZONSTAR P802Qの方はリミットスイッチが壊れててリミットスイッチをなんとかしないと動かないのでOriginal Prusaの方で作ってますが、こちらも詰まりが酷くて何回もエクストルーダーを取り外したりつけたりしているうちにエクストルーダーのヒーターケーブルが断線。 ついでにファンも断線。ファンの方は基板からハンダがもげてるのでハンダ付けでも厳しいかなぁ。エクストルーダーの新しいのとファンの新しいのをAmazonで購入するもサーミスタ部分の抵抗値が違うらしく温度を正しく認識せず(異常加熱中と判断される)。 サーミスタだけ古いのを流用 しようと思ったけどイモネジが硬すぎて外れない…。しょうがないので、E3Dのサイトから直接エクストルーダーを調達(£57)。届くまでストップかな。

本当はPrusa公式ページでエクストルーダーを売ってればそこから購入するのか確実なんだけどね。 イギリスとかだとAmazonでも公式のやつを購入できるようですが、日本のAmazonでは扱ってないし。うーん。断線の前に、X軸のエラーも出てたんだけどこれエクストルーダーだけで済むのかな。

エクストルーダー届くまでZONSTARの方を修理するかなぁ。

ConoHaWINGに乗り換え。

今までSeerversMan@VPSで運営していましたが、ConoHaWINGに乗り換えました。

理由は表示までのレスポンスが悪かったということで、地味にこれがサイト更新を妨げていたのです。まぁ、安かったんですけど。

ConoHaWINGに乗り換えるに当たって、とりあえず移行してしばらく様子を見ましたが、レスポンスは悪くないと思うので、ちょっと価格は上がりますが(と言っても安い部類だけど)こちらに移行しようと思います。

ServersMan@VPSが月額467円(Entryプラン)
ConoHaWINGが4円/時、月額最大1200円(ベーシック)

移行もそれほど大変ではなく、独自ドメインの設定も以前より簡単になっていました。何でもそうですが、時代が進むと色々簡単になるなぁ、と思います。

探査機ボイジャーとゴールデンレコードに関する覚え書き

1977年に、NASAが2機の探査機ボイジャー1号と2号を打ち上げた。今年(厳密には昨年だが)はそれから40周年の節目の年である。主な任務は太陽系の惑星の探査であった。幸運なことに、当時外惑星が同じ方向に並んでいて、1つの探査機でより多くの惑星の調査ができる、というタイミングと、宇宙探査が盛んであった当時の社会情勢とがそれを可能にしたのだと思う。今でも好条件がそのタイミングしかないなら、NASAは探査機を送る可能性があるが、それでも2台は送らないだろう。

・ボイジャー計画 (wikipedia)
https://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%A4%E3%82%B8%E3%83%A3%E3%83%BC%E8%A8%88%E7%94%BB

・Voyager – The Spacecraft (NASA)
https://voyager.jpl.nasa.gov/mission/spacecraft/

ボイジャーは、そこにいかなければとれない情報を収集して地球に送ってくれた。そのどれもが輝かしい成果である。惑星探査は既に終わってなお、最も遠い場所を航行する人工物として今もほぼ等速直線運動をしている。

こんな物体はボイジャーしかない。

(追記:と、思ったら、パイオニア10,11号を忘れていた。後述のゴールデンレコードについても、その原型ともいえる金属板を搭載している)

また、ボイジャー計画が素晴らしかったのは、太陽系の惑星の探査だけに留まらせずに、探査が終わった後、太陽系外へ向かうボイジャーにメッセンジャーとしての使命を負わせたところだと思う。

通常、探査機はその任務を終えれば、ただの機械のかたまりとして無用の長物と化す。しかし、ボイジャーは惑星観測に必要な機能を切って、電池を延命させ、今も周囲の情報を送ってきている。それだけでも素晴らしいのに、たとえ、近い将来電源を完全に失っても、搭載している「ゴールデンレコード」―文字通り、金の円盤であるが― を、もしかしたらいるかもしれない地球外生命体のために運び続けている。ただ、一番近い隣の恒星でも約4万年後に1.7光年以内に接近という途方もない話なので、地球外生命体に回収される日が来るかどうか、そのとき人類が存在しているかどうか分からないけれど、人類の痕跡を運んでいると思うと感慨深い。

・Voyager record(NASA)
https://www.jpl.nasa.gov/multimedia/voyager_record/index_voyager.html

・Voyager Golden Record
http://goldenrecord.org/

なんか、当時の宇宙探査については、夢というかロマンがあっていいなぁと思う。
今の宇宙開発分野では、技術は進歩して当時よりできることは多くなっているはずだけど、現実的過ぎて、そういう部分に物足りなさを感じる。

さて、ボイジャー40年の年に、いろいろ動きがあった。

・惑星探査機ボイジャー1号「37年ぶり」にエンジン復活 NASA
http://www.hazardlab.jp/know/topics/detail/2/2/22965.html

姿勢制御装置(データ送信のためボイジャーを地球に向けさせるための装置)が劣化してうまく働かなくなってきているので、37年使ってなかったメインのエンジンで姿勢制御をおこなったという話。

・宇宙人向け「ゴールデンレコード」を地球人用に復刻させるプロジェクト、Kickstarterで始動 – wired
https://wired.jp/2016/09/23/voyager-golden-record/

40年記念として、ゴールデンレコードを復刻という話。
クラウドファンディングサイト(Kickstarter)で話が持ち上がり、今現在、クラウドファンディング自体は成功裏に終わっている。(https://www.kickstarter.com/projects/ozmarecords/voyager-golden-record-40th-anniversary-edition)

この話を知った時点(2017年9月頃)ですでにクラウドファンディングは終了してたんだけれど、成果物である復刻版はOzma Record(http://www.ozmarecords.com/)から今からでも購入できる。というか、買った。ちゃんと日本にも送ってくれる。全文英語だけどね。

いくつかエディションがあって、ゴールデンレコードに収録された音声が2つのCDに、収録された画像とボイジャーが送ってきた画像が本になったものは$50(今のレートで約5,500円)で手に入るのでお手軽。12月中旬に手元に届いた。装丁もセンスがあっていい。授業でボイジャーの話ついでに紹介しようと思う。

ゴールデンレコードを細部まで復刻したLPボックスについては、$98で購入できる。$50の方だけで十分なんだけど、クラウドファンディングでの成果物ということで、いつまであるか分からないし、せっかく40周年記念なのでこっちも購入したのだけれど、2月中旬あたりに届くらしい。

Google Science Journal とArduino (2)

前回の続き。

一応、動作するようになったので、それはOKなのだけれど、すごく大掛かりになってしまった。

 

使おうとしたgoogle-science-journal-arduinoライブラリが通常のArduino IDEではなく、PlatformIOを使うようで、「PlatformIO」って何だ?というところからスタート。

で、どうも、このPlatformIO、マイコン間の差異を吸収してコンパイルしてくれるPythonのプログラムのようで、「まじかー、Python入れなきゃいけないのか」ということと、PlatformIO自体も、何かエディタにプラグインするような感じで使うようだということに、ゲンナリする。

つまり、Python、エディタ、PlatformIO(プラグイン含む)と、3ついれないといけない。うへぇ。

古いgoogle-science-journal-arduinoライブラリを扱ってる動画をYoutubeで見たんだけど、それは普通にarduinoIDEでやってたから簡単にいけるものだと思っていた。

まぁゲンナリしていてもしょうがないので、環境を構築するところから。

まずPythonを入れてパスを通す。これはまぁいい。

次に何のエディタにするか、だけど、今回はVisual Studio Codeを選んだ。

インストールした、VSCodeからPlatformIO IDEのプラグインを入れればそれでOK。

で、google-science-journal-arduinoライブラリを読み込めば万事OK、のはずが、いざArduino101にスケッチをアップロードするところでエラー。

後からわかったことだけど、この組み合わせは、どうも既知の不具合があるようで、そこで一回つまった。

PlatformIOを使うならatomというエディタとの組み合わせがいいらしい。

で入れ直すのも面倒なので、これも、一応無理やり解決する方法を見つけたため、それを実行してエラーはでなくなった。

あとは、サイエンスジャーナルから外部センサーを選んでつないであげると、好きなピンの値を読むことができた。使うのは簡単で、すごく便利。

…これ、読み取った電圧生データを送ってきて、表示も単位なしの生でーただけど、変更もできるのだろうか。Arduino内部で校正とか計算とかしてできれば単位とかもちゃんと表示したいのだが…。

 

あと、今回のことで、自分が然最新の情勢から取り残されているのを実感した。
Arduino101も、PlatformIOも、Visual Studio Codeも存在を全然知らなかったし、Pythonも今回初めて扱った(っていっても入れただけだけど)。

Arduino101なんか、存在を知って、調べたら、既に生産終了してるとかそういう。

今日はここまで。

Google Science Journal とArduino (1)

Google Science Journal(サイエンスジャーナル)というアプリがAndroidにあります。(iOS用にも出てるようです)これは、Googleが出してる無料のデジタル研究ノートで、スマホに搭載されているカメラ、各種センサーをフル活用して計測したり、記録したりすることができます。

スマートフォンは、でかい高精細ディスプレイ+タッチパネル+カメラ+センサーの塊なので、計測、記録、そして表示デバイスとしてはお得感が強いのでこれはうまくやったなという感じがします。

極めつけは、Bluetoothで外部センサーと接続ができるらしいということで、そうなると、スマホに搭載されていないセンサーを使えるということで拡張性もある。

じゃぁということで、Bluetoothでつながる機器はというと、なんと、Arduinoの文字が…。もうこれ、何でもありじゃないですか。

 

ということで、サイエンスジャーナルでBluetooth経由のArduinoを使おうと思い立った。しかし、一筋縄ではいかなかった。

そもそも、ウェブ上に日本語の参考サイトがない(少なくとも検索で引っかからない)。サイエンスジャーナルそのものは、ニュースサイト等で言及があるけれど、外部センサーの具体的な使い方まで言及しているものがない。じゃぁ、ということで英語で当たるとあるんだけど、ないならまぁ自分が日本語圏での参考サイトになればいいかなと思って書き記します。需要ないのかなぁ。便利だと思うんだけど。

まず、Arduinoってことなので、Uno + Bluetoothモジュールでなんとかなるだろうと辺りをつけて調べる。

ライブラリとしては、GitHubにそのものずばりというhttps://github.com/google/science-journal-arduino

があるんだけど、それを使おうとすると、

This sketch is used to make an Arduino that has Bluetooth Low Energy (BLE) capabilities (such as the RedBear BLEND board and the Arduino 101) send data from its pins to Science Journal. The arduinoUno firmware is provided for reference, but does not work because of limited RAM on the Uno.

という文章が。

簡単に和訳すると、

「このスケッチは、Bluetooth Low Energy(BLE)機能を持つ(RedBear BLENDボードやArduino 101などの)ArduinoがピンからScience Journalにデータを送信するために使用されます。 Arduino Unoファームウェアは参照用に提供されていますが、UnoのRAMが限られているため動作しません。」

とのこと。

「UnoのRAMが限られているため動作しません。」

…なんてこった。ということはこのライブラリを使うのは無理かぁ、ということなんですがまぁとりあえず、BLE機能を持つArduinoならいけるということでもあるので、まずはそれでやってみて、可能ならUno + Bluetoothモジュールでも動かせるサイズのスケッチにできないかと考えています。

まぁまずはBLE付きのArduinoということで、Arduino 101とやらを秋月で購入。

今回初めてその存在を知ったのですが、どうも、Arduino 101は既に生産中止のようで、在庫限りのようす。…まぁちょっと高いのでたくさんは買えないかなぁ。

中途半端ですが、今日はここまで。

Arduinoでキッチンスケールの出力を受け取る

題名の通り。

ことの発端は、薬品管理をなんとか楽にできないか、ということです。
学校で使う薬品は、鍵のかかる薬品庫に保管しているわけですが、使用に伴って、管理簿に使用した日付、薬品、使用した質量と、現有質量をその都度記入していかなくてはいけません。ただ、これがとてつもなく大変で、日々のゴタゴタの中では、とりあえずメモしておいて、時間のあるときに転記、というパターンが多い。(つまり、リアルタイムで管理簿に反映されにくい)

この辺を自動化できないか、ということで、理想的にはICタグかなんかを薬品の容器に貼っておいて、電子てんびんに載せると、ICタグ読み取りで薬品の特定と、質量の計量を同時に行って、日付と時間と紐付けて記録、となれば電子てんびんの上に置くだけで現状の記録が全てOKとなるわけです。

Arduinoとストレインゲージあたりでできると思うのですが、結局、薬品管理の関係上、履歴を見たり、必要な分の出力を紙でしたりできないといけないので、そしたら、PCと通信させればいいかなぁと。Arduinoはシリアル通信ができるので、シリアル通信で値を送る。
送られる側はProcessingとかNI LabVIEWとかでもいいんだけど、まぁ、結局帳簿を管理するんならExcelだよねー、ということで、Excel+EasyCommという感じ。

ストレインゲージも、まぁ、薬品を置く機構とか考えたら、既存のキッチンスケールをそのまま使ったら良いんじゃない?ということで、調べるとオペアンプで増幅でもいけるみたいだけど、HX711というモジュールを間にかますといい感じらしいということで、その方向で。

この辺は、2年前くらいにも考えて、そのときは、あんまり情報源がなくって、ネットで検索してもストレインゲージで得た値をオペアンプで増幅くらいの記事ばかりだったんだけど、HX711使う記事が最近出てきたので、軌道に乗った感じ。HX711だとライブラリのおかげで、深く考えなくても質量が出てくるのがいい。ちょー楽。

結論。

  1. Arduino+HX711で安いキッチンスケールからの値を読み取る
  2. 読み取った値はシリアル通信で出力
  3. Excelのvba、EasyCommでシリアル通信を受ける
  4. 読み取ったデータをもとに、帳票をExcelで管理

という流れ。
ICタグ周りは後でやればいいかなぁということでとりあえずここまで。

●実際の配線

省略します。特別なことはしていません。参考サイトからどうぞ。

[blogcard url=”http://barcelona.lomo.jp/wp/?p=23″]

このへん。写真だけ載せておく。


キッチンスケールとArduino+HX711シールド


裏面。

●Arduinoスケッチ

H711ライブラリ使用。キャリブレーション済

#include <Arduino.h>
// https://github.com/bogde/HX711
#include "HX711.h"

//DT,SCKは実際の配線に応じる
const int DT_PIN = 3;
const int SCK_PIN = 2;
//キャリブレーション用変数。ロードセルに依存
const int calibrate_dec = -1099;
HX711 scale;

void setup() {
Serial.begin(9600);
scale.begin(DT_PIN, SCK_PIN);
Serial.println("Init");
// scale.set_scale();の(calibrate_dec)内にロードセルに応じた値を入れる
// 使用したキッチンスケールだと-1099がいい感じの値
scale.set_scale(calibrate_dec);
Serial.println("tare");
scale.tare();
}

void loop() {
// scale.get_units(10)の値を小数点以下2桁まで表示
//scale.get_units(10), 1にすれば1桁
Serial.println(scale.get_units(10), 2);
scale.power_down();
delay(100);
scale.power_up();
}

●Excelファイル

使い方は大体分かると思います。単純な機能のみです。

計測用.xlsm

※Win10Pro(x64) + Excel 2013で作成
※EasyComm使用。有用なモジュールをありがとうございます。
※常識の範囲内で、ご自由にお使いください。
※ご使用において、いかなる損害が生じた場合も、一切責任を持てませんのでご了承ください。

●検証

別のキッチンスケールで計量。ちょっと影になってて暗いけれど、346g(1g単位)。

 

Excel+EasyCommのシリアル通信で得た値。346.11g(小数点以下2桁表示)
少数第2位の値は常にゆらいでいるので、整数桁までは問題なく使用できそう(小数第1位はギリギリ使用できるかどうか微妙なところ)

Excelの結果。勝手にグラフ(散布図)にしてくれる。ポンっと上がったところが試料を載せたところ。

受信ソフト側(Excel+EasyComm)は、単純にシリアル通信で値を受けて表示+記録してるだけなので、g表示だけ直せば、他の用途にも使える。

●参考サイト

  • ストレインゲージの基本的なところとか
    • [blogcard url=”www.eleki-jack.com/FC/2011/11/1.html”]
  • ストレインゲージの出力をオペアンプで増幅するパターン
    • [blogcard url=”http://hackist.jp/?p=4362″]
  • HX711モジュールを使用するパターン。Arduinoスケッチサンプルあり
    • [blogcard url=”https://lowreal.net/2016/12/25/1″]
  • キッチンスケール+HX711版。
  • ロードセルとHX711、キャリブレーションとサンプリング周波数UPについて。Arduinoスケッチサンプルあり(LCD使用)
    • [blogcard url=”http://barcelona.lomo.jp/wp/?p=23″]
  • キッチンスケール+HX711、mbed使用(Not Arduino)
    • [blogcard url=”http://embedded.hateblo.jp/entry/2016/09/23/180733″]
  • キッチンスケール+HX711+LabVIEW Home Edition。Arduinoサンプルあり。
    • [blogcard url=”http://keisoku-lab.mond.jp/2017/07/11/%E3%82%AD%E3%83%83%E3%83%81%E3%83%B3%E3%82%B9%E3%82%B1%E3%83%BC%E3%83%AB%E3%82%92hack%E3%81%97%E3%81%A6-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E5%87%BA%E5%8A%9B%E3%81%AE%E7%A7%A4%E3%82%92%E4%BD%9C/”]
  • ロードセル+HX711
    • [blogcard url=”http://dokechin.hatenablog.com/entry/2017/01/27/075507″]
  • ArduinoとEasyCommについて、EasyComm導入について詳しい(EasyCommのプロパティ・メソッドについても記述がある)
    • [blogcard url=”https://blogs.yahoo.co.jp/nobita_rx7/28090650.html”]

教材として使用できるサイト

  • 理科一般
    • NGKサイエンスサイト(日本ガイシ)[blogcard url=”http://site.ngk.co.jp/”]
      家庭でできる科学実験シリーズ
    • 科学のネタ帳[blogcard url=”http://phys-edu.net/wp/”]
  • 中学一年 大地
    •  国立研究開発法人産業技術総合研究所[blogcard url=”https://gbank.gsj.jp/volcano/index.htm”]
  • 理科教員サイト
    • ラスカルのブログ(停止)[blogcard url=”http://ameblo.jp/rascal1910/”]
    • ホチキス先生の「プログラマーと呼ばれたい」[blogcard url=”https://matsumotoyoshio.wordpress.com/page/2/”]
    • ちぢの部屋(停滞?)[blogcard url=”http://chijiiwa.org/blog/”]
  •  その他
    • 読書猿[blogcard url=”http://readingmonkey.blog45.fc2.com/”]
    • はてなブックマーク[blogcard url=”http://b.hatena.ne.jp/”]
    • 最新の教育まとめ(Togetter)[blogcard url=”https://togetter.com/category/life/91/recent”]
    • 思索の海[blogcard url=”http://d.hatena.ne.jp/dlit/”]

ブログ再開。

何年ぶりかにブログを開設します。

Facebookも、Twitterも、いまいちしっくりこなかったので、結局、ブログに落ち着くことに。

独自ドメインも放置していたので、この機会に使うことにした。
以前は独自サーバー+独自ドメインだったけど、今の時代だとVPSなんだろうなと思ってそうしてみた。興味もあったしね。

さて、ブログ名は「シコウ領域。」
いろんな好み、興味・関心事について、考えて、試して、やってみて、方向性をさぐって、より高みを目指してく、そんなサイトにしていけたら、そう思う。