エントリー

ステッピングモーターでロータリースイッチを制御

当初はバリコンを遠隔制御するため以下のようなモーターを購入していたのだが上手くいかないので現在はバリキャップ(可変容量ダイオード)に切り替えようと思っている

IMG_20230607_192903.jpgIMG_20230607_192942.jpg

その中で購入していた4相ステッピングモーターがバンド切替に使えるかもしれないと考え試してみた

IMG_20230607_193229.jpg

動作確認

まずは4相ステッピングモーターの動作を確認(YouTubeでよみやさんが丁寧に説明しているので詳細はそちらで)

専門では「2相ユニポーラ」と言われているようだ(2相はバイポーラ)

以下のように2相(青1ー黄3,オレンジ4ーピンク2)の間に1本共通の線(赤5)が配線されている

20230609_001.png

これに電流を順番に8シーケンス流すと回転する(以下は正回転)

20230609_011.png20230609_012.png20230609_013.png20230609_014.png

20230609_015.png20230609_016.png20230609_017.png20230609_018.png

逆回転させるには逆順にする

2相だと2つの電磁石の極性を交換させながらモーターを回転させるので1相毎に4石(計8石)必要だが4相だと既に4方向あるので4石で済むことになる

IMG_20230607_210158.jpg

正回転テスト用スケッチ

ロータリースイッチと繋ぐ

IMG_20230608_164545.jpg

ダイレクトにロータリースイッチに繋いで動かすにはトルクが足りなそうなのでフランジを3Dプリンタで作製(PETG使用)

IMG_20230608_164620.jpgIMG_20230608_164642.jpg

トルクが不足していないか試行して確認

回転したので次へ

ロータリースイッチ回転制御

ロータリースイッチの位置を判断するため2回路を使い抵抗で分圧回路を構成

20230609_021.png

ケースを3Dプリンタで作製(PETG使用)

IMG_20230608_193835.jpg

ロータリースイッチとステッピングモーターを組み込み

IMG_20230608_201320.jpg

UP/DOWNスイッチを付けたスケッチを作製して確認

スケッチ

改良・課題
  • ステッピングモーターを動作させない時はMOへの制御をOFFにしていおかないと電力を消費する
  • ロータリースイッチのスイッチ間にスイッチ未接触間があり対処が以下の場合と絡む
  • 回転時の異常発生を考慮してタイムアウトしているが,その場合の対応策
  • フランジの軸受けが甘いため動作不良が起きた場合の対処
  • モーターの軸が中央にないのでケースサイズが大きくなる

な!百葉箱の補修

台風2号が過ぎ去った後くらいに気圧センサー(BMP280)の異常が発生

稀に突然低くなるおかしい値を計測していたことはあったので交換が必要なのかと思ってはいた

SS20230607_001.png

BMP280通番15を11に交換

IMG_20230607_131546.jpg

ところが交換後.気温や湿度も計測できなくなり分解して調査したところ,ESP8266をはじめセンサー類のソケットのピン側に錆があり接触不良になっていたことが判明

この際,BMP280に問題があるかと11から13に交換(11は問題ないのを確認して後に使用)

BMP280交換の際ピンソケットを刺し直ししたのが災いしたようだ(普通実施するけどね)

ピンの錆を鑢で磨き,分解したので要所を水洗い,センサーのみだがピンの刺し部分をテープ養生し復旧

ArduinoIDEでFTDIチップでの書き込みエラー

たまたま秋月電子のArduinoキットのボードに都合のよいシールドが載っていたので回路を組んでスケッチを書き込もうとしたらエラーとなってしまった

(以下はAuduino Pro Miniのエラー画面だが同じ)

SS20230604_008.png

「avrdude: ser_open(): can't open device "\\.\COM8": ?A?N?Z?X??????????????B」

Windows10時に同じ現象となったことがあり記憶ではFT232RLドライバの問題で,FTDIの最新ドライバーでは通信は問題ないのだがArduinoIDEからのスケッチ書き込みはエラーになってしまう

対策としては古いドライバーにすればよくWindows11に新規にアップした際に最新のドライバーになってしまったようだ

そこで同じように古いドライバーにしたのだが結果は変わらず嵌ることになる

FT232RL使用ボード

FT232RL経由で書き込むボードが多いだけでなくフューズビットやブートローダー書き込み装置で使用しているため重要なので解決しないとならない

(秋月のキット)

IMG_20230604_121122.jpg

(ProMini 5V/3.3V版)

IMG_20230604_121151.jpg

(Uncompatino)

IMG_20230604_121220.jpg

ドライバの完全削除

Windowsの問題だといえるのだが簡単にドライバを削除することができない

削除したと思っていても一度セットアップされたドライバはほとんどがディスクにストックされプラグ&プレイによって復活してしまう

更に今ではディスク上になかったらネットからダウンロードして適用してしまうから困ったもんだ

いろいろやってみたが以下の方法で完全に削除することができた

①デバイスマネージャを開いて対象のデバイスのプロパティを開く

SS20230604_001.png

②デバイスのアンインストールを実行

SS20230604_002.png

③「このデバイスのドライバーを削除しようとしました」のチェックボックスをONしてアンインストールを実行

SS20230604_004.png

これで削除できれば良いが完全に削除されないことが多い

削除されたかどうかは再度プラグ&プレイで確認(ドライバの適用がディスクかネットか判断する必要はあるが完全削除なら適用されない)

④③を実行しないで「ドライバ別デバイス」を実行して削除する方が確実

SS20230604_005.png

⑤デバイスマネージャが以下のようになる

SS20230604_006.png

⑥対象デバイスの「.inf」を選択して「ドライバーの削除」を実行

SS20230604_007.png

⑦バージョン別に多くのドライバがあればプラグ&プレイで何度か繰り返すことで全部削除できる

結果とドライバ

完全解決ではないが回避はできるようにはなった

どうやらIDEの方にも問題がありそうで「arduino-2.1.0」では新旧どのドライバーでも書き込みエラーとなる

「arduino-1.8.13」だと1つ前のドライバで書き込み成功

SS20230604_009.png

ドライバ:https://ftdichip.com/drivers/vcp-drivers/

・2021/07/05 2.12.36.4(最新ドライバ)

不可

・2017/08/16 2.12.28.0(1つ前,DL可)

arduino-2.1.0は不可

arduino-1.8.13で書き込み成功

・2015/07/10 2.12.6.0 (更に1つ前)

arduino-2.1.0は不可

arduino-1.8.13で書き込み成功

情報

この件についてネットで検索しても不思議と出てこない

海外サイトで最新ドライバは問題あるとの情報はあったが対策はない

FTDIドライバを完全に削除する(FTClean)があった(https://www.hdl.co.jp/USB/ftcln/)→ 使用は自己責任で

不良品のAD9833は中華製あるあるだった

先日確認したところ出力が得られないため不良品としたAD9833モジュール

購入先のAmazonで不良が多いとのコメントがあり,その中に半田付けが粗いというコメントもあった

そこでチップ面をじっくり観察

IMG_20230603_170603.jpg

目視してもレンズを使っても見えないのでスマホのカメラで10倍撮影して確認してみるとピン間に半田の接触がありそうに観えた(ほんの僅かに下から突き出している)

試しにを軽く吸い取ってみる

IMG_20230603_202759.jpg

ピン間の半田は無くなったように観える

IMG_20230603_174036.jpg

再度モジュールの確認をしてみると

IMG_20230603_202438.jpg

出力できるようになったではないか!

さすが中華製

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed