dfms0のアイコン画像
dfms0 2023年08月20日作成 (2023年08月20日更新)
製作品 製作品 閲覧数 849
dfms0 2023年08月20日作成 (2023年08月20日更新) 製作品 製作品 閲覧数 849

バウンサー自動揺らし機をPWM制御してみた

バウンサー自動揺らし機をPWM制御してみた

バウンサー揺らし機をPWM制御することにより、最適な速度に調整できるようにしました。

はじめに

バウンサーは、抱っこの代わりにゆらゆらと揺れることで赤ちゃんの機嫌をとってくれる非常に頼もしい存在です。しかし、抱っこよりも遥かに楽とはいえ、腕の負担やバウンサーへの拘束は、長時間になるとなかなかこたえます。バウンサーを自動で揺らすことができればその間にちょっとした家事を片付けることができ、その恩恵は計り知れません。世の中には電動バウンサーというものも存在しますが、重量があり、高価なので導入をためらってしまいます。

調べてみたところ、偉大な先人が既に簡単な方法で自動化に成功していました(その1その2)。早速同じ部品を購入して実験してみたところ、改善の余地があることがわかりました。課題とその解決方法について簡単に紹介します。

課題

バウンサーとそれに乗った赤ちゃんを、ばね、重り、ダンパの3つが合わさった振り子として考えます。これを外力によって振動させるとき、これを振り子の強制振動ととらえることができます。一次元の振り子の強制振動では、外力の振動数(揺らすタイミング)が重りの質量 mm とばね定数 kk によって定まる系の固有の振動数

ω=km\omega = \sqrt{\frac{k}{m}}

と一致するとき、振幅が最大になることが知られています(共振)。つまり、最小の力で最大の揺れを引き起こすことできるのです。バウンサーは一次元の振り子とは異なりますが、一次元の振り子からの類推はそう間違っていないはずです。

バウンサーを手で揺らすとき、無意識のうちに最も揺らしやすいタイミング(共振振動数)で力を加えています。先述のリンク先の方式ではモータをプーリーユニットによって減速させ、その回転運動をバウンサーを揺らす往復運動として取り出しています。モータの回転数は基本的に駆動電圧に比例します。そのため、電池の数によって段階的に回転数を変えることは可能ですが、赤ちゃんの体重の変化による共振振動数の変化や、バウンサーのモデル毎の細かな共振振動数の変化には対応できません。振動数が共振振動数から外れていると、ガタガタとした早すぎる揺れや、違和感のある遅すぎる揺れとなってしまい、効率の悪いものとなってしまいます。モータの回転数を連続的に調整することができれば、揺れ具合を見て最適なタイミングとなるよう制御が可能となります。

実験して確かめてみたところ、単三電池1個(約1.5V)の場合回転が遅すぎ、2個直列(約3.0V)の場合回転が速すぎることがわかりました。そのため、駆動電圧をこの中間の1.5V ~ 3.0Vの範囲に調整する必要があることがわかりました。

解決方法

調べてみたところ、このようなDCモーターの制御には、抵抗による降圧とPWM制御の2つが候補になることがわかりました。今回の場合モータにはそれなりに大きな電流が流れるため、抵抗によって降圧する方法では発熱が気になります。また電池の持ちも悪くなる恐れがあります。勉強もかねてPWM制御を試すことにしました。
PWMはPulse Width Modulation (パルス幅変調) の頭文字で、ONとOFFを高速に繰り返しながらそれぞれの時間比をコントロールする方式です。今回の場合、電池から取り出す電圧はそのままに、モータに加わる正味の電圧をコントロールする(回転数が変えられる)ことが可能になります。PWM信号を作る方法としては様々な方法が考えられますが、オペアンプ2つででそれなりに使えるPWM信号が作れることがわかりました。手元にあった2回路入りのオペアンプを使えばIC1個で済みます。試してみたところ良好な結果が得られました。

回路図

回路図
一段目のオペアンプは矩形波を発生させています。そのおまけとして得られる三角波(に近い信号)を二段目のオペアンプの入力としています。二段目のオペアンプはコンパレータとして動作しており、その参照電圧は可変抵抗で調整できるようになっています。ここでパルス幅の調整が可能で、その出力はPWM信号です。PWM信号はモータ駆動用トランジスタを介してモータを駆動します。

オペアンプ

手元にあった単電源2回路入りオペアンプNJM13404を使用。

モータ駆動用トランジスタ

TAMIYAのプーリーユニットに含まれているDCモータは、型番で調べるとマブチモータ製のFA-130であるらしいことがわかりました。3.0V駆動の時、最大電流は2A以下のようです。手元にあった大電力用トランジスタ2SD1415Aの電流定格が7Aであったため、これを使うことにしました。

動作確認

ブレッドボードを使った実験
はじめに、回路をブレッドボード上に組み上げ、モータと接続して回転数をチェックしました。モータの回転数確認にはスマホのアプリを使用しました。(音の周波数を測定しているようです。今時こんな便利なものがあるんですね。)可変抵抗を回すと、それに合わせてモータの回転数が変わることが確認できました。回転数は無負荷時で最大15000RPM程度まで連続に変化させることができ、期待通りの動作が確認できました。

実装した回路基板
問題なく動作していそうだったので、回路をユニバーサル基板上にはんだ付けしました。可変抵抗は手元にあったドライバーで調整するタイプを使っていますが、実用上は指で回せるタイプのほうが便利そうです。

動作の様子(クリックすると再生します)
動作の様子(クリックすると再生します)
続いてバウンサー自動揺らし機に実装した回路を取り付けました。バウンサーの先端に洗濯ばさみを固定し、プーリとの間を100均で買ったゴムひもでつないでいます。プーリーユニット、電池ボックス、ユニバーサルプレートは先行例で紹介されているTAMIYA製の同じものを使用しています。動画は回転数の調整を行ったあとの状態です。手で揺らした時に近い、自然なタイミングでの揺れが実現できていることがわかります。

おわりに

PWM制御回路を実装し、モータの回転数を制御することでバウンサーを自然な揺らしに近い振動数で揺らすことができました。電池の持ちはまだ確認できていませんが、数十分以上は耐えられそうです。
ところが、しばらく自動揺らし機を使ってみたところ、親が近くにいないと揺れていても結局泣いてしまうことがわかりました。騙し騙し活用してきたいです。

ログインしてコメントを投稿する