鉛蓄電池を充電

4年ほど放置していた鉛蓄電池があるのですが、「ダメになってるかなー」と思ったけど電圧を測ってみたら11.6Vくらいあったので、充電することにしました。(追記:後で知りましたが、テクニカルマニュアルによると、ほぼ完全放電状態。室温での4年放置は「Not Allowed」みたい・・・・)

鉛蓄電池なので、定電圧定電流充電ということで、AliExpressでDC入力のCVCC電源ボード(しかも、Stepup-Stepdown両方で動けるもの)が安く出ていたものを購入。ボードの説明をよく見ると、出力側からの電圧印加はダメと書いてあったので、出力側で対策をすることにしました。単純にダイオードを入れようかとも思ったのですが、3Aくらいで充電すると2W近い熱がでることと、以前秋月で見かけたPowerPathコントローラICが気になっていたので、これを買って理想ダイオードの構成としてみました。

回路はほぼLTC4412のデータシートの表紙の標準的応用例のままですが、あくまで充電器なので、左のバッテリーのマークのところにCVCC電源ボード、右側のLOADのところに鉛蓄電池を接続、WALL ADAPTER INPUTのパスは削除しています。なので、LTC4412とPchのPowerMOSFET(今回は60V36Aの2SJ673を使用)とパスコン、接続部品・ヒートシンクのみというシンプル構成です。

実際に充電している歳の様子です。

今回作った理想ダイオードの部分です。かなり余裕のあるFETを使っているので、もっと大きな電流を流す用途にも使えるはずです。

組み立てが終わったら、まず入力にDC12VのACアダプタを接続してDCDCコンバータ単体で電源投入。UV-SET(入力電圧低下時のカットオフ電圧)FAULTのLEDが点灯しない位置にセットします。出力電圧をモニタしながらVOUT-SETの半固定抵抗を13.8Vにセット。CC-SETの半固定抵抗は(確か)左へ一杯に回しておきます。
次に、理想ダイオード部分をつないで電源投入。出力電圧が13.8Vのままなのを確認します。
さらに、鉛蓄電池のGND側のみ接続、+側はテスタで電流を測定できるようにして一瞬つないで電流を読みます。値は30mAくらいでしたので、CC-SETの半固定抵抗を回して1Aになるところにセットしました。
+側も直結したあと、最後にACアダプタの電源を切った時に、理想ダイオードの出力側は電池の電圧のまま、入力側の電圧は徐々に下がっていくのを確認して、完成です。

今回は補充電として使っていますが、鉛蓄電池ごとケースに入れてもっと充電電流を増やしてやれば、車で移動中に充電しておいてエンジンOFFの電源として使えるかなーとか思っています。(データシートによると3.6Aまでは充電電流を増やせそうです)

MicroHDMI-HDMIケーブルを入手

昨日ポチったHDMIケーブルは無事に届きました。

こちらの記事を参考に、ブートローダの更新、VidorGraphicsライブラリの追加、スケッチ例のVidorLogoDrawの書き込みを行ったところ、接続してあるHDMIディスプレイに無事に表示がされました。

インテルFPGAプログラムに登録して、インテル® Quartus® Prime 開発ソフトウェア・ライト・エディション(ライセンス不要、無償)をダウンロードします。自分は(相変わらず)Linux版をダウンロードしました。tarアーカイブで6.2GBという巨大なものです。4MB/s程度しか出ず、時間がかかります。

ここで待っている間にシミュレータについて調べます。昔からModelSimの規模と性能の限定版があるはずなので・・・と思ったら、「ModelSim* – Intel® FPGA Starter Edition ソフトウェア」というのがあって、無償で10000ラインまでというものがあるのですが、なんとWindows版しかありません。・・・と思ったら、いろいろリンクを辿っていたら、Linux版にたどり着きました。ダウンロードページの「個別ファイル」の中にあるようです。この中から、とりあえず

  • Quartus Prime (includes Nios II EDS)
  • ModelSim-Intel FPGA Edition (includes Starter Edition)
  • Cyclone 10 LP device support

のダウンロードも仕掛けて今日は寝ます。

Arduino IDE 1.8.8を動かしてみた

久しぶりに Arduino IDE を使ってみたくなったのでLinux Mint 18.1 LTS上にインストールしてみました。ターゲットボードはずっと前に秋月で買った ESP32-DevKitC ESP-WROOM-32開発ボード です。

インストールの手順はこちらに記載されているとおりなのですが、なにはともあれ、こちらからArduino IDE 1.8.8 Linux 64bitをダウンロードして、ホームディレクトリに展開します。

展開したディレクトリに移動して、インストールスクリプトを起動します。

これでメニュー上に追加されます。

「ファイル」→「環境設定」で環境設定画面を開きます。設定の下の方にある「追加のボードマネージャのURL」に「https://dl.espressif.com/dl/package_esp32_index.json」を入力(下記)します。

次に、「ツール」→「ボード」→「ボードマネージャ」

で「esp32 by Espressif Systems」のところにある「インストール」ボタンをクリックしてインストールします。完了すると「ツール」→「ボード」でESP32を搭載したボードが大量に出てくるので、「ESP32 Dev Module」を選択します。

次に、サンプルを動かしてみます。今回はNTPサーバーにアクセスして時刻を取得するサンプルを動かしてみました。まず、「スケッチ例」→「ESP32」→「Time」→「SimpleTime」でサンプルを開きます。開いたら、上の方にある ssid と password の部分に手近な無線LANアクセスポイントの設定を記述します。

チェックマークをクリックしてビルドすると、エラーが発生します。いろいろ調べると、python の pyserial モジュールがないために発生するようなので、インストールします。そもそも、pip も入っていなかったので、インストールしました。

ビルドが通るようになったので、書き込んでみます。

「ツール」→「シリアルポート」で /dev/ttyUSB0 を選択した後、「ツール」→「シリアルモニタ」でシリアルモニタを開き、速度を 115200bps に設定します。その後で、右矢印マークをクリックするとビルドして書き込み、実行します。

うまく行けば、NTPサーバから取ってきた時刻(UTC)が表示されるはずです。

意外にあっさりと動いてしまいました。

MPLAB SNAPのケースを作ってみた

Microchipからリリースされた新しいPIC(だけじゃなくて、AVRとかも扱えるらしい)用デバッガ・プログラマのSNAPが秋月にあったので買ってきました。

いままでのPICkitと違って、こいつはケースがなく、基板剥き出しです。必要なら3Dプリンタで自分でケースを作ってね、ということみたいです。

・・・というわけで、作ってみました。

例によって、スナップフィットで蓋を固定するようにしたので、3Dプリンタで出力した2つの部品以外は必要なく、なかなかいい感じになりました。

LEDの部分は穴を開けるのではなく、厚さを薄くしてありますので、LEDが点灯すると透けて見えます。中にゴミなどが入る心配がないのがいいところです。

秋月GPSモジュールいろいろ

3年ほど前に試してみたGPSモジュールですが、久しぶりに発掘したのでいじってみました。

1.ケースを作ってみた

これまで、とりあえず動かしてみた後放置する原因の一つはむき出しの状態や見栄えの悪い状態で使わざるを得ないことでした。そこで今回はケースを作ってみました。

できるだけ3Dプリンタで出力した部品だけで済ませたいところですが、手を抜いたこともあり、今ひとつといったところです。

2.LinuxMint19で動かしてみた

3年も経っているので、Linux側もそこそこ変わっています。同じ手順で動かしてみようと思ったのですが、思うように動きませんでした。次回動かすためのメモを残しておきます。

(1)動かすのに必要なもの
synapticで、「viking」「gpsd」「gpsd-clients」をインストールします。

(2)USBシリアルを認識、操作できるようにします。
ユーザーをdialoutグループに所属させます。所属させないと /dev/ttyUSB* へのアクセス権がありません。グループに所属させたら、一旦ログアウトしてログインし直します。

(3)PCに接続します

(4)GPSモジュールからデータが来ているか確認します。

(5)gpsdにGPSモジュールを登録します
ここが前回と違うところです。前回はこんなことした記憶がありません。

(6)Vikingで地図上に表示します
操作は概ね同じですが、MapTypeのOpenStreetMap(MapQuest)は変更が必要です。
「Start Realtime Tracking」すると、綺麗に軌跡が描かれるようになりました。

3.GPSモジュールのファームウェアアップデート

秋月の製品ページを見ると、新しいファームウェアがリリースされていて、みちびきの複数機同時運用に対応していました。で、ファームウェアをアップデートしようとアップデートモジュールをダウンロードしたあたりから雲行きが怪しくなりました・・・。
アップデートのためのソフトウェアはWindows用なのですが、PL2303はWindows10では認識しないのです。FT234Xに交換してもいいのですが、FT234XはLinuxでまともに動作しません。うーん、複数機同時対応、試してみたかったんですが・・・。

Rock64をWiFi-APとしてもセットアップしてみました

hostapdを使って、WiFi-APとしてセットアップしました。

・・・が、なんのことはない、armbian-configの中に hotspot のメニューがあるので、それに従って設定するだけです。SSIDとパスワードはセットアップ後に /etc/hostapd.conf にて設定すれば完了です。
デフォルトでは AP としてのIPアドレスは172.24.1.1、DHCPで振られるIPは172.24.1.0/24のようです。

ROCK64用ケースを作ってみました

なんかケースばっかり作っている感じですが、先日Armbian Ubuntu 18.04を入れたROCK64 4GBにケースを作ってみました。もともと、Thinkiverseで見つけたケースを出力して入れていたのですが、HDMIに接続してXFCEデスクトップ環境のChrome上でYoutubeで動画を再生すると、小さなヒートシンクは付けてあるのですが70℃を超えていました。
これではいかん、ということでFANが付けられるケースを設計してみました。

FANは5Vのもので安いものがないか、ということで、秋月で100円で25mm角の5V動作のものを買ってきました。これに合わせて設計して出力したものが以下です。

右側が底板側で、穴の部分にはamazonで購入したインサートナットを圧入して使うように設計してみました。使用したインサートナットは下のような単純な形状のものです。

右下の2つが圧入前のもので、左が圧入後です。M2.5用のもので、ギザギザのある部分の外形ちょうどくらいの穴を開けておいて、長めのキャップスクリューの先に嵌めた状態でプラハンマーで叩いて挿入しました。

FANの取り付けはスナップフィットにして、下記のように追加の部品無しで取り付けられるようにしました。

上記の状態からROCK64のコネクタから5Vを取り出すようにコネクタをFANに付けて、完成としました。

写真ではLANケーブルは外した状態です。また、写っていないですが、反対側のUSBコネクタにはUSB3.0のUSBメモリと、キーボード/マウスのレシーバが刺さっています。その状態で同様にYoutubeを視聴してみたところ57℃くらいまで、XFCEデスクトップ環境で何もしない状態では45℃くらいまで下がりましたので、結構効果はあるものと思います。
電源は直結なので5Vが供給されている限り回りっぱなしです。25mmのFANということでかなりの高回転のようですが、径が小さいこともあり極端にうるさくはないようです。

3Dプリンタだと、このような適当なありものの部品に合わせてケースを作ってまとめられるので便利です。

NanoPi NEO用ケースを設計してみました(3)

前回もう少しのところまで来て、修正したものを夜間に出力していたのですが、やはりPRILINEの黒のPLAだとダメダメでした。試しに同じデータでPRILINEのグレーのPLAで出力してみたところ・・・・

という感じでほぼ完璧に出力できました。やはり3Dプリンタのフィラメントは同じベンダーの同じブランドでも色によってかなり特性が違うようです。

NanoPi NEO用ケースを設計してみました(2)

引き続きNanoPi NEO用ケースの続きです。

昨日のデータを0.1mmピッチで夜間に出力してみると・・・・

という衝撃的な結果になっていました。やはり、PRILINEの黒のPLAフィラメントは脆いようで、造形中にあちこち折れてしまったようです。で、放熱用のスリットの部分の柱などを太くして再度出力していたのですが・・・・

・・・・よく見ると、フィラメントが送られていない時があります。さらによく観察すると、フィラメントを巻いてあるスプールの回転がかなり渋いのと、フィラメント自体の表面に光沢があって滑りやすいようです。そのため、フィラメントが送られておらず、結果として樹脂の供給不良で層間で割れやすく(脆く)なっているのかもしれません。
スプールをよく見ると、成形品質が今ひとつのような感じで、ヒケによる歪みがあります。そのため、Ender 3のような簡易なスプールのホルダーではスプールの回転の抵抗になっているように思えます。とりあえず、スプールのホルダーを移設して様子を見ながら出力しました。

で、今度は修正したものを0.2mmで出力してみましたが、

というような感じでした。だいぶいい感じにはなってきたのですが、LANとUSBの間の柱が太ってしまって、かなりきついことになってしまい、無理に挿入するとまたスナップフィットが写真の通り、折れてしまいました。

再度修正して、以下のようにして改めて0.1mmピッチで夜間に出力してみます。

NanoPi NEO用ケースを設計してみました

手元に使っていないNanoPi NEO(NEO2ではない)があるのですが、これにあわせたケースを設計してみました。(NanoPi NEO2用のケースのデータはThingiverseにあるんですが、NEO用のケースのデータってみつからないんですよね・・・)

前回、秋月電子のドップラーセンサー用ケースを設計した際には、基板図面だけ見て何もないところからFusion360で設計しましたが、今回はGrabCADにあったNanoPi NEO自体のIGS形式のデータをFusion360に取り込んで、これに合わせて設計してみました。

で、設計したのがこちらです。

NanoPi NEO2用のケースとかだと、ネジで締結するのが一般的ですが、今回もスナップフィットでいけないか狙ってみています。1回目に出力した際には、積層ピッチが0.2mmで荒かったからか、何箇所か折れてしまいました。

上記のデータは折れてしまったところ、実物と寸法がずれているところなどを修正した2回目出力中のものです。今回は積層ピッチ0.1mmにしたので、出力に4時間半もかかってしまいます。

余談ですが、今回は新たに入手したPRILINE製の黒のPLAで出力してみています。Ender 3を買ったときに一緒に買ったサインスマートブランドの黒のPLAフィラメント(3,500円位ですが、本体とセットだと半額になった)と比べると価格が半分くらいの1,800円位です。まず、サインスマートブランドの黒のPLAフィラメントと比べると、やはり多少扱いにくい感じがします。0.2mmピッチで出力したときの強度が弱いことと、細部の造形が何故かイマイチ(パラメータ詰めればいいのかもですが)なところはありますが、普段使いには十分かなと言う気がします。(普段使いだけに0.2mmに難があるのがつらいですが)
難点はプラットフォームシートにガッツリとついてしまって剥がすのが大変なことです。このくらいガッツリついてしまうのであれば、耐熱ガラスにして何も付けなくても定着するのかもしれません。

あと、PRILINEのグレーとの比較ですが、自分はグレーの方が扱いやすいと感じました。上記のケースもグレーだったら問題なく0.2mmピッチで出力されるのではないかと思っています。