Table des matières:

Programmeur AVR avec haute tension : 17 étapes
Programmeur AVR avec haute tension : 17 étapes

Vidéo: Programmeur AVR avec haute tension : 17 étapes

Vidéo: Programmeur AVR avec haute tension : 17 étapes
Vidéo: LDmicro 22: платы Arduino с AVRDUDESS (программирование микроконтроллеров с помощью LDmicro) 2024, Novembre
Anonim
Programmateur AVR avec haute tension
Programmateur AVR avec haute tension
Programmateur AVR avec haute tension
Programmateur AVR avec haute tension

C'est mon premier Instructable. La carte que j'ai conçue est un programmeur AVR. La carte combine les fonctions de 4 cartes prototypes distinctes que j'ai construites au cours des dernières années:

- Un programmeur AVR haute tension, principalement utilisé sur les appareils ATtiny pour régler les fusibles lorsque la ligne de réinitialisation est utilisée pour les E/S.

- Arduino comme ISP, 5V et 3v3 (compte comme deux des fonctions)

- Programmeur NOR Flash EEPROM (copie rapidement d'une carte SD vers NOR Flash)

La carte utilise des régulateurs de tension LDO AMS1117 communs pour obtenir 5V et 3v3. La fonction haute tension nécessite 12V. Pour cela, j'ai utilisé un convertisseur élévateur DC-DC MT3608. Le mcu fonctionne à 16MHz, 5V. Le changement de niveau pour tout ce qui nécessite 3v3 est accompli à l'aide d'un LVC125A. Le LVC125A est ce que vous trouvez sur de nombreux modules de carte SD. Le mcu est un ATmega328pb. L'ATMega328pb est presque le même que l'ATMega328p plus courant, sauf qu'il possède 4 broches d'E/S supplémentaires dans le même boîtier de taille.

Cette carte est la version 1.5. Nouvelles fonctionnalités de cette dernière version:- une interface série USB.- des fusibles poly réinitialisables.- des indicateurs de fonction LED sous les boutons de sélection de fonction.- un interrupteur pour contrôler la réinitialisation série en déconnectant le DTR de la puce série USB. - un MOSFET pour couper complètement l'alimentation du DC-DC 12V lorsqu'il n'est pas utilisé.

La carte a la possibilité d'ajouter une EEPROM série AT24Cxxx I2C et il y a un connecteur I2C JST-XH-05 à 5 broches (GND/5V/SCL/SDA/INT1) pour connecter des appareils I2C.

L'un des aspects les plus compliqués de ce projet était de savoir comment charger toutes les fonctions/esquisses sur la carte. La méthode la plus simple aurait été de simplement télécharger un croquis chaque fois que j'avais besoin de changer de fonction. Une autre méthode aurait été de combiner tous les croquis. J'ai décidé contre ces deux méthodes. La méthode de combinaison aurait rendu difficile l'intégration des modifications apportées aux esquisses sources d'origine. La méthode de combinaison a également le problème que la quantité de SRAM disponible n'était pas suffisante sans réécrire et creuser dans les bibliothèques et les croquis utilisés, encore une fois un problème de maintenance.

La méthode que j'ai choisie était d'écrire une application nommée AVRMultiSketch qui fonctionne avec l'IDE Arduino pour charger les croquis dans le flash en déplaçant leurs emplacements mémoire. Les sources d'esquisse ne sont en aucun cas modifiées. Ils courent sur le tableau comme s'ils étaient le seul croquis. Le fonctionnement est décrit en détail dans le fichier readme open source GitHub pour AVRMultiSketch. Voir https://github.com/JonMackey/AVRMultiSketch pour plus de détails. Ce référentiel contient également les croquis que j'ai utilisés/écrits/modifiés, qui peuvent être utilisés individuellement.

Pour basculer entre les esquisses, le tableau dispose de quatre boutons: Réinitialiser et les boutons étiquetés 0, 1, 2. À la mise sous tension ou à la réinitialisation, si vous ne faites rien, la dernière fonction sélectionnée est exécutée. Si vous maintenez l'un des boutons numérotés enfoncé, vous sélectionnez une esquisse/une fonction. L'esquisse devient l'esquisse sélectionnée. Les LED blanches sous chacun des boutons de fonction sont allumées pour refléter la sélection actuelle.

Actuellement, le plateau n'héberge que 3 sketchs, mais il pourrait en héberger quelques autres. Dans ce cas, en supposant seulement 3 bits/boutons numérotés, il pourrait en héberger jusqu'à 7 en maintenant plus d'un bouton enfoncé.

Le schéma est joint à l'étape suivante

Un support de support minimal est disponible sur thingiverse. Voir

La carte de la version 1.5 est partagée sur PCBWay. Voir

Contactez-moi si vous souhaitez une carte assemblée et testée.

Étape 1: Instructions pour l'assemblage de la carte

Instructions pour l'assemblage du conseil d'administration
Instructions pour l'assemblage du conseil d'administration

Les instructions pour assembler la planche (ou presque n'importe quelle petite planche) suivent.

Si vous savez déjà comment construire une carte SMD, passez à l'étape 13.

Étape 2: Rassemblez les pièces

Rassembler des pièces
Rassembler des pièces
Rassembler des pièces
Rassembler des pièces

Je commence par coller un morceau de papier sur la table de travail avec des étiquettes pour toutes les très petites pièces (résistances, condensateurs, LED). Évitez de placer des condensateurs et des LED les uns à côté des autres. S'ils se mélangent, il peut être difficile de les distinguer.

Je remplis ensuite le papier avec ces parties. Autour du bord j'ajoute les autres pièces faciles à identifier.

(Notez que j'utilise ce même morceau de papier pour d'autres planches que j'ai conçues, donc seuls quelques emplacements sur la photo ont des pièces à côté/sur les étiquettes)

Étape 3: Montez la carte

Monter la planche
Monter la planche
Monter la planche
Monter la planche

En utilisant un petit morceau de bois comme bloc de montage, je coince la carte PCB entre deux morceaux de carton prototype de rebut. Les cartes prototypes sont fixées au bloc de montage avec du ruban adhésif double (pas de ruban adhésif sur le PCB lui-même). J'aime utiliser du bois pour le bloc de montage car il est naturellement non conducteur/antistatique. De plus, il est facile de le déplacer au besoin lors du placement de pièces.

Étape 4: Appliquer la pâte à souder

Appliquer de la pâte à souder
Appliquer de la pâte à souder
Appliquer de la pâte à souder
Appliquer de la pâte à souder

Appliquez de la pâte à souder sur les pastilles SMD, en laissant toutes les pastilles débouchantes nues. Étant droitier, je travaille généralement du haut à gauche vers le bas à droite pour minimiser les risques de maculage de la pâte à souder que j'ai déjà appliquée. Si vous étalez la pâte, utilisez une lingette non pelucheuse comme celles pour le démaquillage. Évitez d'utiliser un Kleenex/un tissu. Le contrôle de la quantité de pâte appliquée sur chaque tampon est quelque chose que vous maîtrisez par essais et erreurs. Vous voulez juste une petite touche sur chaque pad. La taille du tampon est relative à la taille et à la forme du tampon (couverture d'environ 50 à 80 %). En cas de doute, utilisez-en moins. Pour les broches rapprochées, comme le package LVC125A TSSOP que j'ai mentionné plus tôt, vous appliquez une bande très fine sur tous les tampons plutôt que d'essayer d'appliquer un tampon séparé sur chacun de ces tampons très étroits. Lorsque la soudure est fondue, le masque de soudure fera migrer la soudure vers le tampon, un peu comme la façon dont l'eau ne collera pas à une surface huileuse. La soudure perlera ou se déplacera vers une zone avec une pastille exposée.

J'utilise une pâte à souder à bas point de fusion (137C Melting Point) La deuxième photo est la carte v1.3 et le type de pâte à souder que j'utilise.

Étape 5: placez les pièces SMD

Placez les pièces SMD
Placez les pièces SMD

Placez les pièces SMD. Je le fais du haut à gauche vers le bas à droite, bien que cela ne fasse pas beaucoup de différence si ce n'est que vous êtes moins susceptible de manquer une partie. Les pièces sont placées à l'aide de pincettes électroniques. Je préfère la pince à épiler avec une extrémité incurvée. Prenez une pièce, tournez le bloc de montage si nécessaire, puis placez la pièce. Donnez un léger coup à chaque partie pour vous assurer qu'elle repose à plat sur la planche. Lors du placement d'une pièce, j'utilise les deux mains pour faciliter un placement précis. Lorsque vous placez un mcu carré, ramassez-le en diagonale à partir des coins opposés.

Inspectez la carte pour vous assurer que tous les condensateurs polarisés sont dans la bonne position et que toutes les puces sont correctement orientées.

Étape 6: C'est l'heure du pistolet à air chaud

L'heure du pistolet à air chaud
L'heure du pistolet à air chaud

J'utilise une pâte à souder basse température. Pour mon pistolet modèle, j'ai la température réglée à 275C, le débit d'air réglé à 7. Tenez le pistolet perpendiculairement à la planche à environ 4 cm au-dessus de la planche. La soudure autour des premières pièces met un certain temps à fondre. Ne soyez pas tenté d'accélérer les choses en déplaçant le pistolet près du plateau. Cela se traduit généralement par le soufflage des pièces. Une fois la soudure fondue, passez à la section de chevauchement suivante de la carte. Travaillez à votre guise tout autour du tableau.

J'utilise un pistolet à air chaud YAOGONG 858D SMD. (Sur Amazon pour moins de 40 $.) Le forfait comprend 3 buses. J'utilise la plus grande buse (8 mm). Ce modèle/style est fabriqué ou vendu par plusieurs fournisseurs. J'ai vu des notes partout. Ce pistolet a fonctionné parfaitement pour moi.

Étape 7: Renforcez si nécessaire

Renforcez si nécessaire
Renforcez si nécessaire
Renforcez si nécessaire
Renforcez si nécessaire

Si la carte est dotée d'un connecteur de carte SD monté en surface ou d'une prise audio montée en surface, etc., appliquez un fil de soudure supplémentaire sur les pastilles utilisées pour fixer son boîtier à la carte. J'ai constaté que la pâte à souder seule n'est généralement pas assez solide pour sécuriser ces pièces de manière fiable.

Étape 8: Nettoyage/retrait du flux SMD

Nettoyage/retrait du flux SMD
Nettoyage/retrait du flux SMD
Nettoyage/retrait du flux SMD
Nettoyage/retrait du flux SMD

La pâte à souder que j'utilise est annoncée comme n'étant "pas propre". Vous avez besoin de nettoyer la carte, elle a l'air beaucoup mieux et cela enlèvera toutes les petites perles de soudure sur la carte. En utilisant des gants en latex, en nitrile ou en caoutchouc dans un espace bien ventilé, versez une petite quantité de Flux Remover dans un petit plat en céramique ou en acier inoxydable. Refermer le flacon de décapant. À l'aide d'une brosse dure, tamponnez la brosse dans le dissolvant de flux et frottez une zone de la planche. Répétez jusqu'à ce que vous ayez entièrement nettoyé la surface de la planche. J'utilise une brosse de nettoyage de pistolet à cet effet. Les poils sont plus rigides que la plupart des brosses à dents.

Étape 9: placez et soudez toutes les pièces du trou creux

Placer et souder toutes les pièces du trou creux
Placer et souder toutes les pièces du trou creux
Placer et souder toutes les pièces du trou creux
Placer et souder toutes les pièces du trou creux

Une fois que le dissolvant de flux s'est évaporé de la carte, placez et soudez toutes les pièces du trou creux, du plus court au plus haut, une à la fois.

Étape 10: affleurer les goupilles à trou traversant

Goupilles à trou coupé affleurant
Goupilles à trou coupé affleurant

À l'aide d'une pince coupante, coupez les broches des trous traversants sous la planche. Cela facilite l'élimination des résidus de flux.

Étape 11: Réchauffer les broches traversantes après avoir coupé

Réchauffer les goupilles traversantes après écrêtage
Réchauffer les goupilles traversantes après écrêtage

Pour une belle apparence, réchauffez la soudure sur les broches du trou traversant après avoir clipsé. Cela supprime les marques de cisaillement laissées par la fraise à ras.

Étape 12: Retirez le flux de trou traversant

Retirer le flux traversant
Retirer le flux traversant

En utilisant la même méthode de nettoyage que précédemment, nettoyez le dos de la planche.

Étape 13: Mettez le tableau sous tension

Appliquer le pouvoir au conseil
Appliquer le pouvoir au conseil

Mettez la carte sous tension (6 à 12V). Si rien ne frit, mesurez 5V, 3v3 et 12V. 5V et 3v3 peuvent être mesurés à partir de la grande languette sur les deux puces du régulateur. 12V peut être mesuré à partir de R3, l'extrémité de la résistance la plus proche de la carte en bas à gauche (la prise d'alimentation est en haut à gauche).

Étape 14: Chargez le Bootloader

Charger le bootloader
Charger le bootloader

Dans le menu Arduino IDE Tools, sélectionnez la carte et d'autres options pour le mcu ciblé.

Sur mes conceptions de cartes, j'ai presque toujours un connecteur ICSP. Si vous n'avez pas d'Arduino en tant que FAI ou un autre programmeur ICSP, vous pouvez en créer un sur une maquette dans le but de télécharger le chargeur de démarrage sur la carte du programmeur. Sélectionnez Arduino en tant que FAI dans l'élément de menu du programmeur, puis sélectionnez Graver le chargeur de démarrage. En plus de télécharger le bootloader, cela réglera également correctement les fusibles. Sur la photo, la planche de gauche est la cible. Le conseil sur la droite est le FAI.

Étape 15: Chargez l'esquisse multiple

Charger l'esquisse multiple
Charger l'esquisse multiple
Charger l'esquisse multiple
Charger l'esquisse multiple
Charger l'esquisse multiple
Charger l'esquisse multiple

Suivez les instructions sur mon référentiel GitHub pour AVRMultiSketch pour charger le multi-sketch en flash via le port série de la carte. Le référentiel GitHub AVRMultiSketch contient tous les croquis montrés sur la photo. Même si vous n'envisagez pas de construire la carte, le copieur NOR Flash Hex et les croquis AVR haute tension peuvent vous être utiles.

Étape 16: Terminé

Terminé
Terminé
Terminé
Terminé
Terminé
Terminé
Terminé
Terminé

J'ai également conçu quelques cartes d'adaptation lors de l'utilisation de puces non montées, comme lors de la maquette.

- Adaptateur ATtiny85 ICSP. Utilisé pour programmer un ATtiny85 autonome.

- ATtiny84 à ATtiny85. Il est utilisé à la fois pour la programmation haute tension et connecté à l'adaptateur ATtiny85 ICSP.

- Adaptateur NOR Flash.

Pour voir certaines de mes autres conceptions, visitez

Étape 17: version précédente 1.3

Version précédente 1.3
Version précédente 1.3
Version précédente 1.3
Version précédente 1.3

Ce qui précède sont des photos de la version 1.3. La version 1.3 n'a pas de série USB, de fusibles réinitialisables et de voyants de fonction. Une variante de la version 1.3 utilise un ATmega644pa (ou 1284P)

Si vous souhaitez créer la version 1.3, envoyez-moi un message (plutôt que d'ajouter un commentaire.)

Conseillé: