Auteur Sujet: Mini reseau analogique echelle n  (Lu 4887 fois)

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Mini reseau analogique echelle n
« le: avril 10, 2023, 03:53:26 pm »
Bonjour,
J'ai déjà réalisé un réseau complet en numérique et je souhaite passer à une autre forme de réalisation, des petits plateaux de 45x45 cm de côté avec des décors différents sur chaque plateau. Ces plateaux pourront être reliés et interconnectés ensuite. Je souhaite surtout réaliser des décors avec animations différentes, toutes à base d'Arduino que j'ai découvert, il n'y a pas très longtemps et que j'ai apprécié immédiatement.
Mes plateaux auront comme thèmes : un paysage de village avec zone industrielle (les portes et mouvement de certains véhicules seront mus automatiquement), un petit paysage de montagne avec de l'éclairage et surtout un téléphérique fait maison), un circuit automobile où les voitures seront mobiles et suivront un tracé déterminé, un paysage de fleuve avec un pont levant (type pont de Londres), et d'autres idées à venir. Les deux premiers sont terminés et "presque" fonctionnels. Une voie unique fera le lien entre tous ces plateaux et parcourra la longueur selon les raccordements de mes plateaux.
C'est cette voie qui me pose un problème actuellement et pour laquelle j'ai besoin de votre aide.
J'ai choisi de présenter cette voie en analogique, car je n'ai pas besoin de toute la sophistication du numérique et que j'ai déjà mon premier réseau totalement numérique. Je souhaite que tout soit géré par Arduino et en particulier la locomotive qui fera le trajet aller-retour sur cette voie.
J'utilise des nanos (ici en phase de test j'utilise une Uno) et pont en H (un mini L293D).

Voici le schéma de mon montage. (en bas de page)


Voici le programme simplifié au maximum (le programme final est bien plus complet) mais contient le nécessaire pour faire rouler (théoriquement) ma locomotive.
/*
  L'objectif est de faire faire des aller-retours à une locomotive analogique entre les deux extremites de la voie
 
  Utilisatioin de mini L293D pour gérer l'alimentation de la voie.
  La vitesse de la locomotive utilise une PIN PWM

*/

//************************************************************************************//
// Association des entrées du Mini L293D, aux sorties utilisées sur notre Arduino Uno //
//************************************************************************************//

//*************************//
// Constantes du programme //
//*************************//
#define borneIN1        4       // 4 On associe la borne "IN1" du L293D à la pin D4 de l'Arduino
#define borneIN2        5       // 5 On associe la borne "IN2" du L293D à la pin D6 de l'Arduino
#define borneENA        7       // 7 On associe la borne "ENA" du L293D à la pin D7 de l'Arduino (PWM possible sur cette broche)
#define delaiChangementVitesse  10        // Défini un petit délai, exprimé en millisecondes, avant tout autre changement de vitesse
#define vitessealler            254       // signal PWM, pour definir la vitesse du moteur Pas besoin d'une précedure d'acceleration/deceleration

//*******//
// SETUP //
//*******//
void setup() {
  Serial.begin(9600);
  pinMode(borneIN1, OUTPUT);
  pinMode(borneIN2, OUTPUT);
  pinMode(borneENA, OUTPUT);
}

//**************************//
// Boucle principale : LOOP //
//**************************//
void loop() {
    digitalWrite(borneIN1, HIGH);                 // L'entrée IN1 doit être au niveau haut
    digitalWrite(borneIN2, LOW);                  // L'entrée IN2 doit être au niveau bas   
    delay(10000);
    configurerSensDeRotationPontA(false);
    VitesseMoteur(vitessealler);            // Met à jour la vitesse du moteur, en modifiant le rapport cyclique du signal PWM envoyé
    delay(delaiChangementVitesse);                // ... et on rajoute un petit délai pour que tout n'aille pas trop vite !
    delay(1000);
    configurerSensDeRotationPontA(true);
    VitesseMoteur(vitessealler);            // Met à jour la vitesse du moteur, en modifiant le rapport cyclique du signal PWM envoyé
    delay(delaiChangementVitesse);                // ... et on rajoute un petit délai pour que tout n'aille pas trop vite !
    delay(1000);
}
//************************************************************************************//
// Fonction : configurerSensDeRotationPontA()                                         //
// But :      Permet de définir le sens de rotation du moteur branche sur le pont A    //
//************************************************************************************//
void configurerSensDeRotationPontA(boolean sensDeRotation) {

  if(sensDeRotation == true) {
    // Configuration du L293D en "marche avant", pour le moteur connecté au pont A. Selon sa table de vérité, il faut que :
    digitalWrite(borneIN1, HIGH);                 // L'entrée IN1 doit être au niveau haut
    digitalWrite(borneIN2, LOW);                  // L'entrée IN2 doit être au niveau bas   
  }
 
  if(sensDeRotation == false) {
    // Configuration du L293D en "marche arrière", pour le moteur câblé sur le pont A. Selon sa table de vérité, il faut que :
    digitalWrite(borneIN1, LOW);                  // L'entrée IN1 doit être au niveau bas
    digitalWrite(borneIN2, HIGH);                 // L'entrée IN2 doit être au niveau haut
  }
}

//************************************************************************************//
// Fonction : VitesseMoteur()                                                         //
// But :      donne la vitesse de rotation du moteur branché sur le pont A            //
//************************************************************************************//
void VitesseMoteur(int nouvelleVitesse) {
 
  // Génère un signal PWM permanent, de rapport cyclique égal à "nouvelleVitesse" (valeur comprise entre 0 et 255)
  analogWrite(borneENA, nouvelleVitesse);
}

Mon problème est que ce montage et ce programme fonctionnaient parfaitement, mais que je n'arrive plus, maintenant, à faire rouler ma loco. Elle nécessite 12V pour rouler, mais la sortie du L293D ne produit pas suffisamment (autour de 5 V seulement). Je ne comprends pas que ça ait marché et plus maintenant.
Comment faire en sorte que le L293D produise ce qu'il faut ?
L'alimentation produit bien du 12 V (vérifié).
Merci de votre aide. SI cela vous intéresse je pourrai compléter ce sujet avec les différentes réalisations.
Cordialement
« Modifié: avril 10, 2023, 03:56:51 pm par jcg95 »
Cordialement
JCG95

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #1 le: avril 10, 2023, 05:29:10 pm »
Bonjour,
je n'ai pas regardé le programme, mais avant, le GND du module n'est pas référencé au GND de l’Arduino.
Et il est probable que le VCC du module doive être alimenté en 5V depuis l'Arduino. (voir la notice)
Cordialement

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #2 le: avril 10, 2023, 05:54:43 pm »
Merci MSPORT pour ton retour. J'ai relié le VCC et le GND du L293D à la UNO et ça ne change rien.
Voici le nouveau schéma.


Merci.
Cordialement
JCG95

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #3 le: avril 10, 2023, 06:06:53 pm »
Halte au feu : le VIN c'est normalement 9 ou 12V !

... reste à tester le module en solo :

alimenter le 5V / GND
IN1 au 5V
IN2 au GND
EN1 au 5V puis au GND

idem pour le 2e canal.
« Modifié: avril 10, 2023, 06:08:48 pm par msport »
Cordialement

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #4 le: avril 10, 2023, 07:20:40 pm »
Merci encore msport, j'ai corrigé mon schéma pour bien brancher le VCC du L293D au 5V de l'arduino. Même comme cela, ça ne change rien.
Pour le test en solo, une alimentation en 5V ne me permet pas de voir si ma voie est correctement alimentée en 12 V. Sinon, le module juste alimenté sans connexion à une Arduino et à un programme corrects ne fonctionne pas, elle ne fournit rien du tout en sortie.
En réponse au programme, le L293D réagit correctement via les LED associées aux sorties A+ et A- qui s'allument alternativement selon le sens donné par le programme. Mais une tension trop faible.
Un testeur d'alimentation de voies n'allume que les LED Rouge et Jaune indiquant que la tension est comprise entre 5 et 9 V, soit loin des 12 nécessaires qui allumerait le vert en plus.
Nouveau schéma :
Cordialement
JCG95

Tony04

  • Hero Member
  • *****
  • Messages: 553
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #5 le: avril 10, 2023, 09:29:01 pm »
Bonsoir jcg95,

je viens de me casser les dents avec le même problème et cela venait tout simplement d'un 12V trop limite en tension (11,8V). Essaye avec une tension légèrement supérieure à 12V pour voir.

Cordialement
Antoine

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #6 le: avril 10, 2023, 10:04:53 pm »
Bonsoir Tony04,
Mon alimentation donne12.4 V (testé au multimètre). J’ai essayé avec du 24v, théoriquement compatible en entrée avec une L293D,  ça a fournit plus mais j’ai cramé le L293D.
Je vais essayer avec un peu plus que 12 V mais je ne sais pas si je trouverai des alimentations le permettant sur le marché.
En tout cas merci et je vous tiens au courant
Cordialement
JCG95

Tony04

  • Hero Member
  • *****
  • Messages: 553
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #7 le: avril 10, 2023, 10:37:21 pm »
De plus j'ai mal regardé ton schéma car chez moi j'utilisais un L298 plus costaud, mais pourquoi ne pas en essayer un ?

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #8 le: avril 10, 2023, 10:39:13 pm »
J’ai exactement le même problème avec un L298
Cordialement
JCG95

Tony04

  • Hero Member
  • *****
  • Messages: 553
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #9 le: avril 10, 2023, 10:42:59 pm »
Et avec la loco directement sur le 12 V, tourne-t-elle normalement ?

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #10 le: avril 10, 2023, 10:45:33 pm »
Je n’ai pas essayé de peur de cramer la loco mais je vais tenter tout de même demain matin.
Merci et bonne soirée
Cordialement
JCG95

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #11 le: avril 11, 2023, 10:27:12 am »
Bonjour,

la loco peut être testée en 5V ...

Et pour revenir 8 posts en arrière, si les modules moteur ont pris du 12 V (Vin) sur leur VCC, il ne faut plus en espérer grand chose ...
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #12 le: avril 11, 2023, 11:11:02 am »
... et pour tester vos modules :
Cordialement

jcg95

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #13 le: avril 11, 2023, 11:42:49 am »
Bonjour,
Je viens de tester ma loco en direct 12v et elle ne marchait pas, mais j'en ai essayé une autre qui elle fonctionne parfaitement en direct ou via le montage présenté.
C'est donc ma loco qui a pris un "chtar". Comme c'était la seule loco analogique dont je disposais, je m'acharnais avec elle. L'autre que j'ai essayée est digitalisée, mais fonctionne tout de même sur ma voie de test analogique.
J'ai changé l'arduino UNO et le module L293D qui ont certainement été affectés par la mauvaise connexion VIN.
Je vais donc pouvoir continuer mes tests de l'automatisation des aller-retour avec des temps de pause à chaque extrémité et à l'arrivée en gare.  (j'utilise de interrupteurs magnétiques).
Si cela vous intéresse, je pourrai continuer ce sujet.

Désolé de vous avoir déranger avec mes problèmes que j'aurais dûs vérifier par avant.
Merci encore, il me faut maintenant voir si je peux réparer ma loco.
Cordialement
JCG95

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Mini reseau analogique echelle n
« Réponse #14 le: avril 11, 2023, 12:36:09 pm »
Bon courage, et bravo Antoine, tu as identifié la problème.
Cordialement