Non ceci ne faisait pas partie de mon adaptation mais j'ai tester ce que vous m'avez et j'ai compris le principe .Merci
Voici le contrôleur que j'utilise :https://www.ebay.fr/itm/Module-PWM-m...-/323450086831
Bonjour Sébastien
A part créer un pont en H, je ne vois pas d'autres façons d'inverser. Par contre avec un module L298, il y a tout ce qu'il faut et même pour 2 moteurs, quelques exemples.
A+
Cordialement
jpbbricole
Oui je connais le l298n mais j’ai peur de manquer de courant avec même en mettant les 2 sorties moteurs en parallèle. Mon idée était d’utiliser 2 mofset et inverser la polarisation au niveau du moteur pour chaque mofset et en choisir un quand je veux faire tourner mon moteur dans un sens et choisir l’autre inversement. Comme ça je suis sur de ne pas manquer de courant au démarrage mais je ne sais pas si cela reste possible.
Quelles sont les caractéristiques de ton moteur? As-tu une photo d l'éttiquette?
Le L298 c'est 2A ou 25W.
A moins d'avoir un GROS moteur, tu devrait avoir assez! Autrement, il y a ceci.
J'ai un L298, je vais essayer avec ce type de moteur.
A+
Cordialement
jpbbricole
Je vais acheter ceci https://letmeknow.fr/shop/fr/command...6612&results=4 vue le prix , et je brancherai en parallèle les 2 sorties moteurs et je verrai bien si ça me suffit .
La doc dit que Les sorties moteurs peuvent être mises en parallèle pour alimenter un moteur avec 2.4A - donc a essayer pourquoi pas. Il faut que le composant soit de bonne qualité pour garantir la parfaite synchronisation des signaux
Pour voir les drivers existants vous pouvez regarder sur le site de roboshop par exemple (quitte à trouver ailleurs ensuite) vous pouvez trier par puissance etc
Merci mais finalement changement de plan, j’ai acheté ceci: https://letmeknow.fr/shop/fr/command...=Lmd&results=1
Comme ça je suis sur de ne pas manquer de courant au démarrage.
J'ai cherché pendant de longues heures mais je n'arrive pas à savoir ou comprendre comment inverser le sens de rotation de mon moteur grace à ce driver.
vous pouvez préciser exactement le montage et son alimentation ?
tout a fait et comme aussi mentionné dans la discussion il faut un Condo sur l’alimentation et En dessous de 10V environ le le LM18200 ne marche pas - d’où la question sur son alimentation
Pièce jointe 539957
-le brake et le grnd sur le grnd
-dir sur le 8
-pwm sur le 11
-V+ et -sur batterie
-out+ et - sur moteur
Cela fonctionne ,néanmoins j'ai trouvé ceci sur le data-sheet .Pièce jointe 539971De plus je n'arrive pas a inverser le sens de rotation du moteur .Sauriez vous comment faire et ou je peux voir tout les fonctions qui sont associé au LMD182000T ou les librairies. Car je crois avoir retourné presque tout le web hier soir mais je n'est pas trouvé grand chose a part des gens qui les utilisait pour controller des trains.
Bonjout Sébastien
Pourrais-tu mettre ton schéma et ton programme en ligne?
A+
Cordialement
jpbbricole
Le modele lmd182000T n'existe pas sur Fritzing donc le ne sais pas comment je peux vous fournir un schema.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void setup() { pinMode (11, OUTPUT); pinMode(8,OUTPUT); } void loop() { analogWrite(11,250); }
Même à mail levée et une petite photo.
Voila j'ai fait du mieux que je pouvais et je m'en excuse d'avance.
Pièce jointe 539983Pièce jointe 539985
Bonjour Sébastien
C'est laaaaaaaargement suffisant, Léonard de Vinci n'a pas fait beaucoup mieux
Voici un petit bout de code
Le moteur tourne dans un sens presque à la vitesse maxi (250) pendant 5 secondes, puis dans l'autre sens un peu moins vite (100) pendant 5 secondes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #define moteurDirectionPin 8 #define moteurVitessePin 11 #define moteurDirectionCW HIGH // Sens des aiguilles d'une montre #define moteurDirectionCCW LOW // Sens contraire (faudra peut etre inverser) byte moteurVitesse = 250; void setup() { Serial.begin(115200); pinMode (moteurVitessePin, OUTPUT); pinMode(moteurDirectionPin,OUTPUT); } void loop() { moteurVitesse = 250; analogWrite(moteurVitessePin,moteurVitesse); digitalWrite(moteurDirectionPin, moteurDirectionCW); Serial.println("Direction CW vitesse " + String(moteurVitesse)); delay(5000); moteurVitesse = 100; analogWrite(moteurVitessePin,moteurVitesse); digitalWrite(moteurDirectionPin, moteurDirectionCCW); Serial.println("Direction CCW vitesse " + String(moteurVitesse)); delay(5000); }
A+
cordialement
jpbbricole
Merci beacoup ,ça fonctionne comme prévue néanmoins j'aimerai savoir ou avez vous trouvez les informations permettant de controller ainsi le moteur avec ce lmd182000t. Car j'aimerai voir toute les fonctions ,librairies, et bibliothèque que je peux utiliser avec celui-ci.
Bonjour Sébastien
Je n'ai pas trouvé de bibliothèque à part celle trouvé sur Locoduino DCCpp, mais trop spécifique. Mais, seul le schéma suffit à développer un truc.
C'est juste un programme "demo", on pourrait l'agrémenter de fonctions afin de le rendre plus pratique.
Il faut juste ajouter le fil du frein (Brake) sur la pin 9 de l'Arduino.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 #define moteurDirectionPin 8 #define moteurVitessePin 11 #define moteurDirectionCW HIGH // Sens des aiguilles d'une montre #define moteurDirectionCCW LOW // Sens contraire (faudra peut etre inverser) byte moteurVitesse = 250; #define moteurBrakePin 9 #define moteurBrakeOn HIGH void setup() { Serial.begin(115200); moteurVitesse = 0; pinMode (moteurVitessePin, OUTPUT); analogWrite(moteurVitessePin,moteurVitesse); pinMode(moteurDirectionPin,OUTPUT); digitalWrite(moteurDirectionPin, moteurDirectionCW); pinMode(moteurBrakePin,OUTPUT); digitalWrite(moteurBrakePin, !moteurBrakeOn); } void loop() { moteurVitesse = 250; moteurMarche(moteurVitesse, moteurDirectionCW); Serial.println("Direction CW vitesse " + String(moteurVitesse)); delay(5000); moteurFrein(250); moteurVitesse = 100; moteurMarche(moteurVitesse, moteurDirectionCCW); Serial.println("Direction CCW vitesse " + String(moteurVitesse)); delay(5000); moteurFrein(250); } void moteurMarche(byte motVit, byte motDir) { digitalWrite(moteurDirectionPin, motDir); analogWrite(moteurVitessePin,motVit); } void moteurFrein(int freinDuree) { digitalWrite(moteurBrakePin, moteurBrakeOn); delay(freinDuree); digitalWrite(moteurBrakePin, !moteurBrakeOn); }
A+
Cordialement
jpbbricole
Partager