Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Mesure précise du rayonnement solaire avec Arduino UNO et shield Ethernet

Composants et fournitures

Composant Quantité
Arduino UNO 1
Shield Ethernet Arduino 2 1
Cellule solaire 1
Résistance 10 kΩ 1

Outils nécessaires

À propos de ce projet

Contexte

Il existe de nombreux capteurs pour la température, l'humidité, la luminosité… mais pas de capteur abordable pour le rayonnement solaire (irradiance). Les pyranomètres professionnels coûtent 200–800 $, même chez les fournisseurs chinois. Inaccessibles pour le hobbyiste moyen.

Je voulais estimer l'énergie solaire disponible chez moi avant d'acheter des panneaux. Au lieu d'acheter un pyranomètre, j'ai construit le mien : beaucoup moins cher, et amusant ! Composants courants, Arduino pour les calculs.

Montage

  1. La cellule solaire a deux fils (noir = masse, rouge = tension). Si codes couleurs différents, testez au multimètre : tension positive = fil noir du multimètre sur la masse de la cellule.
  2. Connectez la masse de la cellule → GND Arduino. Le fil VCC → broche analogique A0 via la résistance 10 kΩ. La résistance est cruciale : elle doit être bien supérieure à la résistance interne de la cellule.

Le principe : la cellule convertit l'énergie solaire en tension électrique. Plus l'irradiance est forte, plus la tension est élevée. Relation directement proportionnelle.

Paramètres nécessaires :

Calculs :

Code exemple (Pyranomètre basique)

#define ANALOG_PIN A0
#define RESISTANCE 10        // en kΩ
#define PANEL_LENGTH 60      // mm
#define PANEL_WIDTH 20       // mm

volatile float Area;
volatile float Power;
volatile float Radiation;

void setup() {
  Serial.begin(9600);
  while(!Serial);
  delay(100);
}

void loop() {
  Area = PANEL_LENGTH * PANEL_WIDTH / 10000.0;  // m²
  Power = pow(analogRead(ANALOG_PIN), 2) / RESISTANCE;
  Radiation = Power / Area;

  char msg[64];
  sprintf(msg, "Rayonnement solaire : %.2f W/m2", Radiation);
  Serial.println(msg);
  delay(1000);
}

Valeurs typiques : 150–300 W/m² jour normal, jusqu'à 900 W/m² par temps très ensoleillé ou près de l'équateur.

Ajout de la connectivité Ethernet

Montez le shield Ethernet sur l'Arduino, broches alignées. Le code ci-dessous héberge un mini serveur web qui affiche la valeur et rafraîchit toutes les 5 s.

#include <SPI.h>
#include <Ethernet.h>

#define ANALOG_PIN A0
#define RESISTANCE 10
#define PANEL_LENGTH 60
#define PANEL_WIDTH 20

volatile float Area, Power, Radiation;

byte mac[] = {0xDE, 0x0D, 0x8E, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("Serveur à "); Serial.println(Ethernet.localIP());
}

void loop() {
  Area = PANEL_LENGTH * PANEL_WIDTH / 10000.0;
  Power = pow(analogRead(ANALOG_PIN), 2) / RESISTANCE;
  Radiation = Power / Area;

  char msg[64];
  sprintf(msg, "Rayonnement solaire : %.2f W/m2", Radiation);

  EthernetClient client = server.available();
  if (client) {
    Serial.println("Nouveau client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        if (c == '\n' && currentLineIsBlank) {
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println("Refresh: 5");
          client.println();
          client.println("");
          client.println("");
          client.print(msg);
          client.println("
"); client.println(""); break; } if (c == '\n') currentLineIsBlank = true; else if (c != '\r') currentLineIsBlank = false; } } delay(1); client.stop(); Serial.println("Client déconnecté"); } }

Schéma

Schéma de la cellule solaire, résistance et connexions (image fournie).

Processus de fabrication

  1. Mesure de température sur Raspberry Pi avec capteurs 1‑Wire Maxim et pont I2C DS2482
  2. Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
  3. Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
  4. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  5. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  6. Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
  7. Station météo interactive Nextion HMI avec Arduino Mega et capteurs
  8. Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
  9. Solar Tracker V2.0 – Système avancé de suivi solaire DIY pour panneau photovoltaïque