Protopediaへの登録とヒーローズ・リーグ2024への応募のために動画を作成しました。
2024年11月17日日曜日
2024年10月6日日曜日
マイコン時計 静音化の検討
現状のHWでは稼働時(回転させて時間を見る時)に騒音が大きいという問題があります。これは主に駆動部のギヤから発生しています。モーターを横置きにしているため回転方向を90度変換する必要があり、そこにクラウンギヤを使用しているためです。一方でベルト(輪ゴム)とプーリによる駆動、ベアリングの回転音はほとんどなく静かです。
何故モーターが横置きなのかといえば、扁平な形状(円筒の高さが低い)のDCブラシモーターで安価に入手できるものがなかったためです。ブラシレスDCモーターであればこれに合う形状をしたものが多くあり、これを使うことを考えます。
ドローン(航空機)用の小さい3相ブラシレスDCモーターで使えそうなものがあったので、購入して試してみました。
マイコン時計用に検討しているφ13.5mmのBLDCを試運転。パワーは十分すぎるぐらいありました。次のバージョンではこれを採用します。
— 山口辰久 (@qzy13700) October 6, 2024
動画で聞こえるブーンという低い音は主に回転部が偏芯しているために生じる振動で、完成品では錘を足すなどして重量バランスを調整して解消します。 pic.twitter.com/nQFfllG1uj
出力、寸法共に良さそうなので、これで次のバージョンを設計します。
上の実験では市販のドライバ基板(R/C用ESC)を用いました。性能自体は良いのですが、安全のため電源ON後は一旦スロットルをアイドルに入れてからしか回らず、またそれを知らせるためにしばらく回らずモーターから(回転子またはコイルの振動により)音を出す機能が入っています。時計に使うには不便ですので、DCブラシレスモーター駆動回路も適当なドライバICと共に自作回路基板に載せることにします。
2024年2月11日日曜日
マイコン時計 腕時計バンドの装着
「腕時計」として使うためのバンドを付けました。
(なお、テスト段階では通常の腕時計の上に両面テープで貼り付けるという方法を取っていました。)
2024年2月4日日曜日
マイコン時計 基板製作
回路基板です。
8割方の設計を決めた後に急いで1回目を作り、それを用いて実機を動かしながらソフトウェア開発を進め、実現可能性を検証しました。その後修正を入れて2回目のものを作りました。良い感じに仕上がったと思います。
- ATtiny404
- フォトインタラプタ
- RTC
- RTC用のバックアップ電池
- LiPo充電用IC
- PWM対応1象限DCブラシモータードライバ(MOSFETとダイオード)
- USART用コネクタ(秋月AT-234X用のピン配置)
- UPDI用コネクタ(秋月AT-234X用のピン配置)
- 充電用USB-Cコネクタ
基板はL字に組み合わせることで省スペース化を図っています。下の基板には回転部の原点を検出するフォトインタラプタが付いており、検出用に隙間に収めるようになっています。
基板を直角に接するように組むためには、秋月のキットに付属しているL字ピンヘッダの余りを改造して再利用しています。
2023年12月17日日曜日
マイコン時計(仮称)製作開始
前の記事と順番が前後しますが、マイコンを使った時計の製作を開始しました。詳細は未だ伏せておきますが、実用になるものを目指しています。
まずは、回転駆動部分を試作しました。240~1800rpm程度の回転速度で、できるだけ小さくしたいので自作しました。左は比較用のタミヤのミニモーター標準ギヤボックスです。
ATtiny204 フォトインタラプタの長周期パルス信号の周期計測
現在製作中のマイコン時計(仮)ではATtiny204を使用し、フォトインタラプタで駆動部の回転周期を計測する部分があります。この機能の実現のためにマイコンの周辺機能をいくつか組み合わせた事例として記録しておきます。
以下、21.のような数字および太字はATtiny204データシートの章番号と周辺機能の名前を指します。
概略
タイマー・カウンタBにインプットキャプチャ機能があるのでこれを使います。--> 21. 16-bit Timer/Counter Type B (TCB)
H8などではタイマーユニットへの外部入力は専用に割り当てられている端子がありますが、最近のAVRではイベントシステム( → 14. Event System (EVSYS))を介しての入力となります。 Figure 21-1. Timer/Counter Type B Block Diagramにも、入力がEvent Systemとあります。
更にフォトインタラプタのアナログ出力を直接つなげるように、アナログコンパレータを使います。 → 28. Analog Comparator (AC)
VREFとAnalog Comparatorの設定
- 非反転(positive)入力: 入力ピン
- 反転(negative)入力: 内部VREF
- ヒステリシス: 50mV
アナログコンパレータは2つのアナログ信号の電圧を比較するものですが、今回は1本の入力を閾値で2値化したいだけなので、一方の入力に内部リファレンス電圧を使います。
18. Voltage Reference (VREF) CTRLAの「Bits 2:0 – DAC0REFSEL[2:0] AC0 Reference Select」について、「DAC」ですがこれは単独に使うD/Aではなくアナログコンパレータに接続されているD/Aということのようで、ここでNegative入力に使う電圧を選択できます。
VREF.CTRLA = VREF_ADC0REFSEL_1V1_gc; // Positive input = AINP0, Negative input = voltage reference AC0.MUXCTRLA = AC_MUXNEG_1_bm; AC0.CTRLA = AC_HYSMODE_50mV_gc | AC_ENABLE_bm;
イベントシステムによるACとタイマーの接続
event channelにイベントソースを割り当て、userに提供するevent channelを選択するという2段階になっています。 参照: Figure 14-1. Block Diagram
アナログコンパレータの出力はasynchronous generatorになることができ、TCB0はasync userの0番として固定されています。
event channelとしてasynchronous channel の0番を使って接続するとこのようになります。
async channel 0 ← AC output
TCB0 ← async channel 0
EVSYS.ASYNCCH0 = EVSYS_ASYNCCH0_AC0_OUT_gc; EVSYS.ASYNCUSER0 = EVSYS_ASYNCUSER0_ASYNCCH0_gc; // TCB0
タイマーの設定
Figure 21-5. Input Capture Frequency Measurement
まずクロックソースを設定します。ここで時間分解能と計測可能な周期の最長が決まります。1秒間に10回程度の周期を想定しているので、最大で1秒程度の時間が計れれば良いでしょう。
TCB自体のプリスケーラでは2分周までしか設定できませんが、TCAと同じクロックソースを使うモードがあります。今回は周期の長い信号を計測したいので、これを使います。TCAのクロック分周器であれば、最大1024分周までがサポートされています。64分周とすると、0.0192ms分解能で約1.3秒まで計測できます。(periperal clock 3.33MHzの場合)
TCAの設定について(20. 16-bit Timer/Counter Type A (TCA))、16ビットタイマーを2個8ビットに分けて使うsplit modeと区別する意味で、「シングルモード」という指定になります。
TCA0.SINGLE.CTRLA = TCB_CLKSEL_DIV64_gc | TCA_ENABLE_bm;
TCAは他の機能はまだ使わず、カウンタを回すだけなのでこれだけです。
TCBの設定
TCB0.CTRLA = TCB_CLKSEL_CLKTCA_gc; TCB0.CTRLB = TCB_CNTMODE_FRQ_gc;
以上で、TCB0.CCMPに周期が取得されるようになります。
Make Faire Tokyo / Seoul 2026
Maker Faire Tokyo 2026および Maker Faire Seoul 2026に出展しました。 Tokyoではテーブルホッケーロボットとインタラクティブ・ペンプロッタを展示しました。これは3年前とほぼ同じ構成でほぼ同じ(修繕・調整して操作ボタンがついた)でしたが...
-
#M5Atom Matrix lift off! pic.twitter.com/RwyjUNWCA0 — 山口辰久 (@qzy13700) April 29, 2021 子機となるクワッドコプターの新しいハードウェアを作成しました。制御ソフトウェアを移植し、旧型子機...
-
3月15日に行われた 第15回チロルチョコロボット大会 に出場しました。 ここ数年続いている射的競技があるのですが、これに新しい方法で挑みました。 自律的に紙コップ標的めがけて進んでいく車両型ロボットを作り、これを発射体として使いました。発射体というと普通は何か物を...
-
知能ロボコン出場にあたり、LiDARユニット GS2 を使いました。 競技台の特定箇所で壁との相対姿勢を計測し、ロボットが移動するの際の位置と向きの基準をリセットするために使用しました。 RGB-Dカメラがあるのでこの使い方は本来不要かもしれませんが、元々新ROBO-剣に向けて床...



