Ένα απλό ραδιόφωνο…

Στην καθημερινότητα μου ακούω πολύ ραδιόφωνο. Πριν μερικές μέρες το ραδιόφωνο που έχω σπίτι, μου έσπασε τα νεύρα. Συνεχώς άνοιγε και έκλεινε μόνο του άλλαζε σταθμούς κτλ. Κάποιος από τους διακόπτες θα έχει συγκεντρώσει ακαθαρσίες. Αποφάσισα να το ανοίξω και να του κάνω έναν βαθύ καθαρισμό. Όταν πήγα να το ανοίξω όμως, είδα πως οι βίδες απαιτούσαν κατσαβίδι ασφαλείας με μήκος 20+ εκατοστά. Μου φάνηκε πιο απλό να φτιάξω ένα δικό μου ραδιόφωνο παρά να τρέχω να βρω κατσαβίδι…

Άνοιξα το συρτάρι μου με τα διάφορα εξαρτήματα από παλιές οικιακές συσκευές και βρήκα δύο ψηφιακά ελεγχόμενα tuners. Ένα από μία παλιά κάρτα τηλεόρασης και ραδιοφώνου για υπολογιστή, της εταιρίας Philips (ελεγχόμενο μέσω διαύλου I2C), και ένα tuner από κάποιο παλιό δέκτη, αγνώστων στοιχείων. Αποφάσισα να χρησιμοποιήσω το δεύτερο. Η παρουσία τηλεοπτικού σήματος στο πρώτο, με αποθάρρυνε λίγο.

Ανοίγοντας το tuner, είδα πως χρησιμοποιεί δύο ολοκληρωμένα κυκλώματα της Sanyo (τώρα πλέον ON Semi). To LC72131M που είναι ένα PLL Frequency Synthesizer και το LA1837M, που είναι ένα AM/FM Tuner ολοκληρωμένο κύκλωμα. Το LC72131 για την επικοινωνία του με τον έξω κόσμο χρησιμοποιεί ένα πρωτόκολλο της Sanyo που μοιάζει αρκετά με τον δίαυλο SPI. Η Sanyo το ονομάζει CCB (Computer Control Bus). Από την στιγμή που το πρωτόκολλο μοιάζει με τον δίαυλο SPI είναι πολύ εύκολο να υλοποιηθεί μέσω λογισμικού (Bit Banging).

Το πρόβλημα ήταν πως το tuner είναι εντελώς ανώνυμο. Διαθέτει έναν συνδετήρα 15 επαφών, χωρίς καμιά πληροφορία για το τι είναι τι. Ξεκίνησα λοιπόν με το πολύμετρο το reverse engineering. Μετά από μερικά λεπτά (με την βοήθεια της τεκμηρίωσης των ολοκληρωμένων κυκλωμάτων) μπόρεσα να βρω τι κάνει η κάθε επαφή του tuner. Μετέπειτα θυμήθηκα το μοντέλο του HI-FI από το οποίο είχα αφαιρέσει το tuner, βρήκα το σχηματικό του, και επιβεβαίωσα τα ευρήματά μου.

Πήρα ένα αναπτυξιακό σύστημα με AVR, το Arduino UNO, που διαθέτει έναν μικροελεγκτή ATmega328p (λίγο “σκότωμα” για την συγκεκριμένη εφαρμογή), μία οθόνη υγρών κρυστάλλων 16×2 χαρακτήρων και ξεκίνησα να φτιάχνω το κύκλωμα. Μέσα σε μία ώρα είχα ξεκινήσει να γράφω κώδικα (σε “καθαρή” C) στο Code::Blocks. Μέχρι το μεσημέρι είχα ένα κώδικα που μπορούσε να στέλνει εντολές στο tuner και να το συντονίζει. Την επόμενη ημέρα είχα ένα πλήρως λειτουργικό ραδιόφωνο με οθόνη για ένδειξη της συχνότητας, Stereo, και συντονισμό του PLL. Επίσης διαθέτει και τρία πλήκτρα. Δύο για την αύξηση και μείωση της συχνότητας και ένα για αυτόματο ή χειροκίνητο συντονισμό.

Όλα τα αρχεία (φωτογραφίες, datasheets, σχηματικό, κώδικας) του έργου μπορείτε να τα βρείτε ελεύθερα στην σελίδα μου στο GitHub. Συγκεκριμένα ΕΔΩ. Στην στην συγκεκριμένη υλοποίηση δεν έχω ενεργοποιήσει τα βραχέα (ΑΜ) μιας και δεν ακούω κάποιον σταθμό εκεί. Όποιος θέλει μπορεί πολύ εύκολα να το ενεργοποιήσει. Ο κώδικα είναι καλά τεκμηριωμένος.

Advertisements
This entry was posted in AVR, Electronics, Science and tagged , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s