Aller au contenu


Contenu de Sandro

Il y a 1000 élément(s) pour Sandro (recherche limitée depuis 01-mai 13)



#120663 Inverse Kinematics

Posté par Sandro sur hier, 20:20 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Have you checked that it is not just due to some perspective effects? (I don't think so, but it's hard to be sure from the video)

 

Also, I think that if you want to really study the trajectory, you should try to attach your leg in a more stable manner (I think you get significant error just from the trembling).

Otherwise, I think any of your guesses is possible.

To check, I would suggest :

A) get a stable fixation for your leg, so results are reproductible

B) redo the same trajectory : if you get something significantly different, then either your servos or your assembly is quite unstable. If you get the same trajectory, go to C

C) do again the qualibration of the servos : if your trajectory is different, then your calibration is not precise enough. If you get the same trajectory, then go to D

D) change the motors (and recalibrate) : if the trajectory changes, then the motors are probably not very accurate (ie they don't move exactly by the amount they are supposed to, it might be a low quality potentiometer inside for example). If you still get the same trajectory, then it's either the lenght of your parts, or your code that is wrong.




#120650 PID - un banc de test

Posté par Sandro sur 21 avril 2024 - 10:02 dans Programmation

Affiner les paramètres du PWM par potentiomètre, pourquoi pas, mais ça présente la difficulté de pouvoir reproduire le réglage.

 

Après, si tu veux faire du suivit de ligne ultra rapide (et pas juste rapide) avec des virages serrés (ie assez pour ne pas pouvoir les passer à vitesse max) avec une caméra pour anticiper la ligne, alors je ne suis pas sûr qu'un contrôleur PID soit le plus adapté. Des contrôleurs que je connais, celui qui me semblerait le plus adapté serait un contrôleur par modèle prédictif (ie un contrôleur qui "simule" la position à t+delta_t pour tous les paramètres possibles, et choisit la meilleure combinaison, ie le plus loin devant sans trop d'erreur par rapport à la ligne et à l'orientation de la ligne). NB : j'ai rapidement vu ça en cours, mais j'ai pas vraiment d'expérience dans ce type de controleur.

Mais je penses que déjà avec du PID, on peut faire de belles choses.




#120535 Vidéos Bipèdes

Posté par Sandro sur 29 mars 2024 - 11:05 dans Robots à pattes et jambes, humanoïdes, bipèdes, quadrupèdes, hexapodes ...

Of course there is some 'survivor bias' : they will not show the failures.
The only way to trust that a robot is reliable based on a video is a very long video (a few hours) of uncut video (ie single camera, no cutting) : it's very boring, but it's the only "proof" I would trust




#120525 Projet de robots joueurs de foot

Posté par Sandro sur 26 mars 2024 - 05:52 dans Robots roulants, chars à chenilles et autres machines sur roues

 

= mettre une résistance de pull down sur la gate ;)

J'avais interpréter ton message comme souder une résistance de pull-down (mais peut-être que j'ai mal interprété), alors que ma suggestion était de placer une pull-down provisoire sur le header destiné à la Teensy pour confirmer que le seul problème est que la gate est flotante (donc la pull-down ne sera probablement pas indispensable une fois la Teensy présente et le pin en output.

Mais oui, l'idée de fond est la même (et peut-être que c'est moi qui ai mal interprêté ta réponse, et que tu suggérais exactement la même chose que moi)
 




#120513 Projet de robots joueurs de foot

Posté par Sandro sur 24 mars 2024 - 06:39 dans Robots roulants, chars à chenilles et autres machines sur roues

Ou en test plus simple (sans connecter ton micro-controleur), connecte la gate a GND. Si connecté à GND ça ne s'active pas, alors (si tu ne te soucie pas de l'état initial), tu pourra sans problème commander le kicker depuis le micro-controleur (tu pourra alors ajouter la pull-down si tu veux que l'état initial soit désactivé). Si connecter à GND ne résoud rien, alors il faudra chercher ailleurs.

 

NB : au lieu de relier directement à GND, tu peux aussi relier la gate à GND via une résistance (si tu as, je prendrais entre 1k et 10k), ce qui à l'avantage que tu risques moins de faire de dégats si tu as un montage vraiment tordu




#120436 Projet de robots joueurs de foot

Posté par Sandro sur 12 mars 2024 - 09:36 dans Robots roulants, chars à chenilles et autres machines sur roues

Pour la diode roue libre, elle est fortement recommandée pour les charges inductives (solénoïde, électro-aimant, moteurs, convertisseurs à base de transfo ou d'inductance, ...). Le problème d'une inductance, est que le courant à "du mal" à changer. Tout changement de courant génère une tension U=L*di/dt. Si le changement est très rapide, alors dt est tout petit, donc la tension est énorme. Si la coupure est instantanée, alors la tension est "infinie". En pratique, si on n'offre pas de chemin alternatif au courant, alors la tension monte jusqu'à ce qu'elle suffise pour créer un chemin (en grillant un composant, en passant à travers un "isolant", ou en créant un arc électrique). Bref, ça fini mal. La diode roue libre donne un chemin à ce courant (qui vas tourner "en rond" entre la diode et l'inductance, dissipant l'énergie dans la diode). NB : une résistance à la place de la diode marcherait aussi, sauf qu'elle consommerait du courant en permanence, ce qui n'est pas dommage, et elle est moins adaptée à garder la tension faible.

 

À noter qu'en soit, un MOSFET a une diode "parasite" interne qui peut faire office de diode roue libre. Mais vue que c'est une diode parasite, elle n'a pas de très bonne caractéristiques, et n'est pas toujours capable de supporter tout le courant. Donc tant qu'on n'est pas sur de la production de masse, c'est en général plus simple d'ajouter une diode que d'essayer de déterminer si la diode interne suffit ou pas.

 

Pour des charges résistives ou capacitives, la diode roue libre n'apporte rien, mais ne gène pas non plus. Sauf si tu pars dans les extrêmes soit en fréquence (à haute fréquence, la capacité parasite de la diode peut devenir gênante) soit en très très basse consommation (le courant de fuite peut devenir non négligeable). Mais ces cas extrêmes correspondent à des circuits beaucoup plus avancés, donc tu n'as pas à ton soucier pour l'instant.




#120427 Projet de robots joueurs de foot

Posté par Sandro sur 10 mars 2024 - 08:07 dans Robots roulants, chars à chenilles et autres machines sur roues

1 bis) Voici comment il faut faire les connections (nb : j'ai aussi déplacé le N-MOS entre le kicker et le GND : j'avais raté l'erreur de positionnement du mosfet jusqu'à là). Mettre un MOSFET entre 24V et la charge nécessite un P-MOS, mais le problème est que pour l'éteindre, il te faut du +24V (et pas du 3.3V), donc ça devient vite complexe.

kicker.png

Pour le placement de la diode, je te conseille de chercher "diode roue libre" sur internet, tu trouvera des explications bien meilleures que ce que je pourrais écrire en 3 lignes (n'hésites pas à demander des éclaircissements s'il y a un poitn que tu ne comprends pas)

 

2) tout dépend du courant dont tu as besoin pour le kicker, et du risque tu acceptes à prendre. Si tu regardes la figure 1 (page 3), le courant typique que tu peux atteindre est d'environ 3A. Mais compte de la marge à cause des incertitudes dues à la fabrication, à la température, ... Si 1A te suffit, alors je penses que ça passe. Si tu as besoin de plus, alors ça devient "risqué"

 

4) Bravo.

 

A noter que la zone de cuivre à droite est mal attribuée (click sur la zone, puis dans la zone à droite, dans SOLID REGION/Connection, remplace U2_1 (ou un truc du genre) par GND. Ensuite, click gauche puis droit sur une zone vierge, zone de cuivre/réactualiser la totalité).

 

Sinon, tu peux améliorer la connectivité à gauche et à droite en ajoutant des "chemins" plus court pour le GND, par exemple comme ça :

composants.png cuivre.png

(nb : maintenant que tu as des plans de masse, c'est mieux de montrer les 2 cotés, ou si tu n'en montres qu'un, à minima montrer le coté composants (sinon trop de pistes sont cachées par le plan de masseà

 

8) pour éviter ce genre d'erreurs, c'est souvent utile de renommer les pins des connecteurs, même si ça prend du temps

 




#120424 Projet de robots joueurs de foot

Posté par Sandro sur 10 mars 2024 - 01:49 dans Robots roulants, chars à chenilles et autres machines sur roues

Bonjour,

NB : quand je parles de gauche et droite, c'est par rapport aux images que tu poste (possible que d'un point de vue du robot ce soit inversé selon si le PCB est monté à l'avant ou à l'arrière).
 

1) Pour la diode SS510 : s'il s'agit de celle là ( https://www.rectron....heets/ss510.pdf ), alors oui, c'est bon (en général, essaye de mettre le lien vers les datasheet : ça nous facilite la vie, et ça évite le risque de confusion (par exemple Conchip fabrique la SS510-HF avec des caractéristiques assez similaires, mais de petites différences).

 

1 bis) Pour la diode SS510 : tu l'a branchée comment? Avec la vue 3D, j'ai l'impression que tu l'a mise en série avec le solénoïde, alors qu'il faut la mettre en parallèle (dans le sens "bloquant"). N'hésites pas à partager ton schéma mis à jour pour vérification.

 

2) Pour l'IRF520, s'il s'agit bien de celui-ci ( https://www.vishay.c...1017/irf520.pdf ), alors je te le déconseille avec la Teensy en 3.3V : à la page 2 de la datasheet, tu as:

VGS.png

Donc selon les conditions d'utilisations (température, tension d'alim, vieillissement, ...) et selon les aléats de fabriquation, la tension de seuil est quelque part entre 2 et 4V. Donc avec une arduino Uno à 5V, ça suffira pour allumer l'IRF520. Avec la Teensy à 3.3V, ça peut marcher si le seuil est proche des 2V, ou ne pas marcher si le seuil est proche de 4V. Ou marcher de manière intermitante si le seuil est proche de 3.3V (par exemple ça marchera ou pas selon la température de la pièce!, ou alors parfois le courant sera moindre). Bref, je te conseille vivement de choisir un modèle avec un VGS(th) "pire des cas" inférieur à 3V.

 

3) Pour les convertisseurs DC/DC à souder directement, vu le courant que tu demandes, il y en a plein qui peuvent convenir. Voici une liste chez digikey dont la majorité devraient convenir : https://www.digikey....BKSpzrkFwciGUAA (j'espère que le lien fonctionnera, dans le cas contraire, prévenez moi, et je listerais des exemples)

 

4) Pour le plan de masse, à choisir, il vaut mieux l'avoir en partie droite (là où arrive l'alim) qu'en partie gauche. Pour moi, ça reste tout à fait faisable de faire un plan de masse sur quasi toute la surface du PCB. Ton projet est fait sous EasyEda, c'est bien ça? Si oui, si tu as envie de me partager une copie du projet, je peux te faire un exemple de routage avec plan de masse si tu veux. Si tu ne veux pas faire de plan de masse, vu tes composants, il y a de fortes chances que ça marche quand même (des pistes de GND le plus large possible et les plus courtes possibles aident). Par contre, sur des projets plus complexes avec des signaux rapides, sans plan de masse, ça ne marchera pas

 

5) Pour ton nouveau connecteur d'alim, vu comment il est placé, ça fera dépasser le câble de ton PCB : est-ce que ça te pose un problème?

 

6) Sur ta dernière image de routage (avec uniquement la partie droite), il y a un petit trait bleu qui part du connecteur kicker et part vers la droite (en descendant légèrement) : à priori, ça indique qu'il te manque une connection ou qu'une connection est mal faite. Je te conseille de vérifier. N'hésites pas non plus à exécuter la vérification automatique des erreurs (sur easyEDA : Design/Check DRC), qui peut te détecter ce genre d'erreurs.

 

7) Si tu utilises un GND et une alim, et un pin séparé pour la caméra, pourquoi ne pas lui faire un connecteur dédié avaec tout ce dont elle a besoin?

 

8) Oui, un via donné a une résistance donnée, et donc ne peut supporter qu'un courant limité (si tu ne veux pas perdre trop de tension). Après, en général, plutôt que de mettre un très gros via, on en met plusieurs petits : ça donne de meilleurs résultats (si tu double le diamètre du Via, tu ne multiplie que par 2 la section (donc tu divises par 2 la résistance), alors que tu multiplie par 4 la surface ; alors que si tu augmentes le nombre de vias, en multipliant par 4 la surface, tu multiplies aussi par 4 le nombre de vias, donc tu multiplie par 4 la section, donc tu divises par 4 la résistance). Donc en gros, si tu multiplie la surface par 4, tu divises la résistance par 2 si tu augmentes la taille des vias, vs par 4 si tu augmentes leur nombre. À noter qu'avec un plan de masse, tu as déjà le GND disponible partout, donc ça limite fortement le nombre de vias nécessaires (et le GND est ce qu'il y a de plus sensible : une "erreur" de tension sur le GND, et c'est comme si tu avait cette erreur sur tous les signaux).




#120422 Projet de robots joueurs de foot

Posté par Sandro sur 09 mars 2024 - 10:47 dans Robots roulants, chars à chenilles et autres machines sur roues

Bonsoir,

J'ai jeté un rapide coup d'oeil. Voici quelques suggestions :

- pour le MOSFET du kicker, vue qu'un solénoïde est inductif, je te conseille vivement d'ajouter une diode roue libre (idéalement une diode Schottky) : autrement, tu as le risque de cramer le mosfet au moment où tu éteins le solénoïde

- vérifier bien que le mosfet que tu as choisi soit pleinement ON à la tension de ton GPIO. Je sais plus si sur la Teensy les GPIO sont en 3.3 ou 5V : dans les 2 cas, une majortié des Mosfets ne font pas l'affaire : il faut en choisir un spécifiquement avec une tension de seuil assez basse. NB : attention, il ne suffit pas de vérifier que la tension de seuil (souvent notée V_th ou V_GS_th) soit inférieure à ta tension : il faut aussi vérifier qu'à la tension choisie, le MOSFET laisse passer un courant suffisant (et avec une chute de tension raisonnablement faible). Si besoin, donne moi le modèle du MOSFET et la tension d'alim, et je peux vérifier si c'est OK ou pas.

- pour le convertisseur de tension, il est probablement possible de trouver des modules que tu peux directement souder sur ton PCB (au lieu de passer par un connecteur et un module externe). Si tu me donne le courant dont tu as besoin, je peux regarder

- pour le routage, en général, ce que je te conseille, c'est un plan de masse sur une des faces. Il s'agit d'une surface de cuivre relié à la masse (GND) qui couvre (presque) toute la surface du PCB. Il est autorisé d'avoir des bouts de piste sur cette face en cas de besoin, mais on essaye de les réduire au minimum, et surtout de garantir que toutes les parties du plan de masse soient bien connectées (ie par un passage bien large). Cette méthode à premièrement l'avantage de supprimer toutes les pistes des GND (qui en général sont très nombreuses autrement), et de permettre d'avoir un GND bien stable (autrement, en cas de pic de courant sur une partie du circuit, le potentiel du ground peut changer un peu, ce qui crée souvent des problèmes). Pour ton circuit, je penses que ce n'est pas indispensable (mais ce serait une amélioration), mais pour un circuit plus complexe, ça devient indispensable (et très vite, on passe à 4 couches, avec une couche interne réservée exclusivement au GND).

- ajouter des condensateurs électrolytiques entre tes alims et GND ne peut pas faire de mal, même si je ne sais pas si elles sont nécessaires dans ton cas

- tu as un pin seul que tu appelle caméra : est-ce que le GND est aussi partagé?

- mécaniquement, un seul pin, ça ne tient pas très bien : je te conseille de mettre 2 pins, même si tu n'utilise qu'un fil (ou alors, de sécuriser la connexion par un peu de colle chaude si tu veux utiliser un pin seul)

 

NB : j'ai pas vérifier pour la largeur des pistes




#120365 Chargeur telephone en wireless

Posté par Sandro sur 26 février 2024 - 09:42 dans Electronique

Bonsoir,

 

Pourquoi la sortie est proche de -5V, je n'en ai aucune idée (à moins que la mesure de tension ne soit faite dans le mauvais sens?).

 

Par contre, l'IRFZ46N est un MOSFET (ie un transistor), et pas un régulateur de tension : si tu veux simuler le comportement, il te faut choisir un régulateur de tension disponible dans ton logiciel de simulation (LTSpice?)

 

Ensuite, il faut savoir que si tu utilises un régulateur linéaire (ce qui semble probable vu ton schéma), alors la tension de sortie est forcément plus faible que la tension d'entrée, avec une chute de tension minimale (qui varie selon les régulateurs de quelques dizaines de millivolts à plus d'un volt). Si tu veux une faible chute de tension, cherche pour un régulateur LDO (low drop-out regulator). Dans tous les cas, si tu as moins de 5V en entrée du régulateur linéaire, tu en aura encore moins en sortie. La meilleure stratégie consiste probablement à avoir une tension avant le régulateur un peu au dessus de 5V (par exemple 5.5V), et un régulateur avec une chute de tension assez faible pour garantir les 5V en sortie. Si vraiment c'est pas possible, alors tu pourra utiliser des convertisseurs à découpages, mais c'est plus complexe (si tu veux prendre cette voie, préviens moi et je détaillerais plus).




#120286 Naissance de mon Sumo

Posté par Sandro sur 09 février 2024 - 04:20 dans Robots roulants, chars à chenilles et autres machines sur roues

Bonjour,

En soit, n'importe quelle batterie (NiMh, Li-ion, LiPo, ...) peut être chargée en place (nb : si la ventilation est mauvaise, il faut s'assurer que la recharge est assez lente pour éviter la surchauffe).

Après, tu as 2 options pour recharger un ensemble de batteries en série (des batteries en parallèles peuvent être considérées comme une seule batterie plus grosse) :
1) Recharge avec 2 fils (+ et -) : si tu as 2 batteries/cellules ou plus en série, alors ça t'oblige à avoir un système de gestion de charge (BMS) intégré dans ton robot (il est déjà intégré dans certaines batteries, sinon il faut l'ajouter toi). Ce BMS s'assure d'éviter une surcharge, et d'équilibrer la tension des cellules (=batteries individuelles). Sans équilibrage, la tension totale sera bonne, mais certaines cellules seront surchargées, et d'autres sous chargées, ce qui mène rapidement à la destruction des cellules
 

2) Recharge avec N+1 fils pour N cellules en séries (souvent 2 gros fils et les autres plus fins) : ça permet au chargeur de mesurer la tension de chaque cellule, et de les re-équilibrer si besoin. Il te faut un chargeur adapté qui supporte l'équilibrage. Par contre tu n'as besoin d'aucune électronique dans le robot sauf la protection contre les sur-courant (par exemple fusible) et une protection contre les décharges profondes.


Dans tout les cas, l'important, c'est du prévoir un bon chargeur, et un qui soit adapté à tes batteries.
Pour l'option 1, ça dépend du BMS : certains intègrent un convertisseur et accèptent une tension mal régulée. D'autres ne font que la protection/équilibrage, et nécessitent un vrai chargeur. Certains ne font pas l'équilibrage : à éviter (ou alors il faut recharger avec l'option 2).

Pour l'option 2, tu as besoin d'un chargeur qui permet de choisir la technologie de batteries (ou spécifique à ta techno), et le courant de charge max (ou qui charge assez doucement pour que ce ne soit pas un problème s'il charge à vitesse max).


Donc pour résumer, il te faut :
au niveau des batteries, au moins protection sur-intensité/court-circuit et protection contre la décharge profonde (une surveillance de la décharge individuelle des cellules est un plus, mais pas indispensable si tu utilises un chargeur qui refait l'équilibrage à chaque charge).
Ensuite, au niveau soit des batteries (BMS) soit du chargeur, il te faut la bonne techno, fin de charge, limitation du courant, équilibrage, et génération de la tension qu'il faut pour charger.




#120207 Finding Value in Agriculture Robots

Posté par Sandro sur 23 janvier 2024 - 11:41 dans Agriculture Agroalimentaire et Industrie

I haven't worked for a software startup yet, but I can confirm that robotics startups are not easy (especially not for big outdoor robots that tend to be quite expensive).

There is a lot of development to do, and it's costs a lot.

My previous company was maybe 4 years old, and still only selling a pair of proof of concept robots (ie not products expected to work really reliably, just some big groups wanting to see if there was potential or not in our technology). As far as I can see from the website, there hasn't been much progress since I left a bit more than 2 years ago (most videos are still from when I was there). Note that until I left there was not a single investor, just the boss paying us with the profits from his other company. No idea how things evolved since.

Current company, with a far more expensive robot, and 8 years old : we are just starting to sell/rent a few robots. I expect that incomes will pay the bills in about 2 years. This time, we had descent founding.

 

So expect a few years before you start making some cash, and some more before you start making money (if you survived until then). And the less money you get, the slower the development, and the more difficult to find investors.

 

1) To start with, you will need some money. If you need to build a robot, expect a few tens of thousands euros (if you do it on your free time, far more if you have to pay wages for a few people). This money will be hard to get by (your own, donation/investment from friends, a loan from the bank, ...). There are some grants for early stage startups (usually with some coaching in addition). You might also try to find a "sponsor" (in your case, a very big farming company, or farming material company) for which loosing some 100K€ is no big deal and that hope to get the perfect custom product).
2) Develop a proof of Concept : this doesn't need to be a working product, but a proof that your idea is valid. For example, if you want to gather the grapes, and you think the main challenge is finding and cutting them, then you might put an industial robotics arm, a camera and your laptop into a wheelbarrow and show that you can harvest a single plant. The robotics base might not be required. Nor is it to have an embeded computer if your laptop does the job, ... The important thing here is to show that you found technical solutions to the main challenges. You don't need something reliable, but good enough to take a few videos, and ideally be able to show it to investors. If you manage to get a relevant Patent, it's a plus (but not required, I'm not sure my current company has any)
3) At this point, you will probably be at the end of your seed money, so you need to convince investors to invest (significant amounts). You have at least the proof of concept to show for. The risk for the investors is still high (but not as absurdly high as in step 1), so you might find some. But they will ask for many shares in return. If you get some investors, you might additionally borrow some from the banks (in your companies name this time).
4) Now you have to transform your proof of concept into a working prototype, then an industrial prototype, and finally into a commercial product. This will require lots of time (and money). At some point, you might be able to sell a few prototypes. You might also seek more investors (the more mature your project, the easier). At latest when going industrial, you will need additionnal investor (but at that point the risk is a lot smaller).

Basically, you need money to develop (the more you have, the faster you can develop), and to get money, you have to be able to show something (the more you have to show, the more money you can get and in exchange to less shares).


One last thing : if you don't have significant money at hand, you will need to convince people to invest/give/lend some for you, while you have just a brilliant idea. Make sure you are really convinced of your idea, otherwise you will probably not manage to convince others (if you have enough to get started, then it is a bit less critical, as you can develop until the point where you have something to show without depending on anyone else)




#120195 Finding Value in Agriculture Robots

Posté par Sandro sur 22 janvier 2024 - 08:27 dans Agriculture Agroalimentaire et Industrie

A few more advices I gathered from 2 successive robotics startups :

 

- try to find someone with at least some experience in your field of application (for agriculture robots, you might try to find a son of an agricultor that helped out regularly, or someone who did it regularly as sommer jobs, or even better (but probably hard to find) someone to started working in agriculture, and then switched to engineering : nb in all cases, its far better if it is the right type of agriculture). Aternatively, find an active agricultor willing to be part of the project : either you just take him on the directors board and give him some small shares, or you pay him for a small part time job (maybe 0.5 days/week durring summer, 1 day/week during winter (when agricultors tend to have more time), and nothing for the few critical weeks in the year (harvest ,...))

 

- make sure to have someone on your team that knows how to speak and negociate with clients and investors (it can be the same person that is doing the tech, but often it is someone different). You can have a nice idea, if you have no investors/clients, your won't go far before running out of monney. And very soon, one person won't have time to do all the jobs of both CTO and CEO at the same time.

 

- find a way to be able to test frequently and cheaply. There is nothing slowing down more development that beeing unable to test. In my previous startup, I spend in average about a day per week testing the robot in the yard (big yard, rather small robot). In my current company (making submarine robots), we have a small "swimming pool" for basic testing, but still rent a ship every month or 2 for more complete tests (even if renting a ship is really expensive). For you, this means at least finding a farmer willing to let you test in one of each fields (knowing that at the begining you might do some damage, so maybe best negotiate something like you pay for the production up-front, and then you get back the value of whatever survived you failed tests). In you can, the optimal solution might be to rent your office/workshop place directly on a farm with your test field just next to it : rent will probably be low, and you can test whenever you want, and get plenty of opportunities to "feel" the needs and to communicate with the agricultor (it might even be interesting you from time to time you help him in his "painful" tasks for a day or 2 : it will give all of your employees a first hand experience of the problem)

 

- stay away from custom projects as much as possible : your first goal is to quickly have a MVP, and then a first commercial product. Many companies might contact you to do some custom adaptation for them : it can be a small source of revenue (even if from what I have seen, the effort and cost is nearly always under estimated, so often they cost more than mayed for!) but it also slow down your main development (so higher risk to reach the nd of your cash, or that a competetor enters the market first). So excepted maybe if the company is paying you enough to hire someone to do all the custom work, probably best deny the proposition. NB : you can do the opposit approach, and be a company specialized in building custom robots, but in this case, you have no main project from which you are taking ressources, and usually you ask far more money than if someone conviced you that they just want a "small" modification of your robot (that ends up at 1 year worth of efforts).

 

-try to avoid hiring only interns and people just out of university : they migh be cheaper on paper, but if you don't have at least one person with a bit of experience in each field to give them guidance, the results might be quite poor, and the development time quite long




#120132 PID - un banc de test

Posté par Sandro sur 10 janvier 2024 - 06:09 dans Programmation

@Oracid : as far as I remember, the fastest way to reach the setpoint (and stay there, not just cross it before overshooting) is to have some oscillations (so some overshoot). Reaching the setpoit without overshoot takes a bit longuer. But sometimes oscillations are not desired, so it's better to take a bit more time to settle but avoid overshoot/oscillations.




#120129 Au bistrot du coin ...

Posté par Sandro sur 10 janvier 2024 - 11:08 dans Général

At work (small robotics company), we are using ROS2, but nobody is using Rust, and I haven't heard of anyone planning/wanting to learn it or to start using it




#120108 Naissance de mon Sumo

Posté par Sandro sur 03 janvier 2024 - 04:02 dans Robots roulants, chars à chenilles et autres machines sur roues

Quand une carte est donnée pour une intensité max et que l'intensité de blocage des moteurs est supérieure ça se comporte comment ? On ne risque pas de flinguer la carte ? 

Si le driver n'a aucune protection, il surchauffe puis crame.

Si le driver a une protection thermique, il surchauffe, puis se coupe jusqu'à avoir refroidit (nb : il risque de ne pas aprécier qu'on lui fasse le coup trop souvent)p.

Si le driver a une vrai protection contre les sur-intensités, il vas soit couper (et souvent retenter plusiuers fois par seconde), soit "hacher" le signal pour réduire le courant moyen à la valeur limite. Le risque de dommage est alors très faible.

Si le driver est prévu pour fonctionner en mode limitation de courant, alors un moteur blouué qui voudrait consommer plus de courant ne pose aucun problème : le courant est automatiquement limité à la valeur max du driver (ou celle plus faible réglée s'il autorise un réglage)
 




#120105 Naissance de mon Sumo

Posté par Sandro sur 03 janvier 2024 - 11:56 dans Robots roulants, chars à chenilles et autres machines sur roues

@Mike : bien vu, j'avais lu 2 moteurs cc en 2A, alors qu'il s'agit de 2A bloqué (et pas nominal). Du coup, ça devient moins dérangeant (il y aura encore bien plus de pertes qu'avec un driver récent, mais ça put passer). La forte chute de tension en cas de bloquage des moteurs peut même aider à protéger les moteurs.

 

@Mike : tu confirmes que ce module ne fait pas usage des pins de mesure de courant du L298?




#120100 Naissance de mon Sumo

Posté par Sandro sur 03 janvier 2024 - 08:42 dans Robots roulants, chars à chenilles et autres machines sur roues

Si tu es en 7.4V, alors oublie toutes les cartes à base de L298 : tu y laisserait plus de la moitié de ta tension.

 

Le lien que tu propose est un régulateur à découpage (équivalent du lien de gégé) : donc pas de problème pour l'utiliser avec du 7.4V en entrée (ou même 8.4V quad ta batterie est pleine). L'efficaité restera toujours au dessus de 80%. Tu devrais sans problème tirer 1A dessus (et ça devraitmême résister à des pics au delà).




#120092 Naissance de mon Sumo

Posté par Sandro sur 02 janvier 2024 - 11:52 dans Robots roulants, chars à chenilles et autres machines sur roues

Un régulateur linéaire, s'il fournit un courant I_out en sortie, alors il consomme forcément le même courant I_in=I_out en entrée. La différence de tension (U_in-U_out) est dissipée en chaleur (en gros, un régulateur linéaire, c'est une résistance variable entre in et out qui s'adapte pour maintenir la tension U_out constante. Le problème est que le reste de la tension est transformé en chaleur. On gaspille donc une puissance P=I_out * (U_in - U_out).

Si U_in est grand par rapport à U_out, alors la puissance dissipée en chaleur est vite conséquente. En pratique, pour du 3.3V en sortie, si tu as du 5V en entrée, tu peux monter à quelques centaines de mA. Si ta tension d'entrée est suppérieure, alors tu sera très vite limité (compte 1 à 2W max sans dissipateur thermique).

 

Donc si tu utilise du 5V en entrée, un régulateur linéaire est envisageable (très peu de composants (entre 3 et 1 composants, selon si ton modèle exige des condensateurs en entrée et/ou en sortie) et tension très stable).

Si tu utilises directement la tension de la batterie en entrée, ou que ton courant dépasse les 500mA, alors il vaut probablement mieux un régulateur à découpage (soit un module comme celui du lien de Gégé, soit un composant tout intégré, par exemple https://www.digikey....-2433E/12171286(1A, pas besoin de condensateur externe)).

 

 

Pour la carte que tu suggère, elle est malheureusement basée sur un L298. À toi de voir si tu est prêt à accepter une chute de tension entre 1.8 et 3.2V à 1A, et jusqu'à 4.9V à 2A (si tu alimente ton robot avec une Lipo 2S, je penses que c'est rédhibitoire, si tu l'alimente en 24V (nb :le module limite à 18V!), c'est pas trop grave. En théorie, le L298 a au moins le mérite de permettre la mesure du courant, mais j'ai pas l'impression que ça été prévu sur se petit module (je sais pas si tu te sens de couper 2 pattes par composant et d'interposer des résistances pour faire la mesure du courant).
Bref, le L298 est une antiquité, avec des caractéristiques déplorables (dont l'importance est un peu moindre à haute tension). Pour un robot à 12V ou moins, je ne peux que te décourager de recourir à un L298




#120088 Naissance de mon Sumo

Posté par Sandro sur 02 janvier 2024 - 01:46 dans Robots roulants, chars à chenilles et autres machines sur roues

Je me dis que je devrais pouvoir alimenter mes capteurs via un régulateur externe de 3.3V branché sur la même batterie qui alimente mes moteurs ?

Oui, aucun problème, à 2 conditions :

1) que le GND de sortie du régulateur 3.3V soit relié à celui du pico (si le régulateur 3.3V est isolé)

2) selon la précision souhaitée, il peut être nécessaire d'éviter que le courant limentant les moteurs (en particulier coté moins) passe dans les fils reliant le - du pico au - du régulateur. Si c'est pas faisable, alors prends des gros fils pour la partie du circuit en commun le trajet batterie-moins_des_moteurs et le trajet GND_pico - GND convertisseur : plus le cable est gros, moins tu aura de perturbations dues aux moteurs
 




#120082 Naissance de mon Sumo

Posté par Sandro sur 01 janvier 2024 - 10:42 dans Robots roulants, chars à chenilles et autres machines sur roues

Après, si tu n'est pas content des cartes que tu trouves, il reste l'option de concevoir ta propre carte, et de la faire assembler (si tu commande ça en chine sur des sites type JLCPCB, ça te coutera un peu plus cher qu'un PCB tout prêt, mais ça devrait rester raisonnable). Et au moins, la carte correspondra exactement à tes besoins. Si tu as besoin d'aide, je pourrais te guider.




#120080 Naissance de mon Sumo

Posté par Sandro sur 01 janvier 2024 - 03:37 dans Robots roulants, chars à chenilles et autres machines sur roues

Pour ta carte, si tu arrives à me trouver le schéma électrique de la carte, alors je pourrais te répondre en détail. À défaut, il me faudrait au moins le texte exact écrit sur les 2 gros circuits intégrés identiques qui sont proches des connecteurs des moteurs (à priori ça devrait être les ponts en H, mais j'arrive pas à lire le texte depuis les photos que j'ai trouvées) : ça me permettrait de vérifier si les contrôleurs ont une limitation en courant ou pas.

En tout cas, la documentation autorise 4 moteurs à 1.5A max, mais sans préciser s'il y a une limitation interne ou pas, ni si on a le droit de dépasser si on utilise une seule sortie par circuit intégré, ni si les circuits intégrés sont protégés contre la surchauffe. Ces infos là se trouvent dans la doc des ponts en H à priori.

 

Pour la régulation de tension, si tu as le schéma électrique de ta carte, je pourrais te répondre. Sinon, tu peux regarder si tu trouve la référence du régulateur de tension : ça peut être un des 4 composants à 3 pattes, ou celui à 5 pattes. Le mieux serait de tester la continuité (au multimètre) avec le 3.3V et avec la tension d'alim : normalement, le régulateur devrait avoir 1 pin connecté à l'alim de la carte, 1 pin connecté au 3.3V, et 1 pin connecté au GND (et possiblement 2 autres pins pour d'autres fonctionnalités (on/off, feedback, ...).

 

En tout cas, la doc dis que tu as droit à 100mA en 3.3V pour les pins d'extension (ie hors pico lui même) : je penses qu'avec tes 7 capteurs, tu dépasse probablement. Si tu dépasse le courant max autorisé, alors une chute de tension est le mieux que tu puisse espérer (les alternatives étant un fonctionnement par intermittence, un arrêt jusqu'à ce que tu coupe l'alim, ou même de griller le régulateur)

 

Tu peux alimenter les moteurs par un pont en H séparé, pas de problème. Mais par pitié, n'utilise pas un L298N (j'imagine que c'est à ça que tu pensais en écrivant LN298) à moins d'alimenter les moteurs au moins en 24V : à 2A, le L298N te fait perdre environ 4V (jusqu'à 4.9V). Pour des moteurs en 12V ou moins, c'est le pire pont en H que je connaisse.

Pour alimenter la carte, 5V est possible (autorisé : 3 à 10.8V), mais la datasheet recommande au moins 6V : je ne sais pas l'impact si c'est moins.




#120078 Naissance de mon Sumo

Posté par Sandro sur 01 janvier 2024 - 12:15 dans Robots roulants, chars à chenilles et autres machines sur roues

Je ne penses pas qu'il y ait une règle fixe :

- un moteur cc commandé en PWM fixe vas forcer beaucoup si le moteur est bloqué (c'est à peu près équivalent à un moteur bloqué alimenté avec une tension U_bat*PWM/255 (si le PWM vas jusqu'à 255))

- un servo-moteur commandé en vitesse (ou un moteur cc avec encodeur commandé en vitesse par un PID) : si le moteur est bloqué, le PWM vas monter jusqu'au max : on a donc un moteur alimenté avec une tension U_bat*255/255=U_bat : le moteur vas donc chauffer énormément (beaucoup de moteurs ne supportent pas le bloquage permanent à vitesse max)

- si le controleur moteur (que ce soit celui intégré au servo ou le pont en H) dispose d'une limitation en courant, alors si le moteur est bloqué, le courant ne dépassera jamais la valeur limite (le PWM s'ajustera automatiquement à la baisse en cas de bloquage (ou d'autres mécanismes similaires)

 

Donc en gros, en terme de sécurité en cas de blocage, choisir par ordre de préférence :

1) Un servomoteur à rotation continue avec limitation de courant ou un moteur cc avec un pont en H avec limitation de courant max (adaptée au moteur)

2) Un moteur cc commandé en PWM fixe (pas d'asservissement de vitesse, ou asservissement qui limité le PWM si la vitesse est anormalement basse pour un PWM donné)

3) Un servomoteur à rotation continue sans limitation de courant, ou un moteur cc commandé en vitesse sans limitation de courant/détection de blocage

 

À savoir que si tu limites le courant, tu limites le couple, donc pour du Sumo, tu as moins de force en static.

 

Donc pour une application classique, je te conseillerais soit un servo avec limitation de courant, soit un moteur cc avec un pont en H qui sache limiter le courant (c'est pas standard, mais pas rare non plus, par contre je ne sais pas à quel point c'est fréquent sur les modules de pont en H pour hobbyistes).

 

Pour tes sumos, je penses que le plus simple est de trouver un servo assez puissant pour que quand ton robot est bloqué, les roues patinent : comme ça, pas de blocage total, et donc probablement pas de surchauffe si le moteur n'est pas trop mal conçu. Ou alors trouver un moteur explicitement prévu pour pouvoir travailler en position bloquée (ou un moteur surdimensionné pour lequel tu ne dépassera jamais un PWM de X/255




#120018 Caméra thermique

Posté par Sandro sur 07 décembre 2023 - 04:18 dans Electronique

J'envisage de faire acheter au boulot une caméra thermique pour le débug de PCB (chercher les composants en court circuits, et éventuellement des composants qui chauffent trop et pour lesquelles il faudra améliorer la dissipation thermique sur l'itération suivante).

 

Est-ce qu'un de vous a déjà utilisé une caméra thermique à ces fins?

 

Si oui, est-ce que vous sauriez me dire quelles caractéristiques chercher? Ou un modèle qui marche bien?

 

Coté prix, rien n'est fixé, il suffit que je puisse convaincre mon chef que le prix est justifié.

 

merci d'avance




#119983 Naissance de mon Sumo

Posté par Sandro sur 30 novembre 2023 - 11:50 dans Robots roulants, chars à chenilles et autres machines sur roues

Pour les capteurs US, si tu veux une alim bien propre, tu peux éventuellement prendre un régulateur linéaire pour réguler depuis la tension de la batterie vers le 5V : c'est tout petit (nb : si tu veux pas faire un mini PCB, alors prends en un qui ne nécessite pas de condensateurs).

 

Tu peux aussi essayer en rajoutant une petite résistance (genre 5 ohms) entre l'alim et le + du capteur et un condensateur (aussi gros que possible) entre le + et le - du capteur. NB : sans le condensateur, la résistance ne fera qu'empirer les choses. Idem si tu mets un condensateur "trop petit".

 

 

 

Sinon, pour l'adhérence au sol, à matériel donné, la force de frottement (qui t'empêche de patiner) est proportionnelle au poids du robot. Donc si tu veux miser sur l'adhérence, faits un robot aussi lourd que possible (par contre, ton accélération sera moindre ; l'énergie cinétique sera moindre si tu n'as pas la place de prendre l'élan, plus importante si tu as le temps d'ateindre ta vitesse max)