2018年01月12日

OLED用のライブラリ

DSmainR5.1やR5有機EL(OLED)化が好評で、嬉しい限りです。来週末には、もう少々、改善したファームウェアをリリースするつもりです。

TwayDCCさん 初仕事
・スマイラーさん 遅れ馳せながら、DSmainR5のLCDをOLEDに載せ替え!
トレジャーさん 今年最初の作業
など、他にも多くご紹介いただきありがとうございます。

このファームには、OZoledライブラリを使用しています。ネットで通常だと、u8glibが推奨されていると思います。

なんで、あえてu8glibを使わなかったのかというと、重すぎるからです。超多機能ですが、ROMを凄まじく消費するので、使いにくいと感じていました。そこで、シンプルで機能も最小限ながら使いやすい、OZOledを使用することにしました。私は「引き算の技術」「Simple is the best」をモットーにしているので、全部入りは避ける傾向にあります・・・。

使い方は、OLED対応のNanoスケッチを見てくれれば良いですが、簡単です。
inoファイルの宣言部で以下のように宣言します。


OzOLED LCD;


setupで初期化します。


/* OLED init */
LCD.init();
LCD.clearDisplay(); //clear the screen and set start position to top left corner
LCD.setNormalDisplay(); //Set display to Normal mode
LCD.setPageMode(); //Set addressing mode to Page Mode
LCD.printString("Desktop Station", 0, 3);
LCD.printString("Welcome aboard!", 0, 2);
LCD.printString("R5.2 FW4", 0, 5);


文字を表示したいときは、printStringを使うと簡単です。128x64ピクセルのディスプレイを8x8のマス目にした形で、文字を描画できます。X=横、Y=縦です(中学生で習うので常識ですが・・・)。なお、ちょっと違うのは、コンピュータの画面上の中心(X,Y)=(0,0)は左上なのが注意です。


LCD.printString("文字",X位置位置,Y方向位置);


128x64ピクセルのディスプレイなので、16x8=128文字を表示できます。AQM0802よりケタ違いに多いですね・・・。なお、アイコンを表示したり、図形を表示することもライブラリをいじれば出来ます。


posted by yaasan at 19:32 | Comment(0) | 工作

2017年12月24日

Micsigサンタから、クリスマスプレゼント?

この年末は、いろいろ注文していたのですが、1点だけ見知らぬ荷物がありました。

とりあえず、今夜に郵便屋さんに持ってきてもらうのは忍びないので、明日夜指定で依頼をかけたところ、なぜか先ほど持ってきてくれました。クロネコも、再配達依頼しようと思った瞬間に持ってきたりと、なんかだいぶ混乱?しているみたいですね。本当にすみません。狙ってクリスマスイブに届くようにしたわけではないんです・・・。

で、見知らぬ荷物は、ゆうパックなのですがFedexというよくわからない内容でした。

MicsigDiffProbes1.jpg

開けてみると、なんと中国のオシロスコープメーカーのMicsig高電圧用の差動プローブ DP10013(100MHz, 1.3kVmax)が入ってます。三相交流を扱う電機屋では必須アイテムですね。

MicsigDiffProbes2.jpg

というか、これ1つ170米ドルもするのに、2個入ってます(テクトロとかのだったら、もっと目玉が飛び出るくらい高い)。なんじゃこりゃ!頼んでないのになんで送ってきたんだと、とりあえず、前に液晶のトラブルで話をした、Micsigの担当者に連絡を入れました。間違えて送ったから送り返して、って言われたらどうしよう・・・。

Micsigのオシロって何?って人は、Micsigのオシロのレビュー話はこちらから。

差動プローブがあると、浮かしている信号を見れるので、いろいろ応用範囲が広がります。DCCのパケットを両端の電圧で見ながら、全然違う回路の信号を見るとかができます。絶縁型のオシロでできる芸当が気軽にできます。ただ、自宅用に差動プローブ持ってる人は、日本でもそんなに多くないでしょうね・・・。

まあ、とりあえず箱は開けてしまいましたが、勝手に使うわけにもいかないので、返事を待って対応したいと思います。クリスマスプレゼントってことでしたら、ここで細かく使い方のレビューをしたいと思います。会社にあるのより、気軽に使えそうですが、本当に1.3kVに耐えるかは昼間の会社で試すか?怖いので、600Vくらいのレベルにしておいたほうがよさそうですね。
posted by yaasan at 19:55 | Comment(0) | 工作

2017年12月18日

中華DIY電源を買った

秋月のDCDCコンバータキットと100円ショップの貯金箱で、簡易電源を持っていましたが、ちょっと使いにくいので、ちゃんとしたDC降圧電源を作ることにしました。

AliexpressのRD Official Shopで以下のものを購入しました。どうも、このショップはこのDPSという電源メーカーの公式オンラインショップようです(電源を入れると、この店のロゴと同じものが出るので)。

DPS3005 26.5USD
DPS電源ケース 22.96USD

梱包。電源の説明書はありますが、英語と中国語です。まあ、適当にいじれば使い方もわかると思います。

PSupply01.jpg

中身。ケースへの組み込み方が全く書いてません。ただ、まあ、見ればすぐわかりました。

PSupply02.jpg

PSupply03.jpg

部品がいろいろ入ってますが、実は電線が足りてませんので車内にあるものを追加しました。

PSupply04.jpg

まず、端子を取り付けていきます。

PSupply05.jpg

PSupply06.jpg

ファンもねじ止めします。

PSupply07.jpg

電源スイッチが、実はうまく入らず、ケース側を少しやすりで削ってからはめ込みました。まあ、たいしたことはないですが、公差をちゃんと考えていないのか、もしくは加工精度が悪いのか・・・。

PSupply08.jpg

このケースには基板がついてます。どうも、ファンと電源スイッチを挟み込む機能を持っています。
KEYに、電源スイッチへの配線(極性はなし)、大きいIN+とIN-は、端子に直接取り付ければ良いサイズでしたので、端子にねじ止めしました。ファンは、2.54mmピッチのヘッダを付けて取り付けました。DC出力は、一番左下の+とーの部分が該当するようです。

PSupply09.jpg

PSupply10.jpg

以下のように線をはんだ付け。

PSupply11.jpg

組み込み完了。

PSupply12.jpg

動かしました、電圧精度は、まあ、テスタやほかの電源と比較して、パッと見、±0.01Vですが、余裕の5%以内なのでOKでしょう!

PSupply13.jpg
posted by yaasan at 08:29 | Comment(0) | 工作

2017年12月06日

MPS社の超小型モータドライバ MP6513の評価 その2

MPS社の超小型モータドライバ MP6513の評価 その1の続きです。

へのへのもへじさんの評価で、出力に1nFのコンデンサを乗っけるとうまく動くという報告があります。サージをうまい具合に吸収できるのか、高周波電流の回路ループがうまくできるのだと思います。

もうちょっと評価をして、DCCデコーダに使えるかどうか、ジャッジしていきたいと思います。

このドライバIC、今まで使ってきたドライバIC(BD6231、ZXBM5210、A4953ELJ)と一風変わった機能があります。保護機能動作後に、リトライ機能が入っておりまして、保護機能で止まった後、1ms毎にリトライを勝手にしてくれます。本当にどうしようもないときは完全に止まりますが(入力ピン1,2をLOWかHIGHに両方すれば解除)、軽いときはリトライします。

リトライしている様子:
OverCurrent.png

無謀な状況なのに、何とかがんばって回そう、という日本人っぽい諦めの悪い、奴隷精神を持つICですね。

また、電流を測れる電源で、動かしたところ、とりあえず0.55Aまで問題なく電流を流せました。設計的には、0.5Aをそこそこ超えると内部温度がデータシートの設計上、60℃を超える(=素材にも依りますが一般的な車両のプラ樹脂が溶け始める最低温度)ので、0.5Aまでが、DCC用では限界かなと思います。一瞬くらいなら0.8Aで流すのは問題ないはずです。1時間も2時間も車両を止まらせずに走り続けさせる場合は、0.5Aって意味です。
posted by yaasan at 19:13 | Comment(0) | 工作

2017年11月30日

ラズパイ用ソフトの設計

Raspberry pi 3B用のDesktopStationPi(旧dsgw.js, new DSpi)の設計を行ってます。
設計と言っても、どんなソフトを導入して、どう設定するか、という基本部分の設計のみです。

■使用するディストリビューション

ラズビアンベースのDietPiを使用。構築が終わったら、要らないパッケージを削除して、スリム化予定。
当面の目標は頒布サイズ100MB以下。

■対象ハード

Raspberry pi 3Bのみ。Wifi内蔵で楽かつ入手性も良い。安価(5000円)

■導入するもの・内容

・Node.js
・Node.jsアプリ自動起動スクリプト
・USBシリアル(USBtty)、自動認識処理 →参考サイト
・dsgw.jsの移植版(.js)。SPI部分を削除して、USBttyへのアクセス処理に変更。繋がればすぐ完了。
・wifi自動設定(APになる設定)
・DNSサーバー(IPアドレスではなく名前でブラウザアクセスするため)
・SSH
・ブラウザ(状態表示用)、ブラウザ自動起動

■開発スケジュール

のんびり、気ままにやります。
posted by yaasan at 08:30 | Comment(0) | 工作