スポンサードリンク

デバイス編#20 ~ハードをソフトでカバーする~

スマートカーテン

お久しぶりです!

気が付いたら前回の記事から半年以上が経過していました。
バタバタしていたとは言え、ここまで放置していたことを申し訳なく思います。誠にごめんなさい。

期間が空いたことでモチベーションも復活すると共に、初めての趣味開発なのである程度調べてわからないことは先々の改善点として残しておくという割り切りもできるようになりました笑


こんにちは、ポニ丸です。
GWということでまとまった時間がやっとできました!
そこでちょっとした方針変更と、新方針での作業を行いました。

新方針

回路の動作異常に関するハードウェア対策は次回への改良点とし、今回は対応しないこととします。
そして、ファームウェアで対策できる限りの対策を行います!

抱えている問題点

ということで、残っている問題とそのファームでの対策を考えました。

モータは回り始めが一番大きな抵抗値になります。
抵抗が大きければ電圧降下が大きくなるので、モータは回り始めの電圧降下が大きいことが言えます。
現状の回路ではマイコンとモータは共通の電源を使用しているため、モータが回ることで電圧が下がってしまいます。

また、モータの特性として回転開始時、停止時は定格電流の数倍のピーク電流(逆起電力)が流れます。逆起電力が発生しているときに反対方向への回転を始めてしまうと逆起電力と本来モータを回転させるために必要な電流が同じ方向になることで大電流が流れてしまい、電源が供給可能な電流量を超えてしまいます。

行った対策

そこで、ファームウェア側の対策として以下を行いました。

  1. モータへの供給電圧を下げる(Duty調整)
  2. 回転状態の変化があると一定時間入力無効時間を設ける
  3. 入力無効機能を正しく動作させるため、スイッチ入力にチャタリング回避機能を付与する

細かい数値の調整は、実際に動作確認をしながら行いました。

実地動作確認

さて!待ちに待った実地での動作確認です。
ここまで回路作って筐体作ってダメな部分を直しながらここまでやってきました。

先ほどの数値調整はカーテンを動作させていない無負荷状態だったので、カーテンと合体させて再度調整しました!

そして・・・

無事動きました!やりました!
手動のスイッチでという限定的ではありますが、カーテンを昇降させることに成功しました!

[設定パラメータ]
 ・モータのonDuty = 85%
 ・入力無効時間 = 2秒

実際にやってみて思ったことなんですが、非常に音がうるさいですね笑
動画を見ていただいた方も思われているでしょう。すみません。

このスマートカーテン、過去ログを読んでいただいている方はご存じかもしれませんが、設定した時間に開閉する機能があるんです。
起床時間に自動的に開いたカーテンから差し込む光で優雅な朝を迎えられると目論んでいましたが、騒音でテンションが下がる朝を提供するものになってしまいます。。
筐体設計だったりギアをつかってトルクを上げつつグリスで騒音を減らすだったりという改善案は思いつきますが、すぐに実践できるようなスキルは持ち合わせていないのでVer2での改善事項に追加です笑


とはいえ、動いたことは動いたのでデバイス編は一旦よしとしましょう!
残りはやぎ聖人が担当しているアプリが完成して結合動作確認ができれば完成です!

あと少しで完成のスマートカーテン。
もうしばしお待ちください!

ではでは!

コメント

  1. やぎ星人やぎ星人 より:

    >やぎ聖人
    昇華して聖人になってる。

タイトルとURLをコピーしました