Arduino M0をどこまで小さくできるか

ATSAMD21、チップ自体も小さくて頑張ればそこそこ小さくまとめられそうな予感があるのです。かなり前に設計した時に使ったPCB-USBコネクタとかが発掘されたのでちょっと試しに設計してみたりとかしました。


SDカードと6軸センサ(ジャイロ&加速度)に温湿度&気圧センサーを載せてみたりとか…。ついでにリクエストのあったマイクとか…。並べてみただけでもう2層では無理、4層でもなかりぎりぎりになりそうな予感しかしなかったんですけども何とか載せてみました。例によっていつものごとく両面実装になっていますけど、量産のことあまり考えていないですけど…。モバイルバッテリーに挿してロギング用途とか、PCに挿してプロトタイプとか色々使えそうな予感がある。外部電源電圧は3.3V系の電圧を抵抗分圧してSAMDに入力、右側に後乗せ部品載せるためのパッドとかを用意したほうがいいかな?DIPのモジュールが載せられたほうが拡張しやすいかな?とかおもって、拡張領域作ってみたりとか。

秋月電子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アイソレータ+電流電圧計の設計

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

■回路図

続きを読む