Un câble de programmation USB à moins de 3 euros

al1fch:
@Skywodd
ta box a sans doute bénéficié des mêmes soins ce qu'une Fonera de récupération
munie hier d'un de ces petits modules "Usb-TTL 6 pins" !!

Les grands esprit ce rencontre :slight_smile:

@ Skywodd: merci pour ton article. Il paraît intéressant mais je n'ai fait que le survoler car je m'absente pour 2 jours et je n'ai pas le temps.

@al1fch: Je m'étais dit que RST voulait peut-être dire Reset mais je j'ai pas pensé que ce Reset pouvait s'appliquer au CP2102 lui-même. Je pensais à un Reset de l'Atmega. Cependant, la seule liaison que j'ai trouvé pour cette broche est avec le +5V par la résistance de 2,2K. Je n'ai trouvé aucune trace vers une broche du CP2102.

@Jean-François: C'est probablement à toi que je dois l'affichage des photos dans le texte. Merci. Je crois que j'avais essayé en insérant l'adresse de la page web et non l'adresse de la photo elle-même. Mon plus grand plaisir serait que d'autres réussissent ce mini hacking.

@Jean-Marie
La liaison entre la broche 9 (Reset du CP2102) et la résistance R2 est principalement sur la face inférieure.
La piste est facile à couper en cas de doute !
Couper cette piste n'est à la réflexion pas une bonne idée : il faut laisser au circuit sa résistance R2 de tirage (pull up) sur son reset.

vers pin 9.jpg

Bonjour,

Une adaptation similaire est-elle aussi nécessaire avec cet adaptateur?

USB2.0 to TTL Converter Module PL2303 +4pcs Free cable :

Plus généralement comment savoir si une adaptation et nécessaire?

Par avance merci :slight_smile:

Edit de Jean-François : pas de lien Ebêee SVP, ils ne sont plus valides après un certain temps et le post perd en compréhension.

Oui Ojal l'adaptation est nécessaire car le module ne sort pas les signaux DTR ou RTS suceptibles de resetter le Mega328 et ainsi amorcer le bootloader.
Ces signaux existent au niveau de la puce Prolific PL2303 (broches 2 et 3, voir PDF en lien) mais la soudure d'un fil pour récupérer l'un de ces signaux est quand même acrobatique !!
http://www.prolific.com.tw/support/files/\IO%20Cable\PL-2303HX\Documents\Datasheet\ds_pl2303HX_v15F.pdf
Tout module ne sortant pas DTR ou RTS nécessite une modification.

Je comprends bien qu'il faille que la puce utilisée puisse sortir le signal adéquat, néanmoins comment savoir pour un adaptateur donné si l'adaptation doit être réalisée???

A mon avis un adaptateur qui fournit RTS, DTR (ou les deux) est utilisable sans modification.
Pour info voir ci dessous le brochage "FTDI" de référence et un exemple d'adaptateur qui fournit DTR a la place de RTS.
-> S'il n'y a ni DTR ni RTS, il faut aller en chercher un des deux sur la puce.

Cable FTDI.jpg

full.jpg

Jean-Marie:
On y explique que pour provoquer l’AutoReset, il faut relier le signal DTR à la Pin 0 de l’Atmega (la Pin de Reset) à l’aide d’un condensateur de 0,1 µF.

Ce n'était pas possible de rajouter le condensateur après la sortie de la pin RST??? Facilement réalisable plutôt que de venir micro-souder comme tu l'as fait...??? J'imagine que tu as essayé cette solution???

al1fch:
@Jean-Marie
La liaison entre la broche 9 (Reset du CP2102) et la résistance R2 est principalement sur la face inférieure.
La piste est facile à couper en cas de doute !
Couper cette piste n'est à la réflexion pas une bonne idée : il faut laisser au circuit sa résistance R2 de tirage (pull up) sur son reset.

Je n'ai pas pu répondre plus tôt car j'étais absent.
Effectivement, le Reset du CP2102 est en liaison avec la broche RST de l'adaptateur par l'intermédiaire de pistes supérieures et inférieures et de vias. Cela m'avait échappé. Il est difficile de dire si cette liaison est directe, par résistance ou par condensateur ou les deux. En effet il est extrêmement malaisé d'aller faire des mesures. En plus je ne dispose pas d'un capacimètre. ( L'occasion d'en fabriquer un avec un atmega ?). Je ne sais pas pourquoi mon système ne provoque pas le Reset du CP2102 mais il y avait effectivement des risques qu'il le fasse.

Ojal:
Ce n'était pas possible de rajouter le condensateur après la sortie de la pin RST??? Facilement réalisable plutôt que de venir micro-souder comme tu l'as fait...??? J'imagine que tu as essayé cette solution???

J'ai effectivement pensé ajouter le condensateur sur la breadboard au lieu de le souder sur l'adaptateur. Mais il fallait de toute façon amener le signal DTR de la pin28 du CP2102 sur la breadboard. Cette pin est bien trop fragile pour y souder un câble vers la breadboard. La seule solution était de souder un fil de la pin28 à la broche RST de l'adaptateur. Or il n'est pas plus difficile de souder un condensateur que de souder un fil. J'ai donc soudé le condensateur. Et l'autoreset est évidemment débrayable puisque rien n'oblige de raccorder sur la breadboard la broche RST de l'adaptateur à la Pin0 de l'atmega.

skywodd:
Sinon moi j'ai fait mon bidouillage avec un adaptateur usb/rs232 et là j'en suis sur que c'est un achat immédiat et à 2€ :wink:
ebay -> "Câble Convertisseur USB vers RS232/DB9 Série 9 Pin,F111" (il existe différent type mais presque tous à 1€ c'est le genre de truc à savoir)

Cela fait moins de 2 euros avec les frais de port. Je suis battu! :zipper_mouth_face:
Cependant, j'ai l'impression que ce câble donne les niveaux RS232 et non TTL. Attention de ne pas raccorder cela directement à l'atmega, sous peine de le griller.

skywodd:
J'ai découvert cette astuce ici (qu'on ne me demande pas ce que je voulai faire avec ma box hein ;)) http://www.neufbox4.org/wiki/index.php?title=APM_USB_to_Serial_Adapter

Ici par contre, on voit que l'adaptateur donne en sortie les niveaux RS232. La transformation consiste à désactiver le MAX213 qui est l'adaptateur de niveau RS232 et à prélever les signaux au niveau TTL, c'est-à-dire à la sortie du PL2302. Il s'agit donc d'une "chirurgie" beaucoup plus lourde qu'avec l'adaptateur à base de CP2102.

Pour ceux que cela rebute de souder des pattes de mouche à l'aide d'un manche à balai, je crois avoir trouvé une autre solution, toujours sans épuiser le portefeuille.

Interrogez eBay avec les mots "USB TTL". Vous allez bien sûr trouver de nombreux adaptateurs rouges comme j'avais mentionné. Mais vous allez en trouver d'autres, noirs, qui se présentent comme celui-ci:

La dénomination est "USB 2.0 to TTL UART 6PIN CP2102 Module Serial Converter"
Le chip est donc le même que dans mon adaptateur rouge, mais le layout est différent. Sur les côtés on remarque des trous pouvant recevoir des pins supplémentaires ou des fils et si on observe la face inférieure, on voit ceci:

L'un des trous est donc raccordé à DTR. Un autre à DSR.
Un petit coup de fer à souder sans acrobatie et le tour est joué. On peut raccorder sans difficulté DTR au reset de l'Atmega.
Je n'ai même pas à changer le titre du thread puisqu'on est toujours en-dessous de 3 euros.

Jean-Marie:
On peut raccorder sans difficulté DTR au reset de l'Atmega.

Ne pas oublier de prévoir quelque part sur la ligne le condensateur de 0,1µF. (Cela va sans dire mais cela va encore mieux en le disant. :wink: )

Superbe trouvaille Jean Marie !
Tous les signaux de contrôle de modems sont directement disponible.
F1 est sans doute un fusible de protection.
Le cavalier reliant (provisoirement !) Tx et Rx permet de faire un test par rebouclage.
L'adaptateur à l'air d'etre en plus livré avec 4 cordons.
C'est plus que complet et bien tentant même si je ne rencontre pas de probleme pour 'resetter' l'Arduino au bon moment que ce soit avec l'"ancien" ou le "nouveau bootloader (Optiboot).
J'appuie dès que l'IDE lance Avrdude, c'est à dire juste après l'appartion du message "Binary sketch size XXXX")

Ah ! C'est comique. Quand j'utilisais le reset manuel, j'appuyais sur le bouton juste avant de cliquer sur "Upload" et je relâchais dès que le message "Binary sketch size XXXX" apparaissait. C'est juste le contraire de toi, non ?

"environ 3,88€, port compris" : un module 6 pin (avec DTR et RTS) à CPPL2303 fait son apparition
je l'ai commandé chez le vendeur b2cqshop.... à suivre

6 pins.jpg

6 pins.jpg

Merci, al1fch, pour cette contribution. Il serait intéressant de décortiquer les datasheet du CP2102 et du CP2303 pour voir les différences. Je n'aurai pas le temps tout de suite car je vais partir en vacances pour 2 semaines.

Entretemps, j'ai acheté et reçu le module noir. J'ai eu du mal à le mettre en route car d'habitude, le signal Tx du module est à raccorder à la pin Rx de l'atmega et de même, Rx est à raccorder à Tx. Sur le module noir, la sérigraphie est inversée, de sorte que Tx du module doit être raccordé à Tx de l'atmega et Rx à Rx.

En ce qui concerne le reset automatique, un utilisateur du forum anglais a réussi en raccordant DTR à la pin 0 de l'atmega par un condensateur de 0,1 µF. En ce qui me concerne, je n'ai pas réussi le reset automatique en raccordant DTR. Par contre, le reset automatique fonctionne chez moi en raccordant DSR à la pin 0 de l'atmega par l'intermédiaire du condensateur.

En réalité, j'essaye d'aller plus loin et d'utiliser les autres signaux pour programmer le bootloader, mais je n'ai pas encore réussi.

Mes essais d'utilisation de l'adaptateur pour programmer l'atmega par le port SPI sont un échec jusqu'ici.

Donc, je résume. Ces infos sont surtout utiles pour ceux qui expérimentent l'atmega en-dehors des platines arduino officielles.

L'adaptateur noir USB-RS232/niveau TTL fonctionne très bien pour uploader un sketch arduino dans un atmega dont le bootloader est déjà présent et intact.
L'adaptateur peut aussi servir à établir une communication série entre l'atmega et un terminal PC.
Par contre, jusqu'à présent, je ne suis pas parvenu à uploader le bootloader avec cet adaptateur.

Pour ceux qui ont des atmegas nus, sans bootloader, ils peuvent facilement charger le bootloader dans l'atmega à l'aide d'un programmateur. Les moins chers que j'ai trouvé coûtent environ 4 € sur eBay et répondent au nom de USBasp. Le site officiel de ce programmateur est le suivant : http://www.fischl.de/usbasp/. Le web regorge de documentation au sujet de l'USBasp. Il suffit de googueler un peu. J'en utilise un et cela fonctionne très bien.

Bonjour
Retour sur les essais d'un autre module USB qu'on trouve sur ebay avec les mots clefs "mini usb ttl" pour 4€ en achat immédiat mais parfois beaucoup moins cher en enchères (j'ai eu un exemplaire à 1,97€ port compris chez le vendeur 'marcmart.usa' ).
-Doté d'une prise mini usb il utilise un CP2102 (Silicon Labs)
-il donne accès à un grand nombre de signaux du CP2102 dont un DTR qui permet, vérification effectuée, l'auto reset (en reliant DTR au reset du Mega328 à travers 100nF).
Le CP2102 a un avantage sur ses concurrents tels que le FTDI232 ou le PL2303 : son régulateur 3,3V intégré peut fournir jusqu'à 100mA ce qui peut suffire à alimenter à partir du port USB des petits montages standalone en 3,3V pas trop 'gourmands'

ebay.jpg

brochage mini USB-TTL.jpg

miniusbTTL.jpg

Reçu le module noir "Baite" présenté par Jean Marie
Comme indiqué au reply #22 le marquage RX /Tx est inversé
Avec mon module la sortie DTR (marquage correct) remplit bien son rôle de reset automatique et déclenchement du bootloader.
petit plus de ce module : un fusible (marqué F1) sur la sortie 5V et comme tous les modules à base de CP2102 100mA disponibles sous 3,3V

Baite.jpg

Bonjour a tous,
un tout grand merci a celui qui a eu la bonne idee !!

une petite capa 100n en boitier SMD 0805, une piste coupee

un petit adaptateur sur une carte proto

et l'ensemble connecte sur une carte Nanode http://www.nanode.eu/remplace avantageusement un adaptateur FDTI http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf

Amicalement

Jacques