Arduino-Nano を使った時計

今回は、他国の方が制作された時計を実際に制作してみました。今回のNanoを使用した時計は、ハード・ソフト・パーツともに公開されています。ただ、使用部品については、作者様の仕様の通りとはなっていません。国内にて、使用部品を検索したものの、国内には無いと思われるものもあり、そこは、こちらで適当に判断して使用しました。ハード・ソフト・パーツについては、作者様のサイトにてご確認ください。

(https://www.hobbyprojects.com内、Arduino NANO Propeller LED Analog Clockで見つかります)

Arduino NANO Propeller LED Analog Clock

時計の向きがおかしな方向になってますので説明します。時計の時刻のスタートは12時15分00秒です。上の画像の左下側の緑LEDが5個並んだ所が12時、左上側の緑LED5個並びが3時、12時から180度振った所が6時、3時から180度振った所が9時です。赤LED7個並びが時針、赤LED9個並びが分針、赤LED11個並びが秒針です。

下の画像が実際に製作したものになります。黒い丸いものは磁石です。NanoのCPU下に出ているトランジスタのようなものがホールセンサで、本来は、これを大凡、12時の方向に設定します。そうすることで、正常に時刻が読めます。実際には、下の画像のボードが回転します。回転に必要となるモーターはボード上の単5電池(NanoとLEDの間)の裏にあって、軸をボードに固定しています。

Arduino NANO Propeller LED Analog Clock(自作)

今回は、Nanoをトータル4.5V(単5電池3個)で動作させています。

時計として動作させるため、DCモーターを使用し、回転数を制御するためにPWM制御基板(秋月電子)を使いました。モーターの電力・制御電圧は9VでOKでした。作ってみて難儀した所は、モーターが回転している時の振動を抑えることでした。モーター回転軸を中心としたボードの重量をNano側、LED側ともに同じ重さにしないとモーターを固定している台そのものが振動してひどい有様になってしまいます。磁石と、ホールセンサの距離も重要で離れすぎると時計が表示されません。近すぎると磁石と接触します。今は、まだ、重量バランスが取り切れていません。今後の課題です。

モーター用PWM制御基板(秋月電子)

取り敢えずは、今回の動作の様子を動画にしましたので見てください。

まずは、文字盤の表示・展開です。モーターの回転数を上げることで、正しい位置まで、文字盤を展開します。

次に、秒針が動作する様子です。

次回は、Nanoの電源をコイルを使って、給電してみます。(どうなるやら。(^^;)

(*)Arduino-Nano の電源を、電磁誘導にて賄ってみました!!

前回は、プロペラボード上に単5電池を載せて動作させていましたが、今回は電池を外して、コイルにて給電してます。

コイルによる給電

下の画像の大きなコイルが給電用1次コイル、小さいコイルが給電用2次コイルです。Arduino-Nanoの右側のパーツが2次側給電回路のパーツです。当然のことですが、2次側コイルと2次側給電回路は、Arduino-Nanoと一緒に回転します。1次側給電コイルはボードに固定されています。

1次側2次側コイルと2次側給電回路

下の画像の左側は、プロペラボード回転用モーターのPWM制御ボードで、右側がArduino-Nanoへの給電用1次側回路です。PWM制御ボードのモーター電源と、制御電源、給電用1次側回路の電源は12Vです。PWM制御ボードに接続している白線・青線がACアダプタの12V出力です。1次側給電回路の黄線・緑線が1次側給電回路用コイル(大)に繋がってます。

PWM制御ボードと、1次側給電回路

下の画像は、Arduino-Nanoに給電した状態の画像で、回転はしていません。(青LEDのみ点灯)

プロペラボード給電状態

下の画像は、時計の12時の位置を修正した画像となってます。磁石の位置を変えることで修正できます。画像では左側のLED発光箇所がダブっているところがありますが、実際には1つの点として光ってます。時計の描画スタート位置は6時の位置で、ここから右回りで描画しています。

時計の位置修正

下の動画は、時計の回転開始時の動画です。短いですが(^^;

下の動画は、文字盤を展開し終わったところです。

今回は、ここまでです。またね!!(^^;

Arduino-Nano を使った時計(2)

以下、振り子時計の画像です。デジタル表示とアナログ表示混在です。また、今回も作者様の仕様とは異なるところがあります。

(https://www.hobbyprojects.com内、Propeller LED Pendulum Clock using Arduino NANOで見つかります)

Propeller LED Pendulum Clock using Arduino NANO

以下画像内の物が今回の製作物と修正を加えた物です。修正は1次コイルを3mm持ち上げてます。製作した物は今回の時計用にプロペラボードを製作し、時計の表示切替と、時分秒の設定用の赤外線トランスミッタです。赤外線トランスミッタは以下から情報が得られます。

(https://www.hobbyprojects.com内、38KHz IR Remote Control Transmitter and Receiver using Arduino NANOで見つかります)

Propeller LED Pendulum Clock using Arduino NANO 各ボード
プロペラボード裏面(1)
プロペラボード裏面(2)

上の画像のモーターの軸を固定する金具は自作です。(^^; とっても大変だった!!金属板の間にスリップ防止のゴム板を入れました。

赤外線トランスミッタ(中央)
赤外線トランスミッタ(中央裏面)

赤外線トランスミッタもNanoを使用します。

赤外線トランスミッタで時計表示切替

上の画像のように、赤外線トランスミッタで時計の表示が切り替わります。

以下、それぞれの動作状況を動画にしていますので、よろしければ、どーぞ!!(^^;

今回製作していて判ったことがあります。プロペラボードへはコイルにて給電していますが、コイルが大きい!!インダクタンスはそのままに、コイルの直径を小さくしたい!!何故かというとNanoのボードが1次コイルをまたぐと磁場にて誤動作する(表示が乱れる)今回は、プロペラボードを延伸してNanoのボードを磁場から遠ざけることで誤動作を回避しました。その結果、ボードのバランスをとるために重りを増やすこととなりました。(泣)他国の別の製作者の方は、500円玉弱くらいのコイル(市販品)で作っています。ただ、今現在それと同じ品物は国内には無い模様。似通った物はあるものの高い!!作るしかないか??

と、いったところでした!!中々奥深いの~~ (^^;

それでは、またね~!!

Arduino-Nano を使った時計(2)(改) ・・・最終!!

今回は、前回の製作を元に改良・再構築しました。

Propeller LED Pendulum Clock using Arduino NANO (改)

前回は、給電用1次コイル・受電用2次コイル共に直径が大きく、磁界によるNanoへの影響を避けるべく、ボードを長くして磁界を避けていました。今回は、これを改善すべく、1次コイル・2次コイル共に自作し、給電側回路にも少々手を加えて、今まで同様、動作するところまで調整しました。

プロペラボード正面と、給電用1次コイル

ボードの長さは、一番最初に手掛けた、Arduino NANO Propeller LED Analog Clock と同じです。給電用1次コイルの直径が約30mm、厚みが3mmです。

プロペラボード裏面と、受電用2次コイル

受電用2次コイルの直径は約25mm、厚み2mmです。

デューティー可変回路に変更

デューティー可変とすることで、「給電電流の調整ができるかな」と考えました。

Propeller LED Pendulum Clock using Arduino NANO (改)・・・最終(1)
Propeller LED Pendulum Clock using Arduino NANO (改)・・・最終(2)

上2つの画像の通り、切り替えもOKでした。

両方の画像の「40分」当たりの間隔が少し広いですが、ご了承ください。モーターを制御しているパーツも給電用のパーツも同じ物で出来ていて、デューティーを可変することでモーターの回転数を変えていますが、デューティーが安定していません。これにより「40分」付近の間隔が広くなったり狭くなったりしています。これを解決するには回路そのものを変更する必要があると考えてます。後程、できるようであればやってみようと思います。

以下、動画になります。

今回の作業で、給電・受電共にコイルを小さくできました。市販品で厚みが1mm程度の物等も有り、自身も手持ちが有りますが、今回はこれに頼らず製作・調整をしました。大した回路ではありませんが、やりがいが有りました。次回以降も今回のように試行錯誤しながら色々と製作できればと考えてます。(^^;

次回は何に挑戦しようかな・・・。またね!!

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA