Go Down

Topic: Programmateur ISP de qualité (protections PC et arduino, connexion serie, ...) (Read 429 times) previous topic - next topic

mistral

Bonjour,

J'ai pas mal d'arduino HS... ou plutôt la connexion USB HS et/ou l'alimentation. Au début j'ai commencé à acheter de nouveau arduino (chinois pour minimiser le coût) puis j'ai compris qu'on pouvait réparer ou acheter juste les micro-controleurs et qu'on pouvait optimiser avec une alimentation de labo.

Bref... je me demande si vous avez déjà vu ou déjà fait un programmateur un peu "résistant" ? Vous auriez des conseils pour en acheter un bien (ou mieux, en fabriquer soit même).


Les causes des pannes sont multiples. Ca va de la copie mal conçue à l'erreur de branchement.

Actuellement, j'ai un programmateur que je branche en ISP et un controleur serial. Je branche le tout en USB sur mon PC et je lance la console série avec le soft arduino ou getty/équivalent. Le soucis, c'est que je suis vite sous un bordel pas possible (avec des cables partout, et pour peu que j'ai à connecter plusieurs arduino, c'est juste l'horreur).

Du coup, je me fabrique une alimentation de laboratoire pour gérer un peu plus proprement mais je me dis que je pourrais peut-être faire mieux et ajouter directement des prises pour la programmation via PC/USB, et pour le debug.


Le coté "clef en main" et "pas cher" de l'arduino perd un peu mais je me dis que si j'avais une bonne console de programmation, je pourrais moins casser de trucs et gagner du temps. Pas forcement comme un pro (je suis encore un novice) mais au moins que ce soit plus le bazare et plutôt que réparer mes arduinos, ne tout casser parce que je me suis trompé de tension ou parce que j'ai reconnecté à l'envers des prises.


Des astuces ? Un tutoriel qui parle de ça ? Vous, vous faites comment ?

mistral

En fait, une idée comme ça. Je pourrais construire un boitier avec :
  • Un AVR classique pour programmer
  • Un ou deux (ou n) convertisseur série <-> USB
  • Et/ou à la place des deux ci dessus, des AVR qui font aussi convertisseur série (j'ai cherché et rapidement, je vois celui ci... je ne sais pas trop quoi en penser ? https://www.pololu.com/docs/0J36/1.a )
  • Mon alimentation de laboratoire (intégrée ou, mieux, connecté à coté).


Ensuite sur le boitier, je prévois plusieurs branchements qui vont s'interfacer en ISP, en TX/RX et en VCC/GND.
Et des secteurs (des boutons à décaler) pour :
  • choisir vers quel arduino interfacer le programmateur
  • choisir vers quel arduino interfacer les liaisons série (bon, idéalement, on les interface tous mais on peut imaginer qu'on en ait trop ... je ne sais pas trop si c'est pertinent).
  • choisir les tensions d'alimentation (avec indicateur visuel de la tension active, genre orange en 5V et vert pale en 3.3V)



Bon, c'est l'idée générale si vous aviez pas compris mon premier message (je suis un peu confus, désolé).


Enfin, tout l'intérêt est aussi de pouvoir protéger correctement les circuits. Et là je suis encore hésitant. Les points que je vois comme importants :
  • Pour pouvoir tout connecter sur un seul USB du PC, il faudrait alimenter le matériel de manière indépendante (donc utiliser un hubusb avec une alim externe ou la fabriquer ? Il faut j'imagine que je connecte à une masse commune ?)
  • Le programmateur et les liaisons séries ne devraient pas fournir l'énergie : ça permettrait de protéger mais aussi de switcher d'arduino avec le selecteur sans réinitialiser l'arduino). Là aussi il faut une masse commune cependant ?
  • L'un des buts est de protéger l'ordinateur mais aussi de ne pas tout faire griller. Avec ma masse en commun, est-ce que j'ai un risque de faire propager un mauvais signal ? (bon, dans l'absolu, évidemment qu'il y a un risque mais est-ce que j'ai un moyen de le réduire ? De le minimiser ?
    Je pense à :
    • Des leds, et d'autres indicateurs de ce type (buzzer, ampèremètre, voltmètre, couleur des cable, blocage de certaines manipulations sans un déverrouillage...) => ceci pour limiter le risque d'une erreur de manipulation et monitorer ce qui se passe.
    • Une protection par diode pour éviter les courts circuits et inversion de polarité. J'ai juste ?
    • Des fusibles pour limiter l'ampérage à 1 ou 2A (faut pas que je sois trop bas non plus pour pas rendre le truc inutilisable sur des pics occasionnels mais au delà de 2A, ça fait deux fois trop, non ?)
    • Lorsque l'arduino n'est connecté ni à l'ISP, ni au serial, pas besoin de relier les masses. Cependant est-ce nécessaire que je déconnecte la masse physiquement ? En plus mon alim de labo, elle aura des masses reliées donc si ça posse réellement un soucis, faudrait que je puisse créer plusieurs alims ou au moins gérer un ou deux lignes "isolées" ?
    • Des interrupteurs (au moins un général, mais peut-être aussi partiel pour faciliter la mise hors tension en cas d'incident ou après le travail).
    • Une mise à la terre n'a aucun sens si je comprends bien ? Sauf à avoir un boitier métallique et du 220 ? (j'ai pas tout compris là dessus mais c'est ce que j'ai retenu)
  • Et éventuellement d'autres choses qui pourront aussi s'ajouter par la suite. Je pense par exemple à une sonde de température ou un capteur de fumés (ça m'est déjà arrivé de foutre le feu sur un montage ... l'odeur est typique et j'ai pu réagir avant que ça se propage mais si j'avais du m'absenter 15 minutes à ce moment là, ça aurait pu ...). Parfois lorsque le montage est à risque, ce serait bien de pouvoir automatiser la coupure, et/ou au moins buzzer. Et puis même quand c'est pas à risque, ça apporte toujours une sécurité en plus.




Bon... il me manque encore pas mal d'infos sur les protections mais avant d'aller plus loin dans une conception à partir de zéro, je vais attendre un peu, voir si y aurait pas quelqu'un qui y aurait pensé avant moi (ce qui me ferait quand même gagner un max de temps). Même si c'est juste une des briques de l'ensemble, je prends =)

Go Up