何でも実習生の実習日誌

電子工作、模型スチームエンジン工作など、何でも工作が大好きです。
手持ちの工作機械は卓上ボール盤だけ、全て手作りです。

ハードウェア制御のサーボモーター基本動作確認

2024-05-29 16:30:58 | 電子工作

2024年5月28日(火曜日) 曇り・夜は大雨

 昔工作したときの回路図を見ながらブレッドボードにICを差し込んで
配線を済ませました。
 昔は蛇の目プリント基板に部品を取り付けてハンダ付けで配線をした
けど、今はブレッドボードなんていう便利なものがあるので工作は大分
楽になりました。
 配線が終わったボードに電源、指示装置代わりのパルス発振器、
オシロスコープを接続してテストをしてみました。

 ブレッドボードに組んだ回路はこんなものです。
 

     

  今はオシロスコープで波形が観測できるので実験も面白いです。
  実験も楽しいです。

 

 

指示パルス(コントローラから出力されるパルス)の幅と追従パルス(サーボ
モーターのポテンショメーターによって制御されるパルス)の幅を比較して
指示パルス幅 = 追従パルス幅 になるようにモーター(ポテンショメータ)
を制御・回転させる。 指示パルスと追従パルスの幅が同じになったら回転は
停止させる。

 

 ポテンショメーターになるボリュームを指でつまんで回します。
 追従パルスの幅が広くなったり狭くなったりします。
 サーボモーターに指示を出すコントローラはパルス発振器で
代用しました。 パルス幅も制御できます。
 指示パルスと追従パルスの幅を変化させて実験をしました。
 すると

 指示パルス幅 > 追従パルス幅 のときは 制御出力は「正回転」で
追従パルス幅を広くする方向に出力されます。
 
 ところが 指示パルス幅 < 追従パルス幅 のときは制御出力に
「正回転」と「逆回転」の両方が出力されてしまいます。

 

 「正回転制御」と「逆回転制御」の出力が出てしまう!!!

 

 こんなテストの様子を動画でご覧ください。

   以前の工作失敗の原因はこんなところかも知れません。
 ロジックを点検してみます。

                (続く)

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ハードウェアで制御するサーボモーター工作

2024-05-27 15:11:55 | 電子工作

2024年5月27日(月曜日) 薄曇り

 昔(10年余り前のこと)工作して失敗したサーボ―モーターの
回路図を見て、もう一度作り直してみることにしました。
 この回路も雑誌に掲載されていたものを真似したものですが、
ポテンショメーターの代用にした可変抵抗器(VR)なども
いい加減な工作で作ったもので(これが原因かどうかわかりませんが)
結局は失敗に終わりました。
 先日、マイコンで制御するサーボモーターを工作して、これは何とか
うまく行きました。(と、自分では思っています。)
 そこで今度は以前、失敗したハード制御のサーボモータ工作に再挑戦
してみます。

 回路図から動作の仕組みを考えてみました。
 コントローラから送られてくるパルス幅が変化する指示パルスを受信して
制御回路は指示パルスのパルス幅に一致するようにモーター回転を制御して
自身の追従パルス幅を広げたり狭めたりして一致したところで停止する・・
 ラジコンのサーボもこんな感じで動作してるのではないでしょうか?

回路図を書き直しました。 

  タイミングチャートを書いて動作の様子を勉強してみます。

                      (続く)

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

昔の工作で失敗したサーボ・モーターを作り直してみます

2024-05-27 09:18:00 | 電子工作

2024年5月27日(日曜日) 晴れ

 近頃はマイコン(Arduino-IDEで動かすESP32)工作で遊んでいます。
 先日はサーボモーターを工作して何とか完成?(やっと動いた)しました。
 実はサーボモーターの工作はずーっと前にやったことがあります。
 コントローラーもサーボモーター制御もすべてハードウェア制御でした。
 あれこれ悪戦苦闘しましたが結局は失敗に終わってしまいました。
 その当時を思い出してファイルに閉じこんであった回路図を取り出してみてみました。

 回路図はこんなものです。
 雑誌に掲載されていた回路図を参考にして手持ち部品に置き換えたものです。
 (どんな雑誌だったか、どんな記事だったかも忘れてしまいました。)



  当時工作に使っていたジャンクICも保存してあります。

  

   ブレッドボードに取り付けて動作させてみました。

 

 古いパルス発生器も動作します。 
 私はオシロスコープの波形を見るのが好きです・・・(ちょっと異常かな?(笑い))

 

 今は「ブレッド・ボード」何ていう便利なものがあります。
 ハンダ付けなどせずに自由に部品の配置、配線ができます。
 それを使って配線図どおりに配線をしました。

 

 さぁ、うまく行くかどうか・・・ガンバローっと!!!
 

  

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

サーボモーターの動作を安定させました

2024-05-23 13:04:32 | 電子工作

2024年5月22日(水曜日) 晴れ

 サーボモーターの実験を始めてから3週間が過ぎました。
 減速機の工作、減速機出力軸とポテンショメータ軸との
結合(カップリング)工作など、悪戦苦闘を繰り返して
やっと自作のサーボモーターが出来上がりました。


 

 早速、テストをしてみました。
 コントローラのボリュームを回すとサーボモーターのホーンが動き、
コントローラの動きを追いかけてきます。
 何とかサーボモーターらしい動きをしてくれます。
 しかし、ホーンはピクピクと細かく左右に振れて安定に静止しません。
 何でだろう?
 回路やロジックを確認してみました。

 マイコンとモーターの接続図

制御ロジック

  要はコントローラの出力電圧と、サーボモーターのポテンショメータ・出力を
 比較してモーターを右回転させたり左回転させたりして両者の出力が同じ(==)に
 なったら停止させる・・・ということです。

 

 まぁ、コントローラの変化に追従してサーボモーターが追いかけくるから
基本的な動きはOKのはずです。
 問題は比較するデーターの数値です。
 コントローラもポテンショメータも普通の可変抵抗器(2KΩBタイプ)です。
 抵抗体(カーボン被膜)の上をスライダー(バネ材で作られた摺動電極)が
移動して抵抗値を変化させるタイプですから安定した抵抗値変化は望めません。
 コントローラとポテンショメータの出力が「イコール」のときに停止させる
のですがこの「イコール」が瞬間的にしか掴めないのではないでしょうか。
 
 コントローラ、ポテンショメーターの電圧は「analogRead」という
コマンドで読み取っています。
 この電圧値を確認してみると「0」から「3899」近くの数値になっています。
 可変抵抗器(以下VR)のスライダーのわずかな動きで数値は変化するでしょう。
 一方、マイコンのロジックでは数値が「1」でも変化すればそれは「変化」と
して判断されてしまうはずです。
 そこでVRの出力が「0~99」までは「0」、「100~199」までは「1」、
「200~299」までは「2」、というように範囲ごとに数値を与えれば変化する速さが
鈍くなって安定に比較ができるのではないかと考えました。

 こういうことを実行するのに、「map関数」という機能があります。
 これを使って

    「0~3750」 ➡ 「0~30」

 に変換させました。
 これで大体 入力が「125」増加するごとに出力は「1」ずつ加算されるはずです。 

 プログラムを改造して動作させてみました。

 コントローのVRを変化させると、サーボホーンが追従してきます。

 おぉー、今度は安定に「イコール」を検出してくれます。

   コントローラの指針とサーボホーンの指針が同じ向きで停止しています。
 両者のVR出力が一致(イコール)すると赤LEDと青LEDが同時に点灯します。
 モーターへの電源がOFFになり電流が「0」になります。 

 map関数って便利ですね!!!

 

 そんなテストの様子を動画でご覧ください。 


 

 サーボモーターの工作はモータや減速機などメカ的な工作があって
なかなか面白かったです。
 工作実習生にはちょっと難しい工作でしたが何とか完結させることが
できました。 

 いろいろ応援をくださった皆様、ほんとうにありがとうございました。
 これからもよろしくお願いいたします。

    

 

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

工作したサーボモーターをテストしてみました

2024-05-19 15:02:01 | 電子工作

2024年5月18日(土曜日) 晴れ

 組み立てが終わったサーボモーターをマイコン(ESP32)に
接続して動作させてみました。

 接続はこんな感じです。

 

 配線はごちゃごちゃです。

 

  マイコンには簡単なプログラムを組み込みました。
  コントローラの軸を回転させるとその回転に追従するように
 サーボモーターが回転します。

  ただ、サーボモーターは本来は停止するべきところで「ピクピク・・・」と
 動いてしまいます。
  アナログーデジタル変換の入力に余分な信号(ノイズ?)が乗って
 その出力で細かく振動(ピクピク・・・)してしまうのかもしれません。
  
  そんなサーボモーターの動きをどうぞ動画でご覧ください。

 

 

        プログラムはコントローラの出力電圧とポテンショメータの出力電圧を比較して
 もしコントローラの電圧の方が大きい(高い)場合はポテンショメータの出力を
 大きく(高く)する方向にモーターを回転させる、逆の場合はポテンショメータの
 出力を小さく(低く)する方向に回転させ、両者の電圧が等しくなったところで
 モーターを停止させる・・・ただこれだけです。

   信号線にノイズが乗ってもピクピク動かないようにプログラムで制御できれば
 良いのですが・・・ 勉強してみます。

                    (続く)  

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする