Ο δίαυλος CAN εξηγείται: πώς επικοινωνούν ελεγκτές, BMS και οθόνες
Σε ένα σύγχρονο ηλεκτρικό μηχάνημα, τα εξαρτήματα δεν περιορίζονται πλέον στην ανταλλαγή ισχύος: ανταλλάσσουν πληροφορίες. Ο ελεγκτής θέλει να γνωρίζει την κατάσταση της μπαταρίας, η οθόνη την ταχύτητα και τις θερμοκρασίες, και ένας δεύτερος ελεγκτής την εντολή του πρώτου. Ο πιο διαδεδομένος τρόπος για αυτό προέρχεται από την αυτοκινητοβιομηχανία: ο δύο-καλωδίων δίαυλος CAN (ή απλά δίαυλος CAN). Αυτός ο οδηγός εξηγεί πώς λειτουργεί και πώς να τον καλωδιώσετε χωρίς λάθη.
Τα βασικά
- Ο CAN συνδέει πολλές συσκευές στο ίδιο ζεύγος συστramμένων καλωδίων, που ονομάζονται CAN high και CAN low.
- Απαιτείται αντίσταση 120 ωμ σε καθένα από τα δύο άκρα του διαύλου, και μόνο στα άκρα.
- Κάθε μήνυμα φέρει ένα αναγνωριστικό που χρησιμεύει και ως προτεραιότητα: το πιο σημαντικό περνάει πάντα πρώτο.
- Όλες οι συσκευές πρέπει να χρησιμοποιούν την ίδια ταχύτητα επικοινωνίας.
Ένας δίαυλος, όχι μια απλή σύνδεση
Μια κλασική σειριακή σύνδεση συνδέει δύο συσκευές. Ο CAN, αντίθετα, είναι ένας δίοδος διαύλου (bus): όλες οι συσκευές είναι συνδεδεμένες στα ίδια δύο καλώδια και η καθεμία μπορεί να μιλήσει σε όλες. Για να προσθέσετε μια συσκευή, απλώς συνδέεστε στον δίαυλο, χωρίς να τραβήξετε νέο καλώδιο μέχρι τον ελεγκτή. Αυτό είναι που τον επέβαλε στην αυτοκινητοβιομηχανία, όπου δεκάδες μονάδες ελέγχου μοιράζονται μερικά ζεύγη καλωδίων.
Σε ένα ελαφρύ όχημα, βρίσκουμε συνήθως έναν ή περισσότερους ελεγκτές, το BMS της μπαταρίας, μια οθόνη, μια μονάδα τηλεμετρίας ή έναν φορτιστή.
Δύο καλώδια, μία διαφορά
Ο CAN χρησιμοποιεί ένα ζεύγος καλωδίων, CAN high και CAN low. Η πληροφορία δεν μεταφέρεται από την τάση ενός καλωδίου σε σχέση με τη γείωση, αλλά από τη διαφορά μεταξύ των δύο:
- σε κατάσταση ηρεμίας (bit «υποχωρητικό» ή recessive), τα δύο καλώδια βρίσκονται στην ίδια τάση, περίπου στο ήμισυ της τροφοδοσίας του κυκλώματος·
- για να εκπέμψει ένα «dominant» bit, ο πομπός απομακρύνει τα δύο καλώδια: το high ανεβαίνει, το low κατεβαίνει.
Μια ηλεκτρική διαταραχή, όπως αυτή από έναν ελεγκτή που διακόπτει εκατοντάδες αμπέρ, επηρεάζει και τα δύο καλώδια με τον ίδιο τρόπο. Η διαφορά τους, ωστόσο, παραμένει ανέπαφη. Αυτό κάνει τον CAN τόσο ανθεκτικό σε ένα θορυβώδες ηλεκτρικό περιβάλλον, υπό την προϋπόθεση ότι τα δύο καλώδια είναι συστramμένα μεταξύ τους.
Οι αντιστάσεις τερματισμού
Ένας δίαυλος CAN πρέπει να διαθέτει αντίσταση 120 ωμ μεταξύ CAN high και CAN low σε καθένα από τα δύο φυσικά του άκρα. Αυτές αποτρέπουν την αναπήδηση των σημάτων στην άκρη του καλωδίου και επαναφέρουν τον δίαυλο σε κατάσταση ηρεμίας.
- Σωστά τερματισμένος δίαυλος: μετρώντας μεταξύ CAN high και CAN low, με τις συσκευές σβηστές, βρίσκουμε περίπου 60 ωμ (δύο αντιστάσεις 120 ωμ παράλληλα).
- Περίπου 120 ωμ: λείπει ένας τερματισμός.
- Μια τιμή σημαντικά χαμηλότερη από 60 ωμ: υπάρχουν πάρα πολλοί τερματισμοί, συχνά επειδή πολλές συσκευές έχουν ενεργοποιημένο τον δικό τους.
Ένας λείποντας ή επιπλέον τερματισμός είναι η κύρια αιτία ασταθούς επικοινωνίας.
Αναγνωριστικά και προτεραιότητα
Κάθε μήνυμα CAN φέρει ένα αναγνωριστικό, έναν αριθμό που δηλώνει περί τίνος πρόκειται (για παράδειγμα «κατάσταση μπαταρίας» ή «εντολή μπροστινού κινητήρα»). Οι συσκευές διαβάζουν όλα τα μιλήματα και κρατούν μόνο αυτά που τις ενδιαφέρουν.
Όταν δύο συσκευές αρχίσουν να εκπέμπουν ταυτόχρονα, συγκρίνουν τα αναγνωριστικά τους bit προς bit, πάνω στο ίδιο το καλώδιο. Ένα dominant bit συνθλίβει ένα recessive bit: όποιος εκπέμπει ένα recessive bit και διαβάζει ένα dominant bit καταλαβαίνει ότι έχασε και σωπαίνει. Το μικρότερο αναγνωριστικό κερδίζει πάντα, χωρίς να καταστραφεί κανένα μήνυμα. Αυτό ονομάζεται διαιτησία (arbitrage): τα κρίσιμα μηνύματα λαμβάνουν τα μικρότερα αναγνωριστικά.
Ενσωματωμένη αξιοπιστία
- Κάθε μήνυμα περιέχει έναν κωδικό ελέγχου: ένα κατεστραμμένο μήνυμα εντοπίζεται και επανεκπέμπεται.
- Κάθε δέκτης επιβεβαιώνει τη σωστή λήψη με ένα bit επιβεβαίωσης (ACK).
- Μια συσκευή που συσσωρεύει σφάλματα αποσύρεται μόνη της, για να μην μπλοκάρει ολόκληρο τον δίαυλο.
Η ταχύτητα του διαύλου
Όλες οι συσκευές σε έναν δίαυλο πρέπει να χρησιμοποιούν την ίδια ταχύτητα. Οι πιο συνήθεις τιμές είναι 250 και 500 kilobits ανά δευτερόλεπτο, μερικές φορές 1 megabit. Όσο πιο γρήγορος είναι ο δίαυλος, τόσο μικρότερο είναι το μέγιστο μήκος του, αλλά σε ένα ελαφρύ όχημα, μήκους το πολύ λίγων μέτρων, το μήκος δεν αποτελεί ποτέ περιορισμό. Μια πιο σύγχρονη έκδοση, ο CAN FD, μεταφέρει περισσότερα δεδομένα ανά μήνυμα σε υψηλότερη ταχύτητα.
Παράδειγμα: δύο συνδεδεμένοι ελεγκτές
Σε ένα πατίνι διπλού κινητήρα, δύο ελεγκτές συνδεδεμένοι μέσω CAN συμπεριφέρονται σαν ένας: αυτός που λαμβάνει το γκάζι μεταδίδει την εντολή στον άλλο και ένα ενιαίο λογισμικό ρύθμισης βλέπει και τους δύο. Αυτή είναι η περίπτωση των ελεγκτών VESC, που παρουσιάζονται στον οδηγό μας το VESC εξηγημένο απλά.
Η συμβουλή του συνεργείου
Συστήνετε πάντα μαζί το CAN high και το CAN low, κρατήστε τα μακριά από τα καλώδια φάσης και ελέγξτε τα 60 ωμ με το πολύμετρο πριν από την πρώτη ενεργοποίηση. Πέντε λεπτά ελέγχου γλιτώνουν ώρες αναζήτησης διαλείπουσας επικοινωνίας.
Συχνές ερωτήσεις
Μεταφέρει ο CAN ρεύμα για την τροφοδοσία των συσκευών;Όχι, το ζεύγος CAN μεταφέρει μόνο πληροφορίες. Οι συσκευές έχουν τη δική τους τροφοδοσία, που μερικές φορές παρέχεται από άλλα καλώδια του ίδιου καλωδίου.
Γιατί η επικοινωνία μου CAN λειτουργεί διαλείποντα;Οι πιο συχνές αιτίες είναι ένας λείποντας ή επιπλέον τερματισμός, ασύστρατα καλώδια που περνούν κοντά από καλώδια ισχύος, ένας φθαρμένος σύνδεσμος ή δύο συσκευές που δεν έχουν την ίδια ταχύτητα διαύλου.
Μπορούμε να συνδέσουμε οποιαδήποτε συσκευή CAN μαζί;Ηλεκτρικά, ναι, αν μοιράζονται την ταχύτητα του διαύλου. Αλλά για να καταλάβουν η μία την άλλη, πρέπει να μιλούν την ίδια «γλώσσα»: ίδια αναγνωριστικά και ίδιο περιεχόμενο μηνυμάτων. Δύο διαφορετικές μάρκες δεν καταλαβαίνουν η μία την άλλη χωρίς προσαρμογή.