Category Archives: Raspberry Pi

RotorHazard~その2~

先日作ったRotorHazardを屋外の練習で使ってみました。

庭でTiny機を使って試した時の感触から、シールドケースにこれくらいの窓を開ければいいかなと思ったのですが・・・

思ったより感度が低く、結局は蓋を全開にしてちょうど良い程度です。

こんな感じでデータが取れます。
ほぼ問題なく取れているし取込みミスしたところは後から修正できます。

という事でいい感じに使えているのですが、PCとの間のWi-Fi回線が時々切れます。一度機体をぶつけてから発生している気もしますが単に電波状態の問題かもしません。
RoterHazard(のラズパイ)とPCの間は先日リサイクルショップにて770円で購入したWi-Fiルーターが中継しています。小型なのが気に入ってこれにしたのですがあまり強力そうには見えません。
同じ店にアンテナが3本くらい生えている強力そうなのが約900円であったのでそっちが良かったのかも。。。

家に帰って確認するとケースにペラが思いっきり当たった傷がついていましたがそれ以外に問題はなく、やはりWi-Fiルーターとの距離の問題だと思います。

次回やる時はRotorHazardとPCのなるべく中間付近にWi-Fiルーターを置いて距離を短くしてみます。

RotorHazard

NonsayaDroneWorksにRotorHazardの記事が載っていました。

私はドローンレースを主催する事はありませんが、練習の時にはラップタイムを計測したくて、この記事と同じ様にARマーカーを試したりしましたがやっぱり時々読み取りミスが発生するんですよね。また、かつてこんな記事を書いたこともありましたがその後まったく手を付けていません。
そこでこのRotorHazardなるラップタイマーを試してみようと思います。

RotorHazardはRX5808レシーバーが受信したFPV信号強度をArduinoを経由してRasberry Pi(以下ラズパイ)に渡します。ラスパイはWebサーバーとして動作し、PCのブラウザーで接続して操作できます。
RX5808とArduinoは受信するチャンネル数だけ必要なので最終的には3セット欲しいところですが、取り合えず手元にある1セット分で、またラズパイ3がおすすめらしいですが無いので手持ちのラスパイ2でやってみます。

最初RotorHazardのリリース版(RotorHazard-2.2.0)だとエラーが出たのでRotorHazard-2.3.0-beta2で実行できました。ライブラリバージョンとのからみっぽいです。
まあ何はともあれ上手く動作している様なのでAliexpressにRX5808モジュールを追加注文して2チャンネルにしてみました。
なおシールドしておかないと離れていても電波を受信してしまうのでお菓子の空き缶に収めています。

そして庭でTinyレース。庭だとどうしても計測ゲート以外を飛んでいる時の電波を拾いやすくなるのでコース設定に工夫が必要です。

こうなると野外に出て3インチや5インチの機体で試したくなります。その為にはちゃんとした基板とケースに収めたいと思います。
基板はRotorHazardのサイトにガーバーデータが掲載されているのでこのまま作ればよいと思ったのですが・・・

どうやら最小のビアサイズが小さすぎて約500円の激安仕様では作れず、見積もり価格が3000円を超えてしまいます。また基板の元データが無くてガーバーのみなので簡単には修正できないのです。

ならば新たに基板パターンを作ってみようと思った訳です。
日本では大抵3チャンネルで足りるしArduinoNANOを載せるのも勿体ないので直接ATmega328のフラットパッケージ版を載せたらコンパクトにできそうです。
また屋外のインターネットがつながらない場所で使うならリアルタイムクロックも搭載すると便利です(ラズパイ標準ではリアルタイムクロックを持っていないので電源を切ると時計がリセットされるのです)。

そして10枚500円仕様で作った基板がこれ。 。

マイコンの上を跨いで受信モジュールを実装する立体構造。

今回メタルマスクは注文せず、紙をレーザーカットしたマスクでハンダペーストを塗ってみました。ちょっと塗り辛いけど何とかなります。もしかすると塗り辛いのはハンダペーストが乾き気味だったせいかもしれません。
ただ何枚も塗るだけの耐久性はありません。

メタルだとそうでもないのに紙だと何だか汚く見える。

そしてリフロー

やっぱりリフロー炉作って良かったですねー。
表面実装できると何かと便利です。

リフローの結果。
一か所抵抗が立ち上がっています。これがマンハッタン現象ってやつですかね。
ハンダペーストの塗りが薄かったのかも。ここはコテで修正しました。

そしてブートローダー書込み×3回。

基板の裏に書き込み用パッドを設けているのです。

次にファームウェア書き込み×3回。

一旦ファームを書き込めば以降のアップグレードはラスパイからできる仕様になっています。(試してませんが)

ここでミスに気づきます。RX5808のピン並びが逆になっていて裏返しでしか実装できません。ま、とりあえず裏返しに実装します。

ラスパイに載せて動作確認OK!
ラスパイはメルカリで格安だったラズパイ3にアップグレードしています。

ボタン電池が載っているモジュールがリアルタイムクロック。

先日のMP1854ENモジュールを取り付けてリポから電源を取れるようにしました。

ケースに使う空き缶を探しましたがちょうど良いのがなかったので、2.5mm厚のMDFをレーザーで切って箱を作り、ダイソーの0.3mm厚アルミ板(裏面テープ付き)を貼り付けてシールドしました。

ケースのアルミシールドは回路のGNDに接続。

電源の入り口

XT60コネクタで給電

蓋を一部切って電波を取り入れます。ここの開き具合で感度を調整する予定。

ここの空け具合は色々調整してみます。

なおWi-Fiのアクセスポイントがない屋外で使うときは 、ラスパイとPCとの間をアドホックモードでつなごうと思いましたが設定変更が面倒です。
結局リサイクルショップに行ったらWi-Fiルーターが¥770だったのでこれを使う事にしました。

Wi-Fiルーター。中古とはいえ安くなったもんです。

これで完成かな。今度練習する時に使ってみようと思います。

ところでいまRotorHazardのページを見たらこんな基板がリリースされています。Arduinoの代わりにSTM32を使い、マイコン1個でRX5808モジュール8枚(ドミノ倒しみたいに縦に実装!)を制御するという構造。進化してます。
しかし8台同時にレースできるんですね、海外って。

ラズパイ上のPronterfaceをTT-SSHのフォワーディングを使ってWindowsPCに表示

先日から3Dプリンタ2号機にRaspberryPiを乗せ、Pronterfaceの画面をメインPC(Windows)に飛ばして使っています。Pronterface/X

ラズパイ上でPronterfaceはX-Windowのアプリケーションとして動作するので、Windows側ではX端末ソフトを動かせばネットワークを経由して表示できます。
メインPCには既にCygwinをインストールしてあるのでこれをX端末として使用しました。

で、今までこういう時はX端末を起動したローカルPC側で’xhost +’コマンドを実行し、リモートホスト側ではDISPLAY環境変数を設定した上でアプリケーションを起動するという手順を踏んでいました。昔ながらのやり方です。

‘xhost +’はあらゆるホストからの要求を受け入れて画面に表示してしまうのでセキュリティ上よろしくないのは分っていましたが、家の中で使うのなら大した問題はないだろう・・・と。

しかし今回TeratermのTT-SSHでフォワーディングを試したところ、単にセキュリティ的に安全というだけでなく手間が大きく省ける事を知りました。
比較するとこんな感じ。

Xforward

新しい方法も面倒がらず、何事も試してみるべきでした。

3Dプリンタ2号機~その8~

やっぱり二代目3Dプリンターにラズパイを取付けました。
初代RaspberryPiのModelBです。

3dp28_1

Raspberry Piをねじ止め。

ラズパイにモニターやキーボードは取付けていませんが、Xwindowの画面をメインPCに飛ばしPronterfaceを実行できます。
又はTeratermでログインしてPronsoleを使う事も。。。

フロントパネルにはラズパイ専用の電源スイッチとシャットダウンボタンを設置したのでLCDコントローラだけで動作させる場合にはラズパイ電源はOFFにできます。

3dp28_2

手持ちのスイッチを取付け。

なお特に対策をしなければラズパイ専用電源をOFFにしてもArduinoからの電圧でラズパイのLEDが点いてしまいます。正常動作する程の力はない様ですがArduino側のレギュレータに負荷が掛かりそうです。気持ち悪いのでUSBコネクタの+5V端子にカプトンテープを貼って絶縁するという、いい加減な対策をしました。

3dp28_3

USBコネクタの+5V端子を絶縁。

 

これで3Dプリンタ2号機は一旦完成とします(多分まだ何かやりますが)。

3dp28_4

3Dプリンタ2号機~その6~

前回の投稿では1層目の貼り付きが悪いと言って一生懸命Z軸のレベル調整を行なった挙句、結局はプリントベッドをアルコールで拭いたら改善したというオチでした。その後も貼り付き性には問題なく、ネットで調べたらアルコール拭きは常識みたいですね。勉強不足でした。

コントロールPCのラズパイ化検討

3Dプリンタ1号機ではこの時設定したUbuntuマシンをまだ使っていました。たしかCPUはPentium4だったかな?
2号機もコイツで動かしてもいいのですが、レーザー加工機の制御PCも兼ねているので両方同時に使えないんですよね。また先日はボタン電池が切れて交換したし、そろそろいつ止まっても不思議ではない状態です。
他に使えるPCもないのでわが家に何個かあるラズパイで試してみようと思います。

Raspberry Pi1 ModelB

ラズパイの中では最も古いModelBです(+でも2でも、もちろん3でもないヤツ)。動作速度がどうかなーと思いますが、まずは試してみます。

3DP26_1

Raspberry Pi1 ModelB

Pronterfaceをインストール

Pronterfaceをインストールするのですが、まずはその前に今このRaspberry Piに入っているOSはいつのだか判らないので最新版のRaspbian(STREATCHと言うそうです)を入れ直しました。
その後・・・
’sudo apt-get install printrun’ で何事もなくインストール完了。

実行すると見慣れた画面が立ち上がります。
そしてプリンターと繋いで実行すると・・・なんかやっぱり遅いです。モデルの表示を2Dにしても操作した後10秒ぐらいしてからやっと反応する感じ。3D表示だと固まったかと思います。これはちょっと使えるレベルではありません。

pronsole

pronterfaceと一緒にpronsoleというのもインストールされています。こちらはコマンドラインでプリンターを操作できるものなので、メインPCからSSHでログインして操作可能です。 これだとGコードのロード時以外は遅さを感じないので、これもアリかと思います。

Raspberry Pi 2

Pi1だと遅いのですが、ならばRaspberry Pi2ではどうなのか試してみます。 このラスパイ、流行りに乗ってAIY VOICE KITに使ったのでこんな箱に入ったままです(AIY VOICE KITは Raspberry PI3を使うものとされていますが、わが家にPi3はないので2で試したところ、それなりに動いていました)。

3DP26_2

Raspberry Pi2(AIY VOICE KITに収納)

OSはAIY projectのイメージをSDに焼いたもの(ベースはRaspbian Jessie)が入っているのでこのまま使います。
ここでも上と同様にapt-getでインストールを試みたのですが、printurnが見つからないと言ってきます(apt-getの使い方を良くわかっていないだけかもしれません)。そこでGithubからソースを取ってきました。
実行してみると3D表示はやはり遅くてダメですが2Dなら問題なく使えるレベルです。

それぞれのレビジョン確認

ここでPi1とPi2で微妙に画面表示が異なるのが気になり、レビジョンを確認したところ・・・

Pi1   :2015.03.10
Pi2   :1.6.0

なんかレビジョン番号の付け方から異なっていて、どっちが新しいのか分かりません(当然GitHubから取ってきた1.6.0が最新だとは思いますが)。

もう一度Pi1に戻って最新版Pronterfaceをインストール

そこで再びPi1に戻って1.6.0をインストールしてみました。すると結構速度は改善されている様です。当然Pi2には負けますがなんとか使えるレベルだと思います。

(ここら辺の「使えるレベル」とか「遅い」とかは全て私の主観です。念の為。)

・・・という事で

Pi1で行こうかと考えながらも、ラズパイがつながるモニターはメインPCのしか持ってないんですよね。結局、RAMPSに液晶ディスプレイとSDカードを付ければそれでもいいかなとも思って揺れています。

RepRapのSenderって・・・

ところでPronterface等のSenderソフトって何をやっているんでしょう?想像では単にファイルからGコードを読んでArduionoに向けてシリアル送信するだけで、いくら古いラズパイだからってそんなに重い処理ではない様な気がします。実際Teratermでプリンターに接続し、’G0X10Y10F300’とか打ち込んでやるとその通りに動作します(エコーバックがないのでローカルエコーをONにし、改行コードを’LF’にしておく必要あり)。

Senderの動作としてとりあえず次のあたりが疑問です。

  • ロードとはどこにロードするのか?
    RAM上?
  • プリント中のフロー制御。
    プリンターの動作にどうやって同期しているのか?Arduinoとの接続では恐らくハードウェアフロー制御はできないと思っているので、Xon/Xoffなのか、または別の方法なのか?

という事でpronsoleのソースを眺めています(Pythonの経験値が低いので苦労しながら)。わかったら報告します。

FRISKのケース

電子工作界で話題のFRISKのケースサイズ変更、熊本ではまだ見かけないと昨日書きましたが、今日発見したので早速購入しました。

FRISKcase

FRISKケース新旧

長辺は同じですが短辺が約5mm、厚みが約0.4mm増えていました(ノギスでの実測)。
ちょっと前のMake:のブログでRaspberryPi ZEROがFRISKのケースにギリギリ納まらないという話題が載っていましたが、新規格では納まるんじゃないでしょうか。

でも旧規格の小型ケースは今後入手困難になるんでしょうね。

 

山口ミニメイカーフェア終了

終わってしまいました、山口ミニメイカーフェア

YMMF2015

YMMF2015
ほいほい堂ブースの風景

今回、OpenStickとRaspberryPiモータードライバをキット化して販売しました。結果は二日間でOpenStickは6セット買って頂けましたが、モータードライバは残念ながら一つも売れませんでした。コマーシャルメイカーの出展費用が¥10800なので全く元が取れていません。予測ではマニアックなOpenStickよりもモータードライバの方が買ってもらえるかなと思っていたけど逆でした。

ほいほい堂本舗のブースは毎回、子供のたまり場と化すのですが今回も同様でした。特にフライトシミュレータは奪い合いで、これまたいつも通りフライトヨークの根元が壊れては修理を繰り返しています。今回は少し丈夫にしてきたつもりでしたが、やはり何度か修理が必要でした。

ところで初日にヨットシミュレータに妙に大喜びの子供(幼稚園児ぐらい?)がいて、それを中国新聞の記者さんが写真に撮って行かれ、翌10月20日の朝刊に掲載されました。そのお陰か二日目は結構ヨットシミュレータが人気になりました。
中国新聞の記事ネット版(「技術の結晶」は言い過ぎかと・・・)

今日は熊本に戻ってきてヨークを修理中・・・。

Yoke

ここをもう少し強化する必要がある。

YMMF2015キット販売

来週の山口ミニメイカーフェアで販売を予定しているキットの取説ページを作ってみました。

OpenStick基板キット

OpenStickPCB

OpenStickの基板キット

RaspberryPi用モータードライバキット

RaspiMDKit

RaspberryPi用モータードライバキット

どちらも価格は未定です。
その他、小物の販売も検討しています。

 

おいでませ、山口へ 2015

来週はヤマグチミニメイカーフェア2015です。
またまたフライトシミュレータ、ヨットシミュレータほかを出展してきます。

なお今回は初の試みとしてOpenStick基板キット、RaspberryPiモータードライバーキット他を販売する予定です。なのでコマーシャルMakerとして登録しています。
(売れるかな・・ドキドキ)

FlightYoke

フライトヨーク

ヨットシミュレータ

 

Maker Faireでモータードライバ基板プレゼント

もうすぐMaker Faire Tokyo2014。
当日会場で「ブログを見た。基板くれ。」と言っていただくと、以前作成したRaspberry Pi 用モータードライバ基板をプレゼントします。 先着5名様まで。

Raspberry Pi Motor driver

モータードライバ基板

モータードライバIC東芝TA7291Pを最大3個載せる事ができます。
またラジコンサーボ2回路、LEDのON/OFFを1回路、シャットダウン等に使えるタクトスイッチ1回路が載ります。
電源は5Vのみ対応(ニッケル水素×4本で動作させていました)。

※Raspberry Pi A/Bを想定した基板です。(最新のRaspberry Pi B+では固定穴の位置が異なるので取付けに工夫がいると思います)。
※基板のみです(部品は無し)
※基板の良品確認はしていません。また不具合が発生しても責任は持てません。
※Raspberry PiからのH信号レベル(3.3V)がTA7291PのH入力範囲より若干低いです。実用上問題ありませんが自己責任でご使用願います(手持ちの数個を測定したところではいずれも約2.7V以上で動作していました)。