Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Qui veux m'aider à la création d'un programme
#11
(21-12-2024, 07:40 PM)F1ATB a écrit : Pour piloter le moteur d'azimut et le moteur d'élévation, 4 relais suffisent comme sur la carte ci-après:
https://f1atb.fr/fr/esp32-relais-aliment...-capteurs/
Si on veut commander de gros moteurs en 230V, on peut avec les petits relais piloter des plus gros.
Il reste encore des GPIO pour le capteur magnétique de position dans l'espace.

Je verrai cela après les fêtes.

André

Un simple pont en H LM298N suffit pour piloter deux vérins de 25w chacun (suffisant pour 4 panneaux solaires maxi). En plus on peut faire varier la vitesse de chaque moteur. Si vous voulez piloter plus de puissance ajoutez des SSR entre le pont en H et les vérins. 
Je confirme que le nombre de GPIO est largement suffisant pour piloter le pont en H (6 gpio pour deux vérins avec contrôle de la vitesse) plus un capteur avec 4 sorties analogiques (cas d’un capteur de lumière à base de LDR ou photodiodes et enfin l’anémomètre pour la sécurité vent for (1 GPIO) soit au total 11 GPIO. 
J’ai même pu y ajouter une horloge externe DS3231 et un capteur Bme280 pour la Temp, humidité et pression atmosphérique 

Comme je l’ai indiqué dans mes autres postes avec photos traqueurs, je transmettrais le résultat de mon travail avec le code tout fait et qui fonctionne sur mon traqueur depuis plusieurs mois en parfaite autonomie. Enfin si éventuellement ça intéresse quelqu’un.
Répondre
#12
(21-12-2024, 08:09 PM)marcos83 a écrit :
(21-12-2024, 07:40 PM)F1ATB a écrit : Pour piloter le moteur d'azimut et le moteur d'élévation, 4 relais suffisent comme sur la carte ci-après:
https://f1atb.fr/fr/esp32-relais-aliment...-capteurs/
Si on veut commander de gros moteurs en 230V, on peut avec les petits relais piloter des plus gros.
Il reste encore des GPIO pour le capteur magnétique de position dans l'espace.

Je verrai cela après les fêtes.

André

Un simple pont en H LM298N suffit pour piloter deux vérins de 25w chacun (suffisant pour 4 panneaux solaires maxi). En plus on peut faire varier la vitesse de chaque moteur. Si vous voulez piloter plus de puissance ajoutez des SSR entre le pont en H et les vérins. 
Je confirme que le nombre de GPIO est largement suffisant pour piloter le pont en H (6 gpio pour deux vérins avec contrôle de la vitesse) plus un capteur avec 4 sorties analogiques (cas d’un capteur de lumière à base de LDR ou photodiodes et enfin l’anémomètre pour la sécurité vent for (1 GPIO) soit au total 11 GPIO. 
J’ai même pu y ajouter une horloge externe DS3231 et un capteur Bme280 pour la Temp, humidité et pression atmosphérique 

Comme je l’ai indiqué dans mes autres postes avec photos traqueurs, je transmettrais le résultat de mon travail avec le code tout fait et qui fonctionne sur mon traqueur depuis plusieurs mois en parfaite autonomie. Enfin si éventuellement ça intéresse quelqu’un.

j'attend avec impatience de voir ton travail.

Ne pas oublier la rentabilité. D'après mes calculs en me basant sur les données en fixe plein sud ou en suiveur du site "PHOTOVOLTAIC GEOGRAPHICAL INFORMATION SYSTEM" je gagne 365KW par an soit en théorie environ 100€. je veux un retour sur 2 ou 3 ans max sans quoi ce n'est pas moi qui vais en profiter. Big Grin
Répondre
#13
Bonjour,

Je pense qu'il faut garder à l'esprit que les moteurs doivent être configurables en vitesse, car les structures seront différentes pour chacun, le poids, tour rpm en fonction de la motorisation.
En poursuite une petite vitesse voir avec rampe Acc et Dec pour ne pas brusquer la mécanique, car arrêt/marche toute la journée et 365 jours.
Le BTS7960  a l'avantage de recevoir un bon panel de moteurs différents et pour 43A max (à ne pas aller chercher tout de même) et de réduire l'appel du courant au démarrage.
Par expérience je déconseillerais le relais en commande moteur, il ne tiendront pas les arcs électriques vont vites les détruire. En plus il y aura des perturbations, des parasites qui seront générés et ...
Il y a également le fait que certains voudront que le panneau adopte une position en cas de vent fort ou tempête, et la possibilité avec une batterie de le faire fonctionner pour une position en pls en cas de coupure de courant du réseau.  

A+
RMS V12, UxI Chauffage soufflant + CE Thermodynamique
6 X 500Wc Dualsun Half-cut Black, Domoticz
Répondre
#14
Salut lolo69
c'est quoi ton cablage de tests ?
une photo pour tenter de comprendre tes manips ?
j'imagine que ta as procédé à tests dans un lieu neutre du point de vue magnétique .
cdlt Gilles
Config : 3 routeurs F1ATB en V14.11 - 2 en mode Triacs + 1 routeur mobile en mode : Triac+SSR
PV 3kw (8 panneaux TrinaSolar 425W + Onduleur SunGrow 3KW) - Supervision : Home Assistant / Shelly & MQTT
Autoconsommation moyenne 98 % depuis l'usage des routeurs f1atb Smile
Répondre
#15
Merci lolo69 pour le partage de tes investigations .
A suivre donc !
Config : 3 routeurs F1ATB en V14.11 - 2 en mode Triacs + 1 routeur mobile en mode : Triac+SSR
PV 3kw (8 panneaux TrinaSolar 425W + Onduleur SunGrow 3KW) - Supervision : Home Assistant / Shelly & MQTT
Autoconsommation moyenne 98 % depuis l'usage des routeurs f1atb Smile
Répondre
#16
Bonjour,
C'est bien de pouvoir tester, cela permet de valider les modules merci Lolo69.

Le capteur serait également sensible aux métaux assez proches.
J'ai vu quelque part, qu'il fallait le calibrer si tu veux essayer ce bout de code:
Code :
#include <Wire.h>
#include <QMC5883L.h>

QMC5883L compass;

float minX = 32767, maxX = -32768, minY = 32767, maxY = -32768, minZ = 32767, maxZ = -32768;
float offsetX, offsetY, offsetZ;
float scaleX, scaleY, scaleZ;

void setup() {
  Serial.begin(9600);
  while (!compass.begin()) {
    Serial.println("Could not find a valid QMC5883L sensor, check wiring!");
    delay(500);
  }
  compass.setRange(QMC5883L_RANGE_200uT);
  compass.setMeasurementMode(QMC5883L_CONTINOUS);
  compass.setDataRate(QMC5883L_DATARATE_50HZ);
  compass.setSamples(QMC5883L_SAMPLES_8);
}

void loop() {
  Vector raw = compass.readRaw();

  // Enregistrer les valeurs maximales et minimales pour chaque axe
  if (raw.XAxis < minX) minX = raw.XAxis;
  if (raw.XAxis > maxX) maxX = raw.XAxis;
  if (raw.YAxis < minY) minY = raw.YAxis;
  if (raw.YAxis > maxY) maxY = raw.YAxis;
  if (raw.ZAxis < minZ) minZ = raw.ZAxis;
  if (raw.ZAxis > maxZ) maxZ = raw.ZAxis;

  // Calculer l'offset pour chaque axe
  offsetX = (maxX + minX) / 2;
  offsetY = (maxY + minY) / 2;
  offsetZ = (maxZ + minZ) / 2;

  // Calculer l'échelle pour chaque axe
  scaleX = (maxX - minX) / 2;
  scaleY = (maxY - minY) / 2;
  scaleZ = (maxZ - minZ) / 2;

  // Normaliser les valeurs
  float normX = (raw.XAxis - offsetX) / scaleX;
  float normY = (raw.YAxis - offsetY) / scaleY;
  float normZ = (raw.ZAxis - offsetZ) / scaleZ;

  // Calculer l'azimut
  float heading = atan2(normY, normX);
  float headingDegrees = heading * 180.0 / M_PI;
  if (headingDegrees < 0) {
    headingDegrees += 360;
  }

  Serial.print("Heading: ");
  Serial.println(headingDegrees);

  // Élévation (inclinaison par rapport à l'horizontale)
  float elevation = atan2(normZ, sqrt(normX * normX + normY * normY));
  float elevationDegrees = elevation * 180.0 / M_PI;

  Serial.print("Elevation: ");
  Serial.println(elevationDegrees);
 
  delay(1000);
}

A+
RMS V12, UxI Chauffage soufflant + CE Thermodynamique
6 X 500Wc Dualsun Half-cut Black, Domoticz
Répondre
#17
Bonjour,

Merci de partager ton expérience tout de même!
Il semble en effet que d'apprivoiser ces gyroscopes ne soit pas facile.
Une autre direction alors?
A+

Pourquoi pas un capteur d'angle à potentiomètre, l'ESP32 procède des entrées Analogiques.
Dans la simplicité avec ceci:
Codeur

A+
RMS V12, UxI Chauffage soufflant + CE Thermodynamique
6 X 500Wc Dualsun Half-cut Black, Domoticz
Répondre
#18
Le potentiomêtre est une bonne idée
Pour ma part j'utilise une poulie crantée donc très facile de compter les impulsions fournies par un simple détecteur inductif.
Il y a 120 crans soit 60 pour une révolution de 180°. 1 pour 6 ° qui est je pense très suffisant.
le cycle :
je fait tourner en azimut et je controle le nombre d'impulsions et j'arrête la rotation. J'adapte le cycle en fonction d'une bibliothèque encapculée dans l'esp.
C'est simple, très simple, peut être trop simple pour vous mais je fais peut être fausse route.
Répondre
#19
Attends, ce n'est 3° par cran?

Mais pas du tout la simplicité est toujours la meilleur chose!

Seulement est ce que ta mécanique est facile répétable par quiconque?

A+
RMS V12, UxI Chauffage soufflant + CE Thermodynamique
6 X 500Wc Dualsun Half-cut Black, Domoticz
Répondre
#20
(29-12-2024, 08:11 PM)CF8929 a écrit : Attends, ce n'est 3° par cran?

Mais pas du tout la simplicité est toujours la meilleur chose!

Seulement est ce que ta mécanique est facile répétable par quiconque?

A+

oui 3° état haut et 3° état bas.
C'est une simple poulie crantée diamètre 120
https://fr.aliexpress.com/item/100500619...pt=glo2fra
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)