Arduino więcej portów I/O Systemy Wbudowane Arduino dołączanie urządzeń Wersja 08 mgr inż. Marek Wilkus Wydział Inżynierii Metali i Informatyki Przemysłowej AGH Kraków Użycie pinów analogowych Liczniki Multipleksery Rejestr przesuwny Zatrzaski Drugi uc 855 Komercyjne ekspandery http://home.agh.edu.pl/~mwilkus Układy serii 7 Układy serii 7xx a seria 0xx Realizują proste funkcje logiczne: bramki, liczniki, rejestry. Poziomy TTL Są cegiełkami do budowy bardziej złożonych układów Bezpośrednio podłączane Podciągnięte wejścia Wyjścia normalne i z otwartym kolektorem Szeroko dostępne w różnych wykonaniach Poziomy CMOS, Podobne funkcje, inne wyprowadzenia, Zasilanie do 5V, Mogą je uszkodzić wyładowania elektrostatyczne (szczególnie starsze układy), Do połączenia z 7 wymagają rezystora podciągającego do poziomu wysokiego CMOS. Kompatybilne z TTL i CMOS: 7HCT... 7LS00 Układy serii 7 Seria 7 do czego służy układ? Nota katalogowa Tablica prawdy Schemat logiczny http://www.globalspec.com/reference/90/808/appendix--pinconfiguration-of-7-series-integrated-circuits 5 7LS7 Zastosowania Eksperymenty 6
Użycie wyprowadzeń analogowych Licznik Rozszerzanie wyjść, Tanie i dostępne układy Dużo wyjść (np. 7HC590 8szt) Linia OE. Nie są potrzebne dodatkowe biblioteki, Nie jest potrzebny dodatkowy sprzęt, Samo programowanie, - Tylko wyjścia, - Potrzebny czas na wyklikanie stanu, - Dodatkowy układ. - Brak PWM, - Kosztem ADC, - Tylko 6 pinów 7 Multiplekser 8 Rejestr przesuwny Zarówno wejścia jak i wyjścia Możliwy przesył szeregowy danych z kilku pinów. Możliwe przełączanie przełączanych sygnałów łączenie kaskadowe. Możliwość znacznego rozszerzania wyjść, Serial input - parallel output, Niska cena. - Szybkość działania, - Wysoka cena układów o dużej szybkości. - Tylko wyjścia - Konieczność załadowania stanu. - Dodatkowy układ (można je łączyć w kaskadę). 9 Przełączniki 0 Zatrzaski Proste przełączanie dużej ilości wyprowadzeń, Możliwy wybór kierunku, Szybkie przełączanie wyprowadzeń Multipleksowanie - Skomplikowane sterowanie - Możliwość uszkodzenia - Tylko jeden kierunek - Wyższa cena układów, - Mniejsza popularność, - Konsekwencje w przypadku uszkodzenia
Drugi uc 855 i podobne Łatwość użycia Biblioteki Wejście/wyjście, ADC, PWM. Wejście i wyjście, Programowanie przez zapis wartości piny I/O - Wymaga oprogramowania - Cena - Niższa szybkość. - Wymagania mikroprocesorowe, nie dla mikrokontrolera (konieczność emulacji sygnałów), - Niska prędkość, - Wyższa cena układów Programowalny sterownik Komercyjne ekspandery Dodatkowe funkcje (np. PWM), Łatwiejsze programowanie, Najczęściej tylko jeden układ. - Często niska wydajność prądowa - Wysoka cena - Specjalizowany układ - Problemy z przyszłą dostępnością. Łatwość programowania Gotowe biblioteki Łatwe podłączenie Dodatkowe interfejsy - Bardzo wysokie ceny - Wewnątrz jest któreś z omawianych rozwiązań. 5 Jak użyć mniej pinów? Klawiatura 6 Klawiatura: Lepsze rozwiązanie 7 8
Klawiatura: Ekstremalne rozwiązanie (RC) Klawiatura: Pin analogowy KEY KEY Do Arduino ANALOG IN (Eizo F980 schematic) 9 Wyjścia: Multipleksowanie wyjść 0 Urządzenia wyjścia Zamiast x8= wyjść użyte 8=. Możliwość dalszego zmniejszania wyjść: Przekaźnik, odbiorniki do ok. mocy tranzystora: np. wejścia wyświetlaczy () zapis na bitach, użycie dekodera. uc http://hackyourmind.org 9 8 7 6 5 0 N00 BC57 K7 Urządzenia wyjścia Silniki krokowe W przeciwieństwie do liniowych, możliwe jest przestawienie o ustalony kąt, Układy Darlingtona: Sterowanie silnikiem krokowym: Moment jest (w przedziale roboczym) odwrotnie proporcjonalny do prędkości, np. ULN80. Wymagają znacznych prądów (więc i sterowników), Łatwa dostępność z odzysku drukarki, napędy CD/FDD, skanery, Sterowanie Biblioteki do ich obsługi są w Arduino, a sterowniki są proste w budowie. Poruszane są przez doprowadzenie prądu do odpowiednich uzwojeń w prawidłowej kolejności, silniki takie mają..6 uzwojeń. Zasilanie silnika
Jak to działa? Rodzaje silników krokowych Wał jest namagnesowany w odpowiedni sposób, Bipolarne Uaktywniane są kolejne elektromagnesy, Magnes na wale jest przyciągany przez jeden elektromagnes, a odpychany przez inny co powoduje obrót o jeden krok. wyprowadzenia 6 wyprowadzeń Możliwa praca wyłącznie na przyciąganie - mniejszy moment, łatwiejsze sterowanie. Unipolarne, 8, 5 wyprowadzeń 5 6 Źródło: Wikimedia comons Sterownik silnika Sterownik silnika Silniki unipolarne: Silniki bipolarne: Układ L9D: Żródło: Dokumentacja Arduino https://www.arduino.cc/en/reference/stepper 7 8 Sekwencja sterowania Dla pinów: Step C0 C C C 0 0 0 0 0 0 0 0 Biblioteka stepper Zauważmy, że zawsze: #include <Stepper.h> C0!= C C!= C Stepper mystepper(00, 8, 9, 0, ); Możemy więc użyć tylko pinów! Piny, do których podłączono sterownik (, lub 5 pinów) Ilość kroków/obrót Inwerter: void setup() { mystepper.setspeed(60); } Prędkość (~obr/min) void loop() {...lub układ 7LS0 (6x inwerter) mystepper.step(); delay(0); 9 } Ilość kroków (może być ujemna) Źródło: CNC Router Source 0
Urządzenia wyjścia Separacja galwaniczna: Tyrystor/triak sterowanie prądem zmiennym: Transoptor (DC), Optotriak (AC) Podłączenie: Jak LED (separacja wyjścia) Jak łącznik (separacja wejścia) uc 9 8 7 6 5 0 Używane do zabezpieczenia przed: Wysokim napięciem Uszkodzeniem portu Pętlą masy SEPARACJA GALWANICZNA Pamiętamy o ograniczeniu prądu! Dziękuję za uwagę