Étape 2: Puissance et minimales connexions AVR
À l’entrée d’alimentation, J1 est simplement + 12VDC et au sol de 12 volts « verrue mur » que j’ai dû traîner. Elle est parfaite pour alimenter les capteurs, et c’est une taille très courante aux sauvetages de quelque part. Immédiatement après la J1 vous verrez D1. Cette diode sert uniquement de la protection de raccorder l’alimentation électrique vers l’arrière. (et il diminue la tension de 0,7 v environ, réduire la chaleur dissipée par le LM7805 légèrement, mais c’est juste un effet secondaire de chance...)
Depuis que j’utilise des capteurs de 12 volts, j’avais besoin d’un moyen de ramener cette 12VDC à un niveau approprié pour alimenter l’AVR, décodeur 7 segments et - bien - tout le reste mais les capteurs. Le LM7805 est un régulateur + 5 volts qui convient parfaitement à cette fin. Emploi du régulateur est à surveiller, c’est la tension de sortie propre sur la broche 3 et ajustera son courant de sortie jusqu'à ce que la tension est de 5V. Nous n’avez pas besoin de s’inquiéter de comment il le fait ; C’est juste qu’il fait, et qu’il dissipe la tension « extra » sous forme de chaleur. Les condensateurs sur l’entrée et la sortie du régulateur sont là pour veiller à ce qu’il y a peu de courant supplémentaire disponible si la charge change rapidement. Cela donne le temps 7805 pour réagir à tout changement du côté de la charge, comme tous les voyants allumer soudainement ou le bouton de réinitialisation étant pressé et relâché. ** note ** j’ai testé ce circuit avec alimentation en tension allant sur 9VDC >> 20 v CC. Le régulateur gère cette plage très bien, mais commence à faire chaud à des tensions plus élevées. Pour cette raison, j’ai ajouté un dissipateur de chaleur pour le 7805.
Le voyant d’alimentation doit être explicite. R5 est la résistance de limitation actuelle à protéger D3 et ils sont reliés directement à la sortie du régulateur et la terre. S’il y a 5 v, il y aura une diode allumée.
Maintenant pour le plaisir des choses ! De toute évidence, au centre de l’ensemble du circuit est notre ATMega328P désigné uC1. Cette chose a 28 broches, comptez donc attentivement ! Les goupilles sont disposées sur le schéma, exactement comme ils sont sur la puce et étiquetés exactement comme ils sont dans la fiche technique du fabricant (si vous n’avez pas téléchargé le datasheet PDF encore, allez de l’avant et faire que - http://www.datasheetarchive.com/ - allez-y et téléchargez les fiches techniques pour le décodeur et les affichages et les transistors trop - vous pourriez avoir besoin d’eux!) Cette puce est va nécessiter + 5V, GND, une source de l’horloge, une résistance pull-up sur la broche de remise à zéro et la programmation des connexions de port avant il peut faire autre chose que de s’asseoir là et regardez comme une sorte de mille-pattes robotique bizarre, donc nous allons arriver à elle.
Avez-vous remarqué sur le schéma simplifié que SCR et AVCC sont attachés à l’alimentation 5V ? SCR est la tension d’alimentation normale et AVcc est l’approvisionnement pour le convertisseur analogique-numérique à bord. AVcc doit être connecté à Vcc, même si l’ADC n’est pas utilisé. J’espère que tu savais que GND va à un point de masse dans le circuit, ou du côté de 0V de l’alimentation.
Le résonateur relie aux bornes 9 et 10 avec une paire de condensateurs parallèles. Ces condensateurs sont très petites (p. 22) et l’ensemble des 3 composants doivent être montés aussi près à bornes 9 et 10 que possible pour empêcher l’encrassement avec l’oscillateur de capacitance errant. Fiche technique du fabricant pour le cristal que vous utilisez précisera recommandé tailles pour ces condensateurs, afin de vérifier en premier. Encore une fois, si vous envisagez d’utiliser l’oscillateur interne RC, vous devrez configurer votre AVR un peu différemment. Lorsque nous entrons dans ATMEL Studio 6 nous allons arriver à configurer ces choses avec fusible bits et autres trucs amusant...
Vous avez peut-être remarqué qu’il y a plusieurs descriptions pour la plupart des broches. C’est parce que vous pouvez programmer qu’ils ont des fonctions différentes en fonction de votre application. Même la broche de remise à zéro peut être reprogrammée pour être un autre axe de I/O général, mais ne le faites pas car vous allez perdre votre possibilité de programmer la puce dès que vous effectuez cette modification ! Voici pourquoi... Regardez la broche 19. Il est labellisé PB5, ce qui signifie que 5 PORTB. Il a une autre fonction utilisée pour la programmation étiquetée SCK (horloge de maître/esclave). Avis que cette broche SCK et le RESET épingler les deux aller vers le port de programmation ISP6. Les fonctions de programmation sur les broches ne sont actives que lorsque la broche de remise à zéro est terrée. Le programmeur (AVR Dragon dans mon cas) rend la connexion à la terre sur la broche de remise à zéro automatiquement lorsqu’il communique avec la puce qui permet les fonctions de programmation des broches appropriées. Donc, si votre programme définit la broche de remise à zéro comme une entrée numérique... vous pouvez plus utiliser il pour activer les fonctions de programmation sur les autres broches programmation ! En bref, "Réinitialiser" devrait toujours être "reset" - à moins que vous fabriquiez de 1 000 000 unités et vos gars de logiciel dit Qu'au cours de la première production exécuter qu’il doit « juste une plus d’entrée. »
Donc, cela signifie que les autres broches programmation (SCK, MISO, MOSI) peuvent être utilisés comme broches e/s ! Sur le schéma complet, vous pouvez voir que j’ai utilisé la broche 17 comme les deux MOSI pour la programmation et une sortie pour un bit au décodeur 7 segments numérique. Cela fonctionne très bien tant que la broche de remise à zéro n’est pas obtenir accidentellement assez basses que l’AVR « pense » qu’il est relié à la terre lors du fonctionnement normal. C’est le but de la résistance R1 de pull-up. R1 s’assure que, si rien ne se connecte pas la broche de remise à zéro à la terre, alors il sera élevé ou 5V. Dans le schéma complet, vous verrez un bouton-poussoir connecté de pin1 au sol également. Il est très pratique si votre puce a besoin d’un redémarrage pour une raison quelconque au cours du développement (accidentellement ce qui en fait diviser par 0 est un bon moyen pour qu’il puisse agir stupide ! Ne demandez pas comment je le sais...)
Dans le deuxième pic, vous verrez un schéma de l’en-tête d’ISP 6 broches et les noms de ses connexions. Tout reste à faire est de faire le lien entre ces broches d’en-tête et les broches correspondantes de l’AVR, et nous devrions être prêts à démarrez-la et tester notre programmeur !
Comme j’ai mentionné précédemment, la SCK est l’horloge maître/esclave - broche 19 c’est comment le programmeur et l’objectif de la puce qu’ils parlent à la même vitesse.
Broches de MISO/MOSI - entrée maître, esclave entrée et sortie master, sortie de l’esclave - 18/17, ce sont les goupilles qui réellement font parler.
VCC/GND - sont juste les branchements électriques - broches 7/8 la programmation port dispose d’une connexion de Vcc pour l’alimentation de la cible, ou, dans le cas de l’AVR Dragon, ce qui permet au programmeur de correspond à la tension de l’appareil cible.
Et enfin, la broche 1 Reset - met la puce en mode de programmation lorsque terré, réinitialise à condition de mise sous tension lorsqu’il varie de faible à élevé et sert de l’axe de communication durant le mode DebugWire (débogage fonction prise en charge par ATMEL Studio ; c’est cool, mais je ne l’utilise beaucoup.) Cette broche est également utilisée pour accéder au mode HVPP (programmation parallèle haute tension) en 12V est appliqué, mais nous ne sera pas besoin de le faire. Il est à noter que la broche de remise à zéro est la seule broche auxquels vous pouvez appliquer en toute sécurité 12V et seulement pour HVPP.
Il est temps d’obtenir ce petit circuit sur le montage d’essai (je l’espère, vous savez comment une maquette œuvres.) dans le cas contraire :
Découvrez les photos de 3e et 4e pour le raccordement de circuit et programmeur programmation breadboarded. L’oscillateur à quartz n’est pas présent dans les photos, mais il ne devrait pas question à ce stade, si vous le mettez là ou non. Après que nous avons terminer la configuration de l’AVR pour utiliser le cristal, qu'il ne fonctionne plus sans cela jusqu'à ce que vous reconfigurer pour qu’il utilise une autre source de l’horloge.
Maintenant que nous avons ce circuit simple construit pour alimenter et notre puce de programmation, nous pouvons passer à studio ATMEL et de commencer à configurer les choses !