Isi kandungan:

Nyatakan Mesin dan Multitasking di Arduino Dengan Pengembang SPI: 3 Langkah
Nyatakan Mesin dan Multitasking di Arduino Dengan Pengembang SPI: 3 Langkah

Video: Nyatakan Mesin dan Multitasking di Arduino Dengan Pengembang SPI: 3 Langkah

Video: Nyatakan Mesin dan Multitasking di Arduino Dengan Pengembang SPI: 3 Langkah
Video: Tutorial Pemrograman Arduino [Medium] - Cara Kerja Interrupt di Arduino (1) 2024, November
Anonim
Nyatakan Mesin dan Multitasking di Arduino Dengan SPI Expanders
Nyatakan Mesin dan Multitasking di Arduino Dengan SPI Expanders

Minggu lalu, saya meminta untuk membuat sistem untuk mengemudi bunga api dengan arduino. Ia memerlukan sekitar 64 output untuk mengawal kebakaran. Salah satu cara untuk melakukannya adalah dengan menggunakan pengembang IC. Oleh itu, terdapat 2 penyelesaian:

- pengembang I2C tetapi ia memerlukan penyongsang semasa anda menghidupkan IC (lihat arahan saya sebelumnya pada mesin keadaan terhingga) kerana semua output berjalan dengan cepat ON dan OFF: masalah dengan bunga api.

-S SPI juga mudah dijalankan dan tanpa masalah semasa hidup.

Oleh itu, saya memutuskan untuk mempelajari jenis pengembang ini. Saya juga menggunakan mesin negara dengan multitasking untuk mengawal 16 I / O digital dan 2 output analog. Kad ini direka untuk mengawal sistem automasi seperti PLC.

Saya juga mengkaji perbezaan dan terjemahan antara gambar rajah keadaan dan graf lain yang digunakan dalam automasi: SFC (Sequential Function Chart) berdasarkan bekas Petri jaring.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Langkah 1: Kad dan Litar

Kad dan Litar
Kad dan Litar
Kad dan Litar
Kad dan Litar
Kad dan Litar
Kad dan Litar

Saya menggunakan arduino uno dan 2 jenis cip DIL:

- pengembang MCP23S17, 2 x 16 I / O yang dikendalikan dengan SPI

-the MCP4921, DAC 12 bit, 0 / 5V

IC ini sangat murah dan boleh dipercayai dan juga sangat mudah untuk dihubungkan dan diprogramkan. Pada skema saya menggunakan beberapa komponen tambahan seperti kapasitor decoupling, pull-down resistors untuk input.

Langkah 2: Program untuk Menjalankan Mesin Multitask State

Program untuk Menjalankan Mesin Multitask State
Program untuk Menjalankan Mesin Multitask State
Program untuk Menjalankan Mesin Multitask State
Program untuk Menjalankan Mesin Multitask State

Idea global adalah untuk mengawal I / O digital dan sementara itu melancarkan kesan ON / OFF yang pudar pada LEDS yang disambungkan ke kedua-dua output analog.

Perkara lain, saya sengaja membuat sambungan berasingan dari pin CS (pilih chip) untuk mempunyai lebih banyak kemungkinan untuk lebih banyak IC pada bas SPI. Oleh itu, saya menggunakan:

- perpustakaan khas untuk mesin negara

-pustaka khas untuk MCP23S17

-TANPA perpustakaan khas untuk MCP4921, sambungan CS dan SPI lembut "berguna" dilakukan.

Anda dapat melihat pada gambar terjemahan antara mesin keadaan yang diharapkan dan SFC (juga disebut GRAFCET atau gr7 dalam bahasa Perancis). Beberapa istilah umum: keadaan serentak, multitask dan enkapsulasi.

Saya memberikan banyak komen di perpustakaan dan kod sumber. Untuk membacanya dan memahaminya, anda juga mesti membaca pada masa yang sama gambarajah keadaan atau SFC.

Langkah 3: Kesimpulannya

Ianya berfungsi!!

Apabila anda menghidupkan sistem, anda tunggu beberapa saat dan kemudian gunakan pengembang (masa untuk memulakan bas SPI).

Sistem ini mempunyai reaksi yang sangat cepat dan anda perlu membuat kad antara muka kuasa jika anda ingin mengawal mesin apa pun. Lihat arahan saya sebelum ini, Sangat mudah !!

Terima kasih kepada tutorial yang sangat menarik dan berfungsi di seluruh dunia.

Manu4371.

Disyorkan: