◆まえがき2か月前に タニタの体組成計が調子が悪くなったので測定電極を拡大する改造を行った のですが、その後1か月くらい経ったら症状が再発してしまいました。朝の忙しい時に、まともな値が出るまで何度も測定を繰り返すなんてやっていられません。そんなことで新しいのを買うしか無いか、だったらタニタは信用できないから今度はオムロンが良いかなー、なんて相談を始めました。ただ、僅かでも振動が加わると症状が...
ものいじりの好きなじいさんの探求日誌。マイコンやアナログ回路などの電子工作をやっています。
マイコンやアナログ回路の自作をやっています。
◆まえがきブレッドボード用のジャンパー線を保管しておくために、磁石式の吊り下げ保管器具を作りました。概要を Xにポスト したところ多くの方からいいねを頂いたので、詳しい構造などを記事で紹介したいと思います。◆外観こんな物を作る話です。先に最終形を紹介しておきます。◆これまでのジャンパーピンの保管方法・空きビンなどの挿して保管これまでは適当な容器に挿して保管していました。たぶんこれが一般的な保管...
Arduinoを使ってプラレールを定速運転(ソフト解説、性能測定編)
◆まえがき前の記事のハード解説編 に引き続き、今回はソフト解説と性能測定などを行います。◆ソフト20240603_PlaRail_ThomasV72.ino (BOM付きutf-8ファイル)DCブラシモーターの電機子誘導電圧測定による回転数測定、PWMによるパワー調整、PID制御による定速運転を行っています。詳しくは前の記事のリンク先を参照ください。◆画面表示車両の屋根に取り付けたOLEDに状態表示を行います。・起動直後プラレールの電源スイッ...
◆まえがき3月の初め頃に以下のような内容で Arduino を使ったプラレールのモーター制御の実験を行いました。・Arduino でプラレールを動かす、ON/OFFとPWM制御編・Arduino でプラレールを動かす、誘導電圧検出による速度のPID制御・Arduinoでプラレールを動かす、走行性能を測定これらの実験ではブレッドボードで動かしていたのですが、せっかくなので回路をプラレールの車両の中に組み込んでしまうことにしました。なお、制御の詳...
◆まえがきうちで使っているルビジウムオシレーターの較正を行いました。前回行ったのは2022年の5月 なので2年ぶりの較正です。◆構成方法と回路較正のやり方の詳細は以前の記事に書いていますが、GPS の 1PPS を基準に使い、ルビジウムオシレーターの 1PPS信号との位相の変化量を測定することでルビジウムの誤差を測定し、補正を行います。・回路図前回の記事に対し、C1, C2 の容量を変更しました。理由はミスカウントが発生し...
Arduino UNO R4 RTCのバッテリーバックアップ時の挙動
◆まえがきUNO R4 MINIMAのRTCで動かす時計はその後も順調に動いており、電源を切った状態でもバックアップ電池により時刻を刻み続けていることを確認しています。ただ、2~3日で1秒以上の遅れが出ている気がするので、ちょっと気になっています。時計の絶対精度については、この記事で説明したように 日差で0.2秒程度のズレに収まっているはずなのですが、調査は時計に電源が入っている状態で行っていて、バッテリーバックア...
◆まえがきArduino UNO R4 でプログラムを書いていたら、int のサイズが16ビットでは無く32ビットであることに気付きました。32ビット CPU なんだから当たり前なんですが、他の変数のサイズも気になったのでまとめて調べてみました。◆プログラムsizeof 関数で変数の型のバイト数を調べてプリントするだけのプログラムです。いつかまた使いたくなることがありそうなので、メモ代わりに掲載しておきます。// データ型毎のバイト数を出...
Arduino UNO R4 MINIMAで作る温度・電圧計付き時計
◆まえがき前回の記事で UNO R4の電源電圧が読めるようになり、前々回の記事では CPU内蔵の温度センサーの値が読める ようになりました。今回は、この2つの機能を RTCを使ったデジタル時計 に組み込むことにしました。◆回路図右上は UNO R4 MINIMA のボード内部の改造箇所で、RTCへ水晶を接続。更にバックアップバッテリーを接続しています。なお、これらの改造はしなくても、精度が下がったりするだけで...
◆まえがき前の記事で、Arduino UNO R4 のCPUチップ内蔵の温度計の値が読める ようになったので今回は電源電圧を測定してみます。ADコンバーターの入力と基準電圧にはいろいろな個所の電圧が接続出来るようになっています。今回はこの機能を使い、入力電圧に内部基準電圧の1.45Vを接続。基準電圧(フルスケール電圧)にボードの Vcc(5V)もしくは AREF(3.3V)を接続して測定を行います。こうすることで、内部基準電圧に対す...
Arduino UNO R4 のCPU内蔵温度センサーの値を読む
◆まえがきArduino UNO R4 MINIMA の CPU チップに内蔵されている温度センサ (TSN) の値を読み、OLED に値を表示するプログラムを作りました。UNO R4 の CPU である RA4M1 チップの温度センサと ADコンバーターの使い方を理解するための読み物としても面白いと思います。◆外観互換品のR4 MINIMA を使い、小さなブレッドボードを使って0.96インチの OLED を接続しました。なお、バックアップ電池などが付いていますが、今回の記事に...
◆まえがきオーブントースター(日立製、HMO-F100)を修理しました。症状としては、使用中に電源が切れて全く電源が入らなくなってしまったというものです。修理することでとりあえず使えるようなったのですが、温度過昇防止機能を本来の設計とは違ったものにしてしまったようです。そんなことで、推奨できる修理方法では無い可能性が高いのですが、一連の情報が何かのお役に立つかもしれないので、記事にまとめておきます。・外観...
◆まえがきArduino UNO R4 MINIMA(互換品)で時計を作る話の続きです。今回は、前の記事で宿題にしていた 時計の時刻合わせ機能を追加しました。UNO R4 MINIMA の RTC で時計を作る方法はあちこちに事例の紹介がありますが、時刻合わせの方法として、ソースコードに埋め込まれた時刻を使用、あるいはコンパイル時の時刻を使用するものが多いようです。RTCの動作確認ならそれで良いのでしょうが、時計の時刻を合わせるためには...
◆まえがきArduino UNO R4 の RTC についていろいろ調べて来ましたが、そのまとめとして OLED の画面に時計を表示する物を作ってみました。本当は、市販のデジタル時計のように、ボタン操作で時刻の設定が出来るようにしたかったのですが、今回は最小限の機能の物を作ることにしました。時計の機能としては最小限の物ですが、これまでの記事でいろいろ検討してきた RTC のクロックソースを簡単に切り替えることが出来るようにしてあ...
◆まえがき3月末開催のおもちゃ病院の修理事例紹介の最終回、今回はR/Cショベルカー RT-01(EXT)の修理です。修理内容としては、ラジコンのコントローラーのアンテナが取れたというものです。◆外観この写真は修理後なのでアンテナが付いていますが、緑矢印部にあるアンテナ無くなってしまったので修理して欲しいという依頼です。同時に、ラジコンの感度が悪いというコメントも付いています。◆分解に手こずった修理のためにはコントロ...
◆まえがきおもちゃ修理の話の2回目、今回は「すみっこぐらしパソコン」というおもちゃのノートパソコンです。症状はマウスが動かないというもの。いつまで存在するか判りませんが、この商品のメーカー(SEGA)のサイト→ すみっこ暮らしパソコンのページ◆外観パソコンの画面を開いた写真を撮り忘れました。液晶画面は小さいですがフルキー付きのノートパソコンです。大昔のパソコンに比べたら、あらゆる性能が上回っていそうです。本...
◆まえがき先日開催された稲城市主催のおもちゃ病院で、私が担当したおもちゃの修理の事例を紹介します。最初はジャイロコプターです。症状はリモコン操作を受け付けないというもので、外れてしまった部品も添付されていました。◆外観赤外線ヘリコプター (GYRO FALCON III) ジャイロファルコン3という名前です。二重反転プロペラのラジコンヘリです。ジャイロという名前が付いているのは、たぶんローターのピッチをジャイロ効果を...
Arduino UNO R4 のRTCの誤差を限界まで補正(内蔵CRオシレーター)
◆まえがきArduino UNO R4 のRTCの話をしつこく続けます。前回は 外付けした水晶の周波数を調整 することでRTCの誤差を補正しました。補正の効果は素晴らしいのですが、ハードの改造が必要なので実際にやるのは大変です。RTC の時刻源である LOCO の周波数を精密に調整出来れば、ハード改造無しで対策出来るのですが、トリムレジスタの調整感度は 3.77%/LSBとものすごく粗く、これでは精密な調整は出来ません。そん...
Arduino UNO R4のRTC、外部水晶の周波数を補正
◆まえがき前の記事では RTCのクロックソースを外部水晶に切替え ましたが、今回はその水晶に補正を行って更に精度を上げてみます。◆追加したRTC用の水晶チップの7-9ピンにはんだ付けしました。R4と互換性のあるボードには、RTC用の水晶が最初から実装されている物があるようなので、そういう物を使えばこんな面倒なことはやらなくても済むと思います。ところで、話が少し脱線しますが、CPUチップ(RA4M1)のマニュアルでは...
Arduino UNO R4のRTC、クロックソース切替と精度測定
◆まえがきプラレールいじりをやっていたので中断していましたが、再び Arduino UNO R4 の話です。中断前の最後の記事では、内蔵クロックの周波数を調整してみました 。その結果で一番残念だったのがRTCの時刻源として使われているLOCO(チップ内蔵のCRオシレーター)の誤差がとても大きかったことです。詳しくは前の記事を見て頂くとして、対策としては外部に32.768kHzの水晶を外付けするしか無さそうなので実際にやってみま...
◆まえがきプラレールいじりも 前回の記事の速度のPID制御 で一段落したので、途中で取得したデーターを整理して特性などを再確認してみたいと思います。◆誘導電圧とモーター回転数の関係モーターの通電を短時間止め、その間に回転子から発生する誘導電圧を測定することでモーターの回転数を推定しています。そのためには誘導電圧と回転数の関係を把握しておく必要があるので、実際に測定を行いました。結果は以下の通り...
Arduino でプラレールを動かす、誘導電圧検出による速度PID制御
◆まえがきプラレールいじりの話の続きです。前回は単純なON/OFFとPWM制御を行い、Arduinoからモーターパワーを調整する機能の動作確認を行いました。この記事ではこれを発展させ、モーターの電機子誘導電圧を検出して回転速度を検出し、PID制御により、指定した速度で走行できるようにしてみます。・走行している様子一定の速度になるようにパワーを自動調整しているので、上り坂でも平坦路と同じスピードで上ります。◆回路図(ク...
Arduino でプラレールを動かす、ON/OFFとPWM制御編
◆まえがきこのところソフトばかりいじっていたので、物理的に動く物を触りたくなってきました。ということで、前からやってみたかったプラレールのモーターを Arduino で制御、というのを実際に試してみました。◆素材新しく買うのは勿体無いので、ハードオフで中古を買ってきました。プラレールのジャンク箱で、車両は一両で100円、レールは5本で100円という価格で売られていました。そこで、新幹線1編成(3両)と曲線レール8本に...
Arduino UNO R4 の内蔵クロックの周波数をトリムレジスタで調整
◆まえがきArduino UNO R4 MINIMA の記事がまだ続きます。前回の記事では UNO R4 のクロックを IOピンに出して周波数を正確に測定 出来るようになりました。そうやって測定してみると、UNO R4 のクロック周波数の誤差はかなり大きいことが判りました。UNO R4 のクロック発生回路に水晶やセラミック振動子は使われておらず、チップに内蔵されたCRオシレーターなので仕方ないのですが、もう少し何とかしたくなります。この...
Arduino UNO R4 のクロックを IOピンに出して周波数を測定
◆まえがき前の記事で、CPUのレジスタの設定方法を理解した のでその使用例として、チップのクロックをIOピンに出す設定を行ってみます。実はこれをやりたかったので、レジスタの操作方法を調べていました。◆効果クロックの信号をIOピンに出せば、周波数カウンタを使った周波数測定が可能になるので、その誤差を正確に測定することが可能となります。また、いろいろな信号源として使えるので便利だと思います。◆CLKOUT信号マニ...
◆まえがきArduino UNO R4 いじりの話の3回目。前回は アナログポートの挙動を詳しく調査 しましたが、今回はCPUのレジスタの操作方法についてまとめます。CPUのIO機能の細かい設定を行うには、内部の各種レジスタを操作する必要があります。ソフトからはレジスタの名前でアクセスする訳ですが、その指定方法が UNO R3 とは少し違っていたので、そのあたりを整理しておきたいと思います。なお、C言語をちゃんと習った方に...
Arduino UNO R4 の調査、ADCの入力特性を再調査
◆まえがき前の記事に Arduino UNO R4 のアナログ入力特性 というのを書いて、UNO R4のアナログ入力はゼロボルト付近から使えるので素晴らしいと褒めたばかりなのですが、その記事への居酒屋ガレージ日記(JH3DBO)さんからのコメント で「入力に直列に入れた抵抗の値を変えた時の挙動を調べておいた方が良い」とのアドバイスを頂きました。確かにその通りなので実際に測定してみたところ、予想外の挙動が現れました。...
◆まえがきArduino UNO R4 の性能の調査の2回目、前回はCPUの実行速度を測定しましたが、今回はアナログ入力の特性を調べます。ボードはR4 MINIMA の互換品で調べましたが、実質的にはルネサスの RA4M1 のADC特性を測定していることになると思います。・調査したチップチップのマーキングは R7FA4M1AB3CFM でロット番号?は222AZ00 です。格安の互換ボードに搭載されていたチップなので本物かどうか判断出来ません。真贋判定できる...
Arduino UNO R4 MINIMAの性能を測定してみた
◆まえがき遅まきながら Arduino UNO R4 MINIMA を買いました。買ったと言っても中華な互換品なのであまり偉そうな顔は出来ないのですが、いじってみるとこの CPU は面白いです。そんなことで、私なりに気になった部分を調べてみたいと思います。なお、この調査はまだ続いているのですが、とりあえず現時点で判っていることを順に記事でまとめて行きたいと思います。初回の記事は CPU の速度測定です。◆調査した基板Arduino UNO R4 ...
◆まえがきこのところ取り組んでいたダイレクトコンバージョン方式のJJY受信機が完成しました。完成と言っても、ブレッドボードで動いているだけでまだまだ改良したいところが多いのですが、とりあえずJJYの受信は出来ているので現状を公開します。◆回路図(クリックで別窓に拡大)JJYの40kHzの信号を、U1,U2で高周波増幅。トランス式のDBMで局発の40.5kHzと混合して0.5kHzと80.5kHzの出力を作成。U31の2次のLPFで0.5kHzの成分だけ...
DBMのトランスにコモンモードチョークコイルを使う (JJY受信機)
◆まえがき自作JJY受信機のローカルオシレーターに使う水晶は何とかなったので、次はダブルバランスドミキサー(以下DBMと記します)に使うトランスを調達します。トランス式のDBMなんて使わなくても半導体のDBMチップ、あるいは普通の周波数変換回路を使えば良いのですが、以前からトランスを使ったDBMを作ってみたいと思っていたのでチャレンジすることにしました。◆トランスを使ったダブルバランスドミキサ回路以下のようになり...
時計用の水晶をトリミングして周波数を上げる(JJY受信機作り)
◆まえがきJJYの受信機を作りたくてあれこれやっているのですが、なかなか完成しません。全部終わったら記事にしようと思っていたのですが、何時になるか判らなくなってきました。そんなことで、面白そうな話を先行して順に紹介していくことにしました。最初の記事は時計用水晶の共振周波数調整(変更)です。◆どうやってJJYを受信するかうちは東京なので、福島県から送信されている40kHzのJJYを受信することになります。一番手っ取...
◆まえがき前の記事と同じ手を使って、オシロスコープの画面に「お城」と表示するプログラムを作りました。オシロの画面を使ったネタとしては、Xの @dydt_Naoさんの下記が有名だと思いますが、A. クリスマスケーキ お城の画面にデコレーションケーキを表示させ、クリスマス計器と呼ぶ。 https://twitter.com/dydt_Nao/status/1606577652038799360B. お城 お城の天守閣の画像を表示 https://x.com/dydt_Nao/status/1551514...
2024年もよろしくお願い致します(オシロの画面で賀正、2024)
◆まえがきお正月の記事におめでたいものを出したいのですが、特にネタも無いので今年はパスしようかと思っていました。ただ、以前の正月の出し物を見ていたら、2021年の正月のオシロの画面から、謹賀新年という記事に目が留まり、これをもう少しアレンジすれば今年の出し物として使えそうです。そんなことで1月1日の午後からちょとづつプログラムの修正作業を始めたのですが、夕方になって平成6年能登大震災が発生。当地では全く影...
◆まえがき久しぶりの記事の更新です。12月16日に開催された稲城市主催のおもちゃ病院で、当日の修理が難しかったために持ち帰ったおもちゃの修理を紹介します。◆音の出る絵本 1ページと2ページのボタンを押しても音が出会ないという症状です。なおボタンは表紙(0ページ)から6ページ目までの7つあり、他のページは正常に音が出ます。Φ10程度の穴の奥にメンブレンスイッチが付いていて、そこを押すとそのページの音楽が流れる仕掛...
ダイソーの「5000mAhモバイルバッテリー」の特性を測ってみた
◆まえがきダイソーの5000mAhのモバイルバッテリーを買ったので特性を測定してみました。なお、型番はHD-MB5000TABK-PPで価格は税込770円。充電コネクタはマイクロUSBとUSB-Cの2つ、出力コネクタはUSB-Aが一つの物です。◆外観パッケージの表側・裏側・裏面の表示安心のPSEマーク付き。容量:5000mAhというのはバッテリーの容量のことなので、USBから出力出来る電流容量は、変換効率 x 5000 x 3.7 / 5、つまり 変換効率 x 3700mAhに...
ユニクロのラウンドミニショルダーバッグ用のインナーシェルを作る
◆まえがきユニクロのラウンドミニショルダーバッグを使っているのですが、中央に小さな重い物を入れたりすると、全体がV字型に変形してしまうのが残念です。ということで、中敷きを入れて変形を防止してやることにしました。・ユニクロのラウンドミニショルダーバッグ底のマチ?の部分にはループ状の折り返しが入っていて、型崩れし難い作りになっているのですが、それでも限界はあります。◆試作底にプラスチックの板(PP板)を入...
◆まえがきArduinoを使った簡単な電圧ロガーを紹介します。これは、前の記事のハンディクリーナーの充電器の特性測定に使った物です。ちなみに、このところ忙しくて手記事の更新が停滞していますが、顔つなぎを兼ねて小ネタを投稿しておきます。◆仕様ArduinoのADコンバーターを使って電圧を測定し、その結果をシリアルに流しているだけの物です。CPU内蔵のADコンバーターなので10ビットの分解能しかありません。シリアルに流したデ...
◆まえがきハンディクリーナーを外付けした鉛バッテリーで使えるようにして、便利に使っているのですが、その充電が面倒です。実験用の安定化電源を使い、ミノムシクリップで接続して充電しているのですが、ちょっと面倒です。そんなことで、専用の充電器を作ることにしました。・ハンディクリーナーブラックアンドデッカーのハンドクリーナーを外付けバッテリーで使えるように改造した物です。◆回路の検討簡単に作るために、手元に...
Make Faire Tokyo2023 (MFTokyo2023) に行ってきた
◆まえがき東京ビッグサイトで開催された Maker Fair Tokyo 2023 の初日(2023/10/14)に行ってきたので写真を見ながら振り返ってみます。◆会場前・でっかいノコギリコロナでいろんなイベントが中止されていたので、これを見るのは久しぶりです。この作品の作者の方は去年の7月に亡くなられたそうなので、追悼として写真を撮りました。ちなみに、周辺の木が大きくなったため根元が見え難くなってきました。・会場の看板・...
◆まえがきArduino のLOLシールドを使ってLED名札を作ってみました。今週末にMake Faire Tokyo 2023 が久しぶりに開催されるので、会場内で首からぶら下げてみようかと思います。参考:Arduino用LOLシールドキット、組み立て編、Arduino用LOLシールドキット、動作テスト編◆回路図本来はArduino UNO に挿して使う物ですが、それでは厚くてケースに入らなかったので、Arduino NANO に変更しました。図中にも記載していますが、LOLシー...
TRW 8543というマーキングのICの素性をBardに尋ねた結果です。電源と言ったり、ロジックと言ったり、マイクロプロセッサと言ったりまちまちでした。...
◆まえがき今年の夏に集めたタマムシの羽根を使ってタマムシの羽根のスマホケースを作りました。これ、3年前から毎年やっている作業で、毎年少しずつ改良(改悪?)している物です。ちなみに過去の作品は下記の記事参照ください。・2021年:玉虫厨子にインスパイアされてタマムシのスマホケースを作った・2022年:タマムシの羽根のスマホケースの製作、2022年版◆製作過程やってることは以前の記事とほとんど同じなので、細かい説明...
ArduinoでTimer1を使ってバーストパルスを発生させる
◆まえがき前の記事で Arduino を使ってミニグラインダーのコントローラーを作りました。このプログラムで重要な役目をはたしたのが、PWM の波形を正確なタイミングでON/OFFさせるために作った Timer1 の割り込み処理ルーチンです。いわゆるバーストPWM波を発生させた訳ですが、このルーチンはいろいろなことに使えそうです。そういうことで、このバーストPWM波形の生成の部分を抜き出して紹介したいと思います。たぶん後で何かの役...
◆まえがきこのところ取り組んでいるミニグラインダー(ミニリューター、ミニルーター、ネイルグラインダー)用のコントローラー製作が終わったので、その内容を紹介します。詳しい動作原理などは前の記事も参照ください。なお、この記事ではソフトなどの細かい解説までは難しいので、そのあたりは(たぶん)別途記事で解説します。◆回路図(図をクリックで別窓に拡大)前の記事とほとんど同じですが、基板を外せるようにコネクタを...
◆まえがきDCブラシモーターを使ったミニグラインダー(リューター)の速度制御が上手く行くようになったのでその内容を紹介します。いつもだったら、開発の経緯を順に記事にして行くのですが、今回はいきなり(ほぼ)完成状態の回路とソフトの紹介から入ります。・ブラシモーターを使ったツール今回は写真の上側のミニグラインダー(ミニリューター)を制御してみます。ちなみにこれ、DC16Vで27000rpmで廻ります。◆背景と原理世の...
◆まえがき先日 (2023/8/19) 開催された地元自治体開催のおもちゃ病院で私が担当した物から、電気関係の故障修理を紹介します。◆電池の接触不良電源が入らないという症状で、電池の液漏れが原因かも?ということで持ち込まれたおもちゃです。・外観確かに液漏れに伴う汚れがいっぱい付着していたのですが、クリーニングしても電源が入りません。よく調べると電池のプラスの接点が接触していませんでした。・プラス端子が接触してい...
◆まえがき前の記事でやったArduinoを使った磁気浮遊を少し改良したので紹介します。ちなみに、もっと安定な物にしたかったのですが、これ以上は改良できなかったのであきらめました。◆浮遊体帯の改良浮遊状態が安定し難い原因として、磁石の先端が横方向に振れた時に中央に戻す力、つまりセンターリング力が弱いことが考えられました。その原因としては、磁石の先端が平坦なので磁界分布も平坦に近くなっているのが良くないのでは...
◆まえがき以前からやってみたかった磁界を使った物体の吊り下げの実験をやってみました。まだまだ改良したい点が多いのですが、とりあえず現在の状態をまとめて公開します。◆動画釣り上げ方式の磁気浮上が上手くいった。オシロの画面はコイル電流波形。コイルはリレーを分解、ホール素子もDVDのモーターを分解して入手。Arduinoで制御し、磁界検出の閾値をコイル通電時に少しシフトすることで安定域が拡大出来た。 pic.twitter.com...
◆まえがきいろいろ取り組んできたBLDCモーターいじりの総集編です。ArduinoとESCを使った駆動回路が完成したので、実用的な物としてハードディスクのスピンドルを使ったグラインダーを作ります。非力なモーターなので、小物のバリ取りや小径ドリルの研磨くらいしか出来ませんが、コンパクトで使い易く、またHDDのスピンドルは精度が高いので、高品質な研磨が可能になるはずです。◆外観・全体・3.5インチHDDのサイズの中に駆動回路...
ArduinoとESCを使ってセンサーレスBLDCモーターを駆動-その2
◆まえがき前の記事をちょっと改良しました。内容としてはモーターの回転(正確にはコイル電圧変化)を検出していたオペアンプを削除し、その機能をCPUに内蔵されているコンパレーターで行うようにしました。また、モーターの極数をジャンパーピンで選択できるように機能追加しました。◆回路オペアンプが無くなったのでちょっとすっきりしました。D2, 3, 4 のジャンパーがモーターの極数選択で、表に示すように2極から16極のモータ...
ArduinoとESCを使ってセンサーレスBLDCモーターを駆動
◆まえがきこのところブラシレスモーターをArduinoを使ってあれこれ動かしていますが、本格的にやるにはESCを使った方が簡単なことに気付きました。そんなことで、AliExpeessにオーダーしておいたのが先日届いたので早速動かしてみました。◆購入したESC容量30AのESCが送料入れて何と600円台でした。パワーFETや制御回路などを自分で集めて作ったら、とてもこんな値段では作れません。それに内蔵しているファームに相当のノウハウが...
◆まえがき先日、ArduinoでセンサーレスDCモーターを廻すという記事でHDDのスピンドルのBLDCモーターを廻しましたがプログラムを改良したので記録を兼ねて記事で紹介します。◆回路図と外観前の記事とほとんど同じものですが再掲しておきます。◆プログラム現時点の最新バージョンで。Arduino UNO(NANO)で動作確認済。拡張子を.inoに要変更。20230624_HddGrinder8.txt (BOM付きUTF-8ファイル下記は6Phase(磁気角で1回転)内で位相遅...
Arduino UNO (ATmega328P) のアナログコンパレーターの使い方-2
◆まえがき前回に引き続きArduino(ATmega328P)のアナログコンパレーターの使い方の話です。前回はメインルーチンからポーリングでコンパレーターの状態を読みましたが、今回は割り込みで読んでみます。◆回路図前回と同じですが、この回路を前提にしてプログラムの動作確認を行います。外観◆事例-3 コンパレーターの出力の変化で割り込みACIS0とACIS1を'0'に設定し、コンパレーターの室力に変化があった場合に割り込みを発生させ...
Arduino UNO (ATmega328P) のアナログコンパレーターの使い方-1
◆まえがきArduinoでセンサーレスDCモーターを廻した時に、回路を簡単にするために役立ったのが、CPUに内蔵されているアナログコンパレーターです。このコンパレーターはArduinoの標準的な関数からサポートされていないので、レジスタの直接操作が必要になります。つまりCPUのデーターシートを良く読まないといけないのですが、この作業が結構面倒臭いです。ということで代表的な機能について使用例としてまとめてみました。◆データ...
◆まえがき最近HDDのスピンドルなどのブラシレスDCモーターの駆動実験をいろいろやっているのですが(例えばこれ)、同期モーターとして動かしているだけで、本来の性能で動かせてはいませんでした。ブラシレスDCモーターのパワーをフルに引き出すためには、回転中の磁極の位置を検出して最適なタイミングで通電を制御する必要があるのですが、高度な制御が必要なので専用のICを使う、あるいはESCなどの専用のモジュールのが一般的...
「ブログリーダー」を活用して、ラジオペンチさんをフォローしませんか?
◆まえがき2か月前に タニタの体組成計が調子が悪くなったので測定電極を拡大する改造を行った のですが、その後1か月くらい経ったら症状が再発してしまいました。朝の忙しい時に、まともな値が出るまで何度も測定を繰り返すなんてやっていられません。そんなことで新しいのを買うしか無いか、だったらタニタは信用できないから今度はオムロンが良いかなー、なんて相談を始めました。ただ、僅かでも振動が加わると症状が...
◆まえがきArduinoを使ってOLEDにQRコードを表示させる記事 の続編です。今回はプログラムを修正して、文字数やマスク番号などの情報を表示させるようにしました。こういう情報と一緒にQRコードを見ると、その仕組みの理解に役立つと思います。また、記事の後半ではQRコードを見るだけで使用されているECCレベルを知る方法について解説します。◆表示画面画面は以下のように変わりました。一行目はQRコードに表示している文字列...
◆まえがきQRコードを使ったサービスが増えていますが、このコードについて詳しく知りたくなりました。そんなことで、自分でQRコードを発生させることで、その仕様などを勉強して見ることにしました。調べて見るとArduinoでもQRコードの発生が出来るようなので、実際にやってみました。表示には、タイトルのように0.96インチのOLEDの画面を使いました。◆プログラムの選定1)全体の構成ネットを検索すると、いろいろな実施例がヒット...
◆まえがきArduino UNO R4 のクロック品質の話の続きです。前回の記事では オシロのディレイドトリガ機能を使って ジッタの存在を確認しました。オシロに表示される波形のブレを見てジッタの存在を確認したのですが、もう少し詳しく調べてみたくなりました。ということで、今回はオシロの波形記録機能を使ってクロック波形の一つ一つの位相変化を調べてみました。まあ、最近買ったオシロ(RIGOL 1054Z)の機能をあれこれ...
◆まえがき居酒屋ガレージ日記さんが、Arduino UNO R4互換:RA4M1コアボードのクロック という記事で、パソコンのUSBポートに接続した状態だとCPUクロックの精度が良くなるという指摘をされています。その後の Arduino UNO R4 minima 電源供給方法でクロックが変わる#2 という記事で、UNO R4 minima でも同じ現象が起きていてその様子を詳しく調べた結果を解説されています。これ、物凄く気になる現象なので、うちで...
◆まえがき前回の記事では micros()の時間精度を測定してみましたが、この micros() が返す値は Arduino UNO の場合は Timer0 割込みを使って作られています。つまり、時間を監視するプログラムが裏で走っているのですが、この割り込み処理の期間はユーザープログラムの実行が止まってしまいます。もちろん止まるのは短い時間なのですが、ユーザーから見るとOSジッタが発生しているように見えると思います。このあたりの...
◆まえがきブログのコメントで、Arduino NANOのmicros()で時間を測ると誤差が大きい という情報を頂きました。その前のコメントにもお返事しているのですが、私は Arduino NANO のクロックは水晶オシレーターが使われているので思っていたので、「誤差は 10ppm 以内に入っているはず」などとレスポンスしていました。Arduino UNO のクロックにセラロックが使われているのは有名な話ですが、NANO には水晶が使われていると思っ...
◆まえがきタニタの体組成率計 BL-332L を昨年の夏頃から使っているのですが、冬になると足裏が乾燥してくるせいか、正常に測定出来なくてエラーになる(測定結果が5%になる)頻度が高くなってほとんど使い物にならなくなりました。取説を読むと、そういう時は「足裏を濡らしてから測る」と書かれていますが、そんな面倒なことやりたくありません。ちなみに、オムロンの体組成計ならそんなことしなくても測定出来るので、このタニタ...
◆まえがきトランジスタのアバランシェブレークダウンを使った 高速パルス発生回路 を使ってオシロのプローブの応答特性を測定してみました。◆測定方法パルス発生器からの信号を同軸ケーブルの先で50Ωの抵抗で終端し、その両端の波形をオシロで観察しました。オシロはRIGOL DS1054Z(100MHz改造機、サンプリング速度1GHz)を使いました。もっと高速なアナログオシロも持っているのですが、デジタル機の方が波形の記録が楽な...
◆まえがきアバランシェブレークダウンを利用した高速パルス発生回路 が出来たので、これを使ってオシロの立ち上り時間の測定を行ってみました。測ったのはテクトロのアナログオシロの2465Bと、RIGOLのDS1054Z(100MHz改造機)です。DS1054Zの測定は以前に行っているのですが、同じことを新しく作ったパルス発生器でもやってみました。◆周波数帯域の計算式立ち上がり時間から帯域幅を求めるには、帯域幅 = 0.35/立ち上がり時...
◆まえがき以前の記事で紹介した アバランシェブレークダウンを利用した高速パルス発生回路 をケースに入れていつでも使える状態にしました。◆回路図以前の記事の回路のままで問題無く動くのですが、小さなケースに入れたかったのでいくつか変更しています。・Q1のコレクタ側から行っていた同軸線の充電を、反対側から行うようにしました。こうすると最短距離で配線を行う必要があるQ1周辺の部品が減るので配線が少し楽に...
◆まえがき携帯充電器の中に入っているスイッチングトランスを利用した高電圧発生回路の話の続編です。前回の記事では タイマーICの555を使って昇圧 を行いました。この回路は駆動条件の自由度が高いのですが、出力電圧は安定化されていません。555にフィードバックを掛けて電圧を安定化させる手がありますが、オペアンプを使うので回路が複雑になってしまいます。例えば昔に、ガイガーミューラー管用の電源を作ったこと...
◆まえがき前の記事で、重要な役割を果たしたのが高電圧を発生させるDCDCコンバーターです。こういう電源を持っていると、高電圧が必要な実験をやりたい時に便利だと思います。また、手に入り易い部品を使っているので作り易いです。そんなことで、この記事でその回路の内容を詳しく解説したいと思います。◆トランス式のフライバックコンバーターで作る高い電圧を発生させたい場合、昇圧コンバーターを使うことになりますが、数百ボ...
◆まえがき新しいオシロを買ったのでその応答速度を確認するために、立ち上がり時間の短いパルスジェネレーターを作りました。なお、基本的な回路は以前の記事に書いたものと同じです。測定結果は前の記事の後ろの方に書いていますが、その時使ったパルスの発生回路はバラックで組み上げた物で恒久的に使えるような物ではありませんでした。特にその電源部はファンクションジェネレーターの出力を昇圧する方式なので、動かすために...
◆まえがき愛用しているアナログオシロ(テクトロ 2465B)がたまに立ち上がらないことがあるので、デジタルオシロを買うことにしました。どの機種にするか迷ったのですが、価格が手ごろで割と性能の良い RIGOLの1054Z (50MHz, 4ch) の中古を購入しました。そのままでも充分に使えたのですが、ファームのアップデートと100MHz化改造をやったのでそのあたりの状況を記録をかねて記事にしておきます。(記事の写真はクリックすると別窓...
◆まえがき6軸ジャイロのMPU-6050をいじっているのですが、前の記事でジャイロの割り込み信号の使い方が確認出来たので今回はリアクションホイールを使った倒立の実験を行います。ちなみに、リアクションホイールを使った倒立は、去年の11月に3軸ジャイロで行っているのですが、その時はジャイロのドリフトが大いために数分間しか倒立姿勢を維持できませんでした。MPU-6050らDMP(Digital Motion Processor)が付いているので、重力...
◆まえがき前の記事で6軸ジャイロのMPU-6050の使い方が判った(ような気がする)ので、今回は検出した姿勢をOLEDの画面にグラフィックに表示させてみます。なお、表示には0.96インチ(128x64画素)のOLEDを使いたかったのですが、RAMが足らなかったので128x32画素の物に変更しました。◆回路図センサーのMPU-6050とOLEDをI2Cで接続しただけです。数時間連続で動かすとフリーズすることがあったので、電源にC1、C2のパスコンを入れま...
◆まえがき久しぶりに電子工作ネタです。去年の11月頃にリアクションホイールで倒立、基本バージョン完成という記事を書いたのですが、この時使ったのは3軸のジャイロだったので、ドリフトが大きいという難点がありました。そんなことで、6軸のジャイロを使って再挑戦したいと考えていたのですが、とりあえずMPU-6050という6軸のジャイロセンサーを手に入れました。本当は M5Stack に採用されている MPU6886 が欲しかったのですが、...
◆まえがき多摩川の大丸用水堰の工事の状況を見て来ました。ちなみにこの工事の昨年の様子は下記の記事をご覧ください。・多摩川の大丸用水堰の改築工事の状況(2024年7月)・多摩川の大丸用水堰の状況(2024年10月)◆概要過去記事で解説していますが、多摩川の大丸用水堰付近の防災工事として堰の撤去工事が昨年から行われており、今年(の渇水期)の工事では、府中側の堰の撤去と護岸の整備が行われます。以下、多摩川の左岸の是政...
◆まえがきものすごく久しぶりに三沢川分水路の話です。うちの近所の地下深くに三沢川分水路のトンネルがあって、その位置を示す中心点標識が地上にいくつか設置されています。その全体像は、三沢川分水路のカテゴリーにまとめていますが、今回の記事はそのNo.13標識の話です。ちなみに、この標識については2009年ごろに書いた、三沢川分水路 中心線標識 No9、No13発見 という記事で紹介しています。この標識は稲城中央公園...
◆まえがきブレッドボード用のジャンパー線を保管しておくために、磁石式の吊り下げ保管器具を作りました。概要を Xにポスト したところ多くの方からいいねを頂いたので、詳しい構造などを記事で紹介したいと思います。◆外観こんな物を作る話です。先に最終形を紹介しておきます。◆これまでのジャンパーピンの保管方法・空きビンなどの挿して保管これまでは適当な容器に挿して保管していました。たぶんこれが一般的な保管...
◆まえがき前の記事のハード解説編 に引き続き、今回はソフト解説と性能測定などを行います。◆ソフト20240603_PlaRail_ThomasV72.ino (BOM付きutf-8ファイル)DCブラシモーターの電機子誘導電圧測定による回転数測定、PWMによるパワー調整、PID制御による定速運転を行っています。詳しくは前の記事のリンク先を参照ください。◆画面表示車両の屋根に取り付けたOLEDに状態表示を行います。・起動直後プラレールの電源スイッ...
◆まえがき3月の初め頃に以下のような内容で Arduino を使ったプラレールのモーター制御の実験を行いました。・Arduino でプラレールを動かす、ON/OFFとPWM制御編・Arduino でプラレールを動かす、誘導電圧検出による速度のPID制御・Arduinoでプラレールを動かす、走行性能を測定これらの実験ではブレッドボードで動かしていたのですが、せっかくなので回路をプラレールの車両の中に組み込んでしまうことにしました。なお、制御の詳...
◆まえがきうちで使っているルビジウムオシレーターの較正を行いました。前回行ったのは2022年の5月 なので2年ぶりの較正です。◆構成方法と回路較正のやり方の詳細は以前の記事に書いていますが、GPS の 1PPS を基準に使い、ルビジウムオシレーターの 1PPS信号との位相の変化量を測定することでルビジウムの誤差を測定し、補正を行います。・回路図前回の記事に対し、C1, C2 の容量を変更しました。理由はミスカウントが発生し...
◆まえがきUNO R4 MINIMAのRTCで動かす時計はその後も順調に動いており、電源を切った状態でもバックアップ電池により時刻を刻み続けていることを確認しています。ただ、2~3日で1秒以上の遅れが出ている気がするので、ちょっと気になっています。時計の絶対精度については、この記事で説明したように 日差で0.2秒程度のズレに収まっているはずなのですが、調査は時計に電源が入っている状態で行っていて、バッテリーバックア...
◆まえがきArduino UNO R4 でプログラムを書いていたら、int のサイズが16ビットでは無く32ビットであることに気付きました。32ビット CPU なんだから当たり前なんですが、他の変数のサイズも気になったのでまとめて調べてみました。◆プログラムsizeof 関数で変数の型のバイト数を調べてプリントするだけのプログラムです。いつかまた使いたくなることがありそうなので、メモ代わりに掲載しておきます。// データ型毎のバイト数を出...
◆まえがき前回の記事で UNO R4の電源電圧が読めるようになり、前々回の記事では CPU内蔵の温度センサーの値が読める ようになりました。今回は、この2つの機能を RTCを使ったデジタル時計 に組み込むことにしました。◆回路図右上は UNO R4 MINIMA のボード内部の改造箇所で、RTCへ水晶を接続。更にバックアップバッテリーを接続しています。なお、これらの改造はしなくても、精度が下がったりするだけで...
◆まえがき前の記事で、Arduino UNO R4 のCPUチップ内蔵の温度計の値が読める ようになったので今回は電源電圧を測定してみます。ADコンバーターの入力と基準電圧にはいろいろな個所の電圧が接続出来るようになっています。今回はこの機能を使い、入力電圧に内部基準電圧の1.45Vを接続。基準電圧(フルスケール電圧)にボードの Vcc(5V)もしくは AREF(3.3V)を接続して測定を行います。こうすることで、内部基準電圧に対す...
◆まえがきArduino UNO R4 MINIMA の CPU チップに内蔵されている温度センサ (TSN) の値を読み、OLED に値を表示するプログラムを作りました。UNO R4 の CPU である RA4M1 チップの温度センサと ADコンバーターの使い方を理解するための読み物としても面白いと思います。◆外観互換品のR4 MINIMA を使い、小さなブレッドボードを使って0.96インチの OLED を接続しました。なお、バックアップ電池などが付いていますが、今回の記事に...
◆まえがきオーブントースター(日立製、HMO-F100)を修理しました。症状としては、使用中に電源が切れて全く電源が入らなくなってしまったというものです。修理することでとりあえず使えるようなったのですが、温度過昇防止機能を本来の設計とは違ったものにしてしまったようです。そんなことで、推奨できる修理方法では無い可能性が高いのですが、一連の情報が何かのお役に立つかもしれないので、記事にまとめておきます。・外観...
◆まえがきArduino UNO R4 MINIMA(互換品)で時計を作る話の続きです。今回は、前の記事で宿題にしていた 時計の時刻合わせ機能を追加しました。UNO R4 MINIMA の RTC で時計を作る方法はあちこちに事例の紹介がありますが、時刻合わせの方法として、ソースコードに埋め込まれた時刻を使用、あるいはコンパイル時の時刻を使用するものが多いようです。RTCの動作確認ならそれで良いのでしょうが、時計の時刻を合わせるためには...
◆まえがきArduino UNO R4 の RTC についていろいろ調べて来ましたが、そのまとめとして OLED の画面に時計を表示する物を作ってみました。本当は、市販のデジタル時計のように、ボタン操作で時刻の設定が出来るようにしたかったのですが、今回は最小限の機能の物を作ることにしました。時計の機能としては最小限の物ですが、これまでの記事でいろいろ検討してきた RTC のクロックソースを簡単に切り替えることが出来るようにしてあ...
◆まえがき3月末開催のおもちゃ病院の修理事例紹介の最終回、今回はR/Cショベルカー RT-01(EXT)の修理です。修理内容としては、ラジコンのコントローラーのアンテナが取れたというものです。◆外観この写真は修理後なのでアンテナが付いていますが、緑矢印部にあるアンテナ無くなってしまったので修理して欲しいという依頼です。同時に、ラジコンの感度が悪いというコメントも付いています。◆分解に手こずった修理のためにはコントロ...
◆まえがきおもちゃ修理の話の2回目、今回は「すみっこぐらしパソコン」というおもちゃのノートパソコンです。症状はマウスが動かないというもの。いつまで存在するか判りませんが、この商品のメーカー(SEGA)のサイト→ すみっこ暮らしパソコンのページ◆外観パソコンの画面を開いた写真を撮り忘れました。液晶画面は小さいですがフルキー付きのノートパソコンです。大昔のパソコンに比べたら、あらゆる性能が上回っていそうです。本...
◆まえがき先日開催された稲城市主催のおもちゃ病院で、私が担当したおもちゃの修理の事例を紹介します。最初はジャイロコプターです。症状はリモコン操作を受け付けないというもので、外れてしまった部品も添付されていました。◆外観赤外線ヘリコプター (GYRO FALCON III) ジャイロファルコン3という名前です。二重反転プロペラのラジコンヘリです。ジャイロという名前が付いているのは、たぶんローターのピッチをジャイロ効果を...
◆まえがきArduino UNO R4 のRTCの話をしつこく続けます。前回は 外付けした水晶の周波数を調整 することでRTCの誤差を補正しました。補正の効果は素晴らしいのですが、ハードの改造が必要なので実際にやるのは大変です。RTC の時刻源である LOCO の周波数を精密に調整出来れば、ハード改造無しで対策出来るのですが、トリムレジスタの調整感度は 3.77%/LSBとものすごく粗く、これでは精密な調整は出来ません。そん...
◆まえがき前の記事では RTCのクロックソースを外部水晶に切替え ましたが、今回はその水晶に補正を行って更に精度を上げてみます。◆追加したRTC用の水晶チップの7-9ピンにはんだ付けしました。R4と互換性のあるボードには、RTC用の水晶が最初から実装されている物があるようなので、そういう物を使えばこんな面倒なことはやらなくても済むと思います。ところで、話が少し脱線しますが、CPUチップ(RA4M1)のマニュアルでは...
◆まえがきプラレールいじりをやっていたので中断していましたが、再び Arduino UNO R4 の話です。中断前の最後の記事では、内蔵クロックの周波数を調整してみました 。その結果で一番残念だったのがRTCの時刻源として使われているLOCO(チップ内蔵のCRオシレーター)の誤差がとても大きかったことです。詳しくは前の記事を見て頂くとして、対策としては外部に32.768kHzの水晶を外付けするしか無さそうなので実際にやってみま...
◆まえがきプラレールいじりも 前回の記事の速度のPID制御 で一段落したので、途中で取得したデーターを整理して特性などを再確認してみたいと思います。◆誘導電圧とモーター回転数の関係モーターの通電を短時間止め、その間に回転子から発生する誘導電圧を測定することでモーターの回転数を推定しています。そのためには誘導電圧と回転数の関係を把握しておく必要があるので、実際に測定を行いました。結果は以下の通り...
◆まえがきプラレールいじりの話の続きです。前回は単純なON/OFFとPWM制御を行い、Arduinoからモーターパワーを調整する機能の動作確認を行いました。この記事ではこれを発展させ、モーターの電機子誘導電圧を検出して回転速度を検出し、PID制御により、指定した速度で走行できるようにしてみます。・走行している様子一定の速度になるようにパワーを自動調整しているので、上り坂でも平坦路と同じスピードで上ります。◆回路図(ク...