質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

Q&A

解決済

2回答

2904閲覧

自己保持ソレノイドを利用した回路の逆起電力の処理方法(arduino)

fantata

総合スコア30

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

マイコン

マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。

0グッド

0クリップ

投稿2021/10/23 13:17

編集2021/10/27 12:09

前提・実現したいこと

arduino unoを使って、ゲーム機の右と左のボタンを交互に押すものを作りたいと思っています。右のボタンを押して10秒キープ→左のボタンを押して10秒キープ→交互に という感じです。

電子工作に関して全くの初心者なので作る前にアドバイス等いただきたく質問しました。

想定している回路と部品、コード

回路部品について
・arduino unoR3
・抵抗10kΩ×1
・モータードライバーIC(TA7291P)×1
・ツェナーダイオード×2(ツェナー電圧15V)
・乾電池
12Vになるように直列に繋ぐ

・自己保持型ソレノイド×2
以下ソレノイドの説明
双方向の自己保持型電磁石で、赤線をプラス電極に、黒線をマイナス電極に接続すると、電源を切っても鉄心が手前に伸びます。巻き戻す場合は、赤線をマイナス電極に、黒線をプラス電極に接続します。
長時間の電源投入はしないでください。
仕様
電圧 DC12V
電流:1.2A
ストローク。6MM
重量:38g

特に気になっている部分が、ソレノイドによる逆起電力からの保護です。ソレノイドへ両方向から電流を流すのでどのように逆起電力を処理すればよいかいまいちよくわかりません。ツェナーダイオードを双方向にしていますが、これでいいのでしょうか。

その他、アドバイス等いただけると嬉しいです。
よろしくお願いいたします。

イメージ説明

該当のソースコード

arduino

1 2int IN1 = 5; 3int IN2 = 6; 4 5void setup(){ 6 pinMode( IN1, OUTPUT); 7 pinMode( IN2, OUTPUT); 8} 9 10void loop(){ 11 digitalWrite( IN1, HIGH ); 12 digitalWrite( IN2, LOW ); 13 delay(1000) 14 digitalWrite( IN1, LOW ); 15 digitalWrite( IN2, LOW ); 16 delay(10000) 17 digitalWrite( IN1, LOW ); 18 digitalWrite( IN2, HIGH ); 19 delay(1000) 20 digitalWrite( IN1, LOW ); 21 digitalWrite( IN2, LOW ); 22 delay(10000) 23} 24

試したこと

 
https://www.amazon.co.jp/実践Arduino-電子工作でアイデアを形にしよう-平原-真/dp/4274220818
arduinoの回路とコードは↑の参考を参考にしました。
逆起電力については、ダイオードについてググって調べました。

補足情報(FW/ツールのバージョンなど)

パーツは、乾電池ボックス、モータードライバーとツェナーダイオードをまだ購入していないので回路を試すことはできません。

追記

イメージ説明
こちらダイオードの代わりにコンデンサを使う回路図を書いてみました。電源の部分9Vとありますが24Vです。

イメージ説明
電源の電圧を減らすためにモータードライバを2個使う回路図も書いてみました。電源の部分9Vとありますが12Vです。

アドバイス等よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fantata

2021/10/23 21:49

ありがとうございます。quitsの方削除しました。
guest

回答2

0

ベストアンサー

結線図と回路図は違うものなので...情報としては「回路図」を提供するようにしてください。
で、その結線図、相当怪しいです。少なくとも片方のツェナーのアノードは浮いてます(どこにも繋がっていません)。また、ソレノイドは直列に二つが繋がっていますから、12V定格のソレノイドなら電圧は24V掛けることになりますがTA7291Aの電源電圧は通常20V以下です。

右のボタンを押して10秒キープ→左のボタンを押して10秒キープ→交互に という感じ

にはなりそうにないです。(定格より多少電圧が低くても動いちゃうかな?)

それはそれとして、TA7291Aの内部に逆起電力を逃がすダイオードは入っていますから、外部にダイオードを付ける必要はほとんどないように思いますがいかが。
逆起電力電流経路

逆に、そこはツェナーでいいのですか? 内部のダイオードを無視した場合、ツェナーのアノードをどちらもGNDに落としたとすると、どちらかのツェナーは逆方向の電圧が印加されて両端電圧はツェナー電圧、電流はオフにする直前の電流が流れることになります。定格1.2Aであれば、ツェナーダイオードで消費される電圧は瞬時とは言え18Wにもなることになります。自信を持って大丈夫、といえますか?

ダイオードの心配するよりは、ソレノイドに並列に0.1μぐらいのコンデンサかましたほうが余程効くかも。

(オシロは有るに越したことはないけれど、この程度の回路で必ずしも必要ではないでしょう。なにかっつうとデバッガとオシロというのも...あると効率大幅アップもしばしばで、なければどうにもならないこともあるのは事実だけれども)


質問の編集分について
既に述べたように、20Vを超える電圧はあまりよろしくないと思います。しかしソレノイドを並列にすると電流が足りなくなるので、TA7291とそのソレノイドを使おうという限りはドライバも2個にして、電源12Vでそれぞれソレノイドを1つずつ制御することになりますね。

それと、ソフトの方ですが、

右のボタンを押して10秒キープ→左のボタンを押して10秒キープ→交互に

ということであれば、

void loop(){ digitalWrite( IN1, HIGH ); //ここでソレノイドが動くので digitalWrite( IN2, LOW ); delay(1000); //ここで1秒待っているのだから digitalWrite( IN1, LOW ); digitalWrite( IN2, LOW ); delay(9000); //さらに9秒待って全部で10秒 digitalWrite( IN1, LOW ); digitalWrite( IN2, HIGH ); delay(1000); digitalWrite( IN1, LOW ); digitalWrite( IN2, LOW ); delay(9000); }

ということになるのではないでしょうか? 11秒でも構わない、という用途ならもとのままでもいいですけれど。

投稿2021/10/24 07:29

編集2021/10/27 13:36
thkana

総合スコア7639

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fantata

2021/10/27 12:01

回答ありがとうございます。調べ物をしておりご返信遅くなりました。 回路図追加させていただきます。
fantata

2021/10/27 12:10

オシロスコープを今回は見送ることにしました。テスターは持っているのでそれを使おうと思います。ありがとうございます。
fantata

2021/10/28 11:41

コードまでつけていただいてありがとうございました。モータードライバーICを2個使う方で回路組んでみようと思います。とてもわかりやすかったです。ありがとうございました。
guest

0

回路図がないので、一般論でいきます。
#回路が読めないんで、回路の可否は述べません

ツェナーダイオードを双方向にしていますが、これでいいのでしょうか。

これはこれでいいかと思います。
ましかし、ソレノイドの大きさがわからんので、ダイオードの発熱具合から、適切な容量のダイオードを選定する必要があるかと思います。

#あれ?双方向にするならソレノイドひとつあたり2個のダイオードが必要ですが、提示の実体配線図では2個しか見えないようですが、そこらへんどうなってるんでしょう

・乾電池 12Vになるように直列に繋ぐ

ってことですが、ソレノイドの駆動で電圧が思っきし変動するんで、これでまともにCPUが動いてくれるのか疑問です。駆動のときの電源電圧の変動でCPUがリセットしたりするので注意しましょう。
まずは、乾電池ではなく、きちんとした電源を持ってきて動作確認して見るべきかと思います。

で、こういうハードウエアの工作するなら、オシロスコープを用意して、各部の波形を見ることができるようにしとくべきかと思います

投稿2021/10/23 23:38

編集2021/10/23 23:48
y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fantata

2021/10/24 02:40

回答ありがとうございます。 ダイオードの個数について 質問の方に詳細を追加しておきます。 オシロスコープは購入しようと思います。 アドバイスありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問