Le courant max (en continue) pour un pin de sortie de l'arduino est 20mA (40mA toléré en pic).
Disons 15mA pour être large.
Si le condensateur est entièrement déchargé, tu as 5V aux bornes de ta résistance.
Donc R_min=U_min/I_max = 5V/0.015A = 333 ohms
Donc tant que ta résistance est suppérieure à 330 ohms, tu es bon (un peu plus bas, ça marchera probablement encore, mais ça devient joueur).
Si on suppose que l'entrée est purement résistive, alors branche juste une résistance R entre 5V et l'entrée du driver (qui a une résistance interne r à trouver).
Tu formes alors un diviseur de tension.
Tu mesures la tension V_driver aux bornes du driver.
Tu as V_driver = 5V * r/(R+r).
Donc V_driver/5V=r/(R+r), donc (V_driver/5V)*(R+r) = r, donc r * (1-V_driver/5V)=(V_driver/5V)*R, donc r=R * 1/(5V/V_driver - 1)
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.
L'ondulation est tout à fait acceptable et la tension est d'environ 2.5V.
La vitesse du moteur est largement au-dessus de ce que je souhaite.
Donc ça me parait plutôt, pas mal.
Par contre, le moteur "broute" assez souvent au démarrage ou au changement de direction (après arrêt complet) que je fais avec un bouton relié au driver (pas à l'Arduino).
Il me semble que ce "broutage" est dû au fait que ce driver ne gère pas les capteurs Hall.
Mais, de toute façon, avec l'autre driver qui, lui, gère les capteurs Hall, cela arrive également. Alors ?!
Objectif faire tourner la roue une fois pendant 3 secondes.
La compilation du programme se passe bien.
Mais rien ne bouge du côté moteur.
//#######################################
int els=5; // EL
int hal=3; // Signal - Hall sensor
int dir=4; // ZF
int spd=2; //VR
//#######################################
int speed1=0;
Entre l'entrée potentiomètre et le 5V, j'ai mesuré, V_driver=0.472V
Tes calculs:
1... V_driver = 5V * r/(R+r)
...
Par contre, déjà, je ne comprends pas ta première ligne.
En gros, je fais l'hypothèse (pas forcément correcte, mais c'est la plus simple) que le driver se comporte comme une résistance ® vers la masse.
On obtient donc un diviseur de tension (cf https://fr.wikipedia...seur_de_tension , paragraphe "Principe du diviseur de tension non-chargé", avec R1=R, R2=r, U=5V, U2=V_driver). La première ligne est simplement l'équation du diviseur de tension. La suite, c'est que des maths (on résout l'équation du diviseur de tension avec r comme inconnue)
Aidez-nous à vous aider : partagez toutes les informations pertinentes : description précise du problème, contexte, schéma de câblage, liens vers la documentation des composants, votre code (ou encore mieux un code minimal reproduisant le bug), ...
Vous recevrez ainsi plus de réponses, et elles seront plus pertinentes.
J'ai fait un câble avec le filtre RC soudé en l'air sur les pins d'un connecteur Dupont.
La résistance de 10K et 1/8W est minuscule et permet une bonne intégration dans le connecteur.
Idem pour le condensateur céramique de 1uF.
Bien entendu, cela fonctionne parfaitement.
Test réalisé avec le driver ZS-X11F V1 (pas de capteur Hall), ci-dessous.
Je me suis rendu compte qu'en imposant rapidement une tension maximum au démarrage, puis rapidement, la tension désirée, le moteur ne broutait pas.
Pour inverser le sens de rotation, il est nécessaire de stopper le moteur, puis appliquer le changement de direction, et pareil, appliquer une tension maximum suivie de la tension désirée.
Je pense qu'en programmation, cela devrait plus facile que de tourner un potentiomètre à la main.
Bien entendu, le potentiomètre est relié à l'Arduino, pas au driver.
J'ai reçu un nouveau driver ZS-X11H V2 (avec capteur Hall), ci-dessous. Je vais le tester avec cette méthode.
J'ai testé le driver ZS-X11H V2 (avec capteurs Hall), il fonctionne très bien avec ma commande RC.
L'avantage du ZS-X11H V2 (avec capteurs Hall) par rapport au ZS-X11F V1 (pas de capteur Hall), c'est qu'il peut changer de direction, même à grande vitesse, et cela sans "brouter".
Par contre, dans un sens, le bruit de la rotation est doux, alors que dans l'autre sens , c'est plus bruyant.
La chose bizarre avec le ZS-X11H V2 (avec capteur Hall), c'est qu'il faut inverser les connecteurs jaune et vert du moteur sur la carte, sinon cela ne fonctionne pas, mais il ne faut pas inverser les capteurs Hall,
Alors que sur le ZS-X11F V1 (pas de capteur Hall), cette même inversion, change le sens de rotation, ce qui est normal.
Cela vient peut-être du moteur. Je vais tester avec un autre moteur.
Depuis, le début, je me plantais sur le changement de vitesse parce que j'utilisais mal un interrupteur à 3 pattes. Comme quoi, il faut tout vérifier. Le diable se cache dans les détails.
Jusqu'à aujourd'hui, la rotation du moteur n'était pas vraiment fluide et le changement de direction était chaotique.
J'ai eu la bonne idée de changer l'ordre des 3 fils de l'alimentation du moteur ainsi que les l'ordre des 3 fils des capteurs Hall. Bien entendu, je n'ai pas touché aux + et au -.
Cela fait un paquet de possibilités.
J'ai eu la main verte en trouvant une combinaison qui offrait une rotation dans les 2 sens, vraiment fluide, et changement de direction à pleine vitesse, sans problème.
J'ai cherché une autre combinaison où les 2 sens de rotation du moteur étaient inversés par rapport à la précédente, et je l'ai trouvée assez rapidement.
C'est important, car les moteurs à gauche et à droite d'un robot ne tournent pas dans le même sens.
Tout ça pour te dire, qu'il y a effectivement des combinaisons ou le moteur ne tourne pas, mais l'intensité est bien présente.
Je suis en 36V et cela peut monter à 5A, puis ça disjoncte à l'intérieur du moteur. J'ai une pince ampèremétrique.
En tout cas, il faut faire attention. Moi je travaille avec un disjoncteur de 20A.
Pour ma part je suis toujours occupé à remplacer une télécommande d'un siège PMR par un Arduino.
J'ai donc laissé un peu de côté le moteur d'hoverboard mais ton succès me pousse à remettre le projet sur la table.
J'ai juste essayé d'inverser les fils jaune vert bleu mais le moteur ne veut décidément pas tourner.
Si j'ai bien compris, le filtre passe bas c'est juste au cas où il faut rendre la rotation plus fluide. Avec le contrôleur sans modif le moteur devrait quand même tourner...
Je vais passer commande pour le même contrôleur que toi ... mais 15 jours de délai ...
Si j'ai bien compris, le filtre passe bas c'est juste au cas où il faut rendre la rotation plus fluide.
Non, pas du tout !
La sortie PWM d'un Arduino, ou autre, est "faussement" analogique.
On peut faire varier la luminosité d'une led, mais en réalité, c'est la persistance rétinienne qui donne cet effet de continuité dans la variation.
On peut également mesurer la tension avec un voltmètre à aiguille, et là, c'est l'inertie de l'aiguille qui donne l'illusion d'une tension analogique.
Mais si tu testes avec un multimètre numérique, là, cela ne fonctionne plus.
Quel est le problème ? Les contrôleurs des moteurs d'HoverBoard sont assez complexes à mettre en œuvre lorsque l'on veut utiliser leur entrée PWM.
Par contre, ils sont assez faciles d'emploi, lorsque l'on utilise leur entrée, potentiomètre.
Que fait ce potentiomètre ? Il fait varier une tension ! Cette tension est bien un signal analogique !
L'idée, c'était de convertir un signal PWM en un signal analogique.
Il y a sans doute plusieurs moyens, mais le moyen le plus simple, c'est le Filtre Passe Bas. Merci Partick, merci Sandro.
J'utilise donc ce Filtre Passe Bas, à la place d'un potentiomètre.
Pour commencer tu pourrais peut-être faire ce montage sur une BreadBoard, avec un Arduino, et le tester avec un voltmètre numérique ou un oscilloscope, si tu en as un.
Tu peux parfaitement utiliser le contrôleur que tu as. Dans la première partie de ton tuto de référence à 2'04", il montre comment brancher un potentiomètre.
Il suffit de remplacer ce potentiomètre par une Filtre Passe Bas.
Mais le plus simple pour commencer, c'est déjà de faire tourner ton moteur avec un potentiomètre.
Je n'ai pas le matériel sous la main donc je ne peux pas tester immédiatement mais effectivement d'abord tester avec un pod puis ma carte devrait aussi fonctionner.
Oracid tu avais connecté les capteurs hall pour les tests avec potentiomètre ?
Oui, bien sûr ! Tu as les couleurs des branchements dans ma vidéo à 5'03". Vers le bas.
Je ne vois pas le branchement de ton potentiomètre, pourrais-tu élargir ta photo ? Il y a beaucoup de fils, je ne comprends pas, un potentiomètre, c'est 3 fils.
Peux-tu me donner un lien vers la boutique où tu as acheté ce contrôleur ?
Oui ce serait plus simple avec des borniers en effet. Mais je n'en ai pas. C'est aussi pour cela je préfère ta carte à la mienne.
Dans une vidéo j'avais compris que cela pouvait fonctionner sans les capteurs hall. J'ai une seconde carte identique excepté qu'elle n'a pas le connecteur pour les capteurs hall.
Je les ai maintenant raccordés et cela fonctionne !!
Quel bonheur de voir cette roue tourner en silence, de manière régulière à la vitesse souhaitée.