# Συζήτηση Κυκλωμάτων > Κυκλώματα Εικόνας-'Ηχου & Φωτισμού >  >  VU-meter με PIC (12 LEDs)

## GeorgeVita

Γειά σας, παραθέτω ιδέες για την κατασκευή VU-meter με PIC και ένδειξη σε 12 LEDs για σχολιασμό και διορθώσεις πριν την υλοποίησή του! Το τελικό σχέδιο και το .hex αρχείο για τον προγραμματισμό του μC είναι ελεύθερα για χρήση (με την ολοκλήρωσή τους).



Ο μC θα προγραμματιστεί με το αρχείο: VUmeter.hex



Ο μC που χρησιμοποιώ είναι ο *PIC12F675* των 8 pins με ενσωματωμένο ταλαντωτή και A/D. Στην είσοδο έχω half-wave peak detector με τρανζίστορ από εφαρμογή της NSC για το LM3916. Η οδήγηση των 12 LEDs θα γίνει από 4 I/O pins σύμφωνα με το Charlieplexing που συζητήσαμε στο θέμα: 'Quiz: Οδήγηση LED με μικροεπεξεργαστή'

Η τάση τροφοδοσίας πρέπει να είναι καλά σταθεροποιημένη γιατί χρησιμοποιείται και ως Vref  για το εσωτερικό A/D. Η εσωτερική κλίμακα VU είναι προρυθμισμένη για ενδείξεις -20 έως +3dB.

Περισσότερα τεχνικά στοιχεία σε επόμενα σχόλια.

Φιλικά,
Γιώργος

----------


## FILMAN

Γιώργο θα σου πρότεινα να βελτιώσεις λίγο τον ανιχνευτή κορυφής!

----------


## GeorgeVita

> Γιώργο θα σου *πρότεινα* να βελτιώσεις λίγο τον ανιχνευτή κορυφής!



"Σχολιασμός και διορθώσεις πριν την υλοποίησή του!"

Θέλω απλή κατασκευή, χαμηλό κόστος και μονή τροφοδοσία. Από το s/w μπορώ να έχω μέσους όρους ή υστέρηση για 'προσομοίωση βελόνας' σύμφωνα με τα standards. Δεν μπορώ να έχω όμως πλήρη ανόρθωση λόγω διπλής τροφοδοσίας. Τι προτείνεις;

G

----------


## FILMAN

Μα δεν είναι απαραίτητη η συμμετρική τροφοδοσία για να κάνεις πλήρη ενεργή ανόρθωση. Όμως αυξάνει η πολυπλοκότητα του κυκλώματος. Αν πράγματι θες κάτι απλό γιατί δεν πολώνεις την είσοδο του ADC στο 1/2 Vcc και να συζεύξεις εκεί χωρητικά το σήμα audio κατευθείαν; Στη συνέχεια μέσω του προγράμματος ο μ/ε θα κοιτάει συνέχεια την τάση εκεί. Θα αποθηκεύει ένα δείγμα και θα κοιτάει το επόμενο. Αν είναι μεγαλύτερο, θα πετάει το προηγούμενο και θα κρατάει αυτό. Αν είναι μικρότερο, θα αξιολογεί το μέγεθος του προηγούμενου δείγματος και θα οδηγεί ανάλογα τα LED. Έτσι θα έχεις φτιαξει ένα σοφτγουερικό ανιχνευτή κορυφής! Βέβαια φορτώνεις πολύ το πρόγραμμα. Αλλά είναι το τίμημα για την απλοποίηση του κυκλώματος!

----------


## GeorgeVita

Κάθε ιδέα θα δοκιμαστεί! Buffer στην είσοδο; Το παραπάνω κύκλωμα που δοκίμασα δίνει:



Το έντονο σημείο είναι η έξοδος. Καλό φαίνεται ως προς τη θετική πλευρά του σήματος.
G

----------


## GeorgeVita

Η τελική κλίμακα των 12 LED έχει τις παρακάτω ενδείξεις ρυθμισμένες κατά *dBu* σύμφωνα με τεχνικό φυλλάδιο της EBU όπου:
*0 dBu = 0.775 V rms (sine wave) = 1.1 V peak*

(μετατροπή με το calculator dBu σε Vrms και Vp)




```
 +5dBu   1.948Vp    1.377Vrms
 +3      1.547      1.094
 +2      1.379      0.975
 +1      1.229      0.869
  0      1.095      0.775
 -1      0.976      0.690
 -2      0.870      0.615
 -3      0.776      0.548
 -5      0.616      0.436
 -7      0.489      0.346
-10      0.346      0.245
-20      0.110      0.077
```


Φιλικά,
Γιώργος

----------


## FILMAN

Άντε! Περιμένουμε φωτο!

----------


## navar

Γιώργο Γάζωσες !!! μπράβο, ευτυχώς που έχουμε και τόσο ανήσυχα πνεύματα και πλούσια σε γνώσεις παράλληλα !

----------


## Mihos

> Μα δεν είναι απαραίτητη η συμμετρική τροφοδοσία για να κάνεις πλήρη ενεργή ανόρθωση. Όμως αυξάνει η πολυπλοκότητα του κυκλώματος. Αν πράγματι θες κάτι απλό γιατί δεν πολώνεις την είσοδο του ADC στο 1/2 Vcc και να συζεύξεις εκεί χωρητικά το σήμα audio κατευθείαν; Στη συνέχεια μέσω του προγράμματος ο μ/ε θα κοιτάει συνέχεια την τάση εκεί. Θα αποθηκεύει ένα δείγμα και θα κοιτάει το επόμενο. Αν είναι μεγαλύτερο, θα πετάει το προηγούμενο και θα κρατάει αυτό. Αν είναι μικρότερο, θα αξιολογεί το μέγεθος του προηγούμενου δείγματος και θα οδηγεί ανάλογα τα LED. Έτσι θα έχεις φτιαξει ένα σοφτγουερικό ανιχνευτή κορυφής! Βέβαια φορτώνεις πολύ το πρόγραμμα. Αλλά είναι το τίμημα για την απλοποίηση του κυκλώματος!



Δε νομίζω ότι ο ADC του εν λόγω μC είναι αρκετά γρήγορος για κάτι τέτοιο... Θα μπορούσε να γίνει για συχνότητες μέχρι 2-3kHz και με χρήση φίλτρου για αποφυγή φαινομένων aliasing.

----------


## GeorgeVita

Ενδεικτικό video clip (mpeg1):


(click στην παραπάνω εικόνα για το video clip 830KB)

Σημειώσεις:
- το πρόγραμμα v1.0 είναι στο αρχείο VUmeter.hex (το ίδιο link με αυτό στο σχόλιο#1)
- το σχέδιο διορθώθηκε (βλέπε σχόλιο#1)
- το peak hold λειτουργεί από τα 0 dBu και πάνω
- τα LED συνδέονται σε 6 αντιπαράλληλα ζεύγη (κάθε ζεύγος έχει ένα LED 'ορθά' πολωμένο και ένα 'ανάστροφα') και πρέπει να γίνουν οι πιθανές συνδέσεις (Α με Β, Α με C, A με D, B με C,  B με D και C με D)
- τα LED στο δείγμα μου είναι Kingbright L-934LSRD (low current, 3mm)
- ρεύμα λειτουργίας *κάτω από 10mA*

Αν φτιάξετε πλακέτα συνδέστε τα ζεύγη των LED όπως σας βολεύει. Το πρόγραμμα έχει ένα 'test mode' γειώνοντας σταθερά το pin 4. Θα σβήσουν όλα τα LED και μετά θα ανάβουν ένα ένα από το 1ο έως το 12ο, αρκετά αργά για να τα σημειώσετε. Μετά εφόσον ξέρετε να 'πειράζετε' λίγο το πρόγραμμα έχω προβλέψει πίνακα για 'τακτοποίηση' των LED στη σειρά.

Συγκεκριμένα ξεκινώντας από τη διεύθυνση *0x031* υπάρχει ο πίνακας:
ADDR: 0031   DATA: 34*00* 34*01* 34*02* 34*03* 34*04* 34*05* 34*06* 34*07* 34*08* 34*09* 34*0A* 34*0B*

Διαδικασία: γειώνεται σταθερά το pin 4, δίνεται τροφοδοσία, ανάβουν ένα ένα τα LED. Στο τέλος υπάρχει ένα κενό με όλα τα LED σβηστά. Μόλις αρχίζουν να ανάβουν σημειώνεται τους α/α των LED στην πλακέτα σας. Ας υποθέσουμε ότι βρήκατε 7-8-4-3-1-2-10-9-11-12-6-5 (δηλ. το 7ο LED της πλακέτας σας άναψε 1ο και τελευταίο άναψε το 5ο)

Θα αλλάξετε τις θέσεις μνήμης σε:
ADDR: 0031   DATA: 34*06* 34*07* 34*03* 34*02* 34*00* 34*01* 34*09* 34*08* 34*0Α* 34*0Β* 34*05* 34*04*
(*δηλαδή α/α LED -1* σε δεκαεξαδικό)





```
Λίστα υλικών
------------
R1    10 KΩ
R2     1 KΩ
R3   100 KΩ
R4   100 KΩ
R5     1 MΩ
R6   180 Ω
R7   180 Ω
R8   180 Ω
R9   180 Ω

Σημείωση: οι αντιστάσεις R6-R9 μπορούν να μειωθούν έως τα 33Ω
για αύξηση φωτεινότητας στα LED ή για χρήση μπλέ/άσπρων LED

C1    33 μF/16V
C2   220 nF
C3   100 nF

Q1   BC557B
D1   1N4148
IC1  PIC12F675

12x LED χαμηλού ρεύματος ή υψηλής φωτεινότητας
```


Φιλικά,
Γιώργος

----------


## GeorgeVita

Το πρόγραμμα *v1.1* έχει τις παρακάτω διορθώσεις:

- λειτουργεί το test mode
- το peak hold ισχύει για σήματα μεγαλύτερα από 0 dBu (δηλαδή στα 4 τελευταία LEDs)

Στο πρώτο σχόλιο του θέματος φαίνεται η 'default' συνδεσμολογία των LED για χρήση του VUmeter.hex. 
Αν στην πλακέτα σας τα συνδέσετε διαφορετικά, ακολουθήστε τις οδηγίες του σχόλιου #10.

Φιλικά,
Γιώργος

----------


## kitMAN

Για σου George και συγχαρητήρια για την όλη προσπάθεια. Έχω μερικές ερωτήσεις προς απάντηση, αν είναι δυνατόν.
1) Το πρόγραμμα του Pic είναι γραμμένο σε Assembly;
2) Σε τι συχνότητα το δουλεύεις; Στα 4 ΜΗz φαντάζομαι.
3) Για το peak hold χρησιμοποιείς κάποιο Timer με interrupt;
4) Το Vref του ADC είναι Vcc=5V;
5) Χρησιμοποιείς ADC Interrupt;
6) Η απόκριση του VU-meter φαίνεται κάπως αργή στο video. Έχεις υπολογίσει τον πραγματικό ρυθμό δειγματοληψίας του ADC; Διαβάζοντας το datasheet, δεν είμαι σίγουρος αν κατάλαβα σωστά.
7) Υπάρχει περίπτωση να δώσεις ένα flow chart του προγράμματος;
Άσχετο. Τα Pm σου τα έχεις απενεργοποιημένα για κάποιο δικό σου λόγω, προσωπικό;
Τελικά πολλά ήθελα να ρωτήσω. Respect.

----------


## GeorgeVita

> ...Έχω μερικές ερωτήσεις...



Γειά σου Γιώργο, ευχαριστώ.
1. assembly
2. 4MHz με το εσωτερικό RC
3. το εξωτερικό κύκλωμα κάνει την πιο πολύ δουλειά (δες παλμογράφημα στο σχόλιο#5)
4. είναι 5V εσωτερικό (αναφέρω παραπάνω ότι θέλουμε καλή σταθεροποίηση)
5. όχι, κάνω polling σε σταθερά χρονισμένα σημεία
6. τι είναι VU-meter; Μια προδιαγραφή λέει 'όπως τα όργανα βελόνας!' (300mS attack και 300mSec decay), στην πραγματικότητα είναι πιο αναλυτικό  από το mpeg1. Η συμπεριφορά αλλάζει με τον πυκνωτή C2 επηρεάζοντας και το peak hold.
7. ναι αργότερα (πάντα το documentation είναι η 'αγγαρεία')

Γενικά έχω φτιάξει ένα multitasking RTOS τύπου state machine το οποίο είναι χρονισμένο με το βασικό εσωτερικό timer. Με τη βοήθεια του εξωτερικού κυκλώματος η μέτρηση του peak είναι απλή και σχετικά αργή για τον μC. Ο μέσος όρος είναι πιο σύνθετος και θέλει επανέλεγχο. Το καλιμπράρισμα είναι και αυτό απλό. Οταν υπάρχουν σύνθετες πράξεις τη λύση δίνουν οι πίνακες.

Φιλικά,
Γιώργος

----------


## GeorgeVita

Ολοι είμαστε υπέρ της ανακύκλωσης! Πυκνωτικά μικρόφωνα θα βρείτε σε παλιές συσκευές ή handsfree από κινητά και PC. Παρακάτω έχω το κύκλωμα ενός υποτυπώδους προ-ενισχυτή πυκνωτικού μικροφώνου που μπορεί να οδηγήσει την είσοδο του VU-meter.
Μην περιμένετε αποτέλεσμα 'calibrated'. Για δοκιμές και οπτικό εφέ καλό είναι.



Λόγω της συνολικά μικρής κατανάλωσης (μαζί με το VU-meter) αν το βάλετε προσεκτικά σε ένα κουτάκι τροφοδοτούμενο από 3AAA μπαταρίες φτιάχνετε ένα εκπαιδευτικό παιδικό παιχνίδι (με προσοχή και πάντα με την παρουσία σας) ή και για μεγαλύτερους ('little birdie num num' @time=1.50').




```
Λίστα υλικών
------------
R101    10 KΩ
R102     4.7 KΩ
R103     1 ΜΩ

C101     4.7 μF/16V
C102   100 nF
C103   100 nF

Q101   BC547B
MIC    Πυκνωτικό Μικρόφωνο
```


Φιλικά,
Γιώργος

----------


## leosedf

Πολύ ωραίο κύκλωμα. Με το που θα βρώ χρόνο θα το δοκιμάσω. 
Γιώργο πειράζει αν το βάλουμε στα κυκλώματα?

----------


## GeorgeVita

> Γιώργο πειράζει αν το βάλουμε στα κυκλώματα;



Οχι βέβαια και σ'ευχαριστώ για τη διόρθωση στο post#10.
G

----------


## leosedf

Δεν ξέρω αν έχει ολοκληρωθεί το project. Δοκίμασε να το ποστάρεις ολοκληρωμένο και μαζεμένο στα κυκλώματα οταν είσαι έτοιμος.

----------


## GeorgeVita

> Δεν ξέρω αν έχει ολοκληρωθεί το project. Δοκίμασε να το ποστάρεις ολοκληρωμένο και μαζεμένο στα κυκλώματα οταν είσαι έτοιμος.



Εντάξει ας περιμένουμε λίγες μέρες μήπως φτιάξω και πλακέτα.
G

----------


## GeorgeVita

Η κάτοψη μονταρίσματος:



Η όψη του χαλκού (διάσταση 65mm επί 31mm):



Η όψη χαλκού σε .pdf για εκτύπωση (δεν έχω κάνει τελική δοκιμή, ελπίζω να μην υπάρχει κάποιο λάθος!).

Προτείνω κατασκευή 2 πλακετών με τα LED τοποθετημένα σε γωνία 90°. Οι δύο πλακέτες θα στηριχθούν παράλληλα με 2 κοινές βίδες και πλαστικούς αποστάτες. Ετσι θα έχουμε 'στέρεο' VU-meter.

Για ιστορικούς λόγους παρακάτω είναι τα NSM3914 της NSC (μπλε) και TSM3916 της III/V (μπεζ):



Φιλικά,
Γιώργος

----------


## kitMAN

Γιώργο με την ορολογία που χρησιμοποίησες στις απαντήσεις σου χρειάστηκε να επισκεφτώ τη βικηπαιδία για να καταλάβω τι εννοούσες. Οκ λυπών μορφώθηκα, διάβασα τις προδιαγραφές και έμεινα έκπληκτος από τις διαφοροποιήσεις της κάθε μίας. Αν κατάλαβα καλά, ο κάθε ένας φτιάχνει ότι θέλει. Δοκίμασα και εγώ να φτιάξω ένα με τον ATiny45 διατηρώντας την ίδια διάταξη με το PNP και τη δίοδο. Το κακό έιναι ότι διατηρεί στην έξοδο μία τάση περίπου 400 mv με αποτέλεσμα να ανάβουν συνέχεια τα 2 με 3 πρώτα LED. Το πρόβλημα το ξεπέρασα μετρώντας την τάση στην εκκίνηση του προγράμματος και στη συνέχεια την αφαιρώ κάθε φορά κατά τη διάρκεια της δειγματοληψίας. Είναι σωστή όμως αυτή η τακτική calibration;

Τελικά κατέληξα σε κάτι κοντά στις προδιαγραφές PPM 0ms attack και περίπου στα 100 ms decay. Το peakLED παραμένει για 1 δευτερόλεπτο μέσο timerinterrupt. Εάν το peakγίνει μεγαλύτερο τότε ο timer μηδενίζεται και το peakled μένει εκ νέου αναμμένο στην καινούρια θέση για ένα ακόμα δευτερόλεπτο.

Παράτησα επίσης ότι αυξάνοντας την τιμή του C2 μειώνεται η ένδειξη του peak. Έτσι κατέληξα σε χαμηλότερη τιμή για το C2 περίπου 47 με 100 nF και διαχειρίστηκα το decay από το software. Anyway. Εν αναμονή του documentation.

----------


## GeorgeVita

> Γιώργο με την ορολογία που χρησιμοποίησες στις απαντήσεις σου χρειάστηκε να επισκεφτώ τη βικηπαιδία για να καταλάβω τι εννοούσες.



Αρκεί το link της EBU στο σχόλιο#6. Μπορούμε να εμπιστευτούμε τους 'συγγραφείς' του και περιέχει ένα κάρο διαφορετικά πρότυπα!





> Οκ λοιπών μορφώθηκα, διάβασα τις προδιαγραφές και έμεινα έκπληκτος από τις διαφοροποιήσεις της κάθε μίας. Αν κατάλαβα καλά, ο κάθε ένας φτιάχνει ότι θέλει.



Δηλαδή από 'ισοδύναμο βελόνας' μέχρι φωτορυθμικό. Διάλεξα την προδιαγραφή dBu η οποία αναφέρεται σε στάθμες line για καταναλωτικά προϊόντα και εκπομπές ραδιοφωνίας. 





> ... Το κακό είναι ότι διατηρεί στην έξοδο μία τάση περίπου 400mv



Με τη διαδικασία ρύθμισης βλέπω το αποτέλεσμα στο A/D και όχι το shift στην τάση μετά το τρανζίστορ. Αν θέλεις σωστότερο κύκλωμα στην είσοδο μπορείς να βάλεις op-amps με συμμετρική τροφοδοσία (είσοδος DC-coupled). Στα datasheets της NSC έχει αρκετά κυκλώματα (full wave rectifier).

Για τη ρύθμιση η μέθοδός μου είναι τοποθέτηση DC τάσης στην είσοδο (Vin=Vp) στην υπολογιζόμενη στάθμη, μέτρησή της με βολτόμετρο ακριβείας, διάβασμα της μέτρησης στο A/D, καταγραφή στον πίνακα εντός του μC. Για την ένδειξη συγκρίνω τις τρέχουσες τιμές από το A/D (ή το μέσο όρο, ή το αποθηκευμένο peak) και αποφασίζω για το αποτέλεσμα. Το peak hold γίνεται όπως το περιγράφεις απλά εγώ κάνω OR σε peak register και Vin register.

Φιλικά,
Γιώργος

----------


## kitMAN

Νομίζω πως δεν ήμουν σαφείς με τη φράση μου (ο κάθε ένας φτιάχνει ότι θέλει). Δεν 
εννοούσα τη δική σου κατασκευή, αλλά τις ίδιες τις προδιαγραφές. Κατάλαβα πια είναι η προδιαγραφή που προσπαθείς να το συμμορφώσεις και φαίνεται λογική η καθυστέρηση που ανέφερα στο post 12, αφού έτσι ορίζεται βάση VUm.

----------


## GeorgeVita

Επαναδιατύπωσα την προηγούμενη απάντηση για να είναι πιο σαφές. Τελικά λόγω των πολλών προδιαγραφών η ερώτηση 'τι είναι VU-meter;' κατατάσσεται στις φιλοσοφικές!
Η καθυστέρηση που αναφέρεις είναι κυρίως λόγω μπάσων που δεν περνάνε στο mpeg ή delay μεταξύ ήχου/video στο mpeg. Πάντως ο τυπικός τρόπος μέτρησης των attack/decay είναι με ριπές ήχου συγκεκριμένης συχνότητας και διάρκειας. Νομίζω όμως για κύκλωμα των €3-5 δεν αξίζει καθόλου!
G

----------


## kitMAN

Όσον αφορά την ορολογία εννοούσα (polling, multitasking RTOS τύπου state machine)
Έκανα λάθος που χρησιμοποίησα τη λέξη καθυστέρηση. Η λέξη απόκριση ταιριάζει καλύτερα σε αυτό που θέλω να πω. Δεν έχει να κάνει με την απόκριση των μπάσων ούτε με το συγχρονισμό εικόνας και ήχου αλλά ούτε και με το framerate του Mpeg1. Έχει να κάνει με τον τρόπο που ανταποκρίνονται τα led κατά το ανάμα και κατά το σβήσιμο. Έχουμε decay, ok; και τα led αναμμένα έως και το -1db. Στο επόμενο refresh έχουμε ένδειξη -10db χωρίς να προηγείται το ομαλό σβήσιμο (ένα-ένα) με τη σειρά των -1db -2db -3db -5db -7db με την όποια προβλεπόμενη ταχύτητα. Δεν γίνεται ενδιάμεσο refresh. Νομίζω πως κατάλαβες τι θέλω να πω. 





> Νομίζω όμως για κύκλωμα των €3-5 δεν αξίζει καθόλου!
> G



Εγώ δεν το βλέπω έτσι. Βλέπω μία προσπάθεια για δημιουργία, αναζήτηση πληροφοριών, ευκαιρία για περεταίρω διεύρυνση της γνώσης. Για εμένα αξίζει γιατί μπορεί να βελτιώνεται. Αποτελείται από πολύ λίγα και απλά υλικά ενσωματώνοντας απλές και έξυπνες λύσεις όπως το CharlyPlexing. Εντάξει δεν είναι και το υπέρτατο κύκλωμα, αλλά ο προγραμματισμός του θέλει σοβαρή δουλειά, γνώσεις και εμπειρία, ειδικά σε assembly. Έχω την αίσθηση ότι το κούρασα. Αν πραγματικά συμβαίνει αυτό ζητώ συγνώμη.

----------


## GeorgeVita

> Έχουμε decay, ok; και τα led αναμμένα έως και το -1db. Στο επόμενο refresh έχουμε ένδειξη -10db χωρίς να προηγείται το ομαλό σβήσιμο (ένα-ένα) με τη σειρά ...







> ... Ο μέσος όρος είναι πιο σύνθετος και θέλει επανέλεγχο...



Την απάντηση την είχα στην επόμενη φράση ... αλλά με λίγες γραμμές που να εξηγηθούν όλα.
Δεν έχω τελειώσει το θέμα των κυλιόμενων μέσων όρων που θα μου δίνει ομαλό decay. Μέχρι τώρα έχει γίνει πολύ δουλειά (open H/W) και έδωσα προτεραιότητα στην πλακέτα για να γίνει ολοκληρωμένη κατασκευή που νομίζω υπερκαλύπτει τον ερασιτέχνη. Στη συνέχεια μπορεί να βελτιωθεί με επόμενο s/w version.

Δεν το 'κουράζουμε' καθόλου. Τεχνικές ιδέες γράφουμε και για τους επόμενος σχεδιαστές VU-meter.
G

----------


## leosedf

Συγνώμη που χαλάω το θέμα αλλα ήθελα να παραθέσω μια δυο ωραίες ιδέες που είδα στο νετ.












Ίσως να έχουν κάποια χρήσιμη ιδέα.

----------


## GeorgeVita

Ενα είναι το σίγουρο, με τα VUμετρα ''βλέπεις τη μουσική'!
Ακόμη και σαν οπτικό εφέ προσθέτει κάτι στη διασκέδαση.

Ενα ακόμη 'ΣΥΝ' στις παρουσιάσεις στο U-tube είναι η ποικιλία των μουσικών επιλογών.
Από τα παραπάνω περισσότερο μου αρέσει αυτό με τα 40 LED και λειτουργία PPM.

G

----------


## herctrap

ποια η διφορα πρασινο-κοκκινο?

το πρωτο που ειχα φιταξει ηταν ενα VU το οποιο ηταν μερος ενος Project "knight rider scanner leds"
ειχε και calibration
μετραγε το μεγιστο και το ελαχιστο του ηχου για 10 δευτερολεπτα και προσαρμοζε τα led
δλδ το ελαχιστο για εκεινα τα 10 sec ηταν 0 led και το max ηταν maxLeds

----------


## navar

εγώ θα ξεχωρίσω αυτό με τα RGB leds , πραγματικά είναι το πιό όμορφο σαν αποτέλεσμα και σου αποσπά για περισσότερη ώρα την προσοχή ! σου δίνει το κάτι παραπάνω για να το χαζεύεις ! αυτό το "κάτσε να δούμε τί άλλο κόλπο κάνεί " .(άσχετα αν έχει την μικρότερη ανάλυση απο όλα τα άλλα)

----------


## GeorgeVita

Δοκίμασα την πλακέτα (σχόλιο#19) και ρύθμισα το VUmeter.hex για να ανάβουν στη σειρά τους τα led (τώρα είναι v1.2).

Η τελική μορφή είναι η παρακάτω:



Υπολογιζόμενο *κόστος υλικών €5* (τιμές λιανικής Farnell χωρίς την πλακέτα).
Το μισό κόστος είναι στα LED: KINGBRIGHT L-934LSRD
Αξίζει η δοκιμή με αντιστάσεις R6-R7-R8-R9 = 33Ω και μπλέ LED.

Φιλικά,
Γιώργος

----------


## leosedf

Γιώργο με ποιό πρόγραμμα έφτιαξες το κύκλωμα? Θα ήθελα να δοκιμάσω version σε SMD.

----------


## GeorgeVita

> Γιώργο με ποιό πρόγραμμα έφτιαξες το κύκλωμα? Θα ήθελα να δοκιμάσω version σε SMD.



*PCB* τμήμα του gEDA: http://pcb.gpleda.org
Gerber Viewer το *gerbv*:  http://gerbv.gpleda.org/

G

----------


## GeorgeVita

@ @ @ @ @




> Δεν ξέρω αν έχει ολοκληρωθεί το project. Δοκίμασε να το ποστάρεις ολοκληρωμένο και μαζεμένο στα κυκλώματα οταν είσαι έτοιμος.



Το παρακάτω είναι το
κείμενο για την κατηγορία Κατασκευές
Αν μπορεί η διαχείριση ας το τοποθετήσει αφήνοντας εδώ ένα link!
Τίτλος φαντάζομαι παραπλήσιος με αυτό το θέμα.

Ευχαριστώ,
Γιώργος
@ @ @ @ @


*Τι είναι VU-meter*



Το VU-meter είναι όργανο μέτρησης όγκου ηχητικού σήματος σε σχετική λογαριθμική κλίμακα *dB*. Αυτή η 'σχετικότητα' έχει δημιουργήσει πλήθος τεχνικών προδιαγραφών για κάλυψη πληθώρας εφαρμογών μέτρησης του ακουστικού σήματος από την πρώιμη ραδιοφωνία έως την ψηφιακή εγγραφή με αλγόριθμους συμπίεσης. Σύνοψη των προδιαγραφών και περιγραφή της ανάγκης ελέγχου του όγκου ηχητικού σήματος υπάρχει στο τεχνικό άρθρο της EBU: 
Levelling & Loudness in radio and television broadcasting


*Κλίμακα μετρήσεων*

Κάθε προδιαγραφή μέτρησης VU χρησιμοποιεί και διαφορετική κλίμακα. Η πιό χρήσιμη για καταναλωτικά προϊόντα (προενισχυτές, ενισχυτές, οικιακή εγγραφή ήχου) όπως και στην εκπομπή ραδιοφωνίας/τηλεόρασης είναι η:
*κλίμακα dBu* με σημείο αναφοράς *0 dBu = 0.775 V rms (sine wave) = 1.1 V peak*

Η συνηθέστερη κλίμακα ενδείξεων VU είναι από -20dB έως +3dB.
Στο παρόν κύκλωμα έχουμε *κλίμακα από -20dBu έως +5dBu σε 12 βήματα*:




```
 +5dBu   1.948Vp    1.377Vrms
 +3      1.547      1.094
 +2      1.379      0.975
 +1      1.229      0.869
  0      1.095      0.775
 -1      0.976      0.690
 -2      0.870      0.615
 -3      0.776      0.548
 -5      0.616      0.436
 -7      0.489      0.346
-10      0.346      0.245
-20      0.110      0.077
```


(μετατροπή με το calculator dBu σε Vrms και Vp)


*Ενδειξη μέσης στάθμης σήματος και κορυφών*

Τα VU-meters δείχνουν μια *μέση τιμή στάθμης σήματος*. Βασική παράμετρος προδιαγραφής είναι οι χρόνοι μετάβασης (*attack*) και επιστροφής (*decay*) της ένδειξης για ριπή τόνου. Η 'κλασική' απόκριση είναι 300mSec attack/decay και προέρχεται από τα όργανα βελόνας. Πολύ γρήγορη ένδειξη δε συνιστάται γιατί 'μπερδεύει' το χρήστη που πρέπει να έχει οπτική αντίληψη του σήματος. Μια χρήσιμη λειτουργία στα VU-meter με LED είναι η συγκρατημένη ένδειξη των κορυφών (*peak hold*) για πρόληψη τυχόν παραμορφώσεων στα στάδια ενίσχυσης ή διαμόρφωσης. 

Υπάρχουν πολλά κυκλώματα για τη μέτρηση του μέσου όγκου σήματος όπως και της συγκράτησης κορυφών. Γενικά χωρίζονται στα μισού ή πλήρους κύματος δηλαδή αυτά που δειγματοληπτούν τη θετική πλευρά ή όλο το σήμα. Αρκετά κυκλώματα θα βρείτε στο datasheet του LM3916 (NSC) και στο internet. Εδώ θα χρησιμοποιήσουμε απλό κύκλωμα ανίχνευσης κορυφών μισού κύματος με τρανζίστορ το οποίο δίνει ενδείξεις πάνω από τα 0dBu. Η συμπεριφορά του κυκλώματος αυτού φαίνεται στην παρακάτω φωτογραφία, η έξοδος του ανιχνευτή κορυφών έχει έντονο μπλε χρώμα:




*Κύκλωμα*

Το κύκλωμα βασίζεται στον μC *PIC12F675* των 8 pins και τη συνδεσμολογία CharliePlexing στα 12 LED. Ο μC χρονίζεται από τον ενσωματωμένο ταλαντωτή (RC 4MHz). Οι μετρήσεις γίνονται από τον εσωτερικό A/D (10 bits). Στην είσοδο ήχου υπάρχει απλός ανιχνευτής κορυφών (LM3916 application note). Η οδήγηση των 12 LEDs θα γίνει από 4 I/O pins εναλλάσσοντας κατάσταση εξόδου High/Low/Tristate.

Η τάση τροφοδοσίας πρέπει να είναι καλά σταθεροποιημένη γιατί χρησιμοποιείται και ως τάση αναφοράς για το εσωτερικό A/D. Η κλίμακα VU είναι προ-ρυθμισμένη για ενδείξεις -20 έως +5dB. Η συγκράτηση των ενδείξεων κορυφής λειτουργεί για μετρήσεις μεγαλύτερες από 0dBu (στα 4 τελευταία LED).

*Ο μC θα προγραμματιστεί με το αρχείο: VUmeter.hex*






*Πλακέτα*
Η κάτοψη μονταρίσματος:



Η όψη του χαλκού (διάσταση 65mm επί 31mm):



Η όψη χαλκού σε .pdf για εκτύπωση.

Μπορείτε να φτιάξετε τη δική σας πλακέτα σε άλλο μέγεθος ή σχήμα. Συνδέστε τα LED όπως σας βολεύει. Στο πρόγραμμα έχει προβλεφθεί πίνακας αντιστοίχισης των LED για να 'μπουν στη σωστή σειρά'.


*Αλλαγή θέσης των LED με το 'Test Mode'*

Τα LED συνδέονται σε 6 αντιπαράλληλα ζεύγη (κάθε ζεύγος έχει ένα LED 'ορθά' πολωμένο και ένα 'ανάστροφα') και πρέπει να γίνουν οι πιθανές συνδέσεις (Α με Β, Α με C, A με D, B με C,  B με D και C με D). Για να βρείτε τη σωστή σειρά των LED ενεργοποιήστε το 'Test Mode' ενώνοντας το αντίστοιχο jumper TEST (γείωση στο pin 4 του μC). 

Τροφοδοτείστε με 5VDC το κύκλωμα. Θα παρατηρήσετε τα LED να ανάβουν αργά το ένα μετά το άλλο και στο τέλος θα υπάρχει ένα κενό (όλα σβηστά). Ο κύκλος θα επαναλαμβάνεται όσο το jumper TEST είναι ενωμένο. Μόλις αρχίζουν να ανάβουν, σημειώστε τους α/α των LED στην πλακέτα σας. Λ.χ. άναψε πρώτο το 7ο μετά το 8ο, το 4ο κλπ.

Πριν προγραμματίσετε τον PIC12F675 κοιτάξτε τη μνήμη προγράμματος στις *διευθύνσεις από 0x0031*. Εκεί υπάρχει ο πίνακας αντιστοίχισης των LED. Στο v1.2 του VUmeter.hex περιέχονται:
ADDR: 0031   DATA: 34*0A* 34*0B* 34*06* 34*07* 34*05* 34*04* 34*02* 34*03* 34*08* 34*09* 34*00* 34*01*

Αν υποθέσουμε ότι εσείς είδατε να ανάβουν τα LED με τη σειρά:
7-8-4-3-1-2-10-9-11-12-6-5 (δηλ. το 7ο LED της πλακέτας σας άναψε 1ο και τελευταίο άναψε το 5ο)
θα προγραμματίσετε τις θέσεις μνήμης με τον *α/α -1 σε δεκαεξαδικό* δηλαδή με:
06-07-03-02-00-01-09-08-0A-0B-05-04 (στο δεκαεξαδικό 10=0A, 11=0B)

Συγκεκριμένα Θα αλλάξετε τις θέσεις μνήμης σε:
ADDR: 0031   DATA: 34*06* 34*07* 34*03* 34*02* 34*00* 34*01* 34*09* 34*08* 34*0Α* 34*0Β* 34*05* 34*04*


*Λίστα Υλικών*



```
Λίστα Υλικών
------------
R1    10 KΩ
R2     1 KΩ
R3   100 KΩ
R4   100 KΩ
R5     1 MΩ
R6   180 Ω
R7   180 Ω
R8   180 Ω
R9   180 Ω

C1    33 μF/16V
C2   220 nF
C3   100 nF

Q1   BC557B
D1   1N4148
IC1  PIC12F675 και βάση για IC 8 pin

12x LED KINGBRIGHT L-934LSRD
```


Σημείωση: οι αντιστάσεις R6-R9 μπορούν να μειωθούν έως τα 18Ω για αύξηση φωτεινότητας στα LED ή για χρήση μπλε/άσπρων LED τα οποία πρέπει να είναι χαμηλού ρεύματος ή υψηλής φωτεινότητας


*Τελική μορφή*
Παρακάτω φαίνεται το μονταρισμένο πρωτότυπο με 12 κόκκινα LED.
Με click στην εικόνα θα δείτε μικρό video clip (mpeg1 <1MB).



Χρησιμοποιήστε βάση στο μC για να μπορείτε να τον προγραμματίσετε πάλι εύκολα.

*Υπολογιζόμενο κόστος υλικών €5*
(τιμές λιανικής Farnell χωρίς την πλακέτα. 50% του κόστους στα LED)
Αξίζει η δοκιμή με αντιστάσεις R6-R7-R8-R9 = 18Ω και μπλε LED.

Ιδέες, ερωτήσεις, ιστορικό για την κατασκευή αυτή στο: VUmeter με PIC (12 LEDs)

Καλή επιτυχία!
Γιώργος

----------


## leosedf

Πραγματικά Γιώργο γράφεις....

----------


## herctrap

μιας και ειναι το δοκιμαστικο

μια επεξηγηση του κυκλωματος 

audio in εως το Vout

ευχαριστω

----------


## navar

όταν ξαναυπάρξει αξιόλογο ελληνικό περιοδικό με ηλεκτρονικές κατασκευές ο Γιώργος θα πρέπει να είναι ο πρώτος που θα προσληφθεί !

----------


## GeorgeVita

Ευχαριστώ!





> ποια η διαφορά πράσινο-κόκκινο;







> ... μια επεξήγηση του κυκλώματος audio in έως το Vout



Γειά σου Ηρακλή,
συνήθως τα πράσινα LED τα βάζουν στα 'κανονικά' επίπεδα σήματος έως τα 0dB (επίπεδο αναφοράς) και τα κόκκινα στα σημεία που μπορεί να υπάρχει παραμόρφωση. Η βασική χρήση του VU-meter είναι να ελέγχει ο χειριστής μηχανημάτων ήχου το επίπεδο στάθμης εισόδου για αποφυγή της υπεροδήγησης κατά την εγγραφή, ενίσχυση ή εκπομπή του ηχητικού προγράμματος. Είναι όμως και καλό οπτικό εφέ οπότε τα περισσότερα χρώματα ή και οι διαφορετικές 'κινήσεις' δίνουν κάτι σ'αυτό το εφέ.
Το κύκλωμα του ανιχνευτή κορυφών αναλύεται στο datasheet του LM3916 (έχω link παραπάνω). Γενικά φορτίζεται ο πυκνωτής C2 με τα peaks μέσω της διόδου D1 και εκφορτίζεται αργά από την αντίσταση R5 και την είσοδο του A/D ο οποίος μετρά αυτή την τάση.
G

----------


## herctrap

και μιας και αυτο δεν ειναι το τελικο ποστ της κατασευης

και για να καταλαβουμε εγω και ο navar καλυτερα κανω μια προσπαθεια

VUmeter.jpg

λοιπον

ο uE σου μετραει την ταση στο Pin 3

ο C1 και C3 κρατανε σταθερα τα +5V

η R5 αποφορτιζει τον πυκνωτη οταν δεν αγει το τρανσιστορ

η R3 κραταει LOW την εισοδο του τρανσιστορ και αυτη για θορυβο

η R1 περιοριζει το ρευμα φορτισης του πυκνωτη και αποτρεπει το βραχυκυκλωμα οταν το τρανσιστορ αγει

οταν το σημα σου ειναι 0Vη πιο κατω απο 0V στα αρνητικα τοτε το τρανσιτορ δεν αγει και ο πυκνωτης φορτιζετε

οταν το σημα ειναι πιο πανω απο 0V τοτε το ρευμα παει στην γειωση και ο πυκνωτης αποφορτιζετε μεσω της R5

--------

αλλα απο τι δινετε η ταση του πυκνωτη ?

και γιατι υπαρχει η διοδος δεν καταλαβα

ευχαριστω

----------


## GeorgeVita

> ... αλλά από τι δίνεται η τάση του πυκνωτή, και γιατί υπάρχει η δίοδος ...



Ο πυκνωτής C2 φορτίζεται από τα 5V μέσω της αντίστασης R1 και της διόδου D1. Η τάση που εμφανίζεται στον εκπομπό του Q1 είναι ανάλογη του ρεύματος Iec. Μεγαλύτερο ρεύμα σημαίνει μεγαλύτερη πτώση τάσης στην R1 άρα μικρότερη τάση (σε σχέση με τα 0V) στον εκπομπό. Ο C2 συγκρατεί τη μέγιστη στιγμιαία τιμή τάση μείον την τάση ορθής πόλωσης στη δίοδο (Vdf). Φορτίζεται μόνο όταν η τάση στον εκπομπό είναι μεγαλύτερη από την τάση που υπάρχει ήδη αποθηκευμένη στον πυκνωτή (συν την Vdf). Δηλαδή η δίοδος επιτρέπει τη φόρτιση του C2 (όταν υπάρχει μεγαλύτερη τάση) αλλά όχι την εκφόρτιση μέσα από το τρανζίστορ.

Το κύκλωμα για εξομοίωση (χωρίς τη δίοδο και με αντίσταση πηγής):


Το αποτέλεσμα της εξομοίωσης δείχνει την ανόρθωση και τη μετατόπιση λόγω επαφής Vec.



Η τάση αυτή σχεδόν αφαιρείται από τη δίοδο λόγω τάσης ορθής πόλωσης (Vdf). Οτι μένει δίνει λάθος μέτρηση το οποίο ισοσκελίζεται από το πρόγραμμα.

Φιλικά,
Γιώργος

----------


## herctrap

ναι σωστα 

μου ειχε κολισει οτι το τρανσιτορ ηταν npn 


και το audio σημα τι ειναι?

ερχετε απο ενα mic? (και τι μικροφωνο?)
ερχετε απο την εχοδο ηχου ενος pc?

----------


## GeorgeVita

Συμπλήρωσα κάτι στο προηγούμενο σχόλιο.





> και το audio σήμα τι είναι;



Τυπικό επίπεδο Line out. Λόγω πολλών προδιαγραφών η μέτρηση γίνεται σε dBu (0dbU=0.775Vrms) έχει link παραπάνω.
Στο σχόλιο#14 έβαλα ένα υποτυπώδες κύκλωμα προσαρμογής πυκνωτικού μικροφώνου. Αν βρεθεί calibrated προ-ενισχυτής με μικρόφωνο θα μπορούσε να σιγά σιγά να φτιαχτεί dB SPL meter.
G

----------


## navar

> και μιας και αυτο δεν ειναι το τελικο ποστ της κατασευης
> 
> και για να καταλαβουμε εγω και ο navar καλυτερα κανω μια προσπαθεια



 άστο Ηρακλή !
σιγά μην καταλάβει ο navar !
αυτά είναι καμιά δεκαριά σκαλιά μακριά απο το δικό μου επίπεδο ! έχω δρόμο ακόμα !

----------


## herctrap

πυκνωτικα ειναι τα μικροφωνα με τον ανθρακα μεσα?

η γενικα αυτα που μεταβαλουν την αντισταση τους αναλογα με την εναση του ηχου? (μερικες δεκαδες ohm)

----------


## FILMAN

Ηρακλή, πυκνωτικά μικρόφωνα είναι αυτά με ...πυκνωτή μέσα. Λέγονται και electret, κυκλοφοράνε σε έκδοση με 3 ή 2 άκρα και θέλουν και τροφοδοσία. Μικρόφωνα άνθρακα δεν χρησιμοποιούνται σήμερα, χρησιμοποιούνταν στα τηλέφωνα την εποχή του ...παππού σου. Τα υπόλοιπα μικρόφωνα μπορεί να είναι δυναμικά (ένα διάφραγμα πάνω στο οποίο είναι στερεωμένο ένα πηνίο και μπορεί να κινείται μέσα στο μαγνητικό πεδίο ενός μόνιμου μαγνήτη), ή κρυσταλλικά που βασίζονται στο πιεζοηλεκτρικό φαινόμενο.
Υ.Γ. Γιώργο, πραγματικά συγχαρητήρια τόσο για την κατασκευή σου, όσο και για τον τρόπο παρουσίασης!

----------


## GeorgeVita

Ευχαριστώ Φίλιππε, μόνο που μου έμεινε η ρετσινιά του CharliePlexing ενώ αν έβαζα ένα-δυό λεντάκια ακόμη θα γινόταν giplexing!
G

----------


## FILMAN

Ε, καλά, θα το κάνεις στο επόμενο μοντέλο!

----------


## KOKAR

Γιώργο πραγματικά έγραψες !
μόλις σήμερα πήρα χαμπάρι αυτό το thread !

----------

