Table des matières:

Carte de développement Atmega16/32 avec écran LCD : 8 étapes
Carte de développement Atmega16/32 avec écran LCD : 8 étapes

Vidéo: Carte de développement Atmega16/32 avec écran LCD : 8 étapes

Vidéo: Carte de développement Atmega16/32 avec écran LCD : 8 étapes
Vidéo: LCD interfacing with Atmega16/32 | Proteus Simulation | LCD 2024, Juillet
Anonim
Carte de développement Atmega16/32 avec écran LCD
Carte de développement Atmega16/32 avec écran LCD
Carte de développement Atmega16/32 avec écran LCD
Carte de développement Atmega16/32 avec écran LCD
Carte de développement Atmega16/32 avec écran LCD
Carte de développement Atmega16/32 avec écran LCD

Cette instructable montre comment faire votre propre carte de développement pour les processeurs Atmega16 ou Atmega32. Internet regorge de cartes de développement faites maison, mais je pense qu'il reste de la place pour une autre. Cette carte a été très utile sur mes projets et je l'ai conçue et fabriquée pour servir l'un de mes projets. Qu'est-ce qu'elle offre?- Connecteur ISP.- Tension de référence réglable pour AREF avec trimmer.- 8 leds connectées PORTA avec cavaliers amovibles, vous pouvez donc utiliser des leds également avec d'autres ports.- Barres à pointes pour PORTA, PORTB, PORTC et PORTD.- Barre à pointes modifiée pour écran LCD (4 bits)- Connecteur de port série rs232- Module rs232 amovible- Régulé 5VDe quoi aurez-vous besoin ? (pièces pour carte principale)- 1x processeur Atmega16 ou Atmega32- 1x cristal (C'est votre choix combien de Mhz il sera)- 2x condensateurs 27 pF pour cristal- 1x régulateur de tension 7805- 1x condensateur 47uF 16V- 3x condensateur 100nF- 1x DC-jack 2, 1mm ou 2, 5mm (ce que vous voulez utiliser)- 1x potentiomètre 1K - 8x led (n'importe quelle couleur)- 8x résistances 330 Ohm- beaucoup de barres à pointesPièces pour module rs232- Max232 IC- 4x condensateurs 0,1 uF - 2x led (verte et rouge)- 2x résistances 330 Ohm- Spike bar- Connecteur D9

Étape 1: les circuits imprimés

Les circuits imprimés
Les circuits imprimés
Les circuits imprimés
Les circuits imprimés

Il y a des circuits des deux cartes et le fichier pdf contient des fichiers d'impression de ces cartes. Vous pouvez graver vos planches à partir de ces images. Le fichier zip contient tous les fichiers Eagle de ces cartes. N'hésitez pas à les modifier comme vous le souhaitez.

Étape 2: gravure ou fraisage

Gravure ou fraisage
Gravure ou fraisage
Gravure ou fraisage
Gravure ou fraisage

Il existe deux manières de réaliser ces planches, la gravure ou le fraisage. Je ne suis pas chimiste, j'ai donc utilisé la dernière option. J'ai fait mon moulin à partir de ces super instructables, donc si quelqu'un a aussi nc-mill et veut l'utiliser pour fabriquer ces planches, faites-le moi savoir et j'enverrai les codes G.

Étape 3: Souder

Soudure
Soudure
Soudure
Soudure

L'image ci-dessous montrera le nom du composant et où il devrait être à bord.

Étape 4: Tester

Essai
Essai

Avant de pouvoir tester notre carte de développement, nous aurons besoin d'un câble de programmeur AVR. Voici une bonne instructable sur le câble de programmation. Nous n'avons besoin que de 6 fils. SCK, MISO, MOSI, RST, Ground et +5V et c'est pourquoi mon connecteur n'a que 6 pins. IMPORTANT ! Les signaux SCK, MISO, MOSI et RST nécessitent des résistances de 390 Ohm qui sont généralement soudées à bord, mais je voulais économiser de l'espace sur la carte et c'est pourquoi les résistances sont à l'intérieur du câble. Sans ces résistances, la programmation ne fonctionnera pas. Nous devons également faire un câble entre le module rs232 et la carte principale. Il y a également des "fils de test" sur l'image et ceux-ci sont vraiment utiles lorsque nous allons tester notre carte.

Étape 5: Programmation et programme de test simple

Programmation et programme de test simple
Programmation et programme de test simple

Ensuite, nous aurons besoin de quelques programmes de "test" pour tester notre carte. IMPORTANT! Nous devons désactiver JTAG de PORTC, si nous ne le faisons pas, le module lcd ne fonctionnera pas, c'est donc nécessaire. Sous Linux, nous pouvons le faire avec la commande avrdude:avrdude -p m16 -c stk200 -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m Cette commande désactive JTAG et configure l'oscillateur interne 8Mhz et l'utilise. Notre carte a un cristal externe, mais les gens utilisent des tailles de cristaux différentes, donc cette commande est sans danger pour tous. Si vous voulez utiliser votre cristal externe, voici le site pour calculer les fusibles corrects. IMPORTATNT ! Soyez prudent avec la programmation des fusibles. Si vous définissez des valeurs de fusible incorrectes, votre processeur sera inopérant. Il existe un moyen de le récupérer avec une impulsion externe, mais espérons que vous n'aurez pas à le faire =)Programme de test simple:#include (avr/io.h)int main(void){DDRA = 0xff; // définir le port comme sortieDDRB = 0xff;DDRC = 0xff;DDRD = 0xff;PORTA = 0x00; // désactiver tous les pull-upsPORTB = 0x00;PORTC = 0x00;PORTD = 0x00;} Il est temps de mettre la carte sous tension et d'envoyer ce petit programme de test au processeur avec le winavr ou ce que vous voulez utiliser. Maintenant, nous pouvons tester cela nos ports fonctionnent correctement. Mettez une extrémité du fil à l'une des têtes d'épingle des leds et touchez avec l'autre extrémité chaque pointe de ports étape par étape. La led doit briller à chaque fois. S'il ne brille pas, c'est qu'il y a un problème avec la soudure. N'oubliez pas de tester également que chaque led fonctionne.

Étape 6: Test du port série

Test du port série
Test du port série
Test du port série
Test du port série

Si tout a parfaitement fonctionné, il est temps de tester notre module rs232. Il existe un petit programme qui teste le fonctionnement de nos TX et RX. Utilisation sous Linux: Créez un fichier appelé Makefile et copiez le texte ci-dessous dans le fichier. Le code Makefile suppose que vous utilisez Atmega16 et que votre câble de programmation est stk200 N'oubliez pas de définir les autorisations correctes pour votre port série /dev/ttyS0CC=/usr/bin/avr-gccCFLAGS=-g -Os -Wall -mcall-prologues -mmcu=atmega16 -std=gnu99OBJ2HEX=/usr/bin/avr-objcopy AVRDUDE=/usr/bin /avrdude: $(TARGET).hex $(AVRDUDE) -p m16 -P /dev/parport0 -c stk200 -u -U flash:w:test.hex%.obj: %.o $(CC) $(CFLAGS) $< -o $@%.hex: %.obj $(OBJ2HEX) -R.eeprom -O ihex $< $@clean: rm -f *.hex *.obj *.oTélécharger le fichier attaché serial.c et mettre dans le même dossier que Makefile. Allumez votre carte de développement et placez le câble entre le module RS232 et la carte principale. Les leds du module devraient s'allumer maintenant. Mettez le fil de test entre la broche PA0 et certaines des broches des leds. Utilisez votre terminal et allez dans le dossier où se trouve test.c et le Makefile. Connectez le programmeur ISP à la carte. Il est maintenant temps d'envoyer notre code dans le processeur et cela se produit avec la commande de terminal: make Download software called GTKterm(Serial Port Terminal). Fedora: yum install gtktermUbuntu: sudo apt-get install gtkterm 8 bits de données, 1 bit d'arrêt, pas de parité, aucun débordement. Si tout fonctionne, il faut écrire « works ! » sur l'écran GTKterm lorsque vous appuyez sur le bouton "z" et lorsque vous appuyez sur le bouton "x", le voyant à bord doit s'allumer et lorsque vous appuyez sur "c", il doit s'éteindre.

Étape 7: Test du module LCD

Test du module LCD
Test du module LCD
Test du module LCD
Test du module LCD

Il est maintenant temps de tester notre module LCD. J'ai joint un excellent logiciel pour contrôler l'écran LCD. J'ai téléchargé le code sur Scienceprog.com et je l'ai peu modifié. Programmez le processeur avec ce code et branchez votre module LCD à bord. Connexions des broches du module LCD: 1 = VSS(Ground)2 = VDD(5V)3 = VO(Ground)4 = RS5 = R/W6 = E11 = PC412 = PC513 = PC614 = PC7Mon module lcd contient 2 connecteurs (voir l'image), car le texte monte à l'envers si vous placez le module comme il se doit. J'ai reflété et collé le nouveau connecteur de l'autre côté. Maintenant, ça marche dans les deux sens.

Étape 8: Quelques vidéos

Accéléromètres gradateurs

Conseillé: