İçindekiler:

SPI Genişleticilerle Arduino Üzerinde Durum Makinesi ve Çoklu Görev: 3 Adım
SPI Genişleticilerle Arduino Üzerinde Durum Makinesi ve Çoklu Görev: 3 Adım

Video: SPI Genişleticilerle Arduino Üzerinde Durum Makinesi ve Çoklu Görev: 3 Adım

Video: SPI Genişleticilerle Arduino Üzerinde Durum Makinesi ve Çoklu Görev: 3 Adım
Video: Uzak Odada İnternet Çekmiyorsa Çözüm! Zayıf Wifi Nasıl Güçlendirilir? Komşudan İnternet Çekmek 2024, Kasım
Anonim
SPI Genişleticilerle Arduino'da Durum Makinesi ve Çoklu Görev
SPI Genişleticilerle Arduino'da Durum Makinesi ve Çoklu Görev

Geçen hafta, bir arduino ile havai fişek pilotluğu yapmak için bir sistem oluşturmak istiyordum. Yangınları kontrol etmek için yaklaşık 64 çıkışa ihtiyaç vardı. Bunu yapmanın bir yolu, IC genişleticileri kullanmaktır. Yani 2 çözüm mevcuttur:

- bir I2C genişletici, ancak IC'yi açtığınızda invertöre ihtiyacı var (sonlu durum makinesindeki önceki talimatıma bakın), çünkü tüm çıkışlar hızlı bir şekilde AÇILIP KAPANIYOR: havai fişeklerle ilgili bir sorun.

-Ayrıca çalıştırması kolay ve güç açıkken herhangi bir sorun olmadan bir SPI.

Bu yüzden bu tür genişleticileri incelemeye karar verdim. Ayrıca dijital 16 G/Ç ve 2 analog çıkışı kontrol etmek için çoklu görevli bir durum makinesi kullanıyorum. Bu kart PLC gibi otomasyon sistemlerini kontrol etmek için tasarlanmıştır.

Ayrıca, durum diyagramının çizimleri ile otomasyonda kullanılan başka bir grafik arasındaki farkları ve çeviriyi de inceledim: eski Petri ağlarına dayanan SFC (Sıralı Fonksiyon Şeması).

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Adım 1: Kartlar ve Devreler

Kartlar ve Devreler
Kartlar ve Devreler
Kartlar ve Devreler
Kartlar ve Devreler
Kartlar ve Devreler
Kartlar ve Devreler

Bir arduino uno ve 2 tip DIL yongası kullanıyorum:

- SPI ile kontrol edilen MCP23S17, 2 x 16 G/Ç genişletici

-MCP4921, DAC 12 bit, 0/5V

Bu IC çok ucuz ve güvenilirdir ve ayrıca bağlanması ve programlanması çok kolaydır. Şemalarda, girişler için ayırma kapasitörleri, aşağı çekme dirençleri gibi bazı ek bileşenler kullandım.

Adım 2: Çoklu Görev Durum Makinesi Çalıştırma Programı

Çoklu Görev Durum Makinesi Çalıştırma Programı
Çoklu Görev Durum Makinesi Çalıştırma Programı
Çoklu Görev Durum Makinesi Çalıştırma Programı
Çoklu Görev Durum Makinesi Çalıştırma Programı

Genel fikir, dijital G/Ç'yi kontrol etmek ve bu arada her iki analog çıkışa bağlı LED'ler üzerinde bir AÇMA/KAPAMA efektleri başlatmaktır.

Başka bir şey, SPI veriyolunda daha fazla IC'ye daha fazla olanak sağlamak için CS pinlerinin (chip seçimi) ayrı bağlantısını bilerek yapıyorum. Bu yüzden kullandım:

- durum makinesi için özel bir kütüphane

-MCP23S17 için özel bir kütüphane

-MCP4921, CS ve SPI bağlantı yazılımı için özel kitaplık YOK "kullanışlı" yapılır.

Beklenen durum makinesi ile SFC (Fransızcada GRAFCET veya gr7 olarak da adlandırılır) arasındaki çeviriyi resimlerde görebilirsiniz. Bazı yaygın terimler: eşzamanlı durumlar, çoklu görev ve kapsülleme.

Kitaplıkları ve kaynak kodunu birçok yorumla sağlıyorum. Okumak ve anlamak için aynı zamanda durum diyagramını veya SFC'yi de okumalısınız.

3. Adım: Sonuçlandırmak

İşe yarıyor!!

Sistemi açtığınızda, birkaç saniye bekleyin ve ardından genişleticiyi kullanın (SPI veri yolunu başlatma zamanı).

Sistem çok hızlı tepki veriyor ve herhangi bir makineyi kontrol etmek istiyorsanız bir güç arayüz kartı oluşturmanız gerekiyor. Önceki talimatlarıma bakın, Çok kolay !!

Tüm dünyada çok ilginç ve çalışan öğreticilere teşekkürler.

Manu4371.

Önerilen: