# Συζήτηση Κυκλωμάτων > Ψηφιακά Κυκλώματα > Γενικά >  >  DS18B20 & arduino

## Διογένης

Εψαξα πολύ για να βρώ ενα παράδειγμα για αυτο που θέλω να κάνω αλλα δέν  είχα τύχη...και επειδη δεν ειμαι τοσο προχωρημένος στον προγραμματισμό  θα ζητήσω την βοηθεια σας.
Εχω καποιους αισθητήρες ds18b20 τους οποίους θα τους χρησιμοποιήσω σε ένα μηχάνημα για λήψη θερμοκρασίας σε διάφορα σημεία.
Οι αισθητήρες (εξι στο σύνολο) δουλευουν ολοι μια χαρα (στο ιδιο bus)με το παραδειγμα στο site του arduino,και γνωρίζω την διευθυνση του καθε ενα.
Αυτο που θέλω να κάνω είναι να μου στελνουν την θερμοκρασία ο καθένας  ξεχωριστα και κατα ζήτηση.Δηλαδή για παραδειγμα αν εχω 6 διακοπτες,
αναλογα ποιόν θα πατησω να μου δίνει την θερμοκρασία του συγκεκριμένου αισθητήρα.

----------


## manolena

http://bildr.org/2011/07/ds18b20-arduino/

Στο παραπανω παραδειγμα και επειδη εχεις προφανως 6 ομοια αισθητηρια αλλα στην ιδια διευθυνση, θα πρεπει να επιλεγεις καθε φορα αναλογα με το πατημα του αντιστιχου διακοπτη και το αισθητηριο που εχεις να διαβασεις. Καθε μια απο τις 6 γραμμες data τις περνας μεσω ενος μικρου MOSFET σε αντιστιχα σε αριθμο ψηφιακα I/Os και με 6 διακοπτες σε αναλογικη εισοδο του, οταν επιλεγεις καποιον απο αυτους θα διαβαζεις και το αντιστοιχο αισθητηριο.

https://arduino-info.wikispaces.com/...2e5b8ba74d0901

----------

Διογένης (07-11-16)

----------


## Διογένης

> http://bildr.org/2011/07/ds18b20-arduino/
> 
> Στο παραπανω παραδειγμα και επειδη εχεις προφανως 6 ομοια αισθητηρια αλλα στην ιδια διευθυνση, θα πρεπει να επιλεγεις καθε φορα αναλογα με το πατημα του αντιστιχου διακοπτη και το αισθητηριο που εχεις να διαβασεις. Καθε μια απο τις 6 γραμμες data τις περνας μεσω ενος μικρου MOSFET σε αντιστιχα σε αριθμο ψηφιακα I/Os και με 6 διακοπτες σε αναλογικη εισοδο του, οταν επιλεγεις καποιον απο αυτους θα διαβαζεις και το αντιστοιχο αισθητηριο.
> 
> https://arduino-info.wikispaces.com/...2e5b8ba74d0901



Tους διακόπτες τους ανεφερα σαν παράδειγμα.Θα μπορουσε για παράδειγμα στη θέση τους ,να δέχεται ο ελεγκτης σειριακα (πχ με bluetooth η μεσω pc) εναν χαρακτηρα που να αντιστοιχει στην ζητηση θερμοκρασίας του κάθε αισθητηρα.Επίσης οι αισθητηρες εχουν ο καθένας μοναδικη διευθυνση,απλα συνδεονται στο ιδιο pin.To πρόβλημα μου είναι η μορφη του προγραμματισμου που πρεπει να χρησιμοποιησω για να στελνει ο ελεγκτης σημα στον αναλογο αισθητηρα και να διαβαζει τα δεδομενα του.

----------


## watchdog

Καλημέρα κι από μένα.

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

Για να το πω περιληπτικά, το θέμα μου είναι ο χρόνος απόκρισης των αισθητηρίων στις μεταβολές των θερμοκρασιών.

Αναλυτικά:
Έχω ένα Arduino Uno, με 6 DS18b20 συνδεδεμένα όλα σε 1 pin.
Ο σκοπός είναι να παίρνει μετρήσεις από ένα μηχάνημα, από διαφορετικά όμως σημεία.
Σε κάποια σημεία μεταβάλλεται πολύ γρήγορα η θερμοκρασία, σε κάποια άλλα πιο ομαλά.

Το μηχάνημα το ίδιο, έχει δικό του χειριστήριο (με ένδειξη θερμοκρασιών) οπότε από εκεί μπορώ να δω/ελέγξω τις μετρούμενες θερμοκρασίες.
Αλλά το θέμα μου είναι ότι στις δικές μου μετρήσεις, δε μπορώ με τίποτα να "ακολουθήσω" τις ενδείξεις θερμοκρασιών του χειριστηρίου.
Δοκίμασα και σε parasite και σε "κανονική" συνδεσμολογία, δοκίμασα και με 5v και με 3.3v. Φυσικά έχω βάλει και την αντίσταση των 4.7k.

Ευχαριστώ εκ των προτέρων !
*Αν έχω κάνει λάθος που έγραψα στο συγκεκριμένο θέμα, ζητώ συγνώμη και παρακαλώ να μεταφερθεί.

----------


## info@kalarakis.com

Εχεις δει στα φυλλα δεδομενων του αισθητηρα το χρονο αποκρισης?
Εχεις καλη θερμικη επαφη με το μετρουμενο σημειο?
Τα δικα σου αισθητηρια ειναι στο ιδιο σημειο με της μηχανης?

----------


## Fire Doger

Αυτό που βλέπεις είναι η θερμοκρασία πριν 750ms. Τόσος είναι ο χρόνος μετατροπής. Αν βλέπεις την θερμοκρασία που έδειχνε το μηχάνημα πριν περίπου 500ms δεν μπορείς να κάνεις κάτι για αυτό.
Αν έχεις μεγαλύτερες διαφορές είναι λόγο μεθόδου μέτρησης. Το μηχάνημα έχει τους ίδιους αισθητήρες στα ίδια σημεία?

----------


## watchdog

Το μηχάνημα έχει άλλα αισθητήρια, αλλά στις ίδιες ακριβώς θέσεις. Πιθανότατα κάποιο PTC/NTC, δεν είναι δική μου κατασκευή, απλά θέλω να το ελέγχω.

Δεκτό αυτό με τα 750ms, αλλά ακόμα και 2 δευτερόλεπτα μετά, δε θα πάρω την ίδια ένδειξη. Ακόμα και με 9bit resolution (πιο σύντομο σε χρόνο δηλαδή), θα πάρω άλλη τιμή.
Σε ένα σημείο ειδικά, η θερμοκρασία μπορεί να ανέβει από τους 30 στους 50 βαθμούς μέσα σε 7-10", ενώ με το Arduino, εγώ θα βλέπω ακόμα 38-40 βαθμούς.
Εκτός αυτού, τη μέγιστη (~72-82 βαθμούς, εξαρτάται), με το Arduino τη βλέπω σπάνια ή και ποτέ..

Επίσης, δοκίμασα και με thermistor, το οποίο και πάλι δεν ανταποκρίνεται στο ρυθμό μεταβολής. Το LM35, θα μπορούσε να έχει καλύτερη απόκριση ;

Ευχαριστώ και πάλι!
Θοδωρής

Όταν είναι σε στάση το μηχάνημα για ώρα και έχει σταθεροποιηθεί η θερμοκρασία, παίρνω κανονικές τιμές, όταν όμως ξεκινάει και οι τιμές ξεκινάνε να αλλάζουν (άλλες πολύ, άλλες λίγο) εκεί ξεκινάει και χάνεται το θέμα.

----------


## kioan

Πως είναι ο αισθητήρας που χρησιμοποιείς; Σκέτο ds1820 ή αυτά μέσα στο μεταλλικό κάλυμα;
Εάν η θερμοχωρητικότητα του αισθητηρίου σου είναι πολύ μεγαλύτερη από το άλλο που χρησιμοποιείται ήδη, λογικό να παρατηρείς μια "αναισθησία" σε απότομες μεταβολές θερμοκρασίας.

----------


## watchdog

Όχι, είναι η αδιάβροχη έκδοση, με το μεταλλικό περίβλημα και ~1-2m καλώδιο.
Γνωρίζω ότι λόγω του καλύμματος και της απομόνωσης εσωτερικά, θα είχα κάποια μικρή απόκλιση, αλλά αυτή είναι τεράστια !

----------


## kioan

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


Με μια γρήγορη αναζήτηση βρήκα αυτό: https://edwardmallon.wordpress.com/2...ature-sensors/
Δείχνει ακριβώς αυτό που σου είπα. Μερικοί αισθητήρες απλώς κάθονται στον αέρα στο εσωτερικό του μεταλλικού περιβλήματος, ενώ άλλοι έχουν και ρητίνη. Σε κάθε περίπτωση δεν μπορεις να περιμενεις γρήγορη απόκριση από τέτοια αισθητήρια.

----------


## MacGyver

Φυσική Β Γυμνασίου: Διάδοση θερμότητας, Θερμική αγωγιμότητα.

----------


## Nemmesis

εγω θα ελεγα ασε τα "χαζα παιχνιδακια του τυπου ds18" και πανε σε κανενα σωστο thermocouple...

----------

