Πίνακας περιεχομένων:

Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600: 9 βήματα
Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600: 9 βήματα

Βίντεο: Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600: 9 βήματα

Βίντεο: Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600: 9 βήματα
Βίντεο: 8.1 Управление шаговым двигателем (полношаговое) 2024, Ιούνιος
Anonim
Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600
Raspberry Pi, Python και πρόγραμμα οδήγησης Stepper Motor TB6600

Αυτό το Instructable ακολουθεί τα βήματα που έκανα για να συνδέσω ένα Raspberry Pi 3b με έναν ελεγκτή Stepper Motor TB6600, ένα τροφοδοτικό 24 VDC και έναν κινητήρα Stepper 6 καλωδίων.

Μάλλον είμαι σαν πολλούς από εσάς και τυχαίνει να έχω μια "τσάντα αρπαγής" από τα υπόλοιπα μέρη από πολλά παλιά έργα. Στη συλλογή μου είχα έναν κινητήρα stepper 6 καλωδίων και αποφάσισα ότι ήρθε η ώρα να μάθω λίγο περισσότερα για το πώς θα μπορούσα να το συνδέσω με ένα Raspberry Pi μοντέλο 3Β.

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

Ο σκοπός εδώ ήταν πραγματικά να συγκεντρώσω μερικά πράγματα (με ελάχιστο κόστος), να γράψω κώδικα Python για το Raspberry Pi μου και να κάνω τον κινητήρα να γυρίσει. Αυτό ακριβώς κατάφερα να πετύχω.

Ας ξεκινήσουμε λοιπόν…

Βήμα 1: Το Raspberry Pi

Το Raspberry Pi
Το Raspberry Pi

Όσον αφορά το Raspberry Pi, χρησιμοποίησα τρεις τυπικές καρφίτσες GPIO, επομένως αυτό θα πρέπει να λειτουργεί (δεν έχω δοκιμάσει) με οποιοδήποτε Pi, ή Orange board, Tinker board ή κλώνους που είναι διαθέσιμοι εκεί έξω. Μπορείτε (και πρέπει) να χτενίσετε τον υπερβολικά σχολιασμένο κώδικα Python μου και να επιλέξετε διαφορετικές καρφίτσες GPIO εάν χρησιμοποιείτε διαφορετικό επεξεργαστή ή απλώς θέλετε να αλλάξετε λίγο τα πράγματα.

Λάβετε υπόψη ότι συνδέομαι απευθείας με τους ακροδέκτες GPIO στο RPi, οπότε περιορίζω την τάση που βλέπουν οι ακίδες GPIO στα 3,3 βολτ.

Βήμα 2: TB6600 Stepper Motor Driver / Controller

TB6600 Stepper Motor Driver / Controller
TB6600 Stepper Motor Driver / Controller

Όπως ανέφερα προηγουμένως, επέλεξα να χρησιμοποιήσω ένα TB6600 Stepper Motor Driver / Controller.

Αυτός ο ελεγκτής είναι:

  • Άμεσα διαθέσιμο (αναζητήστε eBay, Amazon, Ali Express ή πολλά άλλα).
  • Πολύ διαμορφώσιμο με διακόπτες εύκολης πρόσβασης.
  • Οι λεπτομέρειες διαμόρφωσης και καλωδίωσης είναι μεταξωτές στη θήκη.
  • Εύρος τάσης εισόδου 9 VDC έως 40 VDC
  • Δυνατότητα εξόδου κινητήρα έως 4 amp.
  • Διαθέτει εσωτερικό ανεμιστήρα ψύξης και αξιοπρεπή ψύκτρα.
  • Είναι εξοπλισμένο με 3 αφαιρούμενους συνδετήρες.
  • Έχει μικρό αποτύπωμα,
  • Εύκολο στην τοποθέτηση.

Αλλά το χαμηλό κόστος αγοράς είναι πραγματικά αυτό που σφράγισε τη συμφωνία σε αυτό.

Βήμα 3: Το Stepper Motor…

Το Stepper Motor…
Το Stepper Motor…

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

Σε αυτό το Instructable δεν πρόκειται να αναφέρω λεπτομερώς πώς να καταλάβω τις δυνατότητές του - δεν έχω πραγματική χρήση σε αυτό (εκτός από πειραματικό), οπότε θα το παραλείψω.

Χρησιμοποίησα ένα αρκετά γενικό βηματικό μοτέρ. Πέρασα λίγο χρόνο στο YouTube και εδώ στο Instructables για να προσπαθήσω να αποκρυπτογραφήσω τα καλώδια που προέρχονται από αυτό.

Ο κινητήρας μου έχει στην πραγματικότητα 6 καλώδια … Σε αυτήν την εφαρμογή, άφησα τα δύο καλώδια "Κέντρου Πατήστε" μονωμένα και ασύνδετα.

Εάν έχετε παρόμοιο "γενικό" τύπο βηματικού κινητήρα, είμαι βέβαιος ότι με έναν μετρητή Ohm και λίγο χρόνο μπορείτε επίσης να καταλάβετε την καλωδίωση και να την κάνετε να λειτουργεί με αυτόν τον τρόπο. Υπάρχουν πολλά βίντεο στο YouTube που θα σας καθοδηγήσουν να ταξινομήσετε εύκολα τον δικό σας κινητήρα.

Βήμα 4: Τροφοδοτικά και τροφοδοτικά

Τροφοδοτικά και τροφοδοτικά
Τροφοδοτικά και τροφοδοτικά

Εδώ χρειάζεται προσοχή…

Ανάλογα με την κατασκευή σας, μπορεί να χρειαστεί να συνδεθείτε με τις Τάσεις γραμμής (τροφοδοσία σπιτιού). Βεβαιωθείτε ότι χρησιμοποιείτε όλες τις κατάλληλες προφυλάξεις ασφαλείας:

  • ΜΗΝ προσπαθείτε να κάνετε ηλεκτρικές συνδέσεις σε ζωντανές πηγές ενέργειας.
  • Χρησιμοποιείτε ασφάλειες κατάλληλου μεγέθους και διακόπτες
  • ΜΗΝ χρησιμοποιείτε διακόπτη τροφοδοσίας για να τροφοδοτήσετε το τροφοδοτικό (αυτό θα διευκολύνει την απομόνωση της παροχής ρεύματος από τάσεις ζωντανής γραμμής).
  • Τερματίστε σωστά όλα τα καλώδια και πραγματοποιήστε ισχυρές συνδέσεις. Μη χρησιμοποιείτε συνδετήρες, φθαρμένα καλώδια ή κακώς τοποθετημένους συνδετήρες.
  • ΜΗΝ χρησιμοποιείτε την ταινία Ηλεκτρολόγου ως μονωτικό

Χρησιμοποίησα τροφοδοτικό 24 VDC (5 Amp) για να τροφοδοτήσω τον ελεγκτή προγράμματος οδήγησης Stepper Motor. Χρησιμοποίησα επίσης την έξοδο αυτού του ίδιου τροφοδοτικού για να οδηγήσω ένα τροφοδοτικό DC σε DC Buck για να δημιουργήσω 3,3 βολτ για χρήση ως πηγή για τα σήματα ENA, PUL και DIR (δείτε το διάγραμμα καλωδίωσης)

ΜΗΝ προσπαθείτε να χρησιμοποιήσετε το RPi για να βυθίσετε το ρεύμα από μια πηγή 5,0 VDC.

ΔΕΝ προτείνω να προσπαθήσετε να προμηθευτείτε τις πλευρές " +" του σήματος PUL, DIR και ENA με 3,3 VDC από το RPI.

Βήμα 5: Προστασία κυκλώματος…

Σημειώστε ότι στο διάγραμμα καλωδίωσης που ακολουθεί, δεν αναφέρω πώς να συνδέσετε το τροφοδοτικό στο "AC Power" ή να αναφέρω έναν διακόπτη κυκλώματος για αυτό. Εάν σκοπεύετε να δημιουργήσετε ένα δοκιμαστικό σύστημα παρόμοιο με αυτό, θα χρειαστεί να αφιερώσετε χρόνο για να καθορίσετε έναν διακόπτη κυκλώματος και μια ασφάλεια που θα ταιριάζει με την παροχή ρεύματος (ες) που θα χρησιμοποιείτε. Τα περισσότερα σύγχρονα τροφοδοτικά έχουν προδιαγραφές τάσης και ρεύματος που αναφέρονται σε αυτά. Αυτά πρέπει να ακολουθούνται και να εγκαθίστανται κατάλληλες προστασίες κυκλώματος.

Παρακαλώ… Μην παραλείψετε αυτό το σημαντικό βήμα.

Βήμα 6: Το διάγραμμα καλωδίωσης

Το διάγραμμα καλωδίωσης
Το διάγραμμα καλωδίωσης

Τροφοδοτικά

Η έξοδος του τροφοδοτικού 24 VDC λιώνει με ασφάλεια 5 Amp και στη συνέχεια δρομολογείται σε:

  • TB6600 Stepper Motor Driver / Controller "VCC" pin (RED wire in the chart).
  • Επίσης δρομολογείται στην είσοδο του μετατροπέα 3.3 VDC "DC σε DC" (και πάλι ένα RED καλώδιο στο διάγραμμα).

Η έξοδος του 3.3 VDC "DC to DC Converter" δρομολογείται στις ακίδες "2", "4" και "6" του οδηγού / ελεγκτή Stepper Motor TB6600 (μπλε σύρμα στο διάγραμμα).

ΣΗΜΕΙΩΣΗ - ο ελεγκτής ο ίδιος επισημαίνει αυτές τις ακίδες ως "5V". Θα λειτουργήσει εάν παρέχονταν 5V σε αυτές τις ακίδες, αλλά επειδή οι ονομαστικές τάσεις των ακίδων GPIO στο RPI, επέλεξα να περιορίσω την τάση στα 3,3 VDC.

ΣΗΜΕΙΩΣΗ - ΔΕΝ προτείνω να προσπαθήσετε να προμηθευτείτε τις πλευρές " +" του σήματος PUL, DIR και ENA με 3,3 VDC από το RPI.

GPIO χαρτογράφηση

GPIO Mapping GPIO 17 PUL PINK σύρμα στο διάγραμμα GPIO27 DIR ORANGE σύρμα στο διάγραμμα GPIO22 ENA GREEN σύρμα στο διάγραμμα

Βήμα 7: Λειτουργία

Λειτουργία
Λειτουργία

Βασικά, το υλικό Raspberry Pi ελέγχει τρία σήματα:

GPIO Mapping GPIO 17 PUL GPIO27 DIR GPIO22 ENA

GPIO22 - ENA - Ενεργοποιεί ή απενεργοποιεί τη λειτουργικότητα του προγράμματος οδήγησης / ελεγκτή Stepper Motor.

Όταν είναι LOW, ο ελεγκτής είναι ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟΣ. Αυτό σημαίνει ότι εάν αυτή η γραμμή είναι Υ HIGHΗΛΗ ή ΔΕΝ είναι συνδεδεμένη, τότε το TB6600 είναι ΕΝΕΡΓΟΠΟΙΗΜΕΝΟ και αν εφαρμοστούν τα κατάλληλα σήματα, ο κινητήρας θα περιστρέφεται.

GPIO27 - DIR - Ορίζει την κατεύθυνση περιστροφής του κινητήρα.

Όταν είναι Υ HIGHΗΛΗ ή δεν είναι συνδεδεμένη, ο κινητήρας θα περιστρέφεται προς μία κατεύθυνση. Σε αυτήν τη λειτουργία, εάν ο κινητήρας δεν περιστρέφεται προς την κατεύθυνση που θέλετε, μπορείτε να αλλάξετε τα δύο καλώδια κινητήρα Α μεταξύ τους ή τα δύο καλώδια κινητήρα Β μεταξύ τους. Κάντε το στις πράσινες υποδοχές σύνδεσης στο TB6600.

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

GPIO10 - PUL - Παλμοί από το RPI που λένε στο TB6600 Stepper Motor Driver / Controller πόσο γρήγορα περιστρέφεται.

Ανατρέξτε στις συνημμένες εικόνες για τη ρύθμιση των θέσεων του διακόπτη Stepper Motor Driver / Controller που χρησιμοποίησα.

Βήμα 8: Κώδικας Python

Επισυνάπτεται ο υπερβολικά σχολιασμένος κωδικός μου.

Μη διστάσετε να το χρησιμοποιήσετε και να το επεξεργαστείτε όπως θέλετε.. Βρήκα μέρη του στον ιστό και το πρόσθεσα για λόγους δοκιμής και αξιολόγησης.

== == ==

Βήμα 9: Σύνοψη

Λειτούργησε.. υπάρχουν πολλά περιθώρια βελτίωσης και ο κωδικός θα μπορούσε να καθαριστεί, αλλά εντάξει.

Θα εκτιμούσα να ακούω τις προτάσεις των σκέψεών σας και τυχόν αλλαγές / ενημερώσεις που κάνετε.

Ευχαριστώ.

Συνιστάται: