PDA

Επιστροφή στο Forum : ΤΑΣΗ ΣΕ LED DISPLAY



athalex
08-05-06, 20:12
Καλησπέρα σε όλους
Έχω τον ST62 ο οποίος έχει A/D converter .μετράω λοιπόν μια τάση την οποία μεταφράζει από 1 έως 255 BIT .
Θέλω αυτήν την τάση να την εμφανίζει σε 4 led display τα οποία τα οδηγώ με το CA3161 .
Η τάση που μετράει είναι το BIT / 51 , δηλαδή αν μέτρηση 137 BIT τότε η τάση είναι 2.686 βολτ .
εγώ θέλω αυτήν την τάση να την εμφανίζει σε 4 display .
με το ίδιο CA3161 οδηγώ και τα 4 display πρώτα το πρώτο μετά το δεύτερο και συνεχίζει .
καμία ιδέα ρε μάγκες;
Ευχαριστώ

gsmaster
08-05-06, 23:21
Κοίταξε με το CA3161 μπορείς να οδηγήσεις ένα ψηφίο.
Θα πρέπει, αφού θα έχεις το αποτέλεσμα, να χωρίσεις τα ψηφία ένα-ένα, και να τα στέλνεις στο σωστό CA3161 για να πάνε στο σωστό display. Εγώ θα προτιμούσα την τιμή να την έχω σε mV για να μην μπλέκω με υποδιαστολές, μετά με διαδοχικές αφαιρέσεις μπορείς να βγάλεις τις χιλιάδες τις εκατοντάδες κτλ...



Πάντως μεγάλο θα σου βγεί το κύκλωμα. Αν το κάνεις κατευθείαν με πολυπλεξία στις εξόδους, θα χρησιμοποιείς μόλις 11 IO. Εκτός αν χρησιμοποιήσεις και τα ολοκληρωμένα και πολυπλεξία οπότε πάς στα 8 IO.

athalex
08-05-06, 23:54
Μόνο 8 εξόδους θα χρησιμοποιήσω φίλε Γιάννη, το πρόβλημα μου δεν είναι το κύκλωμα αλλά το πρόγραμμα .
Το κύκλωμα το έχω κάνει σχεδόν .
4 εξόδους για το CA3161 και 4 εξόδους για να επιλέγω πιο ψηφίο θέλω.
Ας πούμε ότι έχω ένα αποτέλεσμα 123 BIT .
Ας πούμε ότι είναι 2,412 βολτ.
Πως θα αντιστοιχίσω το κάθε ψηφίο με το ανάλογο display .
Δηλαδή το πρώτο νούμερο (2) με το πρώτο display
Το δεύτερο (4) με το δεύτερο display . και τα υπόλοιπα μετά
Ξέρω να εμφανίζω το νούμερο, αλλά πώς να τα απομονώσω ένα δεν ξέρω

athalex
08-05-06, 23:57
Όλα τα display είναι ενωμένα μεταξύ τους
Είναι κοινής ανόδου
Η άνοδος είναι ξεχωριστή στο καθένα και την έλεγχο με τις 4 εξόδους

gsmaster
09-05-06, 00:47
Σωστός....

όπως εμφανίζεις το ένα ψηφίο, θα εμφανίσεις το 2 πχ. και στις γραμμές που επιλέγεις τα ψηφία θα πρέπει να δώσεις να ανάψει το πρώτο ψηφίο. περιμένεις 5mS και αμέσως μετά πας στο επόμενο ψηφίο για άλλα 5ms και μετα στο επόμενο και όταν τελειώσεις και με τα 4 πάλι απο την αρχή.

Αυτό πρέπει να το κάνεις συνέχεια για να βλέπεις και τα 4 ψηφία αναμμένα. Θα πρέπει να βάλεις ένα timer του μΕ σου κάθε λίγο (πχ 5mS ή και περισσότερο) να κάνει update την οθόνη για να τα βλέπεις συνέχεια αναμμένα γιατί όταν δεν ανανεώνεται η οθόνη δεν θα βλέπεις τίποτα. (Γι αυτό δεν τα χωνευω να led display, καλά, χρυσά, αλλά τρώνε πολλά πιν και χρειάζονται συνέχεια ανανέωση)

athalex
09-05-06, 14:27
Φίλε Γιάννη αυτό το ξέρω ,είμαι εντάξει με αυτά.
Με το πρόγραμμα έχω μια δυσκολία.
Εσύ πως θα απομόνωνες το κάθε νούμερο;
Δηλαδή τα 3.123 βολτ ας πούμε .
Πως θα απομόνωνες το 3; Το 1 ; το 2;
Αν τα απομονώσω, ξέρω μετά πώς να τα εμφανίσω .

gsmaster
09-05-06, 18:33
...
Εγώ θα προτιμούσα την τιμή να την έχω σε mV για να μην μπλέκω με υποδιαστολές, μετά με διαδοχικές αφαιρέσεις μπορείς να βγάλεις τις χιλιάδες τις εκατοντάδες κτλ...
...



Στο είπα και παραπάνω, θα στο αναλύσω λίγο ακόμα.

-Έχεις την αρχική τιμή της τάσης σε mV (πχ 3123 mV) αποθηκευμένη σε έναν καταχωρητή με όνομα πχ value
-Ορίζεις 4 καταχωρητές με ονόματα πχ xiliades, ekatontades, dekades, monades και τους μηδενίζεις.

1-ελέγχεις το value αν είναι μεγαλύτερο απο 1000
2--αν είναι <1000>1000 αφαίρείς απο τον value 1000 και αυξάνεις τον xiliades κατα 1. Επιστρέφεις στο βήμα 1

4-ελέγχεις το value αν είναι μεγαλύτερο απο 100
5--αν είναι <100>100 αφαίρείς απο τον value 100 και αυξάνεις τον ekatontades κατα 1. Επιστρέφεις στο βήμα 4

7-ελέγχεις το value αν είναι μεγαλύτερο απο 10
8--αν είναι <10>10 αφαίρείς απο τον value 10 και αυξάνεις τον dekades κατα 1. Επιστρέφεις στο βήμα 7

10-Ότι έχει μείνει στο value το βάζεις στο monades


Απο εκεί και κάτω μένει να στείλεις την κάθε τιμή στο σωστό display για να απεικονιστεί.

10-05-06, 14:44
Παρε ενα MC14489P που οδηγαει 5 ψηφια με CLK, D, ENB... και θα εισαι αψογος...

athalex
14-05-06, 21:07
.φίλε Γιάννη καλησπέρα
καταρχήν σε ευχαριστώ για την απάντηση , δεν σου έγραψα γιατί έλειπα ταξίδι ,
λοιπόν σήμερα που έκατσα και ασχολήθηκα πάλι έκανα κάποιες πράξεις
ο καταχωρητής χωράει μέχρι το 255 έτσι δεν είναι ;
τι έκανα λοιπόν :
πολλαπλασίασα το ΒΙΤ που μου δίνει ο A/D με το 1000
μετά το διαιρώ με το 51 και αυτό που μου δίνει είναι η τάση που θέλω.
Π.χ. 250 ΒΙΤ * 1000 / 51 = 4901 mV που είναι τα βολτ που θέλω να εμφανίσω
Αυτό το νούμερο όμως μου το δίνει το πρόγραμμα σαν 1325h και δεν χωράει σε ένα BYTE και το εμφανίζει σε δυο στο ένα 13h και στο άλλο 25h .
Καμία ιδέα ;;;;;;;;;;;;;;;;;;;;;;;

gsmaster
15-05-06, 00:52
Toν παραπάνω τρόπο τον έχω χρησιμοποιήσει με assembly να μετράει μέχρι 255 (με τρία ψηφία). η λογική είναι ίδια και για τέσσερα ψηφία, αλλά θα πρέπει κάπως να χειριστείς αριθμούς μεγαλύτερους απο 255.
Σε τί γλώσσα γράφεις? υποστηρίζει καταχωρητές 16 bit? Αν ναι, δεν θα έχεις κανένα πρόβλημα.

athalex
15-05-06, 22:50
Φίλε Γιάννη τελικά τα κατάφερα ,
Γράφω σε assembly και πήρα μερικές έτοιμες υπορουτίνες και στην εξομοίωση όλα δουλεύουν ρολόι .
Του βάζω ένα BYTE και αυτό κάνει όλες τις πράξεις και μου εμφανίζει το τελικό αποτέλεσμα σε 5 ψηφία .
Εμένα βέβαια χρησιμοποιεί μόνο τα 4 τελευταία γιατί το αποτέλεσμα μου είναι μόνο σε 4
Τις υπορουτίνες τις προσάρμοσα στις δικές μου απαιτήσεις και τελικά τα κατάφερα .
Είμαι πολύ χαρούμενος

savnik
16-05-06, 08:23
Toν παραπάνω τρόπο τον έχω χρησιμοποιήσει με assembly να μετράει μέχρι 255 (με τρία ψηφία). η λογική είναι ίδια και για τέσσερα ψηφία, αλλά θα πρέπει κάπως να χειριστείς αριθμούς μεγαλύτερους απο 255.
athalex¨Αυτο το προβλημα εχω και εγω.Πως το ελυσες;

athalex
16-05-06, 21:54
Φίλε Νίκο θα σου στείλω το αρχείο με το οποίο έκανα τους πειραματισμούς μου στο πρόγραμμα εξομοιώσεις .
Στο main σου γράφω που βάζω την τιμή από τον A/D .
Μετά την πολλαπλασιάζω με το 1000 και μετά την διαιρώ με το 51 .
Το αποτέλεσμα το στέλνω στην ρουτίνα <PSIFIA> οπου εκεί στέλνει τα νούμερα που αποτελούν τον αριθμό (σε εμένα την τάση π.χ. 2901 mV) σε 4 BYTE .
Ένα στο καθένα .
Τώρα θα γράψω το υπόλοιπο πρόγραμμα που είναι η μέτρηση της εξωτερικής τάσης και να κανονίσω τις πύλες για να συνδεθούν με τα display .Επειδή κιόλας με ενδιαφέρουν κάποιες συγκεκριμένες τάσεις θα του βάλω και κάποια LED ώστε όταν τις έχω να με ειδοποιεί .