Skip to content

ABMI-software/Solstice-Scad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌞 Projet SCAD – SOLSTICE

Solar Concentration & Acquisition Device
Système embarqué pour la collecte, l’affichage et la sauvegarde de données thermiques et solaires.


📖 Contexte

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)

⚙️ Architecture matérielle

🔹 Arduino Mega

  • 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

🔹 Raspberry Pi 4

  • 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

🖥️ Architecture logicielle

+-----------------+ +---------------------+ | Arduino Mega | UART | Raspberry Pi 4 | |-----------------| ------> |---------------------| | - MAX6675 | | - Python (PySide6) | | - RTC DS3231 | | - Stockage CSV | | - OLED SSD1306 | | - Interface IHM | | - Pompes L298N | | - Export USB | +-----------------+ +---------------------+


📂 Organisation

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


🚀 Utilisation

1️⃣ Arduino

  • Compiler et téléverser arduino_scad.ino sur Arduino Mega
  • L’Arduino commence l’acquisition et envoie des trames CSV au port série

2️⃣ Raspberry Pi

  • Lancer le script Python uart_reader.py pour 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/

3️⃣ Export

  • Insérer une clé USB → récupération automatique des fichiers CSV

🛠️ Commandes série disponibles (Arduino)

  • STATUS → Affiche toutes les données du système
  • ENCODEURS → Valeurs encodeurs
  • POMPES → État des pompes
  • STOP → Arrêt pompes
  • UART → Envoi manuel d’une trame UART
  • HELP → Liste des commandes

📊 Exemple de trame UART

-DATA,2025-09-07 14:25:30,45.2,44.8,41.0,40.5,123,128,12.56

👥 Auteurs

Projet développé au sein du département ABMI – ERIC / SOLSTICE Étudiante : Melissa Benane Tuteurs : Rami Djouadi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages