秋月電子AQM1248用のArduinoライブラリ

秋月電子で売っている超小型グラフィックLCD「AQM1248A」、コントローラーとして「ST7565R」が使われています。解像度はちょっと変わってる128×48、U8g2のライブラリで使おうとして使えるのだけれど縦解像度が合っていないのでちゃんと直してみました。

縦解像度とオフセットを修正しないと表示位置が崩れてしまう。

ST7565Rの全体に対して修正すればいいんですけど綺麗でないのでモデル名で使えるようにちゃんと修正してみました。

■こんな感じで使える。

U8G2_ST7565_AK_AQM1248_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=/ 13, / data=/ 11, / cs=/ 10, / dc=/ 9, / reset=*/ 8);

U8G2_ST7565_AK_AQM1248_F_4W_HW_SPI u8g2(U8G2_R0, /* cs=/ 10, / dc=/ 9, / reset=*/ 8);

修正したライブラリを置いておきますので使いたい人はどうぞ。GitにPushすればよかったと今更にして気がつく…。

USBアイソレーター+電流電圧計の実装(その2)

修正した2版の基板が出来てきたので実装してみました。例によって変わらずいろいろと詰め込んだので機能のチェックが大変だったりするのはいつもの事です。


データ・電源をIN/OUTで完全に分離した上でどんなことができるかですが、以下につらつら書いてみます。

USBの速度切替(1.5Mbps/12Mbps)
高精度の電流・電圧センサ(0.1mA/2.5uV)
バスパワー動作時のOn/Off制御(~1000mA)
外部電源による動作可能(~1500mA)
GraphicLCD(128×48)による表示
出力段LDOによるOn/Off制御
スイッチ x2 / LED x2

続きを読む

ESP-WROOM-32開発ボード+microSDの量産基板

いろいろとやり取りして時間がかかってしまいました。ようやく「ESP-WROOM-32開発ボード+microSD」の面付けした基板が出来上がってきました。かなりやり取りしたので懸念だった基板を接続している部分、いい感じに印刷したシルク面に干渉すること無く切り離しできるようになっています。

実装屋さんと相談して3×2の6面付で作ってみました

これからパーツ注文して来週頭ぐらいに実装屋さんにお願いする予定、実際に出来てくるのはGW開けあたりになりそうです。その後はスイッチサイエンスさんに委託販売する流れでいろいろと話しています。それまでは頑張って手実装で配布をする予定。

続きを読む

USBアイソレーター+電流電圧計の実装

設計した基板は眺めていると作ってみたくなるもので、気がつくと出来てくるんですよ。テスト用なので特に指定せずレジスト緑色。久しぶりに緑の基板を作ったような気がしてちょっと新鮮だったりしますね。多分動くでしょうと言う事でいきなり全部実装、まあ動きましたけど、色々と問題というかミスしてたりとか…。


コネクタのライブラリ間違って、2mmほどパッド位置がずれた


いい感じに配線できるように設計したら液晶が裏側になってしまった

続きを読む

Arduino M0(ATSAMD21G18A)へのbootloaderの書き込み

Arduino M0(ATSAMD21G18A)へのbootloaderの書き込み

■接続ピン情報(ATSAMD21G18A to Atmel-ICE)

ATSAMD21G18A
・VCC:17/36
・GND:18/35
・SWCLK:45
・SWDIO:46

Atmel-ICE(6pin/10pin)
・VCC:4(1)
・GND:2(3)
・SWCLK:1(4)
・SWDIO:5(2)

 

そして、チップに書き込むbootloadersですがGithubからダウンロード

ファイル名:”Bootloader_D21_M0_xxxxxx.hex” or “Bootloader_D21_M0_Pro_xxxxxx.hex”

書き込みにはAtmel Studio IDE + Atmel-ICEを使います。

続きを読む

USBアイソレーター+電流電圧計の設計(その3)

見直ししてたら見つけた間違っていた部分とかを再修正して、とりあえずα版として基板を注文してみました。なんといいますか、2層ではもうこれ以上は無理です…。それでも、なんとかかんとか電流流すのに必要なパターン幅を確保。USBのデータ周りは等長にした上でチョークコイルとか色々で保護してあります。動いたらUSB-DAC接続とか試してみたくありますね。

■特徴

  • マイコン内蔵
  • I2C電流電圧センサ
  • LCDグラフィックディスプレイ(120×48)
  • スイッチ x2/LED x2で表示可能色々
  • 内蔵DCDCで1000mAをホスト側から供給可能
  • 出力系への出力(On/Off)を制御可能

続きを読む

USBアイソレーター+電流電圧計の設計(その2)

さて、早速ではございますがアートワークの時間でした。回路図についても結構修正したりとか部品変更したりとか、ピンマップについては引きながら考えようと思っていたので検証しながら接続して…。例のごとくですが、けっこう大変な作業になってしまいましたでございます。

最終的には新しいフリスクにちゃんと収まるようにサイズとかを修正して制作しました。電流センサとか積んでいるので過電流 or 過電圧かかった時に回路が耐えられる範囲内だったらですがマイコン側から遮断できます。PCとかのホストに接続した状態でも1Aまで単体出力できるのが特徴。電気食いなESP8266とかESP32なんかも外部電源接続しないでPCから分離できます。せっかくなのでプログラム次第で色々できそうな気がして、LDCを8行x2列のキャラクタから128×48のグラフィックに変更してみました。

そしてそして、結果出来上がったものがこんな感じでございます。はじめ見た感じで4層にしないと入らないかなと思ったりしたんですが、やってみると2層でも収まるもんですね。

左側スカスカ、右側ギッシリ。部品サイズ小さいですが前に作ったUSB-Hubよりは実装密度は低めなので腕に覚えがある人は作れるぐらいと思うです。

フリスクケースに入る基板サイズ

ちょっと知らないうちにフリスクのサイズが大きくなっていました。

昔のメモを引っ張り出すと外形サイズで70mm x32mm x10mmだったみたいの物が70mm x37mm x11mmになっている。幅が5mm大きくなって高さが1mm高くなった。そうなると、内部に入る基板サイズも当然変わってくるわけで…。27.5mm⇒37.5mm位になるのかなと思うのですが、ちょっと検証してみましょう。

寸法図るためだけに買ってきたフリスク、見た感じが幅広なのは当然なのですけど何やら強度が落ちてそうな印象です。そんな感じの前置きで、ノギスで計ってちゃっちゃと外形データ起こした物を等倍印刷して切り抜いた物を入れたのが下の図です。ちなみに、中身の方がスタッフがおいしくいただきました…。

■FRISK120%

中に収まるサイズで基盤を作るならば…。32.0mm x 66.0mm(t=1.0-1.2mm)

こんな感じになると思われます。

続きを読む

USBアイソレータ+電流電圧計の設計

なんか、ちょっと前に見たパターンですな…。せっかく、コンポーネントまで考えたので設計してみようと思った。やり始めたら結構な勢いで変更箇所とか考慮漏れとか出てきてちょっと涙目になりながらノイズ対策入れまくって設計してみた。(一部未配線)

■回路図

続きを読む

USBポートの保護とか考えてみる

最近、何人かの知り合いがPCのUSBポートを破壊したという話が聞こえてきました。静電気とか過電流とか、当人思い当たるフシがあったりなかったりなのですけどやっぱり外付けの保護回路はあったほうがいいのかなと思ってみたり…。ちょっと調べてみると「USBアイソレーター」なる物が保護回路としては該当するみたいである程度の種類は出ている様子。

試しに買ってみようかと思ったんですけど…。そこそこのサイズ&外部電源必要…。だったら普通にUSB-Hub繋いでおけばいいんでないかとか色々と考えないではなかったんですけど、せっかくなので検討まではしてみようかと思います。

まずは一番大事な「自分で使うならばどんな機能がほしいか?」でしょうか。

  1. フリスクケースサイズ
  2. 専用IC使ってホスト側と電気的に分離
  3. LCDで電圧&電流などの情報表示
  4. USB-Host側からの給電5V/1A、外部給電の時には5V/2A程度

こんな感じのサイズで精度が高くてUSBを分離できるのが欲しいかなと…。

まあ、例によって例のごとく結構な機能を詰め込みます。電流電圧表示は結構便利に使っているのでそこそこの精度がほしい所です。などといろいろ考えながら、部品選んでみますよ。

・メインMPU:SAMD21G18A(TQFP48)
・LCD:AQM0802A-RN-GBW(8×2)
・電圧&電流センサ:INA226(VSSOP10)
・USBアイソレーター:ADuM4160(SOIC16) + ADuM1100(SOIC8)
・絶縁DCDC:SN6505(SOT23-6) +750315371

ぱっと考えると、前に作ったUSB-Hubのノイズ系の回路を使って分離電源を新規に起こせば出来そうな気がする。電源は出力側をLDOに食わせて整流したほうが良さそうな気がしてきました。そして、今回のの目標は「片面実装」を目標にしてみたいと思う。