Bonjour j'ai un projet en cour et j'ai besoin de vôtre aide j'ai besoin d'utiliser des ventilateurs (je met une photo)
Mais je ne sais pas ce que je dois utilisé pour l'utiliser merci de vos réponses
Bonjour j'ai un projet en cour et j'ai besoin de vôtre aide j'ai besoin d'utiliser des ventilateurs (je met une photo)
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.
Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone
je ne connais pas ce module mais sur aliexpress si vous allez voir en bas de la page il y a quelques infos
Le petit composant sur la carte semble être un L9110 qui est un circuit intégré de commande de moteurs. Il est utilisé pour contrôler la direction et la vitesse de moteurs à courant continu (DC) ➜ il peut faire tourner les moteurs dans les deux sens. Il est souvent utilisé dans des projets de robotique et d'automatisation.
sur le montage proposé ils disent
VCC du module est connecté à 5V, GND est connecté à GND, INA est connecté à l'interface numérique 9, INB est connecté à l'interface numérique 8, comme indiqué dans la figure ci-dessous:
bon généralement ce n'est pas bon d'alimenter un moteur depuis l'arduino, mais on va supposer que leur module est suffisamment bien fichu pour que ce ne soit pas un souci...
les broches INA et INB (entrée A et entrée B) servent à déterminer la rotation
essayez un code comme cela
const byte inaPin = 9; // Broche INA du L9110
const byte inbPin = 8; // Broche INB du L9110
void setup() {
pinMode(inaPin, OUTPUT);
pinMode(inbPin, OUTPUT);
}
void loop() {
// Faire tourner le moteur dans un sens
digitalWrite(inbPin, LOW); // pas vraiment utile car déjà LOW, mais c'est pour être complet
digitalWrite(inaPin, HIGH);
delay(5000); // attendre 5 secondes
// Arrêter le moteur
digitalWrite(inaPin, LOW);
digitalWrite(inbPin, LOW); // pas vraiment utile car déjà LOW, mais c'est pour être complet
delay(1000); // attendre 1 seconde
// Faire tourner le moteur dans l'autre sens
digitalWrite(inaPin, LOW); // pas vraiment utile car déjà LOW, mais c'est pour être complet
digitalWrite(inbPin, HIGH);
delay(5000); // attendre 5 secondes
// Arrêter le moteur
digitalWrite(inaPin, LOW); // pas vraiment utile car déjà LOW, mais c'est pour être complet
digitalWrite(inbPin, LOW);
delay(1000); // attendre 1 seconde
}
bien sûr ce serait plus lisible de faire des fonctions stop(), avant(), arriere() pour régler les 2 broches de commande
Comme tu ne donnes pas beaucoup d'information, nous ne savons pas non plus quoi te conseiller, puisque cela dépend de ce que tu veux faire.
je suppose que c'est un module as base d'un pont en H L9110?
Si c'est le cas je crois que le module à 4 connectiques que l'on ne vois pas bien sur la photo que tu as utilisé.
GND - tu branches la masse de ton alimentation.
VCC - tu branche l'autre fil de ton alimentation.
INA - entrée numérique acceptant du PWM pour faire tourner ton moteur dans le sens A
INB - entrée numérique acceptant du PWM pour faire tourner ton moteur dans le sens B
l'alimentation doit être comprise entre 2.5V et 12V.
INA et INB accepte des signaux logique donc en gros une tension supérieur à 2.5V pour définir un niveau haut et inférieur pour définir un niveau bas.
Après comme on est sur un forum Arduino, je suppose que tu veux utiliser un Arduino, mais cela dépend de ce que tu veux faire.
Ce n'est valable qu'avec un micro microchip/atmel de technologie avr.
Ce n'est pas valable avec d'autres micros même de marque microchip/atmel
Pour ne pas avoir de mauvaises surprises, si un jour on oublie que Vcc/2 est une particularité des avr, il est préférable de s'habituer à la norme CMOS.
Niveau haut : tension ≥ 0,7* Vcc
Niveau bas : tension ≤ 0,3*Vcc
Rappel : même avec des avr tout n'est pas centré sur Vcc/2.
L'I2C est à la norme CMOS → avec une carte UNO (R3) ou nano, un signal d'amplitude 3V ne sera pas considéré comme un niveau haut.
Bonsoir,
On va rester sur Terre, il y a le datasheet du circuit integré pour nous aider à cela.
Niveau Haut pour le L9110: 2,5V mini
Niveau Bas pour le L9110: 0,7V maxi
Courant admissible continu (pour alimenter circuit et moteur) 850mA max
Courant admissible de pointe 2A max
Donc
-On peut piloter la logique par les sorties arduino
-On ne peut pas alimenter le circuit par le 5V de l'Arduino.
-On peut alimenter le circuit par une source de tension allant jusqu'à 12V.
Attention. Le L9110 peut supporter jusqu'à 12V, mais quelle est la tension max du moteur ?
Sur la page du vendeur AliExpress :
Tension de fonctionnement: 5V
Il serait plus prudent de lire les infos sur l'étiquette du moteur, s'il y en a une.
Tout dépend du moteur derrière quand même non ? Il se peut qu’il ne tire pas plus de100 ou 200mA (mais oui généralement c’est mieux de ne pas alimenter un moteur au travers la carte Arduino)
Exact, il faut faire gaffe à cela.
Au pire, le régulateur de l'arduino va se mettre en protection.
Bien vu.
Si vous alimentez en usb l’arduino ne pourra pas transmettre plus de 500mA, le souci serait si vous alimentez par le jack avec une grosse puissance - ça pourrait aussi mettre les petites pistes de l’arduino à risque.
Soyons précis, j'ai oublié de l'être.
On peut alimenter l'Arduino
-Par VIN, c'est le régulateur qui fabrique le 5V.
-Par la prise USB, c'est l'USB qui fournit le 5V
-Par la borne +5V, c'est l'alimentation extérieur qui fournit le 5V
On peut alimenter le module moteur
-Par le +5V Arduino
-Par 1 alimentation extérieure
Si on ne veut pas être restreint par les capacités de la carte Arduino, mieux vaudrait alimenter le moteur par une alim ext.
ou
Alimenter l'Arduino et le module moteur par une alimentation 5V extérieure de bonne puissance.
Oui c’est ça - en gros quand on a besoin de puissance sous 3.3V ou 5V ill ne faut pas utiliser l’Arduino comme alimentation.
Je crois que l'on s'est mal compris, INA et INB sont les signaux acceptés par le L9110.
Dans la datasheet, il indique qu'il accepte du TTL et CMOS, j'en ai déduis la barriére de 2.5V, mais j'ai peut être fait quelque raccourcis ?
Commençons par le début,
bonjour lamesecrete et bienvenue sur le forum.
Une façon habituelle de bien commencer un projet est de bien identifier le module avec lequel on veut travailler. Pour ce faire, il faut observer le composant. Son nom sera - normalement - imprimer dessus.
Dans le cas présent, je lis : 140C04
Dès lors, il est possible de chercher dans Arduino Uno s'il y a un pilote (driver) pour ce composant. Le cas échéant, on installe le pilote et on se réfère à l'exemple (ou aux exemples) fournis dans Fichier - exemples - NomDuComposant
Cette première démarche permet habituellement de faire fonctionner le composer de manière minimale (en prenant l'exemple de base, comme « blink » )
Quelques modifications permettent ensuite de se familiariser avec les modifications possibles et celles interdites.
Cela permet aussi d'être plus spécifique dans votre demande d'aide.
« Bonjour, je compte utiliser un ESP32-cam » pour contrôler un 140C04, mais voilà que je n'arrive pas à faire tourner en envers. » par exemple.
J'écris cela afin de vous procurer l'ultime plaisir du développement ... celui de trouver une solution par vous-même; c'est vraiment stimulant. Mais aussi afin de nous aider à vous aider et vous éviter des commentaires comme « Ce n'est pas assez spécifique [...] »
Au plaisir.
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.