F1ATB forum
Qui veux m'aider à la création d'un programme - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Projet Tracker (https://f1atb.fr/forum_f1atb/forum-14.html)
+--- Sujet : Qui veux m'aider à la création d'un programme (/thread-852.html)

Pages : 1 2 3 4 5 6


RE: Qui veux m'aider à la création d'un programme - marcos83 - 21-12-2024

(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-alimentation-230v-ac-integres-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.


RE: Qui veux m'aider à la création d'un programme - papy3264 - 21-12-2024

(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-alimentation-230v-ac-integres-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


RE: Qui veux m'aider à la création d'un programme - CF8929 - 22-12-2024

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+


RE: Qui veux m'aider à la création d'un programme - Sgb31 - 24-12-2024

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


RE: Qui veux m'aider à la création d'un programme - Sgb31 - 25-12-2024

Merci lolo69 pour le partage de tes investigations .
A suivre donc !


RE: Qui veux m'aider à la création d'un programme - CF8929 - 26-12-2024

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+


RE: Qui veux m'aider à la création d'un programme - CF8929 - 29-12-2024

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+


RE: Qui veux m'aider à la création d'un programme - Daniel CARREAU - 29-12-2024

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.


RE: Qui veux m'aider à la création d'un programme - CF8929 - 29-12-2024

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+


RE: Qui veux m'aider à la création d'un programme - Daniel CARREAU - 29-12-2024

(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/1005006196610682.html?spm=a2g0o.order_list.order_list_main.83.59545e5bLlivyo&gatewayAdapt=glo2fra