systemy wbudowane arduino, avrhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 elementy...

6
1 Systemy wbudowane Arduino, AVR Mgr inż. Marek Wilkus http://home.agh.edu.pl/~mwilkus Wydział Inżynierii Metali i Informatyki Przemysłowej AGH Kraków Wersja 2019.02 2 Tematyka zajęć Podstawy elektroniki, Układy cyfrowe, Mikrokontrolery AVR, Arduino, Programowanie Arduino, Interfejsy użytkownika dla własnych urządzeń, Rozwiązywanie problemów, Uzyskiwanie informacji z czujników zewnętrznych, Sterowanie różnymi urządzeniami z własnego systemu, Raspberry Pi – wykorzystanie możliwości cyfrowych Raspberry Pi – wykorzystanie możliwości komputera, Raspberry Pi – wejście/wyjście, Projektowanie układów elektronicznych, Budowa układów elektronicznych. 3 Przypomnienie: Prawo Ohma Źródło: Katalog ELFA Moc [W] Rezystancja [Ω] Napięcie [V] Natężenie [A] 4 Przypomnienie: I prawo Kirchhoffa 5 Jak płynie prąd? Zasilacz 12V/2A Żarówka 12V/21W R=U 2 /P=144/21=~6.85Ω ...co i tak się zmienia... I=P/U=21/12=1.75A 6 Jak płynie prąd? Zasilacz 12V/2A Żarówka 12V/21W Zwarcie - R minimalne Prąd płynie po linii najmniejszego oporu I maksymalne – wyczerpanie zdolności zasilacza

Upload: others

Post on 10-Mar-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systemy wbudowane Arduino, AVRhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 Elementy elektroniczne: Dioda • Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

1

Systemy wbudowaneArduino, AVR

Mgr inż. Marek Wilkus http://home.agh.edu.pl/~mwilkusWydział Inżynierii Metali i Informatyki PrzemysłowejAGH Kraków

Wersja 2019.02

2

Tematyka zajęć

• Podstawy elektroniki,

• Układy cyfrowe,• Mikrokontrolery AVR, Arduino,• Programowanie Arduino,

• Interfejsy użytkownika dla własnych urządzeń,

• Rozwiązywanie problemów,• Uzyskiwanie informacji z czujników zewnętrznych,

• Sterowanie różnymi urządzeniami z własnego systemu,

• Raspberry Pi – wykorzystanie możliwości cyfrowych• Raspberry Pi – wykorzystanie możliwości komputera,

• Raspberry Pi – wejście/wyjście,

• Projektowanie układów elektronicznych,• Budowa układów elektronicznych.

3

Przypomnienie:Prawo Ohma

Źródło: Katalog ELFA

Moc [W]

Rezystancja [Ω]

Napięcie [V]

Natężenie [A]

4

Przypomnienie:I prawo Kirchhoffa

5

Jak płynie prąd?

Zasilacz12V/2A

Żarówka12V/21WR=U2/P=144/21=~6.85Ω...co i tak się zmienia...

I=P/U=21/12=1.75A

6

Jak płynie prąd?

Zasilacz12V/2A

Żarówka12V/21WZwarcie - R minimalne

Prąd płynie po linii najmniejszego oporu

I maksymalne – wyczerpanie zdolności zasilacza

Page 2: Systemy wbudowane Arduino, AVRhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 Elementy elektroniczne: Dioda • Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

7

Jak czytać schematy?

• Połączenie przewodów

• Skrzyżowanie przewodów

• Magistrala (seria połączeń):

8

Jak czytać schematy?

• Vcc, GND – zasilanie, masa• Vaa, Vbb, Vcc, … - różne

napięcia zasilania

9

Elementy elektroniczne: Rezystor

• Ogranicza prąd w obwodzie,• Spadek napięcia na nim jest zależny

liniowo od prądu przezeń płynącego,

• Istotna wielkość: Opór elektryczny R, [Ω] (Ohm),

• Najczęściej wartość zapisana jest w postaci kodu barwnego

• Szeregowe łączenie:R = R1+R2+R3+...

• Równoległe łączenie:

10

Szeregi wartości E

• Każda następna wartość jest o tyle samo % większa od poprzedniej, zaokrąglając do całkowitej w górę,

• Najczęściej można dobrać bliską żądanej wartość w zadanej tolerancji (np. E12 – 10%)

• Elementy o wartościach z szeregu są znacznie tańsze niż o wartościach na zamówienie.

Szereg E12

11

Elementy elektroniczne: Kondensator

• Pojemność elektryczna [F]• Dla prądu stałego - „magazyn” energii

(szczególnie kondensatory wysokiej pojemności)

• Dla prądu zmiennego – stanowi opór (tym mniejszy im większa pojemność lub f)– Stąd ochrona przed zakłóceniami,

usuwanie składowej stałej z sygnałów np. audio, filtrowanie przebiegów

• Istotna wartość: Pojemność (C) [F]– Dla elektrolitycznych również

rezystancja zastępcza (ESR).

• Łączenie równoległe: C=C1+C2+C3+…

• Łączenie szeregowe:12

Elementy elektroniczne: Źródła częstotliwości

• Rezonator kwarcowy – źródło częstotliwości,

• Generatory scalone – większa dokładność wyższa cena,

• TCXO (Thermally-Coupled Crystal Oscillator) – najwyższa dokładność, jednak jeszcze wyższa cena,

• Istotne parametry:– Częstotliwość [Hz]– Dokładność [ppm]

• Istotne prawidłowe podłączenie:– Kondensatory,– Jak najkrótsze ścieżki do układu!

Page 3: Systemy wbudowane Arduino, AVRhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 Elementy elektroniczne: Dioda • Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

13

Elementy elektroniczne: Dioda

• Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

• Używane jako prostowniki, separatory, stabilizatory (dioda zenera),

• Sprawne źródła światła (LED),

• Dioda Schottkyego – szybsze działanie,mniejsza oporność w przód,

• Dioda Zenera – przebicie w ściśle ustalonymnapięciu wstecznym,

• Istotne parametry:– Napięcie maksymalne w przód i wstecz,– Maksymalne natężenie prądu w przód,

• Najczęściej stosowane: 1N4148 1N4001, ...02 …07

14

Elementy elektroniczne: Tranzystory

• Wzmacnianie, sterowanie lub przełączanie sygnałów,

• Działanie:

• Istotne parametry:– Maksymalny prąd C-E– Maksymalne napięcie C-E– Prąd B-E dla pełnego otwarcia– Wzmocnienie (β)

Źródło wykresu:http://www.antonine-education.co.uk/Pages/ELectronics_1/Electronic_Components/Transistors/intro_page_6.htm

IB

~β*IB

IBIBIBIBIBIB

IB

!β*IB

15

Elementy elektroniczne: Układy scalone

• Różnorodne zastosowania,

• Różnorodne obudowy,• Istotne parametry: w nocie katalogowej

układu...– ...mniej istotne również.

• Przykładowo:– Atmega328 – mikrokontroler, jednostka

centralna Arduino,

– 7805 – stabilizator 5V DC,

– DHT11 – czujnik temperatury i wilgotności,

– ULN2803 – Zestaw tranzystorów do sterowania,

– 74LS00, 74LS04 itp. - układy realizujące funkcje logiczne…

• Warto używać podstawek (niska odporność na ciepło) 16

Scalone układy cyfrowe

• Najczęściej obudowa DIP (14, 16 pin, rzadziej 18, max 24) lub odpowiednik,

• Realizują podstawowe funkcje logiczne, bramki, inwertery, liczniki, bufory, przerzutniki, rejestry itp.

• Najczęściej występujące serie: 74xx (technologia TTL) lub 40xx (technologia CMOS),

• Możliwe składanie układów realizujących dowolne funkcje logiczne.

17

Układy cyfrowe

Źródło grafiki:http://hackaday.com/2015/08/03/how-cmos-works/

● Jeżeli stosowane są na raz układy technologii CMOS i TTL, często niezbędna jest konwersja poziomów:

W przypadku CMOS->TTL należy użyć bufora (np. 4096) względnie użyć sygnału z kilku wyjść.

!!!

1

1

18

Czego NIE mogą układy cyfrowe?

• Wyjścia układów cyfrowych, w tym mikrokontrolerów AVR i Arduino, posiadają bardzo niską wydajność prądową (dla układów TTL ok. 1mA w stanie wysokim i 15-20mA w niskim, przy mikrokontrolerach AVR – 20-40mA).

• NIE mogą bezpośrednio zasilać silników, LEDów mocy, żarówek, tym bardziej pompy czy grzałki.

• Niezbędne jest w tym wypadku użycie tranzystora.• Jeżeli mocny tranzystor nie wystarczy, należy użyć

tranzystora i przekaźnika.

Page 4: Systemy wbudowane Arduino, AVRhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 Elementy elektroniczne: Dioda • Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

19

Złącza

• Dla sygnałów i niskich prądów: Goldpin/IDC/”Złącze ML”/SIL, DIL...

• Większe prądy: Grubsze złącza SIL

• Na zewnątrz obudowy: Złącza DB/DE „szufladowe”, Jack

• Wysokie częstotliwości: Złącza koncentryczne, BNC,

• Istotne parametry:– Dopuszczalny prąd– Maksymalne napięcie– Warunki pracy

20

Zworki i przełączniki konfiguracyjne

• Służą do wprowadzenia sprzętowej konfiguracji układu,

• Niska wytrzymałość prądowa!• Niewielka liczba cykli użycia (w

łącznikach DIP),• Podczas projektowania należy

pamiętać o bezpieczeństwie układu.

21

Płytka stykowa

• Szybkie wykonanie prototypu,

• Łączenie pól kabelkami z tzw. „goldpin”,• Możliwość łatwej rekonfiguracji,

• Nie nadaje się do wysokich prądów

22

Pomiary

• Napięcie w układzie: Woltomierz równolegle do źródła napięcia

• Pobierany prąd: Amperomierz szeregowo wraz z obciążeniem,• Pomiary oporności rezystorów, pojemności kondensatorów:

Element do zacisków miernika

23

Metoda Muntza

• Istnieje bardzo duża różnica techniczna pomiędzy tym jak układ POWINIEN być zrobiony a tym jak MOŻE być zrobiony,

• Ta różnica w eksploatacji jest marginalna.

• Jeżeli znane są punkty pracy układu, można go optymalizować.

• Wiele elementów jest w typowych zastosowaniach zbędne i układ może działać bez nich („Muntzing”).

• Łącząc aplikacje różnych układów często włączamy nadmiarowe elementy, które można bezpiecznie usunąć.

24

Mikroelektronika

• Prawo Moore'a: Liczba tranzystorów w układzie podwaja się co ok (18..24) miesięcy.

196x: 6 T/układ 198x: 10 000 T/układMiniaturyzacja 199x: >milion T/układ

200x: >100 milionów T/układWiększa miniaturyzacja

Page 5: Systemy wbudowane Arduino, AVRhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 Elementy elektroniczne: Dioda • Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

25

Na przykład...

26

Gdzie szukać informacji?

• Literatura o elektronice, np.:– Nuhrman D. - „Elektronika łatwiejsza niż przypuszczasz”– Horowitz P., Hill W. - „Sztuka Elektroniki”

• Rozdziały teoretyczne w katalogach• Darmowe kursy, np.:

– Talking Electronics: • http://www.talkingelectronics.com/pay/TEI-Index-Full.html

– Play-Hookey – kurs elektroniki cyfrowej• http://www.play-hookey.com/

– Elportal• http://elportal.pl/podstawy-elektroniki/

• Noty katalogowe układów, • Gotowe projekty w sieci,• Badanie istniejących urządzeń,

27

Konstrukcja urządzenia (1)

1. Specyfikacja problemu– np. Zbieranie i przechowywanie informacji o dostarczonych produktach

2. Jakie urządzenia wejścia i wyjścia są potrzebne?– np. Wejście: Czytnik kodów kreskowych, klawiatura,– Wyjście: Karta SD, wyświetlacz, beeper, LEDy

Czytnik kodów

Klawiatura

LCD

LEDy

Karta SD

28

Konstrukcja urządzenia (2)

3. Czy któreś z tych urządzeń wymaga sterowników?– Odpowiednio dobrany sterownik oszczędza porty I/O– Zasilanie urządzeń – czy potrzebujemy dodatkowych źródeł

zasilania?

Czytnik kodów

Klawiatura

LCD

LEDy

Karta SD

rs232

Dzielnik napięcia

Stabilizatory

29

Konstrukcja urządzenia (3)

3. Wybór platformy systemu, ocena wydajności, możliwości rozbudowy i dostosowywania.

UNO

Czytnik kodów

Klawiatura

LCD

LEDy

Karta SD

rs232

Dzielnik napięcia

Stabilizatory

30

Konstrukcja urządzenia (4)

4. Szkielet programu: Definicje, Ustalenie ról wejść/wyjść, założenia programu, podstawowe procedury (+ „zaślepki” funkcji)

0,1 – RS232 for Scanner

A0 – keyboard in

A1..A5 – LED out

2..5, 6, 7 - LCD

10..13 – SD Card I/O

#define KEYBOARD A0#define LED1 A1 …

void store_number() {…setup { pinMode……loop {...

Page 6: Systemy wbudowane Arduino, AVRhome.agh.edu.pl/~mwilkus/sw/arduino2019-2-wyk0.pdf · 13 Elementy elektroniczne: Dioda • Przewodzi prąd w jednym kierunku bardziej niż w przeciwnym,

31

Konstrukcja urządzenia (5)

5. Przedprototyp (płytka stykowa), testowanie, dopełnianie i udoskonalanie programu korzystając z połączenia USB do Arduino. Rysowanie i poprawki schematów częściowych (sterowników poszczególnych urządzeń).

32

Konstrukcja urządzenia (6)

7. Końcowe rozwiązanie kwestii zasilania gotowego urządzenia

8. Projektowanie końcowego schematu. Zaprojektowanie i wykonanie płytki drukowanej łączącej mikrokontroler i niezbędne interfejsy. Końcowe testy i poprawki, umieszczenie układu w obudowie.

33

Co więc możemy zrobić...

Pisząc program dla mikrokontrolera możemy:– Sterować stanem: wysoki (ok. 5V) / niski (ok. 0-.5V) na

dowolnym wyjściu ( digitalWrite(PIN,stan) stan = HIGH, LOW ),

– Sprawdzić stan na dowolnym wejściu ( digitalRead(PIN) ),– Zamienić pin (wyprowadzenie) z wejścia na wyjście i

odwrotnie ( pinMode(PIN,stan) stan = INPUT, OUTPUT, INPUT_PULLUP )

– Wykorzystać szczególne właściwości wejść/wyjść.

• Na platformie Arduino wykonujemy to z poziomu języka podobnego do C/C++

34

Dziękuję za uwagę