[Programmation] Contrôle double moteur L298N-Pyboard
Répondre à la discussion
Affichage des résultats 1 à 27 sur 27

Contrôle double moteur L298N-Pyboard



  1. #1
    YruamaDz

    Contrôle double moteur L298N-Pyboard


    ------

    Bonjour à tous,

    J'ai actuellement 2 moteurs à ma disposition issus d'imprimante ( que je suppose nécessitent du 6 ou 12 V d'alimentation) ainsi qu'un carte pyboard et un L298N et une alim 6V.
    J'aimerais contrôler mes 2 moteurs et j'ai l'impressions d'avoir fais les branchements nécessaires, pourtant mon code ne marche pas, j'aimerai juste pour ce début faire tourner mes 2 moteurs dans n'importe quel sens. J'ai donc modifier le fichier "main" de ma pyboard de telle sorte ( à chaque fois j'éjecte et reset la carte pour lancer le code ) :

    from pyb import Pin

    a = pyb.Pin('X7', Pin.OUT_PP)
    b = pyb.Pin('X8', Pin.OUT_PP)
    c = pyb.Pin('X2', Pin.OUT_PP)
    d = pyb.Pin('X6', Pin.OUT_PP)

    a.on()
    b.off()
    c.on()
    d.off()
    Normalement j'ai relié les Pins X7 et X8 sur les In1 et 2 du L298N et X2 X6 aux In3 et 4. Cependant rien ne se passe quelqu'un saurait pourquoi ? Il y a selon moi trop peu de doc pour coder un contrôle de moteur sur pyboard avec un L298N je ne suis donc pas sur de mon code.

    Merci par avance

    -----

  2. #2
    Qristoff
    Animateur Électronique

    Re : Contrôle double moteur L298N-Pyboard

    Bonsoir,
    Je pense qu'il faut y aller en deux étapes:
    1. valider le montage L298N + moteur sans le soft pour vérifier que les branchements sont corrects et que la tension d'alimentation est correct (donc tu sembles douter)
    2. Valider le soft
    Tout existe, il suffit de le trouver...!

  3. #3
    jiherve

    Re : Contrôle double moteur L298N-Pyboard

    Bonsoir
    Avec 6V d'alimentation le L298 sera sans doute aux abonnés absents le Vmin est de l'ordre de 5V et avec 2,5v de déchet @1A il ne reste plus grand chose pour le moteur!
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    20210509_205310.jpg
    20210509_205659.jpg

    Je sais pas si vous pourrez voir les photos mais je pense que mes branchements sont bons. Par contre j'avoue que je n'ai absolument rien pris en compte au niveau des déchets dû aux L298N en terme de tension ( peut-être que ma tension n'est pas suffisante). Je sais que pour la carte mes programmes marchent (j'ai fait les tests de leds et tout). Et j'ai pas bien compris la phrase concernant le Vmin.
    Dernière modification par YruamaDz ; 09/05/2021 à 20h12.

  5. A voir en vidéo sur Futura
  6. #5
    jiherve

    Re : Contrôle double moteur L298N-Pyboard

    re
    bien sur il y a une masse commune entre les deux cartes car je le la vois pas!
    Le L298 est un composant dépassé, chauffe inutilement, lent etc etc préférer L620x
    JR
    Dernière modification par jiherve ; 09/05/2021 à 20h12.
    l'électronique c'est pas du vaudou!

  7. #6
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Malheureusement je n'ai pas d'autres composants à portée de main. Oui oui il y a une masse commune entre les 2 cartes !

  8. #7
    jiherve

    Re : Contrôle double moteur L298N-Pyboard

    Re
    et bien sur la pin enable est à '1'?

    JR
    l'électronique c'est pas du vaudou!

  9. #8
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Je sais pas ce que c'est que le pin enable sur '1'

  10. #9
    jiherve

    Re : Contrôle double moteur L298N-Pyboard

    Bonjour
    il y a une entrée "ENABLE" sur le L298 et elle doit être placée à "1" hight 5v pour que cela fonctionne , mais j'ai vu sur ta photo qu'il y avait un jumper sur la carte et que c'etait bon..
    Reste qu'un µC 3,3V c'est peut etre limite car bien que tou ce petit monde soit annoncé compatible TTL il peut exister des surprises.
    JR
    l'électronique c'est pas du vaudou!

  11. #10
    Qristoff
    Animateur Électronique
    Tout existe, il suffit de le trouver...!

  12. #11
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Re Bonjour
    Merci pour l'explication sur les Enable et l'ajout de détail sur la carte, j'ai par contre pas très bien compris l'impact du uC 3.3V dont vous parlez c'est quoi exactement ?

  13. #12
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    L'un de vous saurai ce que c'est que ce composant ? (il était présent sur le matériel de mon établissement, surement utilisé par d'autre étudiant, mais je ne sais pas ce que c'est
    Nom : 20210510_160720.jpg
Affichages : 175
Taille : 87,3 Ko

  14. #13
    jiherve

    Re : Contrôle double moteur L298N-Pyboard

    bonsoir,
    au doigt mouillé une fourche optique recup imprimante sans doute.
    JR
    l'électronique c'est pas du vaudou!

  15. #14
    Qristoff
    Animateur Électronique

    Re : Contrôle double moteur L298N-Pyboard

    La carte comporte un régulateur 78M05 pour le Vss, à 6V il doit être un peu dans les choux ! la datasheet indique une tension min de 7,2V. Si il y a en plus une diode de protection anti inversion en série....

    Et comme le dit jherve, les signaux de commande sont en 3,3V alors que le circuit attend plutôt du 0/5V (min 2,3V) et du coup le Vs doit au minimum à VIH + 2,5V.
    En résumé, le L298 n'est pas dans sa zone de confort
    Tout existe, il suffit de le trouver...!

  16. #15
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Bon j'ai finalement réussi à faire marcher un moteur cependant j'aimerais récupérer sa position grâce à une fourche optique placé sur le wagon de mon rail. J'ai donc relié cette fourche à ma carte Pyboard ( sur 3v3,GND et le port X6 -pour le digital- et j'ai aussi essayer sur Y9 pour le I2C aucun changement ). Mon problème étant que j'ai donc assigner p comme le Pin X6 et je voulais compter le nombre de fois que la fourche voit un trait noir : p.value()==1 pour moi et un blanc (==0). Cependant avec mon programme je n'ai que des 1 comme si ma fourche ne détecter que des traits noirs ! Au final tout marche sans erreurs (mon wagon fait 1 aller retour) mais cela est incohérent car je devrai récupérer en gros une liste avec quasiment autant de noirs que de blancs. Quelqu'un saurait pourquoi j'ai cela ? Faut-il brancher la fourche sur un Pin particulier , importer une bibliothèque ou ai-je fais une erreur de programmation ?

    Je vous met le programme :
    Code:
     
    from pyb import Timer, delay
    from machine import Pin
    
    MOTOR_PIN = pyb.Pin.board.X1
    
    
    def motorOff():
        onTime = 2500
        offTime = 1000
        p1 = pyb.Pin(MOTOR_PIN, pyb.Pin.OUT_PP)
        p2 = pyb.Pin('X2', pyb.Pin.OUT_PP)
        p1.low()
        p2.low()
    
    Noir=[]
    Blanc=[]
    p1 = pyb.Pin(MOTOR_PIN, pyb.Pin.OUT_PP)
    p2 = pyb.Pin('X2', pyb.Pin.OUT_PP)
    p = Pin('X6', Pin.IN) #assigne p au Pin X6
    
    
    
    def motorRight():
        p1.high()
        p2.low()
        noir = 0
        blanc = 0
        while noir<100000:
            print(p.value())
            if p.value()==1: #vérifie si la valeur du Pin vaut 1 cad si il est sur un trait noir 
                noir+=1
    
            else:
                blanc+=1
                print(" b detecter")
    
        Noir.append(noir)
        Blanc.append(blanc)
        print("ok")
    
    def motorLeft():
        noir = 0
        blanc = 0
        p1.low()
        p2.high()
        while noir<100000:
            print (p.value())
            if p.value()==1:
                noir += 1
            else:
                blanc += 1
                print(" b detecter")
        Noir.append(noir)
        Blanc.append(blanc)
        print("ok")
    
    
    motorRight()
    motorLeft()
    print ("Noir, Blanc:", Noir, Blanc)
    motorOff()
    Dernière modification par Antoane ; 15/05/2021 à 12h59. Motif: Ajout balises [/code]

  17. #16
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    La réponse que j'ai lorsque je met mon programme dans la carte est la suivant :
    1
    .
    (il n'y a que des 1 je crois)
    .
    1
    1
    1
    ok
    Noir, Blanc: [100000, 100000] [0, 0]

  18. #17
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Je pense que j'ai dû mal comprendre comment fonctionnait la fourche ou en tout cas quelle type de valeur elle renvoyait. J'ai essayer de relever la commutation mais je n'y arrive pas non plus.

  19. #18
    Qristoff
    Animateur Électronique

    Re : Contrôle double moteur L298N-Pyboard

    Bonjour,
    Il faudrait nous fournir la datasheet de la fourche et nous montrer comment tu l'as branché !
    Tout existe, il suffit de le trouver...!

  20. #19
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Bonjour, pour ce qui est de la datasheet à mon grand désespoir je ne l'ai pas trouvée ( si vous la trouvez je suis preneur ) par contre je vous joins la photo sur laquelle on voit normalement tout concernant la fourche.
    Les câbles (qui ont été soudés par d'autre élèves je crois) le sont selon, de gauche à droite (la gauche étant le coté fourche) : vert, rouge, bleu. J'en ai déduit que si leur soudure était cohérente le bleu allait sur Gnd, le rouge sur 3v3 et le vert (contenant l'information (le changement 1/0?)) sur le pin X6 (sur l'image je testais sur Y9 et j'avais modifié mon programme en conséquence).
    Merci d'avance !

    20210516_121138.jpg
    20210516_123620.jpg
    Dernière modification par YruamaDz ; 16/05/2021 à 11h48.

  21. #20
    Qristoff
    Animateur Électronique

    Re : Contrôle double moteur L298N-Pyboard

    Les fourches ont généralement une sortie en collecteur ouvert, il faut dont ajouter une résistance de pull-up pour avoir le bon signal en sortie.
    Tout existe, il suffit de le trouver...!

  22. #21
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    D'accord je crois que c'est la notion d'open drain ? Cependant je ne sais pas ce que c'est pourriez-vous me donner plus d'explications et si possible m'expliquer comment rajouter cette résistance pull-up ( je pensais que c'était quelque chose de présent sur la pyboard
    Merci

  23. #22
    Qristoff
    Animateur Électronique

    Re : Contrôle double moteur L298N-Pyboard

    Si l'entrée du pyboard attend du 3,3V, il faut placer une résistance (~10Kohms) entre la sortie du capteur et l'alimentation 3,3V du pyboard.
    Sur certain micro (je ne connais pas le pyboard), la résistance de pull-up est interne au µc et est activable par programmation.
    Tout existe, il suffit de le trouver...!

  24. #23
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    D'accord donc j'ai trouvé quelque chose sur cette fameuse résistance interne Pull-up, je joins l'image de mon livre.
    Si je remplace le bouton poussoir dont il est question par ma fourche cela devrait marcher ? (j'irai modifier l'appellation de mon Pin pour l'activer) et du coup je ne me sert pas du fil rouge de ma fourche ? (Je relie juste le bleu à Gnd et le vert à Y9 )
    Merci
    Nom : 20210516_135500.jpg
Affichages : 123
Taille : 109,2 Ko

  25. #24
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Ok donc j'ai essayer ce que vous m'avez dit ( avec le montage de mon livre comme dit précédemment). Cependant maintenant ma fourche ne détecte plus que des "blancs" et plus de noirs, cela est surement du à l'arrivée de la résistance Pull-Up non? Je crois avoir vu qu'elle inverser la logique du montage. Cela ne règle donc pas mon problème car on peut reprendre mes derniers messages et changer les 1 en 0 et les noirs en blancs et me revoila au point de départ aha
    Qu'ai je mal fait ?

  26. #25
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Quelqu'un aurait donc une solution ? Merci

  27. #26
    Qristoff
    Animateur Électronique

    Re : Contrôle double moteur L298N-Pyboard

    j'ai pas dit pull-down, j'ai dit pull-up !
    si le µc ne propose pas, il faut la rajouter en externe
    Tout existe, il suffit de le trouver...!

  28. #27
    YruamaDz

    Re : Contrôle double moteur L298N-Pyboard

    Je crois pas avoir rajouter une Pull-Down mais bien une Pull-Up ma ligne de code correspondante étant : p = Pin('Y9', Pin.IN, Pin.PULL_UP)
    Dans tous les cas cela change-t-il quelque chose à part le fait que les 0 et 1 sont inversés ?
    De plus rajouter cette résistance me permettra bien de distinguer la commutation entre les 0 et 1 ? ( car au final c'est le coeur de mon problème, je n'ai pas l'impression que la carte capte la commutation, ou en tout cas ce n'est pas visible sur mon programme )
    Merci

Discussions similaires

  1. Perte puissance moteur + L298N
    Par faklzefh dans le forum Électronique
    Réponses: 9
    Dernier message: 27/01/2015, 13h08
  2. Réponses: 24
    Dernier message: 10/04/2014, 16h44
  3. Moitié de double pont en H intégré L298N
    Par Belmondo dans le forum Électronique
    Réponses: 6
    Dernier message: 26/09/2011, 13h07
  4. Pic16f88 pwm avec un seul moteur cc par l298n
    Par invitef49b442b dans le forum Électronique
    Réponses: 2
    Dernier message: 26/04/2011, 13h04
  5. Parasites sur carte moteur à base de l298N
    Par Dwigo dans le forum Électronique
    Réponses: 20
    Dernier message: 20/01/2009, 19h19
Découvrez nos comparatifs produits sur l'informatique et les technologies.