超小型の汎用FCが完成しました。

次の機体に積むために作っていたコアパーツ、1年近くなんだかんだやっていたFCがようやく安定して動くようになりました。電源周りとセンサのオフセットやらなんやらにかなり悩まされた思い出しか無いですけど、ようやく完成。最後の最後で安定性のためにサイズが縦方向に5mm伸びてしまったのがちょっと…。

■サイズ

■外観

■PixyFMU(FC)
Pixracer(PX4)系互換でサブボード拡張を基本とした専用設計のFC(FMU)
サイズ(コア部分):35mm x 40mm
CPU:STM32F427VIT6+FM25V02(FRAM)
センサー: MPU9250(9DOF)/ICM-20608(6DOF)/HMC5983/MS5611
重量:約5.5g予定(SDカード含む)
電源:DC2.5V-16Vまで対応のUpDown-DCDC内蔵(Lipo 1S-3S対応)
入出力:USB、microSD、RC(SBUS&Spectrum&PPM)、DEBUG、拡張ポート(上面1.27mm2x5/下面DF40-50pin)
拡張ポート:Serialx4、I2C、SPI、ESCx6、CANx2 etc
※:開発環境として、専用ブレイクアウトボード

続きを読む

ESP-WROOM-32開発ボード+microSDでSDカードを読む

お問い合わせをいただいたりしましたので、SDカードの読み取りについて書いておこうと思います。さてさて「ESP-WROOM-32開発ボード+microSD」ではSDカードを6bitのHS2を使って接続を行っています。そして、SDカードの認識というか仕様には2種類ありましてArduinoで一般的に使われているSPIモードとは接続方法が違っています。

SPIモード
* DATA3/SS
* CMD/MOSI
* CLK/SCK
* DATA0/MISO

★HSモード(ESP-WROOM-32開発ボード+microSDで使用)
* DATA0/D2
* DATA1/D4
* DATA2/D12
* DATA3/D13
* CMD/D15
* CLK/D14

■認識時のコンソール画面

続きを読む

ESP-WROOM-32のブレイクアウトが委託販売開始

面付けして実装依頼しての流れがGW挟んだりしたのが原因なのかめちゃくちゃ時間がかかってしまいました。設計終わってから2ヶ月近くでようやくスイッチサイエンス様にて委託販売開始でございます。情報としてはこちらに専用ページを作っていますので参照していただければと思います。

なんかこれでESP-WROOM-32に関しては一段落かなと思ってみたり。売れてくれたら色々とカスタムモデルとかが出てくるかもしれない感じでございます。

USBアイソレーター単機能版(LS/HS)-完成

単機能のUSBアイソレーター、バスパワーでESP32のモジュールが動作できる仕様。普通に使う分にはこれで十分なのではないかと思ったり思わなかったりしまけど、どうなんでしょうか?スペック的には1A流せるんですがLDOの仕様とか色々ありまして出力電圧5V保証できるのは500mA迄。それ以上になると緩やかに電圧降下してしまいますので750mA制限としてPTCを付けました。まあ、普通に使えて単体での消費電力は50mA位です。

■基板が出来上がってきたので実装

■電圧はこんな感じで左からUSB入力-DCDC出力-USB出力の順番

続きを読む

USBアイソレーター単機能版(LS/HS)

1つはMPU搭載して色々とギミックを組み込みましたが、単純にアイソレーターの部分だけを搭載してみたらどうなるかなと思って設計してみたのがこちら。多機能モデルから抜き出した電源系にコンデンサを多めに積んだだけです。見ての通りで、USBデータバスは完全等長構成でPC側から電気的に分離されたDCDCコンバーターで電源を供給します。出力段には大容量の電解コンデンサを積んで電圧変動を押さえ込む構成。単機能で十分な感じな場合にはこれでもいいのかもしれません。色々載っていない分ノイズも乗らないし壊れる部分が少ないことはいいことです。

■全体図

続きを読む

Arduino M0をどこまで小さくできるか(その2)

時間が出来たのでちゃんと配線しなおしてみました。6層にしたい感じもしますがとりあえずは4層で行ってみようかなと思います。詰め込みすぎてシルク入れるところがほど無い状況になってしまいました。2mm厚PCBにすれば直接USB-Aに刺せるはずなんですけどね。

■仕様

  • ATSAMD21G18(MPU)
  • MicroSD
  • LSM6DSL(6軸ジャイロ)
  • LPS22HB(気圧)
  • HTS221(温湿度)
  • SPH0645LM4H(I2Sマイク)

続きを読む

ESP-WROOM-32開発ボード+microSDへのWROOM32の取り付け

背面パッドがうまく半田付け出来ないとのご指摘をいただきまして、テストで半田付けした動画をアップしておこうと思います。コツとしては、背面パッドにコテを当ててから100数えることでしょうか。

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

続きを読む