Arduinoを使用したGSMポンプモーターコントローラー回路

問題を排除するために楽器を試してください





この投稿では、農家に優しいGSMポンプモーターコントローラー回路を構築します。
携帯電話のSMSを介して、世界中のどこからでもリモートで灌漑システムのオンとオフを切り替え、確認メッセージを返します。アイデアはPGラガヴァンディール氏から依頼されました。

デザイン

農業はインドで最大の産業の1つであり、毎年10億人以上の人々に食糧を提供しています。大量の食料を生産することは決して簡単な作業ではありません。灌漑は要因の1つです。



農業従事者の作物畑のほとんどは、彼らの住居から遠く離れた場所にあり、ウォーターポンプをオンにするだけで、年間の輸送に莫大な費用がかかります。

インドはITスキルと宇宙プログラムで知られており、映画「重力」よりも火星に到達していません。これは、エンジニアと科学者の間で大きな可能性を示しています。しかし、スキルが異なる分野に均一に分散されていない農業は、技術開発が遅い分野の1つです。



このSMSベースのGSMポンプモーターコントローラーは、 農業開発 、これは革命的なプロジェクトではないかもしれませんが、農業従事者に喜びをもたらすかもしれません。

プロジェクトの技術的な部分に飛び込みましょう。

プロジェクトは最小限のハードウェアコンポーネントで設計されているため、初心者でも簡単に実行できます。
この回路は、セットアップ全体に電力を供給する電源で構成されています。

Arduinoは、意思決定を行うプロジェクトの頭脳であり、テキストSMSを送受信し、ユーザーと通信し、モーターを制御するリレーを行うGSMモデムです。

使い方

Arduinoを使用したGSMポンプモーターコントローラー回路

注:BC548トランジスタのベースには少なくとも10Kの抵抗を使用してください。330オームは低すぎます。

ザ・ 変圧器の降圧 230VACから12VACおよびブリッジ整流器はACをDC電流に変換し、電流は電解コンデンサを通過して電源を平滑化します。

固定 12V電圧レギュレータ arduino、GSMモデム、リレーに電力を供給します。ザ・ GSMモデム は、それぞれRXとTXであるピン#0とピン#1でarduinoに接続されています。

GSMのRXはarduinoのTXに接続され、GSMのTXはarduinoのRXに接続されます。混乱している場合は、下の図を見てください。接続ミスはSMSを送受信しません。

ARDUINO TX ---------------------- RXGSMモデム
RX ---------------------- TX

アース間接続は、arduinoとGSMモデムの間でも確立されます。

電源からarduinoとGSMに直接ワイヤをはんだ付けするだけでなく、GSMとarduino用のオスジャック電源コネクタを入手してみてください。これにより、プロジェクトの混乱が増える可能性があります。

トランジスタはリレーを駆動し、ダイオードはリレーのオン/オフを切り替えながら回路を高電圧スパイクから保護します。

ザ・ LEDインジケータ リレーのステータスを示します。 LEDが点灯している場合はリレーがアクティブになり、LEDがオフの場合はリレーが非アクティブになります。

有効なSIMをGSMモデムに挿入し、レートカッターなどのSMSのネットワークプロバイダーが利用できるオファーを利用してみてください。これにより、SMSの費用が削減されます。

プログラムコード:

//----------------Program developed by R.Girish------------//
int LED = 8
int motor = 9
int temp=0
int i=0
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(motor,OUTPUT)
pinMode(LED,OUTPUT)
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(20000)
delay(20000)
delay(20000)
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('System is ready to receive commands.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
if(temp==1)
{
check()
temp=0
i=0
delay(1000)
}
}
void serialEvent()
{
while(Serial.available())
{
if(Serial.find('/'))
{
delay(1000)
while (Serial.available())
{
char inChar=Serial.read()
str[i++]=inChar
if(inChar=='/')
{
temp=1
return
}
}
}
}
}
void check()
{
if(!(strncmp(str,'motor on',8)))
{
digitalWrite(motor,HIGH)
digitalWrite(LED,HIGH)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Activated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
else if(!(strncmp(str,'motor off',9)))
{
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor deactivated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
else if(!(strncmp(str,'test',4)))
{
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('The System is Working Fine.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
//----------------Program developed by R.Girish------------//

注1:プログラムのコンパイル中に警告が表示されますが、無視してかまいません。プログラムは検証され、テストされます。

注2:コードをアップロードする際は、arduinoからTXおよびRX接続を削除してください。

注3:プログラムの4箇所で、「xxxxxxxxxxxxx」を受信者の電話番号に置き換えます。

注4:モジュールに電源ボタンのないGSMモデムを購入してください。停電が発生した場合、手動でボタンを押さないとモバイルネットワークにラッチされないため、このようなタイプのGSMモデムは避けてください。 GSMモデムなし 電源スイッチ 電力が保持された直後にモバイルネットワークにラッチします。

著者のGSMポンプモーターコントローラー回路のプロトタイプ:

上記の設定の使用方法:

•携帯電話から/ motor on / SMSを送信して、リレーをアクティブにします。

•/ motor off / SMSを送信して、リレーを非アクティブにします。

•回線からの応答をテストするために/ test / SMSを送信します。

コマンドは必ず「/」で開始し、「/」で終了してください。そうしないと、有効なリクエストとして受け入れられません。

•/ motor on /はリレーをオンにし、SMS「MotorActivated」の確認応答を返します。

•/ motor off /はリレーをオフにし、SMS「MotorDeactivated」の確認応答を返します。

•/ test /を送信すると、「システムは正常に機能しています」という確認メッセージが返されます。

•上記のメッセージは、セットアップが正常に機能していることを示しています。

•確認応答が返されない場合は、モーターでアクションが先行していないと見なすことができ、問題のトラブルシューティングを行うことができます。

•セットアップの電源をオンにした後、 1分 システムは確認SMS「システムはコマンドを受け入れる準備ができています」を送信します。このSMSを受信すると、プロジェクトを提供する準備が整います。

上記のコマンドは絶対確実であり、モーターを誤ってトリガーすることはありません。セットアップは、上記で指定された賞賛以外のSMSに応答しません。

上記の概念の改善

この上記のGSMポンプアプリケーション回路は多くの読者を魅了し、私たちはたくさんの質問や提案を受け取りました。このウェブサイトの熱心な読者の一人であるガンジー氏は、以前のデザインに良い改善を提案しました。

モーターが実際にオンになっているときのSMS確認

改善点はすべて、ユーザーがGSMから携帯電話でSMS応答を受信する受信確認を元に戻すことです。 ポンプコントローラーシステム ユーザーが有効なSMSコメントを送信したとき。

既存の設計では、リレーの実際の状態(ON / OFF)に関係なく、確認応答SMSがユーザーに送信されます。

ガンジー氏が提案した新しい設計変更は、リレーが物理的に状態が切り替わっているかどうかをリレーの状態をチェックします。

この新しいGSM水による変更 ポンプコントローラーの設計 回路図に示すようにフィードバックシステムを追加し、新しいコードをアップロードすることで、以前の設計にそれほど手間をかけずに実装できます。

回路図:

SMSコマンド「/ MOTORON /」を送信すると、ピン#9がハイになり、リレーがオンになります。リレーがコモンピンとN / Oピンを接続すると、ポンプが始動し、トランスをオンにして、出力に+5を与えます。

+ 5V信号はピン#7に供給され、ピン#7は確認し、「モーターがアクティブになりました」という確認応答で戻ります。

「/ MOTOROFF /」を送信すると、ピン#9がLOWになり、リレーが共通ピンとN / Oピンを切断します。これにより、ポンプと接続されている変圧器がオフになります。ピン#7の出力はLOWになり、「モーターが非アクティブ化されました」という確認応答とともに戻ります。

確認がない場合 SMSはあなたの携帯電話で受信されます 、アクションが実行されておらず、ポンプが最後に要求された状態にあることを確認できます。サイトにアクセスしてトラブルシューティングを行うか、停電のために確認応答が受信されない場合があります。

プログラムコード:

//----------------Program developed by R.Girish------------//
int motor = 8
int LED = 9
int temp=0
int i=0
int ack=7
char str[15]
void setup()
{
Serial.begin(9600)
pinMode(ack,INPUT)
pinMode(motor,OUTPUT)
pinMode(LED,OUTPUT)
digitalWrite(motor,LOW)
digitalWrite(LED,LOW)
delay(20000)
delay(20000)
delay(20000)
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('System is ready to receive commands.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
if(temp==1)
{
check()
temp=0
i=0
delay(1000)
}
}
void serialEvent()
{
while(Serial.available())
{
if(Serial.find('/'))
{
delay(1000)
while (Serial.available())
{
char inChar=Serial.read()
str[i++]=inChar
if(inChar=='/')
{
temp=1
return
}
}
}
}
}
void check()
{
if(!(strncmp(str,'motor on',8)))
{
digitalWrite(motor,HIGH)
delay(100)
if(digitalRead(ack)==1)
{
digitalWrite(LED,HIGH)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor Activated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
else if(!(strncmp(str,'motor off',9)))
{
digitalWrite(motor,LOW)
delay(5000)
if(digitalRead(ack)==0)
{
digitalWrite(LED,LOW)
delay(1000)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Motor deactivated')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
else if(!(strncmp(str,'test',4)))
{
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('The System is Working Fine.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
}
//----------------Program developed by R.Girish------------//

上記の実装は実際にはテストされていませんが、作成者は上記のアイデアが機能することをパーセントで確信しています。読者が上記の改善に関する問題を見つけた場合は、コメントセクションで表現できます。

部品表

1)変圧器の降圧12-0V
2)ダイオードIN4007 x5
3) LM7812 x1
4)リレー12V x1
5)BC548トランジスタx1
6)電解コンデンサ1000uF x1
7)GSMモジュール:SIM800またはSIM900モデル
8)330オーム抵抗x2
9)LED RED / GREEN x1
10)ArduinoUnoまたはArduinonanoまたはArduinoMega
11)DCオスジャックx2

ビデオクリップ:

三相モーターとの統合

上記の設計のリレーステージをアップグレードして、GSM携帯電話コマンドを使用した3相モーターの操作と互換性を持たせるようにという多くのリクエストを受け取っています。

したがって、私は必要な回路を設計することにしました うまくいけば 一般的なスタートおよびストップコンタクタメカニズムを備えた特定の3相モーターをオンおよびオフに切り替えることができます。

次の図は、IC4017回路を使用してデザインを構成する方法を示しています。

GSM三相モーターコントローラーリモコン携帯電話

注:100uF / 10K、220uF、47Kの値は、それぞれのトランジスタとリレーステージの遅延を正しくするために、調整が必要な場合があります。




前:侵入者位置インジケータセキュリティ回路 次へ:リモート制御ソーラーランプ強度コントローラー回路