Genesis Intra Extra Inversé et Methode Lineaire Plantage


Messages recommandés

Bonjour

L'intra et l'Extra sur ma platine Genesis sont inversé, comment changer cela dans le code du programme ?

Un autre soucis, quand je choisi la méthode Lineaire pour la gestion des moteurs, mon Genesis reboot en boucle tout seul, obligé de faire un reset Factory.

Merci

 

Modifié par Bib60
Lien à poster
Partager sur d’autres sites
  • Herby a changé le titre en Genesis Intra Extra Inversé et Methode Lineaire Plantage

Yop,

@Bib60, que veux-tu dire par INTRA et EXTRA inversés?

1) Ta sortie intra pilote l'extra? Ce n'est pas un problème, échange les prises.

2) Tes vitesses sont à l'envers, vitesse 1 c'est vitesse 5 etc. Là c'est plus un problème si tu n'as pas les codes sources du Genesis.

Si tu as les codes sources envoies les en zip et renommés en pdf et j'y jetterai un oeil.

 

Pour le mode linéaire qui entraine un reboot, repasse en pid et pareil si tu as les codes sources je peux regarder.

 

++

Viker

Lien à poster
Partager sur d’autres sites

Salut Viker

Oui j'ai inversé les câbles sur la la board mais j'aurai bien changé le code pour faire propre, c'est pas sérieux tout ça, ça doit pas être compliqué.

Mais je pense que je vais tout abandonner, plus de support de la part de Gen, pour charger le code sur la board faut désormais passer pas VS Code, une usine à gaz, j'ai plein d'erreur avec le dernier code de Gen.

Bref j'en ai plein le ulc de tâtonner.

j'aimerais un truc fiable donc je pense que je vais me retourner vers un produit bien finalisé du commerce.

Merci tout de même

 

 

 

 

 

 

Lien à poster
Partager sur d’autres sites

Yop,

Déjà c'est un moindre mal si ce n'est que les prises ce n'est vraiment pas grave.

Peux-tu me mettre le lien du code que tu utilises que je jette un oeil, stp?

Si tu as plein d'erreurs avec le code de Gen avec vscode alors essayes de désinstaller la dernière version de Espressif 32 et réinstalle en version 3.5.0

 

++

Viker

 

Lien à poster
Partager sur d’autres sites

yo

J'ai pas le code, j'ai reçu la board déjà chargé avec la version initiale.

Tu me parles chinois la avec Expressif, je capte que dalle avec VSCode !!!!

Déjà je sais pas comment faire pour injecter le programme sur ma board, alors le reste je te raconte pas  😀

 

 

Lien à poster
Partager sur d’autres sites

yo

Oui, j'ai le code pour la derniere version avec la AM2320 et la CO2 DHTZ19 mais pas l'initial, celui dans le Genesys à réception.

Je parle bien du Genesys 1

merci

Modifié par Bib60
Lien à poster
Partager sur d’autres sites

Yop,

ok tu parles bien du Genesis 1 car dans un autre post tu parles du Genesis 2 (greenboard)

Pour VScode et plateformio suit le tuto ici, c'est celui de la redboard mais cela fonctionne pareil.

Il faut que dans VScode onglet PIO Home, menu Platforms que tu regardes quelle version d'Espressif 32 est installé. Il faut pour que cela fonctionne la version 3.5.0

Comme tu ne veux pas me mettre le lien de ta source de programme, j'ai dû chercher.

Est-ce bien de que vient ton code? Est-ce la version 5?

Si oui alors je jette un oeil pour voir ce qui merde.

 

++

Viker

Modifié par Viker
Lien à poster
Partager sur d’autres sites

Yop,

 

si c'est la version 5, j'ai regardé et je pense avoir résolu les deux problèmes mais n'ayant pas de Genesis je ne peux tester.

Donc il faut modifier sous VScode dans le dossier lib, puis dossier ESP32_MotorDriver le fichier MotorDriver.h pour changer l'intra en extra et l'extra en intra.

Il faut remplacer la ligne 31

int MotorOutPin[10] = {27,26,25,33,32,23,19,18,5,4};

par:
int MotorOutPin[10] = {23,19,18,5,4,27,26,25,33,32};

 

Pour le problème LINEAR qui plante il faut modifier sous VScode dans le dossier lib, puis dossier ESO32_SpeedCalculator, le fichier SpeedCalculator.cpp

Il faut remplacer ce qui commence à la ligne 37

  if(_mode == LINEAR)
  {
    _currentSpeed = map((int)temperature_read, (int)theMinimum, (int)theMaximum, 0, 5);
    PWM = _currentSpeed*51;
  }

 

par:

 

  if(_mode == LINEAR)
  {
    if (temperature_read >= theMaximum)
    {
      temperature_read = theMaximum;
    }
    else if (temperature_read <= theMinimum)
    {
      temperature_read = theMinimum;
    }
    
    _currentSpeed = map((int)temperature_read, (int)theMinimum, (int)theMaximum, 0, 5);
    PWM = _currentSpeed*51;
  }

 

En espérant que cela puisse t'aider.

 

Edit: En compilant VScode signale des problèmes mais rien de rédhibitoire, la compilation aboutie et cela devrait fonctionner.

 

++

Viker

 

 

 

Modifié par Viker
Lien à poster
Partager sur d’autres sites

Merci Viker c'est gentil mais cela ne va me servir à rien, je ne sais pas comment injecter le programme dans la board et encore moins me servir de VSCode !!!

Avec toutes ses erreurs qui s'affichent c'est pire qu'un sapin de noël.

Un petit tuto serait le bienvenue 😀

Il va finir à la poubelle je pense.

 

 

 

 

 

 

Modifié par Bib60
Lien à poster
Partager sur d’autres sites

Yop,

Il y a un tuto ici, pour la redboard mais pour la Genesys c'est la même procédure. Je t'invite vivement à regarder la vidéo.

 

Je rajoute ici ce qui n'est pas précisé dans le tuto. Lis bien jusqu'au bout avant de te lancer.

 

Une fois VScode et plateformio installé. Tu prends le dossier downloader GENESYS_AM2320_MHZ19 et sous windows tu viens effacer tous les sous dossier commençant par un point. (.pio, .piolibdeps et .vscode) Ces dossiers étaient propres à l'ordinateur de Gen et ils foutent la merde si tu ouvres le dossier dans VScode.

 

Lances Vscode et dans l'onglet de plateformio PIO Home clic sur Open project. Là tu cherches le dossier GENESYS_AM2320_MHZ19 et le projet s’ouvre (il y aura juste un message demandant si tu fais confiance au contenu et tu dis oui.)

Tu verras, dans la colonne à droite, l'ensemble des dossiers et fichiers du projet.

Le fichier plateformio.ini contient le type de board et tout ce qu'il faut pour uploader correctement le programme dans la board.

Le dossier src contient main.cpp qui est le programme principale.

Le dossier lib contient toutes les librairies qu'utilises le programme principale.

Edit : C'est ici que tu vas insérer le bouts de codes vu plus haut.

 

Il n'y a plus qu'à connecter ta board elle devrait apparaitre dans le menu devices.

Ensuite il suffit de cliquer sur la flèche, Vscode compile puis upload le programme. (petite flèche en bas à gauche dans la barre bleue)

 

++

Viker

Modifié par Viker
Lien à poster
Partager sur d’autres sites