Solar Concentration & Acquisition Device
Système embarqué pour la collecte, l’affichage et la sauvegarde de données thermiques et solaires.
Le projet SCAD s’inscrit dans le programme SOLSTICE, dont l’objectif est de développer une solution de mesure et de pilotage pour un système de concentration thermique par paraboles PTC et de stockage de chaleur.
L’enjeu est de créer une architecture embarqué + interface logicielle robuste, capable de :
- Lire des capteurs de température (thermocouples via MAX6675)
- Piloter des pompes et moteurs (L298N + encodeurs)
- Mesurer la tension des panneaux photovoltaïques
- Sauvegarder et visualiser les données sur Raspberry Pi
- Fournir une interface graphique conviviale (IHM)
- Acquisition de capteurs thermiques (MAX6675 : PTC1, PTC2, Cuve1, Cuve2)
- Contrôle des pompes via driver L298N
- Lecture des encodeurs pour ajuster les débits
- Horodatage par module RTC DS3231
- Communication UART → Raspberry Pi
- Affichage local via écran OLED SSD1306
- Réception des trames UART envoyées par l’Arduino
- Sauvegarde des données au format CSV (et possibilité MySQL)
- Ajout d’horodatage (Wi-Fi + RTC si nécessaire)
- Interface graphique (IHM) développée en Python / PySide6
- Export des données via clé USB
+-----------------+ +---------------------+ | Arduino Mega | UART | Raspberry Pi 4 | |-----------------| ------> |---------------------| | - MAX6675 | | - Python (PySide6) | | - RTC DS3231 | | - Stockage CSV | | - OLED SSD1306 | | - Interface IHM | | - Pompes L298N | | - Export USB | +-----------------+ +---------------------+
Solstice-Scad/ │ ├── Arduino/ # Code embarqué pour Arduino Mega │ ├── arduino_scad.ino │ ├── sensors.cpp / .h │ ├── pump.cpp / .h │ ├── oled.cpp / .h │ ├── timer.cpp / .h │ └── config.h / pins.h │ ├── Raspberry/ # Interface Python et scripts Raspberry Pi │ ├── scad_ihm_vX.py │ ├── uart_reader.py │ └── utils/ │ ├── Docs/ # Documentation, schémas, organigrammes │ ├── Architecture_boîtier.pdf │ ├── Organigramme_logiciel.png │ └── README.md
- Compiler et téléverser
arduino_scad.inosur Arduino Mega - L’Arduino commence l’acquisition et envoie des trames CSV au port série
- Lancer le script Python
uart_reader.pypour lire et sauvegarder les données - Ouvrir l’IHM (
scad_ihm_vX.py) pour afficher en temps réel - Les données sont sauvegardées automatiquement dans
/data/
- Insérer une clé USB → récupération automatique des fichiers CSV
STATUS→ Affiche toutes les données du systèmeENCODEURS→ Valeurs encodeursPOMPES→ État des pompesSTOP→ Arrêt pompesUART→ Envoi manuel d’une trame UARTHELP→ Liste des commandes
-DATA,2025-09-07 14:25:30,45.2,44.8,41.0,40.5,123,128,12.56
Projet développé au sein du département ABMI – ERIC / SOLSTICE Étudiante : Melissa Benane Tuteurs : Rami Djouadi