Arduinoとステッピングモータを使って窓を自動化してみた【電子工作】

Arduinoとステッピングモータを使って窓を自動化してみた【電子工作】

雨が降ったら勝手に閉まる「自動窓」をつくりたい

スマートホームが流行っています。

家中の家電製品や照明器具がネットにつながり、便利で快適な暮らしを実現するスマートホーム。

amazon「Alexa」のようなスマートスピーカーを用いて、音声で照明器具や家電を動かすのも一般的となりました。

他にも、家中のセンサーを活用してあらゆることが自動化されつつあります。

人を検知してエアコンを起動させたり、雨が降ってきたら自動的に窓が閉まったり。

とても便利ですね。

マイコンが安価に入手できる時代、スマートハウスとは無縁の古い民家でも、意外と簡単にスマート化できるかもしれません。

今回はArduinoとステッピングモータを使って、自動窓の作成にチャレンジしたいと思います。

スマートハウス化の第一歩として、とりあえず「窓が動く」ことを目指します。

今回製作する自動窓のメカニズム

今回対象とする窓はこちら。

縦130×横80×2面の一般的な窓です。

窓枠の下側のスペースを利用して機構を設置します。

送りねじを用いた窓の開閉機構

動作機構には送りねじを使います。

送りねじとステッピングモータの接続にはカップリングを自作しました。

こちらの記事にカップリング製作をまとめています。

ステッピングモータはUsongshineの17HS4401を使用。

3Dプリンターによく使われるモータです。

窓との接続は手動で開閉したいシチュエーションも考慮して、手軽にロックを外せるクラッチ式にしました。

ここは廃材を活用して自作。

送りねじナットと一体化させた窓の接続用クラッチがこちらです。

Arduinoとステッピングモータを繋ぐ電子回路

マイコンにはArduino Uno、モータドライバICにはSN754410を使用。

接続は以下のようにブレッドボード上に実装しました。

ボタンを押すと5Vが供給されてモータが動きます。

ステッピングモータの動作電圧は、本来独立して必要ですが、面倒くさいのでArduinoの5Vを供給しました

これが後ほど影響してしまうのですが・・・。

Stepperを使用したArduinoのプログラム

プログラムはシンプルに下記のように組みました。

//Steppingmotor Test
#include <Stepper.h>

const float turnSteps = 200;
float rpm = 180;
float Steps = 50; 

Stepper myStepper(turnSteps, 8,9,10,11);
 
void setup() {
  Serial.begin(9600);
  myStepper.setSpeed(rpm) ;
}
 
void loop() {
  Serial.print(" Rotational Spped:");   
  Serial.print(Steps / turnSteps * 360,0);  
  myStepper.step(Steps);
}

Stepperを使うことで短い行数で記述できます。

さすがArduinoです。

完成した自動窓を実際に動かしてみた

すべての要素が完成したところで、いよいよ動かします。

ステッピングモータも単独で試運転済み。

クラッチを接続して、ボタンを押します。

動きました!

送りねじが回転し、窓が動いています。

・・が。

10秒後。

めちゃくちゃ遅い。

10秒経ってわずか10センチ、秒速1センチ。

ボタンを押す指が痛くなってくる程の遅さ。

手で窓を開けた方がよっぽど早いしラク。

考えられる原因は、ステッピングモータの外部電源を省略したせいでしょう。

Arduinoのわずかな電力で頑張ってモータが動作しているせいで、ギリギリのトルクしか出せていません。

スムーズに動いているというより、詰まりながら悲鳴を上げているような動きでした。

とりあえず、今回は動いたのでOKとします。

課題が山積みになりました。

  • 動作の高速化(せめて5秒くらいで全開)
  • 開閉動作の実現(現状開放のみ)
  • 入出力の自動化(リモコンorセンサー)

あとは、リミットスイッチも必要です。

現状だと端部で詰まって強制停止してしまいます。

スマートホームへの道のりは長いです。

コメントを残す

メールアドレスが公開されることはありません。