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

State Machine και Multitasking στο Arduino με SPI Expanders: 3 βήματα
State Machine και Multitasking στο Arduino με SPI Expanders: 3 βήματα

Βίντεο: State Machine και Multitasking στο Arduino με SPI Expanders: 3 βήματα

Βίντεο: State Machine και Multitasking στο Arduino με SPI Expanders: 3 βήματα
Βίντεο: Как построить ПЛК Arduino с модулем часов реального времени и поворотным энкодером 2024, Νοέμβριος
Anonim
State Machine και Multitasking στο Arduino With SPI Expanders
State Machine και Multitasking στο Arduino With SPI Expanders

Την περασμένη εβδομάδα, ζητούσα να δημιουργήσω ένα σύστημα πιλότου πυροτεχνημάτων με ένα arduino. Χρειάστηκαν περίπου 64 έξοδοι για τον έλεγχο των πυρκαγιών. Ένας τρόπος για να το κάνετε είναι να χρησιμοποιήσετε επεκτάσεις IC. Υπάρχουν λοιπόν 2 λύσεις:

- ένας διαστολέας I2C αλλά χρειάζεται μετατροπέα όταν ενεργοποιείτε το IC (ανατρέξτε στο προηγούμενο εγχειρίδιο για μηχανή πεπερασμένης κατάστασης) επειδή όλες οι έξοδοι ενεργοποιούνται και απενεργοποιούνται γρήγορα: πρόβλημα με πυροτεχνήματα.

-ένα SPI επίσης εύκολο στη λειτουργία και χωρίς πρόβλημα στην ενεργοποίηση.

Έτσι αποφάσισα να μελετήσω αυτού του είδους τους διαστολείς. Χρησιμοποιώ επίσης ένα μηχάνημα κατάστασης με πολλαπλές εργασίες για τον έλεγχο ψηφιακών εξόδων 16 I/O και 2 αναλογικών εξόδων. Αυτή η κάρτα έχει σχεδιαστεί για τον έλεγχο συστημάτων αυτοματισμού όπως ένα PLC.

Μελέτησα επίσης τις διαφορές και τη μετάφραση μεταξύ των σχεδίων του διαγράμματος κατάστασης και ενός άλλου γραφήματος που χρησιμοποιείται στην αυτοματοποίηση: το SFC (Διαδοχικό Διάγραμμα Λειτουργιών) βασισμένο στα πρώην δίχτυα Petri.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Βήμα 1: Οι κάρτες και τα κυκλώματα

Οι κάρτες και τα κυκλώματα
Οι κάρτες και τα κυκλώματα
Οι κάρτες και τα κυκλώματα
Οι κάρτες και τα κυκλώματα
Οι κάρτες και τα κυκλώματα
Οι κάρτες και τα κυκλώματα

Χρησιμοποιώ arduino uno και 2 τύπους τσιπ DIL:

- ο διαστολέας MCP23S17, 2 x 16 I/O που ελέγχεται με SPI

-το MCP4921, DAC 12 bits, 0/5V

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

Βήμα 2: Το πρόγραμμα εκτέλεσης μηχανής πολλαπλών εργασιών

Το πρόγραμμα για την εκτέλεση πολλαπλών εργασιών State Machine
Το πρόγραμμα για την εκτέλεση πολλαπλών εργασιών State Machine
Το πρόγραμμα εκτέλεσης πολλαπλών εργασιών State Machine
Το πρόγραμμα εκτέλεσης πολλαπλών εργασιών State Machine

Η παγκόσμια ιδέα είναι να ελέγξουμε την ψηφιακή είσοδο/έξοδο και εν τω μεταξύ να ξεκινήσουμε μια εξασθένιση εφέ ON/OFF σε LEDS που συνδέονται και με τις δύο αναλογικές εξόδους.

Ένα άλλο πράγμα, κάνω επίτηδες τη ξεχωριστή σύνδεση των ακίδων CS (επιλογή τσιπ) για να έχω περισσότερες δυνατότητες σε περισσότερο IC στο δίαυλο SPI. Χρησιμοποίησα λοιπόν:

- ειδική βιβλιοθήκη για την κρατική μηχανή

-ειδική βιβλιοθήκη για το MCP23S17

-ΔΕΝ υπάρχει ειδική βιβλιοθήκη για το MCP4921, το CS και το SPI απαλή σύνδεση είναι "εύχρηστο".

Μπορείτε να δείτε στις φωτογραφίες τη μετάφραση μεταξύ του μηχανήματος αναμενόμενης κατάστασης και του SFC (που ονομάζεται επίσης GRAFCET ή gr7 στα γαλλικά). Μερικοί συνηθισμένοι όροι: concurent state, multitask και encapsulation.

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

Βήμα 3: Συμπέρασμα

Δουλεύει!!

Όταν ενεργοποιείτε το σύστημα, περιμένετε λίγα δευτερόλεπτα και, στη συνέχεια, χρησιμοποιήστε το διαστολέα (χρόνος για την εκκίνηση του διαύλου SPI).

Το σύστημα έχει πολύ γρήγορες αντιδράσεις και πρέπει να δημιουργήσετε μια κάρτα διασύνδεσης ισχύος εάν θέλετε να ελέγξετε οποιοδήποτε μηχάνημα. Δείτε τις προηγούμενες οδηγίες μου, είναι πολύ εύκολο !!

Ευχαριστώ πολύ ενδιαφέροντα και λειτουργικά σεμινάρια σε όλο τον κόσμο.

Manu4371.

Συνιστάται: