Ραδιόφωνο FM με AVR και οθόνη GLCD

Ψηφιακά κυκλώματα που δεν εντάσσονται στις παραπάνω κατηγορίες.
Απάντηση
Άβαταρ μέλους
manolena
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2014, 16:45
Ονομα: Μάνος
Επικοινωνία:

Ραδιόφωνο FM με AVR και οθόνη GLCD

Δημοσίευση από manolena »

Γιώργο, με την άδειά σου...

Μια κατασκευή ραδιοφωνικού δέκτη με έναν ATMega644P, ένα ΤΕΑ5767 και μια οθόνη γραφικών 128x64 pixels βασισμένη στον KS0108.
Ο χειρισμός του γίνεται μέσω ενός rotary encoder switch απο τον οποίο εισάγονται 5 διαφορετικά μενού με ενδείξεις και ρυθμίσεις για συντονισμό, ένταση ήχου, ένδειξη ώρας, ένδειξη θερμοκρασίας, τράπεζας σταθμών μνήμης και ένα (μελλοντικό) μενού για ρύθμιση ώρας/ ημερομηνίας.
Η πλακέτα της κατασκευής
Η πλακέτα της κατασκευής
6.jpg (90.72 KiB) Προβλήθηκε 13061 φορές
H κατασκευή χτίστηκε πάνω σε μια διάτρητη πλακέτα και καλωδιώθηκε στο χέρι με Kynar wire. Για το δέκτη FM χρησιμοποιήθηκε μια παραλλαγή του γνωστού module με το TEA5767, ενώ για το RTC η πλακέτα που χρησιμοποιώ παντού με το M41T80 της ST, το LM75 και μια μνήμη 24C64 για οποιαδήποτε χρήση. Την AF την ενισχύει ένας TDA7052 ο οποίος οδηγείται σε στάθμη με PWM απο τον μ/Ε για να επιτευχθεί η ψηφιακή αυξομείωση του ήχου.
Εικόνα
Εικόνα
To ΤΕΑ5767 επικοινωνεί μέσω διαύλου I²C με τον μ/Ε και η πλακετίτσα που τον υποστηρίζει δίνει στερεοφωνική έξοδο. Εδώ χρησιμοποιείται μόνο το ένα κανάλι και η έντασή του αυξομειώνεται ψηφιακά με PWM σε 10 στάθμες για έξοδο 1W/8Ω.

Η έκταση της οθόνης είναι αρκετή ώστε να δίνει πολλές πληροφορίες στο χρήστη. Υπάρχει μια μπάρα που δείχνει αναλογικά τη συχνότητα συντονισμού σε μήκος 0-128 pixels και γεμίζει ή αδειάζει ανάλογα με το προς τα που κινείται η συχνότητα λήψης. Η συχνότητα επίσης φαίνεται και σε ψηφιακή μορφή σε MHz με μεγάλους χαρακτήρες. Έχει ενσωματωθεί και ένα σύστημα εμφάνισης του ονόματος του σταθμού στον οποίο συντονίζεται ο δέκτης, το οποίο διαβάζει απο μια ταμπέλα τα ονόματα των σταθμών της Αττικής. Μπορεί να προσαρμοστεί για να δείχνει και κατά τόπους άλλους σταθμούς.

Την ένταση του σήματος τη βλέπει κανείς με μια μικρή αναλογική μπάρα αλλά και με ψηφιακή μορφή σε βήματα 0-100, ενώ τέλος, υπάρχει ένα κυλιόμενο banner που εμφανίζει τρέχοντας την ώρα, ημερομηνία και τη θερμοκρασία περιβάλλοντος, το οποίο ανανεώνεται σε πραγματικό χρόνο.

Χρησιμοποιηθέντα υλικό και λογισμικό:

Για τη σύνταξη του κώδικα, χρησιμοποιήθηκαν δημοφιλείς βιβλιοθήκες:

openGLCD, https://bitbucket.org/bperrybap/openglcd/wiki/Home
MenuBackend, https://github.com/WiringProject/Wir...es/MenuBackend του Alexander Brevig
EEPROM, http://playground.arduino.cc/Code/EEPROMReadWriteLong για εγγραφή/ ανάγνωση float values
και http://arduino.cc/en/Reference/EEPROM, standard βιβλιοθήκη μαζί με το Arduino IDE
Wire, http://arduino.cc/en/reference/Wire, standard βιβλιοθήκη μαζί με το Arduino IDE
TimerOne, https://code.google.com/p/arduino-ti...downloads/list
PinChangeInt, http://playground.arduino.cc/Main/PinChangeInt

Σε ό,τι αφορά, το υλικό:

Χρησιμοποιήθηκε ένας ATMega644P, http://www.atmel.com/devices/ATMEGA644P.aspx με 64K μνήμη προγράμματος , μια οθόνη γραφικών βασισμένη στον KS0108 http://playground.arduino.cc/Code/GLCDks0108, http://playground.arduino.cc/Code/GLCDks0108, ένα rotary encoder http://www.ebay.com/itm/12mm-Rotary-...-/171658463561.
Για την ακουστική έξοδο, το σήμα ενισχύεται με έναν TDA7052, http://www.nxp.com/documents/data_sheet/TDA7052A_AT.pdf.

Για το ρολόι πραγματικού χρόνου, χρησιμοποιήθηκε ένα Μ41Τ80, http://www.st.com/web/en/resource/te...CD00003119.pdf και για θερμόμετρο ένα LM75, http://datasheets.maximintegrated.com/en/ds/LM75.pdf σε ιδιοκατασκευή πλακέτας.
Το μενού της ώρας/ ημερομηνίας
Το μενού της ώρας/ ημερομηνίας
1.jpg (85.81 KiB) Προβλήθηκε 13061 φορές
Το μενού του θερμόμετρου
Το μενού του θερμόμετρου
2.jpg (132.3 KiB) Προβλήθηκε 13061 φορές
https://www.youtube.com/watch?v=G9Hi7XWQetE
Τελευταία επεξεργασία από το μέλος manolena την 01 Φεβ 2015, 11:28, έχει επεξεργασθεί 1 φορά συνολικά.
My way of learning is trial and error.
Άβαταρ μέλους
manolena
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2014, 16:45
Ονομα: Μάνος
Επικοινωνία:

Re: Ραδιόφωνο FM με AVR και οθόνη GLCD

Δημοσίευση από manolena »

Το κύκλωμα σε Altium Designer:
PCB
PCB
SCHEMATICS-page-001.jpg (69.4 KiB) Προβλήθηκε 13055 φορές
Η πλακέτα σε Altium Designer επίσης:
PCB-page-001.jpg
PCB-page-001.jpg (232.27 KiB) Προβλήθηκε 13054 φορές
To PCB σε έγχρωμη προβολή 3D
To PCB σε έγχρωμη προβολή 3D
PCB.jpg (204.79 KiB) Προβλήθηκε 13054 φορές
My way of learning is trial and error.
Άβαταρ μέλους
GeorgeVita
Διαχειριστής
Δημοσιεύσεις: 624
Εγγραφή: 04 Σεπ 2013, 21:51
Ονομα: Γιώργος
Επικοινωνία:

Re: Ραδιόφωνο FM με AVR και οθόνη GLCD

Δημοσίευση από GeorgeVita »

manolena έγραψε:Γιώργο, με την άδειά σου...
Να ευχηθώ απλά: Καλό μήνα!
(ότι άλλο να γράψω θα είναι λίγο!)
Άβαταρ μέλους
manolena
Δημοσιεύσεις: 43
Εγγραφή: 02 Φεβ 2014, 16:45
Ονομα: Μάνος
Επικοινωνία:

Re: Ραδιόφωνο FM με AVR και οθόνη GLCD

Δημοσίευση από manolena »

Καλό κι ευλογημένο μήνα Γιώργο και σε εσένα!

Συμπληρωματικά, το αρχείο με τα gerber files για οποιαδήποτε χρήση:
Project Outputs for FM_Receiver_1.zip
Gerber files, CAM files
(162 KiB) Μεταφορτώθηκε 863 φορές
Κώδικας και ανάλυσή του θα ακολουθήσει μόλις "συμμαζευτούν" λίγο...
My way of learning is trial and error.
Απάντηση

Επιστροφή στο “Λοιπά ψηφιακά κυκλώματα”