Aller au contenu


Photo
- - - - -

UGV à base d'éléments de trottinette ou d'hoverboard


410 réponses à ce sujet

#161 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 12 décembre 2022 - 09:26

Dans la fonction setup(), je lis un potentiomètre :      Speed = map(analogRead(POT),0,1023,0,255);

Pourquoi dans le setup et pas dans le loop? ça permettrait de changer de réglage sans redémarer l'arduino (par exemple quand le robot est posé sur une caisse de manière à ce que les roues tournent dans le vide)

 

 

  T = map(c1,970,1970,0,90);

...

  R=R*cos(T*PI/180);  // turn right
  L=L*sin(T*PI/180);  // turn left

ça correspond à quoi exactement T? je trouve ça étrange d'avoir quelque chose qui vas de 0 à 90 pour tourner. Est-ce que c'est un angle tourné de 45° (donc allant de -45° à +45°)? En tout cas c'est la seule manière que je vois qui permet d'avoir un comportement similaire en tournant vers la gauche ou vers la droite.

Mais si c'est ça, quand tu vas tout droit, tu as L=R=R*sqrt(2)/2, donc tu ne dépassera jamais un PWM de 180 en ligne droite.

Tu noteras également que les deux lignes "turn right" et "turn left" s'exécutent toujours, même si tu tournes pas ou dans un seul sens.

 

La formule "classique":

- v : vitesse linéaire du robot (m/s)

- w : vitesse de rotation du robot (rad/s)

- d : la distance entre les roues gauches et droites

alors la vitesse linéaire de chaque roue est : v_roue = v +- w*d   (+ pour une roue, - pour l'autre) si tu définis une vitesse positive vers l'avant. Selon les branchements, il se peut que tu doives inverser le sens de rotation pour effectivement aller vers l'avant.

 

Je te suggère de mettre le robot sur un support, et de mesurer le PWM obtenu, pour vérifier si c'est bien celui attendu.

 

 

Sinon, deux petits conseils sur ton code :

- quand tu as des variables locales à ta fonction (ie qui ne servent pas en dehors), alors déclare les dans la fonction : c'est plus lisible, plus performant, et ça réduit le risque d'erreurs. NB : penses à supprimer leur déclaration globale. Je sais que l'utilisation de variables globales se voit (trop) souvent sur Arduino, mais c'est une très mauvaise pratique, surtout à mesure que les programmes deviennent plus gros. A titre d'exemple, sur le programme que j'écris au boulot (sur Jetson), j'ai exactement 1 variable globale (le logger), alors que je travailles sur le projet depuis avril

  delay(10);
  int c2  = pulseIn(A2,HIGH,25000); // receiver channel 2 getting value Forward and Backward
  int c1  = pulseIn(A1,HIGH,25000); // receiver channel 1 getting value turn Left and Right 

- pourquoi mets tu tes analog_write dans une boucle for? Analog write enregistre la valeur de PWM que tu veux, ça sert absolument à rien de la répéter. Et si c'est un délai que tu veux, alors une boucle for est un moyen peu précis de l'obtenir (utilises plutôt un delay (ou delayMicroseconds))
 


 


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.


#162 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 12 décembre 2022 - 02:19

Merci pour ton analyse, Sandro. Je vais essayer de te répondre.

 

- effectivement, il y a beaucoup de variables locales qui mériteraient d'être relocalisées.

 

- au début, je lisais le potentiomètre dans le loop(). Puis, je me suis demandé si ce n'était pas couteux en temps. Il m'a semblé qu'il y avait quelques problèmes de ce coté là.

  Je peux effectivement le remettre dans le loop(), mais en pratique, le robot est arrêté quand je veux modifier le potentiomètre, donc un arrêt/relance de la radiocommande est tout aussi efficace. Mais ok, je vais le remettre dans le loop().

 

- T = Turn, R = Right, L = Left

 

- oui, quand T=45°, on va en ligne droite. Sinon, on tourne à gauche ou à droite. Quand le cos diminue, le sin augmente, et vice-versa.

  Mais oui, tu as raison, je ne dépasse jamais  un PWM de 180. Il va falloir que je revois cela, peut-être avec un map(). 

 

- tu as raison, globalement, la fonction Go() et sa boucle ne serve à rien. Manquant de puissance, pendant un moment, je me suis demandé s'il ne fallait pas "rafraichir" la commande.

 

Pour mon robot, mais cela peut varier avec un autre filtre RC, la bonne valeur du PWM, c'est 50. C'est lent, mais c'est ce que souhaite.

Je vais refaire les tests de rotation sur place en imposant un PWM à 255.

Je vais également imposer un PWM à 255, devant les escaliers pour voir ce que cela donne.

Mais franchement, je n'y crois pas beaucoup.



#163 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 12 décembre 2022 - 02:38

- au début, je lisais le potentiomètre dans le loop(). Puis, je me suis demandé si ce n'était pas couteux en temps. Il m'a semblé qu'il y avait quelques problèmes de ce coté là.

  Je peux effectivement le remettre dans le loop(), mais en pratique, le robot est arrêté quand je veux modifier le potentiomètre, donc un arrêt/relance de la radiocommande est tout aussi efficace. Mais ok, je vais le remettre dans le loop().

Si tu es sûr de ne pas le changer en cours de route, alors il peut rester dans setup.

Coté performance, un analogRead est certes assez lourd par rapport à d'autres instructions, mais je doutes que dans ton cas ce soit limitant (le delay(10) prend bien plus longtemps qu'un analogRead))
 

 

- oui, quand T=45°, on va en ligne droite. Sinon, on tourne à gauche ou à droite. Quand le cos diminue, le sin augmente, et vice-versa.

  Mais oui, tu as raison, je ne dépasse jamais  un PWM de 180. Il va falloir que je revois cela, peut-être avec un map().

Après, n'oublie pas qu'il faut aussi garder un peu de marge si tu veux tourner en avançant à pleine vitesse (ou alors tu imposes de ralentir en virage)
 

 

- tu as raison, globalement, la fonction Go() et sa boucle ne serve à rien. Manquant de puissance, pendant un moment, je me suis demandé s'il ne fallait pas "rafraichir" la commande.

Non, ça sert absolument à rien de raffraichir.

Au contraire, il se peut même que ça mettes le bordel (en recommençant le compte de 0 à 255, à un moment non voulu par exemple). Je penses pas que ce soit un problème en pratique (surtout qu'il me semble que l'arduino utilise le PWM le plus simple), mais en général évite de faire un analogWrite plus souvent qu'une fois par période du PWM.

 

 

 

Pour mon robot, mais cela peut varier avec un autre filtre RC, la bonne valeur du PWM, c'est 50. C'est lent, mais c'est ce que souhaite.

Je vais refaire les tests de rotation sur place en imposant un PWM à 255.

Je vais également imposer un PWM à 255, devant les escaliers pour voir ce que cela donne.

Mais franchement, je n'y crois pas beaucoup.

Tout d'abord, si ton filtre RC est bien conçu (ie qu'il te lisse bien la tension de sortie), alors avec n'importe quel filtre tu devrait avoir la même tension de sortie, ie 5V*PWM/255

 

Avec un PWM de 50/255=0.196, tu n'aura que 20% de la puissance : pas étonnant que tu trouves que ton moteur manque de couple pour monter les escaliers
 

 

 

 

 


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.


#164 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 12 décembre 2022 - 06:28

Avec un PWM de 50/255=0.196, tu n'aura que 20% de la puissance : pas étonnant que tu trouves que ton moteur manque de couple pour monter les escaliers

Merci pour tes conseils. Je vais revoir tout cela avec l'esprit un peu plus reposée.

A vrai dire, je n'ai pas vraiment réfléchi à tout ça. Du fait qu'il roulait, le reste devait aller de soit. Malheureusement, ce n'est pas le cas. 

Aujourd'hui, j'ai une base mécanique convenable, je vais donc un peu plus me consacrer à ces problèmes PWM.



#165 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male

Posté 12 décembre 2022 - 07:49

La valeur de la résistance du filtre passe bas est peut-être trop élevée (10k) et par conséquent tu n'obtiens jamais 5v sur la pin signal.

Peut-être diminuer la valeur de la résistance et augmenter la valeur du condensateur en conséquence.

Pourquoi ne pas essayer de mettre directement 5v sur la pin signal pour obtenir la pleine puissance et voir si cela convient pour ce que tu souhaites faire ?



#166 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 12 décembre 2022 - 08:54

@dakota99 : bien vu : si l'entrée à une résistance interne trop faible, alors en effet, il y a un risque qu'avec une résistance trop élevée tu n'ateignes jamais les 5V.

 

Pour tester avec du 5V directement, c'est une bonne idée, à condition de disposer d'un autre moyen d'arrêter le robot (car pour l'instant, si Oracid fait ça, je crois qu'il ne peut plus arrêter le robot).

 

Sinon, simplement vérifier au voltmètre qu'on a bien du 5V en sortie de filtre lorsque le PWM est à 100%


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.


#167 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 13 décembre 2022 - 09:33

Sur mon Rover, je n'ai que 2 filtres RC pour les 4 moteurs. Cela veut dire que chaque filtre RC est connecté aux 2 contrôleurs d'un coté du Rover.

Un filtre RC pour les roues gauches, et un filtre RC pour les roues droites.

 

Connecté à 2 contrôleurs, la charge du filtre est donc différente. J'ai donc dû modifier la valeur de R et de C, avec R=4,7kg et C=10uF (6,5uF, mesuré).

Avec ces valeurs la tension en sortie du filtre est de 3V maximum.

Pour déterminer ces valeurs, j'ai utilisé un potentiomètre et j'ai acheté une boite contenant un jeux de condensateurs céramiques d'un grand nombre de valeurs.

En diminuant la valeur de R, la tension tend vers 5V, et en augmentant la valeur de C, l'écrêtage disparait. 

 

J'ai constaté que si R=0, j'atteignais 5V. Mais n'est-il pas déconseillé de supprimer R, tout en laissant C en place ?

Si cela n'a pas d'incidence, alors cela peut être la solution.

 

Néanmoins, je vais étudier de plus près les contrôleurs en boitier qui semblent beaucoup plus sophistiqués, car ils sont vendus pour différentes valeurs de puissance.

Il doit bien y avoir une raison !



#168 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 13 décembre 2022 - 10:36

Connecté à 2 contrôleurs, la charge du filtre est donc différente. J'ai donc dû modifier la valeur de R et de C, avec R=4,7kg et C=10uF (6,5uF, mesuré).

Avec ces valeurs la tension en sortie du filtre est de 3V maximum.

Ça confirme mes craintes : la conception de la carte n'est pas très propre, et la pin d'entrée a une résistance d'entrée beaucoup trop faible (probablement ils ont juste branché le potentiomètre en parallèle)

 

J'ai constaté que si R=0, j'atteignais 5V. Mais n'est-il pas déconseillé de supprimer R, tout en laissant C en place ?

Si cela n'a pas d'incidence, alors cela peut être la solution.

Je te déconseilles vivement :

- d'une part, le filtrage ne parchera plus (en théorie, en pratique, vu le courant limité des pins de l'arduino, ça marchera peut-être encore)

- quand le condensateur est déchargé, tu relie directement un pin à 5V à un condensateur à 0V qui a une résistance interne très faible : c'est presque comme si tu relie ton pin à GND et que tu lui mets 5V en sortie : c'est un court circuit (temporaire, le temps de charger le condensateur).

 

Le courant à ne jamais dépasser par pin d'arduino est 40mA. Disons donc I_max=30mA=0.03A max pour un peu de marge. Donc si le condensateur est déchargé, il y a un courant I=5V/R

Donc R_limit=5V / I_max = 5/0.03 = 167 ohms : ne prends donc pas une valeur de résistance plus faible que ça.

 

La fréquence de coupure du filtre est fc=1/(2*pi*R*C) : il faut qu'elle soit au moins un ordre de grandeur plus grande que la fréquence de PWM, idéalement 100 fois plus grand, si tu veux avoir un signal lisse.

 

A noter qu'en cas de besoin, tu peux augmenter la fréquence du PWM (par contre, ça fonctionne par paire de pins, et ça affecte aussi d'autres fonctions de l'arduino selon la paire choisie).

 

NB : si tu veux garder la même qualité d'écrêtage, si tu divises R par un facteur X, il faut multiplier C par la même valeur. Si tu n'as pas de condensateurs céramiques avec une valeur assez grande, tu peux sans problème utiliser un condensateur électrolytique (fait juste attention de connecter le - du condensateur au GND, les électrolytiques ne supportent pas les inversions de polarité). Ou si tu n'en a pas, tu augmente la fréuqence du PWM
 

 


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.


#169 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 13 décembre 2022 - 11:22

Merci Sandro, pour toutes ces précisions.

 

Actuellement, sur mon Nano, j'utilise les pins 10 et 11, mais je peux facilement doubler la fréquence en utilisant les pins 5 et 6. https://www.arduino....io/analogwrite/

 

Mais là, je ne vais plus pouvoir bricoler. C'est la trêve de Noel . . .  :whistle2:



#170 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 14 décembre 2022 - 04:19

Oui, avec les pins 5 et 6 (timer1), tu as le double de fréquence.

 

Mais tu peux toi même régler la fréquence des timers. Dans ce cas, je te conseilles d'utiliser les pins 3 et 11 (timer 2), vu que celui-ci ne perturbera pas grand chose (le timer 0 sert à millis et delay, le timer 1 à la bibliothèque servo, le timer 2 est généralement inutilisé à part pour les PWM)


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.


#171 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 14 décembre 2022 - 07:55

Le timer 2 de l'arduino uno ( et nano car les deux sont des atmega328p ) est généralement utilisé pour les librairies " tone " pour faire du bruit / des mélodies avec des buzzers =)

 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#172 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 15 décembre 2022 - 07:52

Oui, avec les pins 5 et 6 (timer1), tu as le double de fréquence.

 

Mais tu peux toi même régler la fréquence des timers. Dans ce cas, je te conseilles d'utiliser les pins 3 et 11 (timer 2), vu que celui-ci ne perturbera pas grand chose (le timer 0 sert à millis et delay, le timer 1 à la bibliothèque servo, le timer 2 est généralement inutilisé à part pour les PWM)

Je ne sais pas faire ça.  :no:

Mais quel est l'intérêt ? Pourquoi ne pas utiliser les pins 5 et 6 ?



#173 Sandro

Sandro

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 1 262 messages
  • Gender:Male

Posté 15 décembre 2022 - 08:21

Si  976.56 Hz (la fréquence du PWM sur les pin 5 et 6) te suffit, alors ça n'a pas d’intérêt.

Si en revanche tu veux une fréquence plus élevée (980.39 Hz, 3921.16 Hz ou 31372.55 Hz), alors tu peux l'obtenir en une ligne de code pour une paire de pins (dans ce cas, je te déconseilles vivement la paire 5-6, car le timer sous-jacent est utilisé par millis et delay, donc si tu modifie le timer, tu modifie aussi toutes les mesures de temps).

 

Les codes pour changer les fréquences avec les explications sont dispo ici : https://arduinoinfo....o-PWM-Frequency

Je vous remets juste les codes :

//---------------------------------------------- Set PWM frequency for D5 & D6 -------------------------------
//NOTE: Changing this timer 0 affects millis() and delay!
//TCCR0B = TCCR0B & B11111000 | B00000001;    // set timer 0 divisor to     1 for PWM frequency of 62500.00 Hz
//TCCR0B = TCCR0B & B11111000 | B00000010;    // set timer 0 divisor to     8 for PWM frequency of  7812.50 Hz
  TCCR0B = TCCR0B & B11111000 | B00000011;    // set timer 0 divisor to    64 for PWM frequency of   976.56 Hz (The DEFAULT)
//TCCR0B = TCCR0B & B11111000 | B00000100;    // set timer 0 divisor to   256 for PWM frequency of   244.14 Hz
//TCCR0B = TCCR0B & B11111000 | B00000101;    // set timer 0 divisor to  1024 for PWM frequency of    61.04 Hz


//---------------------------------------------- Set PWM frequency for D9 & D10 ------------------------------
// Note : changing this affects Servo
//TCCR1B = TCCR1B & B11111000 | B00000001;    // set timer 1 divisor to     1 for PWM frequency of 31372.55 Hz
//TCCR1B = TCCR1B & B11111000 | B00000010;    // set timer 1 divisor to     8 for PWM frequency of  3921.16 Hz
  TCCR1B = TCCR1B & B11111000 | B00000011;    // set timer 1 divisor to    64 for PWM frequency of   490.20 Hz (The DEFAULT)
//TCCR1B = TCCR1B & B11111000 | B00000100;    // set timer 1 divisor to   256 for PWM frequency of   122.55 Hz
//TCCR1B = TCCR1B & B11111000 | B00000101;    // set timer 1 divisor to  1024 for PWM frequency of    30.64 Hz

//---------------------------------------------- Set PWM frequency for D3 & D11 ------------------------------
//Note : changing this affects tone
//TCCR2B = TCCR2B & B11111000 | B00000001;    // set timer 2 divisor to     1 for PWM frequency of 31372.55 Hz
//TCCR2B = TCCR2B & B11111000 | B00000010;    // set timer 2 divisor to     8 for PWM frequency of  3921.16 Hz
//TCCR2B = TCCR2B & B11111000 | B00000011;    // set timer 2 divisor to    32 for PWM frequency of   980.39 Hz
  TCCR2B = TCCR2B & B11111000 | B00000100;    // set timer 2 divisor to    64 for PWM frequency of   490.20 Hz (The DEFAULT)
//TCCR2B = TCCR2B & B11111000 | B00000101;    // set timer 2 divisor to   128 for PWM frequency of   245.10 Hz
//TCCR2B = TCCR2B & B11111000 | B00000110;    // set timer 2 divisor to   256 for PWM frequency of   122.55 Hz
//TCCR2B = TCCR2B & B11111000 | B00000111;    // set timer 2 divisor to  1024 for PWM frequency of    30.64 Hz

Il suffit de copier dans le setup la (ou les) lignes correspondantes aux fréquences que tu veux changer (pas la peine de les mettre si tu gardes la fréquence par défaut).

A noter que ces lignes modifient des registres (ie des variables internes du micro-controleur), et que le code ci-dessous ne sera valable que sur des micro-controleures ATmega328P (Arduino Uno et Arduino Nano). Pour d'autres modèles (par exemple Arduino Méga), on peut obtenir des résultats similaires, mais le code sera différent
 


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.


#174 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 15 décembre 2022 - 06:34

Très intéressant !

Merci Sandro.



#175 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 10 janvier 2023 - 11:36

Cliquez moi.

DSC_3900-L.jpg

 

J'ai donc laissé tomber les contrôleurs ZS-X11H que j'ai remplacé par des contrôleurs e-Bike de 350W 36V. https://fr.aliexpres...ayAdapt=glo2fra

 

J'ai réussi à faire tourner un moteur avec un de ces contrôleurs. J'ai essayé d'arrêter la roue à basse vitesse avec ma main gantée. Très difficile, là, on voit tout de suite qu'il y a de la puissance.

 

Sur la photo, on peut voir les 4 contrôleurs, maintenus avec du Velcro, de part et d'autre de la batterie.



#176 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male

Posté 10 janvier 2023 - 04:12

Super Oracid,

 

Content de savoir que tu es de nouveau sur le projet :) je commençais à trouver le temps long.

Tu as déjà connecté ce contrôleur sur l'Arduino ?

Je serais curieux de voir cet engin franchir les obstacles.

 

Pour ma part je continue avec ces fameux contrôleurs. Je n'ai pas encore rencontré de problème de couple (avec le robot  bien sûr).

Par contre le freinage des roues n'est pas très puissant. Pour faire des mouvements précis avec une charge j'ai pas l'impression que ça va le faire. Mais bon vivons au moment présent...

 

Je suis occupé à peaufiner les différentes méthodes de déplacement : Lidar, camera, encodeurs et ça avance dans le bon sens.... (au sens propre comme au sens figuré)



#177 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 10 janvier 2023 - 07:12

Content de savoir que tu es de nouveau sur le projet :)

Ah, mais, je n'ai jamais arrêté ! J'ai un peu levé le pied pour la trêve de Noel, faut dire aussi que des monstres ont envahis ma maison.

Cet après-midi, j'ai terminé mon nouveau montage. Demain, je ferai une photo.

 

Oui, bien sûr, quand je dis que j'ai mis en œuvre le nouveau contrôleur, c'est bien en le pilotant à partir de l'Arduino sur mon banc de test, comme sur ma dernière vidéo. https://www.robot-ma...board/?p=116963

J'ai fait un nouveau filtre RC avec R=4,7k et C=10uF. J'ai augmenté la largeur de 2cm. J'ai fait un nouvel étage pour tout ce qui est microcontrôleur, récepteur radio et toute éventuelle carte électronique, à venir.

Pour ce nouvel étage, j'ai acheté un convertisseur 13-60V vers 12V 5A qui alimente mon Arduino. Avec cette alim, peut-être que je pourrais alimenter un Raspberry Pi 4. A voir.

 

Demain, j'espère commencer les tests  de chaque moteur, sur le robot lui-même.

 

Content de voir que de ton coté, tu avances également sur d'autres sujets comme le Lidar.



#178 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male

Posté 10 janvier 2023 - 08:55

Je suis curieux de voir si tu constates des différences significatives par rapport au contrôleur ZS-X11H.

Au niveau câblage avec Arduino c'est similaire ?

 

C'est un peu hors sujet mais au niveau du guidage avec la camera Huskylens, j'ai réalisé des mires lumineuses :

des simples croix, des rubans led et un petit dimmer. La camera en mode reconnaissance d'objet les reconnaît à +/- 8 mètres voire plus. (mon living est trop court). De plus la reconnaissance peut se faire dans une ambiance lumineuse faible.

 

Un ferai une petite video asap.



#179 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 969 messages
  • Gender:Male
  • Location:Anglet

Posté 11 janvier 2023 - 12:28

 

 

C'est un peu hors sujet mais au niveau du guidage avec la camera Huskylens, j'ai réalisé des mires lumineuses :

des simples croix, des rubans led et un petit dimmer. La camera en mode reconnaissance d'objet les reconnaît à +/- 8 mètres voire plus. (mon living est trop court). De plus la reconnaissance peut se faire dans une ambiance lumineuse faible.

 

Un ferai une petite video asap.

N'hésite pas à faire un sujet dédié ;)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#180 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 769 messages
  • Gender:Male

Posté 11 janvier 2023 - 08:13

Je suis curieux de voir si tu constates des différences significatives par rapport au contrôleur ZS-X11H.

Au niveau câblage avec Arduino c'est similaire ?

La différence est énorme !

Avec le ZS-X11H, à faible vitesse, j'arrête la roue avec un doigt. Tandis qu'avec le contrôleur KUNRAY S6-25, je doit mettre un gant, et il faut que je force.

 

Pour la commande et le câblage, c'est exactement la même chose.

Avec le KUNRAY S6-25, la sortie du filtre RC est connectée au Throttle, et la sortie d'inversion, le sens, vers Reverse. Pour l'instant, je n'utiliserai que ces deux commandes.

Attention, tous les contrôleurs de ce type n'ont pas la commande Reverse.

 

Si la puissance n'était pas encore suffisante, il existe une astuce pour l'augmenter, mais il faudra peut-être changer de batterie. J'en parlerai ultérieurement.

Voir le câblage du KUNRAY S6-25, ci-dessous.

 

Félicitation, pour l'acquisition de ton HuskyLens.

J'aimerais bien faire un suivi de personne avec la reconnaissance d'objet, en apposant un Logo à différents endroits sur le corps d'une personne.

A mon avis, le problème n'est pas tant que l'Huskylens supporte la faible luminosité, mais au contraire, qu'il puisse supporter la grande luminosité.

Avec mon quadrupède suiveur de ligne, c'est avec une grande luminosité que j'ai des problèmes. Et je ne suis pas le seul, quelque soit la caméra.

 

KUNRAY-S-25.jpg





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users