PDA

Επιστροφή στο Forum : Θόρυβος σε Shift Register με RasPi



Spiroslouis
01-06-16, 17:42
Καλησπέρα σας,

Έχω φτιάξει ένα πολύ απλό κύκλωμα με shift-registers(5 τον αριθμό) τα οποία "κοντρολάρονται" από ένα RasberryPI.

Τα τροφοδοτώ από το 5V rail που έχει το RasPi αμέσως. Το πρόβλημά μου είναι ότι άμα υπάρχει λίγος θόρυβος στην τροφοδοσία, αρχίζουν να παίζουν τα Led. Φαντάζομαι ότι φταίει η αμεσότητα της τροφοδοσίας.

Έχω βάλει έναν 100μF παράλληλα με την τροφοδοσία όπως και μια φακή των 100nF. Κάτι έγινε, αλλά το πρόβλημα δεν λύθηκε.

Υπάρχει άλλος τρόπος; Πρέπει να πάω σε κύκλωμα τελεστικό για να λύσω το πρόβλημά μου

chip
01-06-16, 19:07
απλά θόρυβος δεν θα έκανε τα led να τρεμοσβήνουν... ο θόρυβος από τροφοδοτικό η πλακέτα επεξεργαστή έχει υψηλή συχνότητα και δεν μπορεί να την δει το μάτι...
οπότε προκύπτουν διάφορες ερωτήσεις...
5 έξοδοι ή 5 register των 8bit? όλα led οδηγούν?
τρεμοσβήνουν απλά τα led ή χάνει και ο register τα δεδομένα?
Ο register ποιός είναι? είναι ικανός για την ταχύτητα λειτουργείας του rasbbery pi?
ο τελεστικός δεν μπορώ να καταλάβω πως θα μπορούσε να οφελήσει/ συνδεθεί...
πάντως... εκτός από 100nF καλό θα ταν να υπήρχε και κάποιος ηλεκτρολυτικός (πχ 47μf)

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

SProg
01-06-16, 19:20
Βαλε φωτογραφια.

50% Ground θορυβος.

Spiroslouis
02-06-16, 02:10
απλά θόρυβος δεν θα έκανε τα led να τρεμοσβήνουν... ο θόρυβος από τροφοδοτικό η πλακέτα επεξεργαστή έχει υψηλή συχνότητα και δεν μπορεί να την δει το μάτι...
οπότε προκύπτουν διάφορες ερωτήσεις...
5 έξοδοι ή 5 register των 8bit? όλα led οδηγούν?
τρεμοσβήνουν απλά τα led ή χάνει και ο register τα δεδομένα?
Ο register ποιός είναι? είναι ικανός για την ταχύτητα λειτουργείας του rasbbery pi?
ο τελεστικός δεν μπορώ να καταλάβω πως θα μπορούσε να οφελήσει/ συνδεθεί...
πάντως... εκτός από 100nF καλό θα ταν να υπήρχε και κάποιος ηλεκτρολυτικός (πχ 47μf)

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


Δεν τρεμοπαίζουν. Αλλάζουν κατάσταση οι shift registers.(π.χ. σαν να έκανα shift κάποια random bits και να τα έκαναν latch out) Όλες οι έξοδοι είναι για led. Οι shift registers είναι οι 74HC595N. Δεν μπορώ να καταλάβω τι εννοείς με το αν είναι ικανός για την ταχύτητα λειτουργίας. Λειτουργεί κανονικά, κάνω τα shift out μου κανονικά και παίρνω τα αποτελέσματα που αναμένω.

(τον τελεστικό τον σκεφτόμουν σαν ακολουθητή τάσης για τυχόν θόρυβο με κάποιο RC φίλτρο)

Υπάρχουν(αν και δεν φαίνονται στο σχηματικό που ακολουθεί όπως είπα και στο πρώτο post μου ένας κεραμικός των 100nF και ένας ηλεκτρολυτικός των 100uF και οι δύο παράλληλα με το rail των 5V)


Βαλε φωτογραφια.

50% Ground θορυβος.6509165092

Στο βάθος αριστερά στην πλακέτα, υπάρχει ένα αισθητήριο MPR121 που συνδέεται στα 3.3V.

Το πρόβλημα γίνεται π.χ. άμα συνδέσω το dremel στην πρίζα(και ας μην του δώσω στροφές - απλά με την σύνδεση) Γίνεται γενικά άμα γίνει κάτι στη γραμμή που είναι συνδεδεμένο το RasPi. Αν τίποτα συμβαίνει στη γραμμή η κατάσταση είναι σταθερή.

Όλα τα ηλεκτρονικά μου τροφοδοτούνται από το RasPi και κατά συνέπεια από τον ίδιο φορτιστή.(Max έξοδος φορτιστή 2.5A - Δεν μπορώ να θυμηθώ το μοντέλο του αλλά θυμάμαι είχε C E(το πραγματικό CE) )

FILMAN
02-06-16, 10:23
Καταρχήν θέλει 100nF σε κάθε ολοκληρωμένο και όχι μόνο έναν για όλα. Οι έξοδοι του επεξεργαστή που τροφοδοτούν τις εισόδους των shift registers είναι push pull ή μήπως είναι τίποτα ανοιχτού συλλέκτη; Επίσης βλέπω πολύ μακριά καλώδια, αν δοκιμάσεις πυκνωτές λίγων δεκάδων pF από τις εισόδους των shift registers προς τη γη στρώνει η κατάσταση;

aktis
02-06-16, 10:27
Όλα αυτά τα καλωδιακια που έχεις λειτουργούν σαν κεραίες και μαζεύουν θόρυβο από το μοτερακι του dremel . Πολυ φυσιολογικό είναι να σου κάνει κόλπα ... Εχεις φτιάξει κατι ερασιτεχνικό αλλά θέλεις να λειτουργει και σε βιομηχανικό περιβαλλον ... Δεν ειναι τυχαιο που τα PLC εχουν εισόδους απο 24V , 48 , 60 κλπ ... Αμα στα κουνάει όλα τα led , κοίτα μήπως διορθωθεί με καμμια αντίσταση σε σειρά πριν την είσοδο στο πρωτο shift register , και δοκίμασε να βάλεις τα πλακετακια σου μέσα σε κανα χάρτινο κουτάκι τυλιγμένο με αλουμινόχαρτο απέξω να θωρακιστεις απο τον θορυβο του dremel . Οταν έχεις θόρυβο , ο καλύτερος τροπος να οδηγήσεις μια είσοδο ειναι να την εχεις συνέχεια pull up me με μια αντίσταση και να την γειώνεις στην εντολή . Αμα ειναι συνεχεια 0 η είσοδος και ανεβαίνει στην εντολη , ο θόρυβος ερμηνεύεται σαν εντολή και εχεις false trigger

chip
02-06-16, 10:42
το κάθε ολοκληρωμένο έχει συγκεκριμένα όρια στους χρόνους λειτουργίας... (setup και hold time, rise και fall time, clk frequency...) όταν αναφερόμουν σε συχνότητα αναφερόμουν σε αυτά τα όρια.. δεν ξέρω από raspi οπότε δεν ξέρω τους χρόνους στην πόρτα εξόδου και αν έχεις προσέξει να τους τηρήσεις...
όπως σου είπε ο Φίλιππος οπωσδήποτε 100nF σε κάθε ολοκληρωμένο... σημαντικό είναι να είναι μικρότερα τα καλώδια και αν δεν έχεις αφήσει στην τύχη τους χρόνους που σου είπα πιο πάνω (οπότε στέλνεις με σχετικά χαμηλή συχνότητα τα δεδομένα στους register - κάτω από ΜΗz) θα πρότεινα εκτός από λίγες 10δες pf πυκνωτές που σου είπε ο Φίλλιπος και αντιστάσεις 100Ω σε σειρά με το σήμα που φεύγει από το raspi.

FILMAN
02-06-16, 10:52
Όλα αυτά τα καλωδιακια που έχεις λειτουργούν σαν κεραίες και μαζεύουν θόρυβο από το μοτερακι του dremel . Πολυ φυσιολογικό είναι να σου κάνει κόλπα ... Εχεις φτιάξει κατι ερασιτεχνικό αλλά θέλεις να λειτουργει και σε βιομηχανικό περιβαλλον ... Δεν ειναι τυχαιο που τα PLC εχουν εισόδους απο 24V , 48 , 60 κλπ ... Αμα στα κουνάει όλα τα led , κοίτα μήπως διορθωθεί με καμμια αντίσταση σε σειρά πριν την είσοδο στο πρωτο shift register , και δοκίμασε να βάλεις τα πλακετακια σου μέσα σε κανα χάρτινο κουτάκι τυλιγμένο με αλουμινόχαρτο απέξω να θωρακιστεις απο τον θορυβο του dremel . Οταν έχεις θόρυβο , ο καλύτερος τροπος να οδηγήσεις μια είσοδο ειναι να την εχεις συνέχεια pull up me με μια αντίσταση και να την γειώνεις στην εντολή . Αμα ειναι συνεχεια 0 η είσοδος και ανεβαίνει στην εντολη , ο θόρυβος ερμηνεύεται σαν εντολή και εχεις false trigger
Μα ο θόρυβος είναι πάντα εναλλασσόμενος. Αν λοιπόν μπορεί να αλλοιώσει τη στάθμη μιας εισόδου εφοδιασμένης με pull down αντίσταση και να την κάνει από 0 να γίνει 1, εξίσου καλά μπορεί να αλλοιώσει και τη στάθμη μιας εισόδου με pull up αντίσταση και να την κάνει από 1 να γίνει 0. Μάλιστα σε εξαιρετικά θορυβώδη περιβάλλοντα (όπως π.χ. αν στην πλακέτα μας υπάρχει ρελέ που τροφοδοτεί ισχυρά φορτία στα 230V κατά τη φάση που οπλίζει ή ανοίγει), όσο μικρές αντιστάσεις pull up ή pull down και να βάλει κανείς πολύ πιθανόν θα έχει προβλήματα, ακόμα και αν βάλει π.χ. 100Ω που είναι εξωφρενικά μικρή. Θα πρέπει να βάλει και πυκνωτές από τις εισόδους προς τη γη ή την τροφοδοσία για να δουλέψει σωστά το σύστημα. Φυσικά αυτό δεν χρειάζεται αν η λειτουργία του κυκλώματος δεν επηρεάζεται από σύντομους παλμούς, όπως π.χ. αν πρόκειται για εισόδους μ/ε ο οποίος έχει προγραμματιστεί ούτως ώστε να αγνοεί τις πολύ στιγμιαίες μεταβολές στάθμης στις αντίστοιχες εισόδους.

aktis
02-06-16, 11:53
Οι πυκνωτές είναι όντως έλλειψη , χρειάζεται καλό decoupling σε όλα τα chipakia . Όσο για το θόρυβο που λές απο τους κινητήρες ( ο θορυβος ειναι στοχαστικός εχεις δικιο παει πανω κατω ) , αλλά είπα οτι προτιμάμε να κάνουμε την είσοδο pull up και η διέγερση να το γειωσει , απο το σκέτο και φαινομενικά φυσιολογικότερο , να ειναι ξεκρεμαστη η είσοδος και η διεγερση να είναι θετικός παλμός


υ/γ
Μια πραγματικά καλή σχεδίαση σε βιομηχανικό περιβάλλον , θέλει τα σήματα να είναι μεγαλύτερα από τον θόρυβο , γι αυτό είπα και για I/O 24V και πάνω
Ο RasPi o καψερός βγάζει 3.3 V μόνο ... που να κοντράρει τα μοτέρια ...

FILMAN
02-06-16, 13:22
το σκέτο και φαινομενικά φυσιολογικότερο , να ειναι ξεκρεμαστη η είσοδος και η διεγερση να είναι θετικός παλμόςΠοτέ δεν αφήνουμε ψηφιακή είσοδο ξεκρέμαστη, έχουμε - δεν έχουμε θόρυβο.

Αυτό που λες για τα επίπεδα των τάσεων είναι σωστό.

nkarama
02-06-16, 13:55
Να πεταχτώ και εγω που παρόλη την μικρή μου εμπειρία έχω καεί πολλές φορές απο αυτό.
Οπως προείπαν decoupling πυκνωτές οσο ποιο κοντά γίνετε στην τροφοδοσία όλων των ολοκληρωμένων. Βάλε και δύο τιμές ένα στα 100nF και έναν κοντά στα 20pF.
Επίσης, ξύλωσε το breadboard...