Table des matières:

Couteau suisse AVR : 14 étapes (avec photos)
Couteau suisse AVR : 14 étapes (avec photos)

Vidéo: Couteau suisse AVR : 14 étapes (avec photos)

Vidéo: Couteau suisse AVR : 14 étapes (avec photos)
Vidéo: soins palliatifs. Mort en direct après 7 jours sans manger ni boire 😪 2024, Novembre
Anonim
Couteau suisse AVR
Couteau suisse AVR
Couteau suisse AVR
Couteau suisse AVR
Couteau suisse AVR
Couteau suisse AVR
Couteau suisse AVR
Couteau suisse AVR

Le Swiss AVR Knife regroupe un certain nombre de projets de programmation AVR dans un seul Altoids Gum Tin pratique. En raison de la flexibilité offerte par la programmation du microcontrôleur, il fournit également un point de départ pour un certain nombre de projets basés sur les LED et la sortie sonore. Le SAK peut contenir autant de programmes que les 8 Ko de mémoire le permettent et maintient huit états pour chaque programme. Le bouton-poussoir bleu fait que le SAK fait défiler les programmes et les états - une pression rapide le fait rester dans le programme mais passe à l'état suivant (quel que soit le mode défini) et un appui long le fait passer au programme suivant. Le programme actuel et les états de tous les programmes sont conservés dans l'EEPROM entre les utilisations.

Les projets actuellement mis en œuvre dans la SAK sont les suivants. Ceux-ci, ainsi que tous les autres codes et constantes (il existe une table de polices complète), occupent environ 4 Ko de l'espace disponible. Beaucoup plus de place !MiniMenorah -- Evil Mad Scientists Brain Machine -- Mitch AltmanMiniPOV -- Adafruit IndustriesNoise Toy -- Objets bruyants Feux de course LED Bougie LED Lampe de poche LED Ce projet n'existerait pas sans la générosité considérable de tous ceux qui ont contribué d'une manière ou d'une autre. En plus de ce qui précède, je tiens à remercier les développeurs des outils logiciels utilisés (voir dans d'autres étapes) et toute personne qui a mis en place un site Web utile qui m'a permis de mieux comprendre ces sujets. Je peux m'attribuer directement le mérite de très peu de code utilisé dans ce projet. Si vous pensez que le code vous appartient, il se peut que ce soit le cas. Faites-le moi savoir et je vous ferai un plaisir de vous remercier. En tout cas merci pour ta contribution:-)

Étape 1: Pièces

Les pièces peuvent être obtenues auprès de l'un des nombreux fournisseurs d'électronique. En raison de la contrainte d'espace, la plupart des composants sont requis comme indiqué. Tout s'adapte à peine; assurez-vous que les pièces de remplacement ne prennent pas de place supplémentaire. Ne remplacez pas l'ATtiny84 à moins d'être absolument certain que les broches correspondent. Les liens qui suivent les pièces sont vers DigiKey et All Electronics. Composants électroniques1 x U1 -- ATtiny84 -- ATTINY84-20PU-ND1 x Ux -- Prise IC 14 broches DIP -- A32879-ND9 x LED -- votre choix de couleur9 x résistances -- adaptées à vos LED2 x R1, R2 -- 100 ohm 1/4W 1% film métallique -- 100XBK-ND2 x C7, C8 -- 47uF -- P5151-NDDivers Support de batterie 1-AA Fils de 6" (1) 2461K-NDPhone jack stéréo 3,5 mm (1) MJW-22Interrupteur à bascule SPDT 1/4" on-on (1) Interrupteur à bouton-poussoir MTS-4 (1) 450-1654-NDMinty BoostLe SAK est alimenté par une seule pile AA alimentée par une puce Maxim MAX756 (le composant essentiel du MintyBoost !). Les composants ci-dessous sont ceux nécessaires pour cette partie du circuit.1 x U1 -- MAX756CPA DC/DC 3.3/5V DIP -- MAX756CPA+-ND1 x Ux -- IC socket 8-pin DIP -- A32878-ND2 x C7, C8 -- 0.1uF -- 399-4151-ND2 x C3, C5 -- 100uF -- P5152-ND1 x L1 -- 22uH radial -- M9985-ND1 x D1 -- 1N5818 Schottky 1A 30V -- 1N5818-E3/1GI- ND

Étape 2: Microcontrôleur ATtiny84

Microcontrôleur ATtiny84
Microcontrôleur ATtiny84

De nombreux projets utilisent soit le microcontrôleur ATtiny2313 20 broches, soit le microcontrôleur ATtiny85 8 broches. J'ai trouvé l'ATtiny2313 trop gros (pour le boîtier) et l'ATtiny85 trop petit (pas assez de mémoire, pas assez de broches de sortie). L'ATtiny84 est parfait:-) L'ATtiny84 a 8K de mémoire flash programmable (assez pour contenir beaucoup de petits programmes), 512K d'EEPROM (pour stocker l'état entre les utilisations), jusqu'à 12 broches de sortie (pour les 9 LED, 2 canaux de sortie audio et un interrupteur à bouton-poussoir) et de nombreux autres avantages qui ne sont pas utilisés dans ce projet. Si vous prévoyez d'ajouter des programmes, procurez-vous une copie de la fiche technique ATtiny84. Il existe de nombreux guides pédagogiques pour apprendre à programmer cette famille de microcontrôleurs sur Internet. Pour un résumé utile des microcontrôleurs, consultez Comment choisir un microcontrôleur. Remarque Le projet décrit ici n'a pas réellement le MiniMenorah entièrement activé. Le MM nécessite neuf broches de sortie, la Brain Machine deux et le bouton pour changer d'état un, pour un total de douze. Alors que l'ATtiny84 peut être configuré pour avoir douze broches de sortie, c'est au détriment de la broche RESET. Désactiver la broche RESET et la rendre I/O rend l'ATtiny84 incapable d'être programmé avec le programmeur USBtinyISP (qui ne l'a pas fait:-) et nécessite une programmation haute tension. Tout est en place pour activer le MM, mais un autre programmeur est nécessaire, et je n'en ai pas.

Étape 3: Outils de programmation AVR

Outils de programmation AVR
Outils de programmation AVR
Outils de programmation AVR
Outils de programmation AVR

De nombreux composants, matériels et logiciels, sont nécessaires pour programmer les microcontrôleurs AVR. Voici les outils que j'utilise. Beaucoup, beaucoup d'autres existent dans la même gamme de prix - gratuits à bon marché. Trouvez un ensemble qui vous convient et respectez-le. Mieux encore, trouvez un ami qui a élaboré un système et utilisez ses outils. Rien n'est particulièrement difficile si tout se passe comme annoncé, mais faire fonctionner tous les outils ensemble peut être un véritable défi. Berceau de programmationJ'ai basé le mien sur l'environnement de programmation Ghetto. Les longues broches du porte-puce enroulé s'étendent jusqu'à une planche à pain et constituent une configuration expérimentale pratique. Le seul problème que j'ai rencontré est que les composants des broches de programmation ne peuvent pas être mis à la terre pendant la programmation. J'ai adopté deux approches pour résoudre ce problème. Le premier est d'avoir deux supports de puce, un pour la programmation et un pour le fonctionnement (voir berceau 8 broches). Ce n'est pas idéal car cela rend une grande partie de la maquette inutilisable et il est assez ennuyeux de déplacer la puce. La seconde consiste à installer un petit interrupteur pour déconnecter la broche de masse de la masse de la maquette pendant la programmation. Cela fonctionne mieux et laisse plus d'espace sur la maquette pour les composants. Kit ProgrammerUSBtinyISP d'Adafruit Industries. Avec une petite modification (retirez le câble à 10 broches et pliez les LED), le programmeur s'insère dans un Altoids Gum Tin. Le câble à 6 broches peut même être enroulé dans la boîte pour le stockage. SoftwareWinAVR est une collection d'outils de développement de logiciels open source pour la programmation de microcontrôleurs AVR sur des machines Windows. Cela fonctionne bien avec le programmeur USBtinyISP (voir le didacticiel AVR). Je suis récemment passé de l'application Bloc-notes du programmeur fournie avec WinAVR à l'utilisation d'Eclipse avec le plug-in AVR Eclipse. Eclipse peut utiliser avrdude, vous devrez donc installer WinAVR de toute façon. Eclipse offre une meilleure gestion de projet, des didacticiels utiles et est gratuit. Il n'a fallu que quelques minutes pour l'installer, suivre un didacticiel et programmer une puce. Téléphoner à un amiIl existe de nombreuses ressources sur Internet. Cherchez-les, demandez de l'aide. Les gens peuvent être bien informés et utiles. C'est bien:-) Ils peuvent aussi être dédaigneux. C'est pas gentil:-(

Étape 4: Programmation du microcontrôleur

Programmation du microcontrôleur
Programmation du microcontrôleur

Code C Ne critique pas ce que je ne comprends pas. Je ne suis pas un programmeur, le C n'est pas ma langue maternelle, et je m'accroche à un fil Java léger et à de nombreuses recherches sur le Web lorsque je travaille en C. Même si une grande partie du code provient d'autres projets (voir crédits), J'ai dû faire quelques ajouts et modifications. Le code source du Swiss AVR Knife est joint ci-dessous sous forme de fichier source c et de fichier hexadécimal. J'apprécierais d'entendre où le code pourrait être amélioré. Il y a quelques changements que je prévois d'apporter dans le code. Des mises à jour sont à venir. En attendant, le code fonctionne comme annoncé. Fusibles Les fusibles du microcontrôleur prêtent à confusion. J'ai désactivé quelques microcontrôleurs à la fois en les réglant accidentellement pour rechercher un oscillateur externe et en désactivant la broche RESET. Ils peuvent être récupérés, mais jusque-là, ce ne sont que des bugs morts. Soyez prudent si vous choisissez de changer les fusibles. Pour calculer les valeurs de fusible correctes, utilisez un calculateur de fusible en ligne. Sélectionnez la partie cible (ATtiny84) et les paramètres appropriés - oscillateur RC interne fonctionnant à 8 MHz (valeur par défaut), NE divisez PAS l'horloge par 8 en interne, activez le téléchargement de programme en série et désactivez la détection de baisse de tension. Le résultat devrait être le suivant. -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U efuse:w:0xff:m (bas 0xE2 haut 0xDF ext 0xFF). Vous n'avez besoin de brûler les fusibles qu'une seule fois (sauf si vous prévoyez de les changer). Eclipse rend cela facile, comme, j'en suis sûr, faire d'autres IDE. Questions auxquelles je voudrais répondre Des idées sur l'optimisation du code sur la planche à pain ? Pourquoi Eclipse n'aime-t-il pas les fonctions lightOn et lightOff, alors qu'elles semblent fonctionner ?

Étape 5: Breadboarding du projet

Planifier le projet
Planifier le projet
Planifier le projet
Planifier le projet

Parce qu'une grande partie du travail de ce projet est effectuée par le microcontrôleur, il y a très peu de pièces externes. Après avoir vérifié que votre programmeur et votre chaîne d'outils sont en ordre, ce serait une bonne idée de tester le circuit et de vous assurer que tout fonctionne comme annoncé. J'ai utilisé les LED dans l'étain du modèle et j'ai sorti le berceau et la puce pour les utiliser dans plusieurs photographies. Le câblage global connecte essentiellement les broches actives à quelques pièces, puis à la terre. Remarque L'ordre des broches et des LED n'est pas le même sur la maquette et le PCB (bien que je suppose que vous puissiez les rendre identiques). Dans le code, vous verrez des morceaux de code qui doivent être activés ou commentés selon que la cible est la maquette ou le PCB.

Étape 6: Préparation de l'étain de gomme Altoids

Photos sur le cheminAplatir le fond. Le fond de l'étain se courbe vers le haut et vers l'intérieur. Il doit être aplati pour que la batterie et le circuit imprimé s'adaptent et reposent uniformément. En faisant attention à ne pas déformer l'étain, poussez le fond jusqu'à ce qu'il soit essentiellement plat. L'étain a besoin de trois jeux de trous. J'utilise un poinçon en métal pour marquer les emplacements des trous et des mèches à pointe de brad (pour le bois) pour percer les trous. Les mèches à pointe de brad ont une pointe centrale et deux arêtes de coupe. Ils ne patineront pas et les bords coupent lentement à travers le métal. Les embouts Brad sont disponibles auprès de Lee Valley (entre autres). Le premier est un ensemble de neuf trous de 5 mm sur le dessus de l'étain pour les LED. Des embouts point de brad métriques sont disponibles et ils font des trous propres et ajustés pour les LED. Créez un gabarit en papier avec les trous marqués et transférez les marques sur le dessus de la boîte. Afin d'éviter d'enfoncer le dessus de la boîte, soutenez la partie intérieure du couvercle sur un petit bloc de bois lors du poinçonnage et du perçage du dessus. Avec le papier et le bois en place, je creuse l'étain à l'aide du poinçon. Lors du perçage, allez-y doucement au début. Les bords tranchants des points de brad doivent former un cercle régulier. Percer avec le foret tout sauf perpendiculairement à la surface peut entraîner le foret à saisir et à déchirer le métal. La pointe de 5 mm fait un joli trou propre, mais j'ai constaté que je devais l'élargir très légèrement. Je l'ai fait en perçant de l'intérieur avec une mèche ordinaire de 13/64". Le deuxième jeu se compose de deux trous de 1/4" sur le côté droit de l'étain pour l'interrupteur et la prise audio. En raison de la courbure serrée à l'extrémité de l'étain, ces trous doivent être assez proches. Assurez-vous de les espacer pour que les composants tiennent dans la boîte. Centrez-les verticalement sur la partie du côté visible lorsque le couvercle est fermé. Marquez avec un poinçon et percez très soigneusement. La mise en garde concernant les bits saisissant l'étain s'applique plus fortement avec les plus gros bits. Le dernier trou est pour le bouton-poussoir. Positionnez le trou vers le bas à droite de manière à ce que le bouton poussoir n'interfère pas avec les autres composants de la boîte.

Étape 7: Conception et fabrication du PCB

Conception et fabrication du PCB
Conception et fabrication du PCB
Conception et fabrication du PCB
Conception et fabrication du PCB
Conception et fabrication du PCB
Conception et fabrication du PCB

Il existe de nombreuses ressources sur Internet qui décrivent le processus de création de PCB. Aucune des méthodes n'est infaillible ou facile, mais il est important de se familiariser avec au moins une. J'utilise la version gratuite de l'éditeur de mise en page EAGLE de CadSoft pour créer le schéma et la mise en page de la carte de circuit imprimé. Mon approche de la fabrication du PCB est décrite dans l'étape de fabrication et de préparation du PCB du haut-parleur en étain Altoids instructable. Après le transfert, la gravure et le perçage de la carte, vous êtes prêt à tout souder ensemble. circuits imprimés est le suivant. Lavez bien la planche avec du savon à vaisselle et frottez-la avec un gommage vert. Poncez doucement les bavures sur les bords de la planche afin que le papier transfert et le fer soient bien en contact avec la planche. Préchauffer le fer. Placez un morceau de papier sur la planche et chauffez la planche avec le fer à repasser. Une fois que la planche est assez chaude, placez soigneusement le papier de transfert préparé sur la planche. Il va coller tout de suite (car la planche est chaude) alors assurez-vous qu'il est correctement positionné. Repassez ensuite directement sur le dos brillant du papier transfert. Cela ne m'a jamais causé de problème, mais vous utilisez votre propre fer à repasser. Testez d'abord. Laissez la planche refroidir puis passez-la sous l'eau froide. Le papier transfert devrait se détacher et laisser toute l'image. Utilisez une visionneuse de diapositives/négatifs 8x pour examiner le transfert et remplir les pièces manquantes. Bonne chance.

Étape 8: Souder des pièces sur le PCB

Pièces à souder sur PCB
Pièces à souder sur PCB
Pièces à souder sur PCB
Pièces à souder sur PCB
Pièces à souder sur PCB
Pièces à souder sur PCB

Il existe de nombreuses ressources sur Internet qui décrivent le processus de soudure des composants électroniques sur les PCB. Voir, par exemple, le tutoriel de soudure sur ladyada.net. L'ordre dans lequel vous installez les composants n'a pas vraiment d'importance, même si j'ai trouvé que travailler du plus petit au plus grand était le plus simple. Les fils LED/clignotants sont suffisamment longs pour que vous puissiez les façonner en un motif semblable à une menorah dans l'étain. Installez soigneusement les LED et pliez les fils de manière à ce que le haut de chaque LED soit positionné de manière à ce qu'il sorte par son trou respectif. Cela peut être difficile, mais ça a l'air vraiment sympa quand ça marche enfin. Si les fils sont laissés trop longs, les LED peuvent être écrasées et déplacées par le couvercle de la boîte. Remarque La LED la plus à droite n'est pas dans la même orientation que les huit autres. Assurez-vous de vérifier la polarité des LED par rapport à la disposition de la carte lorsque vous les installez. Cette LED est attachée à la broche RESET, vous pouvez donc choisir de ne pas l'installer. Remarque Les fils de la prise audio et les résistances partagent un trou. Pour plus de commodité, placez les résistances en position verticale de manière à ce que le corps de la résistance ne dépasse pas le trou avec le fil audio. Préparez et installez la prise audio à ce stade ou attendez qu'elle soit prête à souder dans les résistances. Ce n'est pas amusant de dessouder les résistances plus tard.

Étape 9: Clignotements

Blinkenlights
Blinkenlights

Les LED doivent être protégées par des résistances. Déterminez la chute de tension et les besoins en courant de vos LED et calculez les résistances appropriées en supposant une source de 5 V à partir de la puce. Il existe des calculatrices en ligne facilement disponibles pour ce faire. Faites-vous un tas de clignotants. Lors de leur fabrication pour ce projet, coupez la cathode (fil négatif/court de la LED par le côté aplati) et soudez la résistance très près de la lentille de la LED. Les LED forment une forme de menorah dans l'étain. Même avec la résistance touchant presque la lentille, la LED la plus courte au milieu sera légèrement écrasée par le couvercle de la boîte. Pour éviter les courts-circuits dans les limites étroites de la boîte, couvrez chaque résistance avec un morceau de tube thermorétractable.

Étape 10: Préparation du support de batterie

Préparation du support de batterie
Préparation du support de batterie

Faites glisser de petits morceaux de gaine thermorétractable le long des deux fils du support de batterie. Poussez-les soigneusement dans les trous du support et rétrécissez-les en place. Ceux-ci offrent un certain degré de protection pour les fils. (Cette instruction est reproduite sur la page Préparation de l'interrupteur à bascule.) Coupez le fil noir à longueur et soudez dans le trou approprié sur le PCB. Le fil rouge est soudé directement à l'interrupteur à bascule; voir les instructions sur cette page pour savoir comment procéder. Dans des projets antérieurs, j'ai coupé les languettes de retenue du support de batterie. Après avoir fait cela sur le prototype, je le regrette maintenant. La batterie ne veut pas rester fermement en place. Laissez les onglets pour démarrer et ne les retirez que si vous avez du mal à retirer la batterie. Malgré cela, la photo montre un support de batterie avec les languettes coupées. C'est parce que je l'ai récupéré d'un autre projet.

Étape 11: Préparation de l'interrupteur à bascule

Préparation de l'interrupteur à bascule
Préparation de l'interrupteur à bascule

Selon votre commutateur, vous devrez peut-être couper l'une des broches. Je le fais avec les interrupteurs que j'utilise bien que cela ne soit peut-être pas tout à fait nécessaire. Faites glisser un petit morceau de tube thermorétractable le long du fil rouge du support de batterie. Poussez-le soigneusement dans le trou du support et rétractez-le en place. Il offre un certain degré de protection pour le fil. (Cette instruction reproduit l'instruction dans Préparation du support de batterie.) Faites glisser un autre petit morceau de gaine thermorétractable sur le fil rouge. Coupez et dénudez le fil à longueur et appliquez un peu de soudure à la fois sur la broche de l'interrupteur et sur l'extrémité du fil. Soudez le fil rouge du support de batterie directement à la broche extérieure de l'interrupteur. Faites glisser le morceau de gaine thermorétractable sur le joint pour le protéger et le renforcer. Le deuxième fil va de la broche centrale du commutateur au PCB. Soudez le fil à l'interrupteur comme décrit ci-dessus. Protégez le joint avec un tube thermorétractable. Soudez l'autre extrémité au trou approprié sur le PCB.

Étape 12: Préparation de la prise audio

Préparation de la prise audio
Préparation de la prise audio
Préparation de la prise audio
Préparation de la prise audio
Préparation de la prise audio
Préparation de la prise audio

Les fils de la prise audio sont tous assez courts. Appliquez un peu de soudure sur les broches de la prise et du fil, puis soudez-les en place. Faites glisser des morceaux de gaine thermorétractable sur les joints pour les protéger et les renforcer. Le fil de terre peut être soudé directement dans son trou. Les extrémités des fils de signal partagent chacune un trou avec une extrémité d'une résistance. Préparez le fil et la résistance en tordant les extrémités ensemble et en appliquant un peu de soudure. Le trou dans lequel ils vont doit être percé à 3/64 pour accueillir les deux fils. Soudez en place.

Étape 13: Préparation de l'interrupteur à bouton-poussoir

Préparation de l'interrupteur à bouton-poussoir
Préparation de l'interrupteur à bouton-poussoir
Préparation de l'interrupteur à bouton-poussoir
Préparation de l'interrupteur à bouton-poussoir
Préparation de l'interrupteur à bouton-poussoir
Préparation de l'interrupteur à bouton-poussoir

Préparez un petit morceau de fil solide en le formant en forme de U qui s'adapte parfaitement au bas de l'interrupteur. Appliquez une goutte de soudure de chaque côté du trou - laissez de la place pour l'interrupteur - et placez l'interrupteur en place. Faites fondre la soudure et poussez le fil en place. Laissez la soudure durcir et répétez de l'autre côté. Cela devrait positionner et sécuriser l'interrupteur en place. Préparez deux morceaux de fil torsadé en coupant à la longueur et en dénudant les deux extrémités. Assurez-vous que les fils sont suffisamment longs pour que le couvercle de la boîte puisse s'ouvrir complètement. Soudez à deux broches appropriées sur l'interrupteur, puis faites glisser des morceaux de gaine thermorétractable sur les joints pour les protéger et les renforcer. Soudez aux autres extrémités dans leurs trous respectifs sur la carte. Enfilez soigneusement les fils entre les LED et assurez-vous qu'ils ne reposent pas sur les batteries. J'ai écarté les deux broches de l'interrupteur pour que la LED la plus à droite se glisse entre elles. Les broches du commutateur sont TRÈS fragiles (les deux autres se sont cassées). Notez que la broche PA7 PCINT7 6 est configurée pour écouter un changement d'état. En appuyant sur le bouton-poussoir, la broche est élevée et le SIGNAL (PCINT0_vect) est exécuté. En fonction de la durée d'appui sur le bouton, soit il ne se passe rien (anti-rebond brut), soit l'état est avancé (appui court), soit le programme est avancé (appui long).

Étape 14: Fermeture du couvercle

Fermeture du couvercle
Fermeture du couvercle

Si tout va bien à ce stade, vous voudrez fermer la boîte. Ce faisant, vous devez faire très attention à la position des LED. Je trouve que je dois les pousser en position avec un tournevis à lame fine pour qu'ils soient correctement positionnés dans leurs trous. Appliquez une légère pression vers le bas sur le couvercle pendant que vous déplacez les LED en place et elles finiront par glisser en place. Vous devrez peut-être positionner les fils de manière à ce qu'ils tombent entre et non sur les composants. De plus, les broches de l'interrupteur à bouton-poussoir peuvent devoir être pliées pour ne pas gêner.

Conseillé: