PDA

Επιστροφή στο Forum : Μέτρηση Ταχυτήτων



MIXAGELOS
19-05-08, 22:39
γειά σας, είμαι αρκετώ καιρό κοντά σας, αλλά γράφω για πρώτη φορά. το κύκλωμα που θέλω να φτιάξω είναι απλό αλλα έχω μερικές απορίες.
θέλω να φτίαξω ένα μετρητή με led (6) με push button, όσες και η ταχύτητες της μηχανής μου, δηλαδή όταν θα πατάω τον επιλογέα ταχυτήτων o διακόπτης που θα είναι προσαρμοσμένος (ακόμα δεν ξέρω πως) θα ανάβει και ένα led.
1) αυτό μπορώ να το κάνω χρησιμοποιώντας το 4040β?
2)στο κατέβασμα τον ταχυτήτων με χρήση ενός άλλου διακόπτη πως θα σβήνουν τα led?
ελπίζω να έγινα κατανοητός. Ευχαριστώ

Nemmesis
20-05-08, 11:25
εχω να σου προτινω κατι αλλο... θελεις οποσδηποτε λεντ η μηπως θα σου αρεσε και ενα 7segment display? πες ποιο σου αρεσει ποιο πολυ και βλεπουμε.. αλλα λογο του οτι θα χρειαστει να "καθαρισεις" τους παλμους απο τα διακοπτακια που θα εχεις μπορω αν θελεις να σου προγραμματισω ενα 16f84a και να στο στειλω... ετσι απλα εσυ το μονο που θα χρειαστεις ειναι να κανεις τις συνδεσεις.. και ολο αυτο μονο με ενα ολοκληρομενο.. αλλιως θελεις ενα για να βγαλεις καθαρο παλμο ενα για τον μετρητη και ενα ακομα που θα μετατρεπει τα σηματα του μετρητη ή σε 6 λεντ ή σε 7segment...εννοειτε οτι δεν θελω λεφτα...
φιλικα πανος

MIXAGELOS
20-05-08, 13:13
γιατί πρέπει να καθαρίζει ο παλμός για τα led? θέλω να πω πως είναι ένα απλό ηλεκτρικό σήμα που σε κάθε πάτημα του button θα ανάβει το led. τώρα για να το λές κάτι θα ξέρεις. όσο αφορά το 16f84a, αν δεν θα σου ήταν κόπος θα ήθελα να μου το στήλεις, αλλά μπορείς να μου πείς στο ολοκληρωμένο που θα στήλεις εγώ θα συνδέσω το 7segment και τον διακόπτη σωστα? θα σου στήλω σε Pm τα στοιχεία μου. είσαι παλικάρι, ευχαριστώ

MIXAGELOS
20-05-08, 13:17
και κάτι ακόμα δες αυτό το κύκλωμα. σε αυτό σκευτόμουνα να βασιστώ

Nemmesis
20-05-08, 13:32
οταν ειπα να "καθαρισει" γιατι οσο και αν το βλεπει το ανθρωπινο ματι οτι οτι ο διακωπτης δινει σημα οταν τον πατας στην πραγματικοτιτα δινει καποια παρασητα μεχρι να αλλαξει απο 0 τα οποια ομως δεν εντοπιζει το ματι μας αλλα τα εντοπιζουν τα ολοκληρωμενα με αποτελεσμα να μετραει παραπανω απο οτι πρεπει...
σημερα το βραδυ θα ασχολειθω με το προγραμματακι και αν μπορεσω θα στο στειλω αυτο... θα εχω μεσα και σχεδιαγραμμα με το τις σινδεσεις...

DT200
20-05-08, 19:10
Ωραίος ... Ο Nemmesis...! 8)

Nemmesis
20-05-08, 19:42
και κάτι ακόμα δες αυτό το κύκλωμα. σε αυτό σκευτόμουνα να βασιστώ

το κυκλωμα που λες δεν σου κανει γιατι δεν ειναι up/down counter... ειναι μονο up... δλδ θα σου δειχνει σωστα οταν ανεβαζεις ταχυτητα αλλα οταν κατεβαζεις τι θα κανει? αυτο μπορει μονο να προσθετει και να μηδενιζει... αλλα μην αγχονεσε... συντομα θα εχεις γραμμα :)... εσυ απλα θα χρειαστει να κανεις μια τροφοδοσια 5v για το κυκλωμα...


Ωραίος ... Ο Nemmesis...! 8) :)

Nemmesis
21-05-08, 23:33
ο κωδικας ειναι ετοιμος αλλα τελικα το εκανα σε 16f88 για να μην χρειαζεσε κρυσταλο... το προγραμμα μπορει να δουλεψει και 7λεντ(κενο+6ταχυτητες) και 7segment display αναλογα με το αν εχεις στο + ή - ενα ποδαρακι του πικ... μαλλων δεν θα μπορεσω να στο στειλω αυριο ομως λογο δουλειας... θα ποσταρω και το κυκλωματακι ολο με τις συνδεσεις συντομα...

ps. ακομη δεν εχω ιντερνετ σπιτι :(

MIXAGELOS
22-05-08, 02:16
ok, σου ειμαι υποχρεως

otakis
23-05-08, 11:51
και κάτι ακόμα δες αυτό το κύκλωμα. σε αυτό σκευτόμουνα να βασιστώ

ποιο ολοκληρωμένο είναι αυτό?

MIXAGELOS
23-05-08, 15:45
ειναι το hcf4040b

stentor
26-05-08, 19:35
ο κωδικας ειναι ετοιμος αλλα τελικα το εκανα σε 16f88 για να μην χρειαζεσε κρυσταλο... το προγραμμα μπορει να δουλεψει και 7λεντ(κενο+6ταχυτητες) και 7segment display αναλογα με το αν εχεις στο + ή - ενα ποδαρακι του πικ... μαλλων δεν θα μπορεσω να στο στειλω αυριο ομως λογο δουλειας... θα ποσταρω και το κυκλωματακι ολο με τις συνδεσεις συντομα...

ps. ακομη δεν εχω ιντερνετ σπιτι :(

Ποσταρε τα ολα μαζι αδερφε σε ενα zip αν θελεις
Ευχαριστω κι εγω.

Nemmesis
28-05-08, 00:19
θα τα ετοιμασω ολα και θα τα ανεβασω...
προς το παρων δειτε τα βιντεο:)

o πικ να δουλευει τα 7 λεντ...
http://www.youtube.com/watch?v=z7t5gFNSwik

και το 7segment
http://www.youtube.com/watch?v=ki8DSFHfRc8

DT200
28-05-08, 20:39
πολύ καλό φίλε, μπράβο !
αν θέλεις πόσταρε τον κώδικα να σε καμαρώσουμε. :D

Nemmesis
29-05-08, 01:45
πολύ καλό φίλε, μπράβο !
αν θέλεις πόσταρε τον κώδικα να σε καμαρώσουμε. :D



program dred
dim i as byte
dim ii as byte
dim oldstate1 as byte
dim oldstate2 as byte

main:
osccon = %01110000
INTCON = 0
ANSEL = 0
trisb=%10000000
trisa=%01100000
porta = 0
portb = 0
i = 0
ii = 0
portb = 0

delay_ms(100)


PORTB = %11111110
delay_ms(100)
PORTB = %11111100
delay_ms(100)
PORTB = %11111000
delay_ms(100)
PORTB = %11110000
delay_ms(100)
PORTB = %11100000
delay_ms(100)
PORTB = %11000000
delay_ms(100)
PORTB = %10000000
delay_ms(100)

PORTB = %10000001
delay_ms(100)
PORTB = %10000011
delay_ms(100)
PORTB = %10000111
delay_ms(100)
PORTB = %10001111
delay_ms(100)
PORTB = %10011111
delay_ms(100)
PORTB = %10111111
delay_ms(100)
PORTB = %11111111
delay_ms(100)

PORTB = %00000000
delay_ms(100)
PORTB = %11111111
delay_ms(100)
PORTB = %00000000
delay_ms(100)
PORTB = %11111111
delay_ms(500)




dred:
if Button(PORTB, 7, 1, 1) then
II = 255
ELSE
ii = 0
END IF


if Button(PORTa, 6, 10, 1) then 'koumpi down
oldstate1 = 255
end if
if oldstate1 and Button(PORTa, 6, 10, 0) then
oldstate1 = 0
goto up
end if


if Button(PORTa, 7, 10, 1) then 'koumpi down
oldstate2 = 255
end if
if oldstate2 and Button(PORTa, 7, 10, 0) then
oldstate2 = 0
goto down
end if

if ii = 255 then
select case i
case 0
PORTB = %11111110
case 1
PORTB = %11111101
case 2
PORTB = %11111011
case 3
PORTB = %11110111
case 4
PORTB = %11101111
case 5
PORTB = %11011111
case 6
PORTB = %10111111
end select
else
select case i
case 0
PORTB = $C0
case 1
PORTB = $F9
case 2
PORTB = $A4
case 3
PORTB = $B0
case 4
PORTB = $99
case 5
PORTB = $92
case 6
PORTB = $82
end select
end if

GOTO DRED


up:
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred

end.


ο κωδικας οπως βλεπετε ειναι πολυ βιαστηκα γραμμενος αλλα δουλευει... :P

billys7
29-05-08, 02:17
Μάλλον θα ξαναμπώ στο τρυπάκι...

Πολύ Ωραίος!!!!!!!!!!!!!!!

DT200
29-05-08, 11:47
Φίλε Nemmesis έχω κάποιες απορίες...


if Button&#40;PORTa, 7, 10, 1&#41; then
εδώ υπάρχει ένα πρόβλημα , το πιν 7 της πόρτας Α το έχεις
καθορίσει σαν έξοδο στην αρχή τού προγράμματος.


up&#58;
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred
εδώ δεν καταλαβαίνω τι σημαίνει η πρώτη γραμμή (if i <6> 0 then)

και τέλος , παρατηρώ ότι δεν υπάρχει ρουτίνα down

μπορείς να μου εξηγήσεις αυτές τις απορίες ?

τα λέμε ...

MIXAGELOS
29-05-08, 13:43
φίλε nemmesis βρήκες καθόλου χρόνο να μου το στήλεις?

Nemmesis
31-05-08, 15:03
παιδια κατι εγινε με τα login μου και δεν εδειξε οτι υπηρχαν νεα μνμτ εδω... τωρα τα ειδα...
@ DT200.. λαθος μου.. οταν γραφω καποιο προγραμμα συνηθως αποθηκευω την προοδο του προγραμματος σε διαφορετικα αρχεια ετσι ωστε να μπορω ευκολα να παω πισω.. και ετσι μπρερδευτικα και αυτο που ανεβασα δεν ηταν ολοκληρωμενο.. και σωστο.. το προγραμμα ειναι αυτο..


program dred_release
dim i as byte
dim ii as byte
dim oldstate1 as byte
dim oldstate2 as byte

main&#58;
osccon = %01110000
INTCON = 0
ANSEL = 0
trisb=%10000000
trisa=%11000000
porta = 0
portb = 0
i = 0
ii = 0
portb = 0

delay_ms&#40;100&#41;


PORTB = %11111110
delay_ms&#40;100&#41;
PORTB = %11111100
delay_ms&#40;100&#41;
PORTB = %11111000
delay_ms&#40;100&#41;
PORTB = %11110000
delay_ms&#40;100&#41;
PORTB = %11100000
delay_ms&#40;100&#41;
PORTB = %11000000
delay_ms&#40;100&#41;
PORTB = %10000000
delay_ms&#40;100&#41;

PORTB = %10000001
delay_ms&#40;100&#41;
PORTB = %10000011
delay_ms&#40;100&#41;
PORTB = %10000111
delay_ms&#40;100&#41;
PORTB = %10001111
delay_ms&#40;100&#41;
PORTB = %10011111
delay_ms&#40;100&#41;
PORTB = %10111111
delay_ms&#40;100&#41;
PORTB = %11111111
delay_ms&#40;100&#41;

PORTB = %00000000
delay_ms&#40;100&#41;
PORTB = %11111111
delay_ms&#40;100&#41;
PORTB = %00000000
delay_ms&#40;100&#41;
PORTB = %11111111
delay_ms&#40;500&#41;




dred&#58;
if Button&#40;PORTB, 7, 1, 1&#41; then
II = 255
ELSE
ii = 0
END IF


if Button&#40;PORTa, 6, 10, 1&#41; then 'koumpi select
oldstate1 = 255
end if
if oldstate1 and Button&#40;PORTa, 6, 10, 0&#41; then
oldstate1 = 0
goto up
end if


if Button&#40;PORTa, 7, 10, 1&#41; then 'koumpi menu
oldstate2 = 255
end if
if oldstate2 and Button&#40;PORTa, 7, 10, 0&#41; then
oldstate2 = 0
goto down
end if

if ii = 255 then
select case i
case 0
PORTB = %11111110
case 1
PORTB = %11111101
case 2
PORTB = %11111011
case 3
PORTB = %11110111
case 4
PORTB = %11101111
case 5
PORTB = %11011111
case 6
PORTB = %10111111
end select
else
select case i
case 0
PORTB = $C0
case 1
PORTB = $F9
case 2
PORTB = $A4
case 3
PORTB = $B0
case 4
PORTB = $99
case 5
PORTB = $92
case 6
PORTB = $82
end select
end if

GOTO DRED


up&#58;
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred


down&#58;
if i > 0 then
i=i-1
else
i=6
end if
goto dred

end.


@ MIXAGELOS τον φακελο τον εχω δωσει εδω και μερες να τον ταχυδρομισει ενας φιλος μου οποτε μαλλον θα πρεπει να των περιμενεις απο δευτερα...

DT200
01-06-08, 10:10
φίλε Nemmesis τι σημαίνει αυτό και τι κάνει ?

if i <6> 0 then

Nemmesis
01-06-08, 10:19
φίλε Nemmesis τι σημαίνει αυτό και τι κάνει ?

if i <6> 0 then

ελα ντε? τι ειναι??
κανονικα ειναι

if i <0 then
ελπιζω να ειναι μην ειναι τπτ αλλο... αυτο εγινε γιατι εξηγουσα πως δουλευει ο κωδικας σε εναν φιλο μου που θελει να ασχολιθει...

Nemmesis
02-06-08, 01:10
και ολα τα αρχεια για την microbasic...

http://rapidshare.com/files/119372242/endhjh_taxythtas_internal_crustal.rar.html

Nemmesis
06-06-08, 20:42
σου ηρθε φιλε?

MIXAGELOS
06-06-08, 21:19
οχι ακόμα. ίσως φταίνε τα ΕΛΤΑ

Nemmesis
06-06-08, 21:50
btw τι μηχανη εχεις?

MIXAGELOS
07-06-08, 00:25
KLE 500 05',

dond4le
09-09-09, 18:53
Στην δικια μου μηχανη υπαρχει Gear Possition Sensor το οποιο αναλογατην σχεση που εχεις σου δινει και μια ταση.

Θα χρησιμοποιησω αυτα για την κατασκευη του ενδικτη:

1 579-PIC16F506-I/P
1 595-LM324D
7 299-270-RC
1 299-1.5K-RC
1 299-100K-RC
1 696-LDS-C516RI
1 512-LM7805CT
1 594-K104K15X7RF53L2

Δεν εχω και πολλες γνωσεις απο ηλεκτρονικα. Κατασκευαστηκα δεν εχω προβλημα αλλα στον προγραμματισμο μεγαλο.

Μπορειτε να μου δοσετε καποιες πληροφορειες για τον προγρμματισμο του pic.

Zak
09-10-09, 15:06
παιδια εχω προβλημα
σχετικα με το κωγικα κανω copy paste sti macrobasic και οταν παω να κανω hex η φραση if i <6> 0 then μου βγαζει error
Καμια λυση
ολο το κωδικο δε μπορω να το μετατρεψω σε hex

lastid
09-10-09, 16:17
Πιστεύω ότι το κομμάτι:


up:
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred


down:
if i > 0 then
i=i-1
else
i=6
end if
goto dred

πρέπει να αντικατασταθεί από το κομμάτι:


up:
if i < 6 then
i=i+1
else
i=6
end if
goto dred


down:
if i > 0 then
i=i-1
else
i=0
end if
goto dred

Zak
10-10-09, 14:14
κανω την αντικατασταση και κατω στο messege για την πετατρωπη μου βγαζει 145:1 E-4 Syntax error: Expected '.' but '' found 18.pbas
μηνυμα στην 145 σειρα που δεν εχω γραψει κατι

lastid
10-10-09, 14:26
Αν το τελικό end είναι στη γραμμή 144, τότε σου λέει ότι δεν έβαλες τελεία στο end.

Zak
10-10-09, 18:18
το εκανα μετατρωπει αλλα οταν φτιαχνω το κυκλωμα δε μου δουλεει 5v R=1kΩ
μου δειχνει συνεχεια 8 και οταν παταω up μου σβηνει το 7segment

Zak
13-10-09, 01:17
παιδια ειναι συγουρα το pic1688 γιατι στο programmer μου λεει οτι δεν υποστηριζει το hex ayto to pic

Zak
15-10-09, 01:09
αν μπορητε καντε το μου σε hex

Zak
15-10-09, 20:09
πρεπεο να φτεει το προγραμα του programmer γιατι οταν παω να το φορτωσο μου λεει να ρυθμισω τα fuses ο programmer μου το συστησε ο θανος10

Stergios_[.gr]
16-10-09, 14:55
ΩΡΑΙΟΣ Nemmesis!! :thumbup:

Zak
18-10-09, 18:23
το εκανα μετατρωπει αλλα οταν φτιαχνω το κυκλωμα δε μου δουλεει ταση δινο 5v και R=1kΩ και
μου δειχνει συνεχεια 8 και οταν παταω up or down μου σβηνει το 7segment
καμια βοηθεια

Nemmesis
18-10-09, 21:08
χμμ.. τωρα μολις ειδα οτι εχει ξανανοιξε το θεμα... θα ψαξω να βρω το hex να σας το ανεβασω...

Stergios_[.gr]
19-10-09, 01:37
χμμ.. τωρα μολις ειδα οτι εχει ξανανοιξε το θεμα... θα ψαξω να βρω το hex να σας το ανεβασω...
Ευχαριστούμε! θα το θέλαμε πολύ!

Billll
21-10-09, 06:53
Ρε παιδια οι πιο πολλες μηχανες εχουν την πρωτη ταχυτητα κατω και τις υπολοιπες επανω. Επισης η νεκρα ειναι ενδιαμεσα πρωτης και δευτερας. Σε αυτη την περιπτωση τι γινεται?

BillGeo
28-04-10, 01:46
Ρε παιδια οι πιο πολλες μηχανες εχουν την πρωτη ταχυτητα κατω και τις υπολοιπες επανω. Επισης η νεκρα ειναι ενδιαμεσα πρωτης και δευτερας. Σε αυτη την περιπτωση τι γινεται?

Kαλα, εκτος απο αυτο (που ειναι και το προφανες λαθος της κατασκευης)
τι γινετε με τις "ψευτοαλλαγες", οπου ανεβαζεις τον λεβγιε, αλλα η ταχυτητα δεν εχει μπει και θελει και δευτερη.
΄Η στην περιπτωση που εχεις 6 και ξεχαστεις και πας να ανεβασεις σε "εβδομη"?

Γενικα, ωραιο το κυλωματακι και ο κωδικας, αλλα δεν θα δουλεψει ποτε με αυτον τον τροπο.

Αυτο που κανουν τα περισσοτερα universal Gear Indicators ειναι να μετρανε τις στροφες
του μοτερ και την ταχυτητα της μηχανης και με μια σταθερη σχεση (την "μαθαίνουν" αρχικα για καθε μηχανη)
υπολογιζουν την σχεση που πρεπει να υπαρχει στο κιβώτιο.
Βεβαια αυτο ολο τα κανει λιγο αργα στην ένδειξή τους και βεβαια οταν η μηχανη ειναι ακινητη δεν διχνουν τιποτα.