n_shinichi’s blog

日々の備忘録、 趣味のあれこれなど紹介 (すみません、メニュー、リンク、カテゴリー分けがうまくできてません、★記事一覧★で見てください...) NHK魔改造の夜ではDンソーのベテランアドバイザーってことで出ました♪

MENU

スタックチャン式、Attinyマイコンモニタ、通信メモとか

マイクロロボ製作でちっちゃいマイコンでモニタなどが

  ないと何かとデバッグとか不便です。PCとシリアル通信なんかが

  よく使われますが有線だと何かとマイクロロボには使い勝手がよくないので

  最初に無線通信できるようにしてます。

 

高性能マイコンならBLE,ESPNOWなどの電波モノが位置の制約などなくて

 いいのですが消費電力が大きいです。

 通信の一瞬だけ送受信機能を動かす・・・でそこそこ低消費電流にはできますが

 それでも高性能マイコンは消費電力が大きい。

 クロック落としたらそこそこ減るけど無線が使えなくなったり。。。

 

で、低消費電力型8bitマイコン です。

でもって低消費電力で簡単な通信だと赤外線シリアル通信なんかは

 割とお気に入りです。

 

テレビリモコンなどの赤外線受信機を利用すればノイズ処理なんかが

 だいぶ手間省けていい感じにできます。

 テレビリモコンなどの38kHzのバンドパス受信ICは

 小さいモノだとこちらのが使いやすいです。

 フツーの赤外線受信ICが20円程なの 少々お高い?です120円

akizukidenshi.com

 

赤外線送信の方は適当に受信機の波長に合わせたモノならなんでも行けます。

 上記のは940nm。   10個100円程度であります。

 

Attiny1614のピン使用設定は 現在こんな感じ

  以前のレゴ ミニフィグで紹介した・・・はず なんだけど

   どこかぱっと見つからない。。。 ので再掲

   やっぱし整理の仕方がいまいち。。。備忘録になってない...

 

赤外線通信も凝ったことな何もしてない。

べた書きでこんな感じ。

設定



送受信

 

38kHz搬送波の割込み

 ちょっと気を遣う?のはdigitalWrite Fastを付けないとポート叩くの遅い。

 ビット演算で処理負荷減らす・・・とかも してない...

  これは25%duty送信 レジスタの設定 細かいところは忘れた・・・

 

マニュアルは日本語であるけれど・・・

https://ww1.microchip.com/downloads/jp/DeviceDoc/40001893B_JP.pdf

 

・・・で、

 モータの駆動の様子を見てる感じがこちら

スマホとM5Stack スタックチャンとはBLE

 スタックチャンとAttinyは赤外線シリアル通信

 

 

 

次はフォトリフレクタのテストかな。

 

 

 

 

スタックチャン式、Attinyマイコンボードの準備できた

M5Stack使って、スタックチャン式のAttinyマイコンデバッガにしてみた。

 これまでのM5Stickではやっぱし情報量少ない。

 

写真、、、先回のM5Stick版と情報量は同じ、

   単純に、ArduinoIDEでボードを変えて、 

   スタックチャンアバターを入れただけ・・・なんだけど。

    若干、かわいさが出て気持ち、デバッグが楽しくなるかな。。。

 

まだ画面に余白がたっぷりあるのでいろいろ表示追加できる。

 ボタンも使いやすい位置に3つならんでるので、

 普段のデバッグスマホは不要になるかな。

 

Core2にしたらコントローラもタッチパネルでそこそこできて

 いよいよスマホがいらんかな。。。?

 

赤外線シリアル通信、

 これまではM5Stickでは赤外線LEDは200Ω。(3.3V)

  38kHz送信、20%dutyなんで抵抗1kΩと電力負荷はおよそ同じ。

   ほんとはもちっと多いけど。 それでもまぁ出力は小さめ。

 

今回、チップからΦ3mm砲弾型の出力の大きいタイプにしてみたので

 100Ωにしてみた。 それでも、

 M5Stick内蔵の抵抗なしの赤外線LEDに比べたら

 スマホのレンズ越しで確認するとかなり出力小さめだけど。

  赤外線LED、肉眼じゃ見えない、光ってる?ってわからないけど

  スマホのカメラ越しにみるとピンク色に光って見えます。

 

 

 

 

こちらは

先回のM5Stick式

 

 

Attinyマイコンボードの準備できた

しばらく、まずはAttiny1614・・・SOPで

 マイクロロボ、ライントレーサー製作を進めてみる。

 以前使ってたボードをちょっと修正した。

まずはモータ駆動代わりのLED負荷

電池は30mAhしかないけどさすが、低消費電流マイコン

 数分ではほとんど電圧下がらない。

 ESPマイコンだとみるみるうちに下がっちゃうのだけど。

これがモータ動かすとどんなもんになるか。。。

 

何かと操作するにはスマホが便利なんだけど

 スマホとAttinyが無線でいい感じにつなげられるものが思い浮かばない。

なので

 M5StickCの中継器使用です。

スマホ⇔BLE ⇔M5StickC⇔赤外線シリアル通信⇔Attiny 

 

赤外線シリアル通信 

 リモコン赤外線通信ベースのICモジュール、

 小さいいい感じなのは普通には売ってない?

うまく探せてないので赤外線通信はテレビリモコンなどの

 38kHベースICを利用して、普通のシリアル通信です。

 

テレビリモコン通信方式だとデータをいろんなのアナログ変化データとか

 送るのにはちょっと具合悪い。

 

一応、テレビリモコンの信号パターンでもモータ駆動制御、

 できないことはないけどいまいち。。。

 18パターンはこれデータ送れる。但し、受信はできない!

 

なもんで、ちゃんとした?シリアル通信を赤外線に乗せて送受信です。

 やってることは38kHzの搬送波にのせてるだけ・・・なので

 標準UART処理を使って普通のシリアル通信ができます。

ただ、38kHz搬送波が遅いのでフィルタICの都合、

 安定して通信できるのは2400bpsくらい。

 毎秒250文字程度。 

 人の操作なら10Hz定期で送受信すればおよそ違和感なく通信できるので

 そんな低速通信でもあまり困らない。

何より消費電力が少ない。 1mA弱。

 送信より受信の方が電流大きい。

 赤外線送信LEDは200Ωつけてて、連続なら10mAだけど

 今はVcc電圧、チップ温度、1秒に1回、送信する一瞬だけ、

 それも38kHzで20%以下のPWMで駆動なので。

 

 

M5StickCだとやっぱし表示情報が少ないのでつらくなるかな。。。

 文字小さくしたら情報量増やせれるけどまともに読めなくなる。

 スマホがシリアルモニタにはなってるけど無料RemoteXYだと

 あんまり表示できない。。。

 

M5StickCはM5Stackには変えるかな・・・

 そしたらスタックチャン表示の溶融もできるかな・・・

 

 

 

 

 

 

2024年度マイクロロボ、やっぱしATtinyかな...

マイクロロボに使う主要部品一式 

扱いやすいけど、、、

 ポート少なく、サイズのデカいSOP14 ・・・Attiny1614SS

扱いにくいけど、、、

 ポート多く、サイズの小さいVQFN Attiny1616MN 

 

いろんなマイコン検討してみた。。。

 これまでに使ったモノ、

   お気に入りはPSoC、STのマイコンもいい。

   PICは周りじゃもう使ってる人いなくなった...

   ESPモノは高機能だけど消費電力が大きい

   nRFは消費電力ESPより少ない感じだけど価格高い。

   Attiny・・・AVR系はArduinoベースの情報多い。130円

 使ってないモノ

   CH32・・・40円、安い32bit高機能、空のスケッチで

          メモリーが残り少ない...

   CH552・・・110円、8bit USBが使えるけどマイクロロボでは不要

 

結局

 やっぱしATtiny になった。まぁまぁ安い。

 消費電力も少ない。ESPの1/20 

 電圧範囲広いレギュレータなしでLipo直でいける。

 チップ温度、Vcc電圧モニタが付いてる。

 書き込みがシリアル1本♪(TX,RX束ねて使える)・・・これ扱いやすさ大。

 

VQFN、3mm角で20ピン、0.4mmピッチのランドはちょっと
 ハンダ付けコツがいります。

 

ATtiny1614は配線がしやすいです

 

ゲジゲジ型ブレッドボード

 

こちらは小型自作ブラシレスモーターを回してみたもの

 

 

 

マイクロロボ、製作始め 超小型ブラシレスモーターを分解

もっと小さいのもあるのだけど

 やっぱり使い慣れたこのΦ6ブラシレスモータかな。 

 アリエクスプレスで1個20円。 安い。 

 30Ω品なので、3.3V系で3レベルインバータ駆動で使うと

 マイコンのポート直のハーフブリッジ負荷が矩形波通電に持って行っても

 30mA程度でギリ、マイコンポートで行ける。

 ESP32は40mAくらいまで行けててちょいと余裕があった。

 ATtinyとかはちょっとポートTrの負荷が若干かわいそうかな・・・ってとこ。

 ESP32で使うよりATtinyでは同じポート駆動の3レベルインバータ制御で

 ちょっとパワーが弱かった。

 

でも他の、この手の小さいブラシレスモータ、

 2相バイポーラスッテッピングモーターがほとんどだけど

 たいていのはもっと抵抗が小さい。 インダクタンスも。

 ターン数が少なくサイズの割に電流をけっこう流すものが多くて

 マイコンポートで動かすには高周波PWMでDuty絞って動かすことになって

 あんまり出力特性よくできない。

 

せっかくなので、 モータもうちょいとこれ紹介してみます。

 分解するとこんな感じ。部品の固定はスポット溶接

 

ステータ、クローポールがちゃんとした構成のモノが作り込まれてます。

 ケースを板金で内側に折り込んだ格好でできてる。

 よーく見ると、ギャップは揃ってない。

  これは日本電産さんの とかのだとちゃんとしてるのかな?

 

NIDECさんのは普通には売ってなさそう。 

 サイズ、形状はほぼこれと同じ。これのコピーなのかな・・・?

 

 

https://www.nidec.com/-/media/www-nidec-com/nidec-instruments/product/search/category/B101/M109/S100/MSKR_JP.pdf?rev=ecab41e7529f49d5b93a0a90417a0a56&sc_lang=ja-JP

 

でもって、感心なのはロータ。

 着磁がちゃんとそのクローポール数に合った分、、、当たり前だけど

 作り込まれてる。それもけっこうカチッと鮮明に極が分かれてる。

こんなんが20円で売れるってどうなってるんだろう。。。

 

 

 

 

 

 

マイクロ・ウズリウム 作った時のメモ

小さなUzrium 作った時のメモ

 

 

Uzrium・・・ふーぴんさんがオリジナルで素敵なの作ってます。

 それのちょっと パクリ。

 マイクロロボ用にブラシレスの振動モータを分解して動作調べてたら

 これって簡単に小さなUzrium作れそう と思って。

 

 去年のMOUSERで優秀賞の他いっぱい賞獲ってる。

 こちらはオリジナル

 

そもそもの始まり、振動モータ (秋月:50円)

 モータとしては一般にはめずらしいアキシャルギャップ型

 フタはかしめてるだけなので簡単に取れます。
 以前これのコイルを使って別の小さなコアレスモータ作った時にも

 ちょっと紹介したけどすごくよくできてる。

 

以前紹介した手作り小型ブラシレスコアレスモータテストベンチ

n-shinichi.hatenablog.com

 

 

この磁石の極性がまた精巧にできた6極磁石。

 

 

Fusion360でケース設計して・・・

protopedia.net





1層スパイラル造形で作ってみる。

 

3Dプリンタで印刷 

出来栄え、いまいち

 もちっとゆっくり印刷するんだった...

 

振動モータステータ、組んでみる。 ぴったり。

 

振動モータのロータに磁石を付けて組んでみたところ。


瓶を載せる台を印刷してくっつけた。

 

できあがり

 

24年度 マイコン・・・マイクロロボは何使おう

40円、32bit、RISCマイコン の CH32 高性能で激安、低消費電流...

 期待のマイクロロボでのマイコンだったけどいかんかもしれん。

 

Amanoya3さんによると

ArduinoIDE で使うと空のプロジェクトだけで

 プログラムメモリ (16,384 byte)
 setup(), loop()だけの状態:9,844 byte 使用する らしい。

 

ATtiny3217、1616とかは 700byte、2%しか使わない。Lチカもやって。

 

ATtiny1616 は赤外線通信、ブラシレスモータ2個PWMインバータ駆動までやっても、

まだ5148byte、31%

 

CH32、これでは他事の処理組むのにメモリー残量不安。。。

ameblo.jp

 

きょうのかんぱぱさんによると Lチカだけで 10276byte、63% 使ってる。



kanpapa.com

 

 

 

 BLEとかESPNOWとか使えんけど、何より低消費電流 3.3Vで5mA程度

 ESPものとかは10倍以上食う。これはマイクロボではつらい。

 去年作った指乗りロボでもこれが一番つらかった。

 無線が80MHzまでクロック下げても使えるって言っても大して変わらない。

 モータ駆動よりマイコンの方が消費電流がでかかった。

 

 そんな通信量は多くないなら赤外線通信でだいたい行けるのもわかった。

  赤外線通信ならブロードキャスト使いもできるんで

  ESPNOWでやってった多数ロボの連携動作なんかもできる。

 

 

 

 

n-shinichi.hatenablog.com

 

 

手持ちのAttiny1616、 CH32V003と同じ16kBメモリ、

 8bitマイコン、処理能力はぐっと落ちる。

   ・・・と言ってもロボ制御ものにはたいして困らない。

ほぼ空・・・のLチカでは700バイト4%しか使わない。

ついでにATtiny3217の方も試した

 32kBなので

当たり前・・・・の700バイト同じで2%

CH32マイコンは情報も少ない。。。

CH552の方は同じWCHでも8bitなのになぜかこちらの方が値段が倍!

  といっても100円だけど。 これとATtinyの比較かなぁ

 

ATtinyは古いので情報はたっぷりある。
 M5を中継に使えばいろいろできる。