- Arduinoソーラートラッカーに必要なコンポーネント:
- 単軸ソーラートラッカーはどのように機能しますか?
- Arduinoを使用して回転ソーラーパネルを構築する方法:
- 回路図と説明:
- Arduinoコードを使用した単軸ソーラートラッカー:
この記事では、Arduinoを使用してSun Trackingソーラーパネルを作成します。このパネルでは、2つのLDR(光依存抵抗)を使用して光を感知し、サーボモーターを使用してソーラーパネルを太陽光の方向に自動的に回転させます。 。このプロジェクトの利点は、ソーラーパネルが常に太陽光に追従し、常に太陽に面して常に充電され、最大電力を供給できることです。プロトタイプの作成は非常に簡単です。以下に、それがどのように機能し、プロトタイプがどのように作成されるかについての完全な説明があります。
Arduinoソーラートラッカーに必要なコンポーネント:
以下は、Arduinoを使用してソーラートラッキングシステムを構築するために必要なコンポーネントです。ほとんどのコンポーネントは、最寄りのショップで入手できるはずです。
- サーボモーター(sg90)
- ソーラーパネル
- Arduino Uno
- LDRのX2(光依存抵抗器)
- 10K抵抗X2
- バッテリー(6〜12V)
単軸ソーラートラッカーはどのように機能しますか?
このプロジェクトでは、LDRが光検出器として機能しています。詳細に入る前に、LDRがどのように機能するかを理解する必要があります。フォトレジスターとしても知られるLDR(光依存抵抗器)は、感光性デバイスです。光が当たると抵抗が減少するため、暗所または光検出回路で頻繁に使用されます。ここでLDRに基づくさまざまな回路を確認してください。
2つのLDRはソーラーパネルの両側に配置され、サーボモーターを使用してソーラーパネルを回転させます。サーボは、抵抗が低いLDRに向かってソーラーパネルを移動します。つまり、光が当たっているLDRに向かって移動します。これにより、ソーラーパネルは光を追跡し続けます。また、両方のLDRにある程度の光が当たっている場合、サーボは回転しません。サーボは、両方のLDRが同じ抵抗を持つ位置にソーラーパネルを移動しようとします。つまり、同じ量の光が両方の抵抗に当たり、一方のLDRの抵抗が変化すると、より低い抵抗に向かって回転します。 LDR。この記事の最後にあるデモンストレーションビデオを確認してください。
Arduinoを使用して回転ソーラーパネルを構築する方法:
プロトタイプを作成するには、以下の手順に従う必要があります。
ステップ1:
まず、段ボールの小片を取り、一方の端に穴を開けます。後でサーボで固定するためにネジを挿入します。
ステップ2:
次に、接着剤またはホットガンを使用して、2つの小さな段ボールをV字型に固定し、その上にソーラーパネルを置きます。
ステップ3:
次に、V字型の下側を、最初のステップで穴を開けた小さな段ボールのもう一方の端に取り付けます。
ステップ4:
次に、段ボールに開けた穴にネジを挿入し、穴からサーボに挿入します。ネジは購入時にサーボモーターに付属しています。
ステップ5:
次に、サーボを別の段ボールに置きます。段ボールのサイズは、Arduino Uno、ブレッドボード、バッテリーを置くことができるように十分に大きくする必要があります。
ステップ6:
接着剤を使用して、ソーラーパネルの両側にLDRを取り付けます。LDRの脚にワイヤーをはんだ付けしたことを確認してください。これらは後で抵抗器に接続する必要があります。
ステップ7:
次に、Arduino、バッテリー、ブレッドボードをボール紙に置き、以下の回路図と説明のセクションで説明されているように接続します。最終的なプロトタイプを以下に示します。
回路図と説明:
ソーラートラッキングarduinoプロジェクトの完全な回路図を以下に示します。ご覧のとおり、回路は非常にシンプルで、小さなブレッドボードを使用して簡単に構築できます。
このArduinoソーラーパネルトラッカーでは、Arduinoは9Vバッテリーで駆動され、他のすべての部品はArduinoで駆動されます。Arduinoの推奨入力電圧は7〜12ボルトですが、制限である6〜20ボルトの範囲内で電力を供給できます。推奨入力電圧内で電力を供給してみてください。したがって、バッテリーのプラス線をArduinoのVinに接続し、バッテリーのマイナス線をArduinoのアースに接続します。
次に、サーボをArduinoに接続します。サーボのプラス線をArduinoの5Vに接続し、アース線をArduinoのアースに接続してから、サーボの信号線をArduinoのデジタルピン9に接続します。サーボはソーラーパネルの移動に役立ちます。
次に、LDRをArduinoに接続します。LDRの一方の端を10k抵抗の一方の端に接続し、この端をArduinoのA0に接続し、その抵抗のもう一方の端をグランドに接続し、LDRのもう一方の端を5Vに接続します。同様に、2番目のLDRの一方の端をもう一方の10k抵抗の一方の端に接続し、その端をArduinoのA1に接続し、その抵抗のもう一方の端をグランドに接続し、LDRのもう一方の端をArduino。
Arduinoコードを使用した単軸ソーラートラッカー:
このArduinoベースのソーラーパネルトラッカーのコードは簡単で、コメントでよく説明されています。まず、サーボモーター用のライブラリーを同梱します。次に、サーボモーターの初期位置の変数を初期化します。その後、LDRセンサーとサーボから読み取る変数を初期化します。
#include
sg90.atach(servopin) コマンドは、Arduinoのピン9からサーボを読み取ります。次に、LDRピンを入力ピンとして設定し、センサーから値を読み取り、それに応じてソーラーパネルを移動できるようにします。次に、サーボモーターをサーボの初期位置である90度に設定します。
void setup(){sg90.attach(servopin); //ピン9にサーボを接続しますpinMode(LDR1、INPUT); // LDRピンを入力として作成pinMode(LDR2、INPUT); sg90.write(initial_position); //サーボを90度の遅延で移動します(2000); // 2秒の遅延を与える}
次に、LDRから値を読み取り、R1とR2に保存します。次に、2つのLDRを区別して、それに応じてサーボを移動します。それらの差がゼロになる場合は、同じ量の光が両方のLDRに当たっているため、ソーラーパネルが動かないことを意味します。 error という名前の変数を使用し、その値は5です。この変数の使用は、2つのLDR間の差が5未満になると、サーボが移動しないことです。これを行わないと、サーボは回転し続けます。また、差がエラー値(5)より大きい場合、サーボはソーラーパネルを光が当たっているLDRの方向に移動します。以下の完全なコードとデモビデオを確認してください。
int R1 = analogRead(LDR1); // LDRから値を読み取る1int R2 = analogRead(LDR2); // LDR2から値を読み取るintdiff1 = abs(R1-R2); // LDRのintdiff2 = abs(R2-R1);間の差を計算します。if((diff1 <= error)-(diff2 <= error)){//差がエラーの下にある場合は、何もしません} else {if(R1> R2){initial_position = --initial_position; //サーボを0度に向けて移動します} if(R1 <R2){initial_position = ++ initial_position; //サーボを180度に向けて動かします}}
これが、ひまわりのように自動的に光に向かって移動するシンプルなソーラーパネルトラッカーを構築する方法です。ここでは、軽量化のために低出力ソーラーパネルを使用しました。高出力または重いソーラーパネルを使用する場合は、それに応じてサーボモーターを選択する必要があります。