Archiwa kategorii: Bez kategorii

Lekcja 17: Tester baterii

Wzmacniaczowi operacyjnemu LM358 poświęciłam lekcję 11. Dziś wykorzystamy go do zbudowania ciekawego układu – prostego testera baterii.

d1

Ryc. 1 Schemat prostego testera baterii.

Układ zasilany jest napięciem 12V. Za koszykami baterii znajduje się stabilizator napięcia, dzięki któremu do układu LM358 dociera napięcie 5V. Przypominam, że nóżka 3 to tzw. wejście nieodwracające We(+), a nóżka 2 to wejście odwracające We(-). Jeśli napięcie na We(+) > We(-) na wyjściu otrzymamy napięcie zbliżone do dostarczonego do wzmacniacza napięcia zasilania, a czerwona dioda LED zaświeci. W przeciwnym razie, tzn. gdy We(+) ≤ We(-) na wyjściu otrzymamy napięcie bliskie 0V, dioda nie zaświeci.

Nóżkę 3 wzmacniacza będziemy łączyć z jednym z biegunów baterii. Druga nóżka przez potencjometr 10kΩ łączy się z masą i plusem zasilania.  Rezystor 1MΩ jak i kondensator 100nF zapobiegają wzbudzaniu układu. Złóżcie układ na płytce stykowej,

zmontowany_uklad

Ryc.2. Widok zmontowanego układu

a następnie tak ustawcie pokrętło potencjometru, aby napięcie na woltomierzu wskazało 1,45V (ryc.3). Czemu taka wartość? Będziemy badać baterie-paluszki o napięciu znamionowym 1,5V. Gdy są nowe ich napięcie wynosi ok. 1,6V, gdy są  rozładowane ich napięcie wynosi np 1,17V lub mniej. Napięcie 1,45V oznacza, że bateria jeszcze się do czegoś nadaje, może nie do urządzeń typu aparat fotograficzny, ale do pilota do telewizora jak najbardziej :)

pomiar_ref_1_45V

Ryc. 3. Widok pomiarów napięcia na potencjometrze pomiędzy masą a środkową nóżką potencjometru.

pomiar_sprawnej_baterii

Ryc. 4. Pomiar sprawnej baterii, dioda LED świeci.

Jeśli do układu podłączymy dobrą, nową baterię napięcie na We(+) będzie wynosić np. 1,6V i będzie większe od napięcia na We(-), które wynosić będzie 1,45V. We(+) > We(-) więc dioda się zaświeci. W naszym przypadku znaleźliśmy baterię lekko rozładowaną, która ma napięcie 1,57V patrz ryc. 5

bat_1_57V

Ryc. 5. Pomiar baterii nadającej się jeszcze do użytku.

Jeśli do układu podłączymy zużytą baterię napięcie na We(+) będzie wynosić np. 1,17V, i będzie mniejsze od napięcia na We(-), które wynosić będzie 1,45V. We(+) < We(-) więc dioda się nie zaświeci.

slaba_bateria_1_17V

Ryc.6. Pomiar rozładowanej baterii.

Teraz nieco zmodyfikujemy nasz obwód dodając do niego przekaźnik.

przekazniki

Ryc. 7 Przekaźniki elektromagnetyczne: a) na 12V, b) na 5V.

Przekaźnik jest to element mechaniczny i zarazem elektryczny, który wewnątrz posiada przełączane styki (elementy łączeniowe) jak również cewkę, która wytwarza pole magnetyczne.

W swoich zestawach podzespołów możecie znaleźć przekaźnik elektromagnetyczny. Jest to typ przekaźnika, który działa jak elektromagnes. Prąd przepływający przez cewkę przekaźnika (nawinięte zwoje drutu nawojowego) powoduje wytwarzanie pola magnetycznego, które przyciąga żelazną kotwiczkę, co z kolei powoduje zamknięcie lub otwarcie odpowiednich styków. Na ryc 8. pokazano najprostszy przykład przekaźnika pokazujący jego ideę działania. W naszym przypadku żelazna kotwica jest zarazem jednym ze styków przez, który może płynąć prąd.

zasada dzial przek

Ryc. 8 Schemat działania przekaźnika elektromagnetycznego.

W zależności od tego jaki posiadasz przekaźnik: na 5V (ryc. 7b) czy na 12V (ryc. 7a)  lub inny, złóż na płytce stykowej odpowiednio obwód z ryc. 10a lub 10b. W moim układzie zastosowałam przekaźnik  HFD 23 na napięcie 12V.

hfd23_12v

Ryc. 9. Widok przekaźnika HFD23 na napięcie 12V.

Jak sprawdzić przekaźnik, którego nie znamy a chcemy się  dowiedzieć,  które wyprowadzenia do czego służą?

Bardzo pomocny w tym zadaniu będzie nasz multimetr. Ustawmy go na pomiar rezystancji na zakres np 2k om, a następnie przykładajmy sondy do poszczególnych par nóżek przekaźnika, sprawdzając jaka będzie rezystancja między nimi. W ten sposób musimy odnaleźć parę nóżek między którymi rezystancja będzie największa (np. powyżej 2 omów) oraz parę nóżek między którymi rezystancja będzie najmniejsza (rzędu 1 – 2 oma (w rzeczywistości zwarte styki przekaźnika mają rezystancję znacznie mniejszą ale nasze multimetry kiepsko sobie radzą z pomiarem małych rezystancji)).

Duża rezystancja  będzie świadczyć o tym, że znaleźliśmy cewkę, która wytwarza pole magnetyczne. Jeżeli przyłożymy napięcie do wyprowadzeń o dużej rezystancji to przez cewkę popłynie prąd zaś styki, w zależności od rodzaju przekaźnika:

  • zewrą się – taki styk przekaźnika określa się mianem normal open (normalnie otwarty, gdy nie przykładamy do cewki napięcia, styki są otwarte, nie mają ze sobą połączenia, a multimetr nic nie pokaże) – tego typu przekaźników będziemy używać,
  • rozewrą się – taki typ styków przekaźnika określa się mianem normal conection (normalnie zwarte, gdy nie przykładamy do cewki napięcia, styki są zwarte).

Mała rezystancja będzie oznaczać, że znaleźliśmy zwarte styki przekaźnika. W przypadku przekaźników typu normal open między dwoma nóżkami nie będzie w ogóle rezystancji, ponieważ gdy przez przekaźnik nie przepływa prąd pozostają one rozwarte (nie mają ze sobą połączenia).

 

d2

Ryc. 10. Schemat obwodu z przekaźnikiem: a) na 5V, b) na 12V.

zmontowany_uklad_z_przekaznikiem

Ryc. 11. Widok zmontowanego układu wraz z przekaźnikiem i dodatkową diodą LED w obwodzie styków przekaźnika.

Jeśli napięcie dopływające do wejścia nieodwracającego LM358 będzie większe od tego na wejściu odwracającym, czyli We(+) > We(-) na wyjściu otrzymamy napięcie, które spowoduje przepływ prądu w obwodzie bazy i tym samym załączy tranzystor. Przez cewkę przekaźnika i przez tranzystor (w obwodzie kolektor-emiter) zacznie płynąć prąd, który  wytworzy pole magnetyczne, a to z kolei spowoduje zamknięcie styku i przepływ prądu przez diodę LED.

Jeśli napięcie na wejściach wzmacniacza ulegnie zmianie i We(+) ≤ We(-) na wyjściu otrzymamy napięcie bliskie zeru, które będzie zbyt niskie, aby wymusić przepływ prądu w obwodzie bazy – tranzystor będzie wyłączony. W konsekwencji przez przekaźnik także przestanie płynąć prąd… ale na rdzeniu na, którym nawinięta jest cewka pozostanie zmagazynowana energia która musi gdzieś zostać oddana! Dlatego właśnie w obwodzie blisko cewki przekaźnika znajduje się dioda szybka 1N4148, która zewrze przekaźnik do plusa. Gdybyśmy zapomnieli o tej diodzie projektując nasz układ (a jest to dość częsty błąd początkujących elektroników) energia z rdzenia przekaźnika spowoduje powstanie wysokiego napięcia na zaciskach cewki co spowoduje uszkodzenie tranzystora!

Po co stosuje się przekaźniki? Wyobraźmy sobie pralkę (lub jakiekolwiek inne urządzenie) podłączone do sieci zasilającej ~230V. Tak wysokie napięcie jest potrzebne do zasilenia np. silnika obracającego bębnem pralki, ale zupełnie nie nadaje się do zasilania programatora, który wymaga znacznie niższego napięcia. Dzięki przekaźnikowi niewielki prąd płynący od programatora pralki o napięciu powiedzmy 12V załącza silnik zasilany 230V.

pralka

Ryc. 12 Schematyczny rysunek przedstawiający sposób załączania silnika obracającego bębnem pralki przy pomocy niewielkiego prądu płynącego z programatora.

Abstrahując od naszego dzisiejszego tematu w schemacie z pralką pojawiły się dwa nowe oznaczenia podzespołów na schemacie:

prostownik

mostek prostowniczy (mówiliśmy o nich na lekcji 7 – jest to po prostu inny jego zapis)

transformator

transformator

Transformator przenosi energię elektryczną drogą indukcji z jednego obwodu elektrycznego do drugiego. Prąd przemienny płynący po stronie pierwotnej transformatora powoduje zmianę prądu płynącego po wtórnej stronie transformatora. Oznacza to, że zmiany pola magnetycznego w obwodzie elektrycznym przez który przepływa prąd zmienny powoduje powstanie siły elektromotorycznej. Transformator jest często wykorzystywany (tak jak w przykładzie z pralką) do zmiany napięcia  sieci ~230V na niskie napięcie potrzebne do zasilenia urządzenia elektronicznego np ~12V.

        W układach sieci zasilającej (sieci energetyki zasilającej nasze domy, mieszkania oraz zakłady pracy) również stosowane są transformatory. Mogą one obniżać  napięcie  np z 15kV na 230V lub podwyższać np z 15kV  na 110kV itp. Idąc ulicą można zauważyć wysokie słupy z długimi przewodami (tzw linie napowietrzne) w zależności od budowy takiego słupa można wywnioskować jakie napięcie na nich występuje. W żadnym wypadku nie można dotykać słupów ani na nie wchodzić gdyż grozi to porażeniem prądem. W szczególnych przypadkach nawet  przebywanie blisko linii napowietrznej może stanowić zagrożenie życia. Tak może się zdarzyć np jadąc traktorem po polu gdzie bardzo nisko jest zawieszona linia napowietrzna. Dlaczego?

Dość ciekawą dla nas informacją może być fakt, że  wytrzymałość izolacji pomiędzy dwoma przewodnikami (np. drutami bez izolacji) w przestrzeni powietrznej wynosi ok 1000V na 1mm odległości. Oznacza to, że zbliżając do siebie dwa przewodniki na odległość mniejszą od  1mm po przyłożeniu napięcia 1000V może nastąpić wyładowanie (przeskok iskry). Jeżeli natomiast odległość jest większa przeskok iskry nie powinien wystąpić (wszystko jeszcze zależy od wilgotności powietrza, zanieczyszczenia elektrod itd). Powyższa informacja jest bardzo ważna gdyż związana jest z naszym bezpieczeństwem  – nie zawsze trzeba dotknąć bezpośrednio przewodu będącego pod napięciem aby zostać porażonym prądem. Porażenie prądem może nastąpić z większej odległości.

Objaśnienia instrukcji użytych w lekcji 1

W tym miejscu chciałam Wam wyjaśnić pewne kwestie, które są niezbędne do pełnego zrozumienia lekcji 1 dot. programowania. Postanowiłam ująć to w osobnym poście, aby nie wprowadzać zbyt wielu informacji na początek w obawie, że pierwsza lekcja stałaby się zbyt skomplikowana.

We „wstępie…” pisałam, że oprócz podstaw elektroniki do nauki programowania będzie Wam potrzebna znajomość systemów liczbowych, o których pisałam tutaj. Teraz nieco rozwinę tą kwestię wyjaśniając zapis:

DDRD |= 1<<0;

Jak już wiemy rejestr DDRD określa czy nóżki należące do portu D mają być wejściami czy wyjściami.

piny atmegi8 z rejestrami

Nóżek ATmegi8 należących do portu D jest 8, są to nóżki: PD0, PD1, PD2, PD3, PD4, PD5, PD6, PD7 (na schemacie powyżej są one oznaczone kolorem niebieskim).

Domyślnie wszystkie nóżki mikrokontrolera są wejściami, co możemy zapisać w ten sposób:

DDRD = 0b00000000

(0b to specyficzne dla kompilatora AVR-GCC oznaczenie, które niejako tłumaczy mikrokontrolerowi, że oto teraz użyjemy liczby zapisanej w postaci binarnej)

Każde z zer występujących po przedrostku „0b” oznacza inną nóżkę portu D. Zero leżące maksymalnie po prawej stronie oznacza nóżkę PD0, a zero maksymalnie po lewej nóżkę PD7.

dod1

W lekcji pierwszej programowania diodę LED podłączaliśmy pod nóżkę drugą ATmegi8, oznaczoną jako nóżka PD0. Dlatego zależało nam, aby nóżka PD0 była wyjściem, a nie wejściem. W tym celu wystarczy zmienić odpowiednie zero na jedynkę:

DDRD = 0b00000001

W tym miejscu możecie zarzucić mi, że przecież w lekcji 1 programowania nie stosowaliśmy takiego zapisu! To prawda, zapisaliśmy to w ten sposób:

DDRD |= 1<<0;

Skąd taki zapis? W tak prostym i krótkim programie jak nasz, może rzeczywiście łatwiej i prościej byłoby użyć „DDRD = 0b00000001″, ale celowo użyłam „trudniejszego” zapisu, ponieważ jest on bardziej przydatny podczas pisania dłuższych, skomplikowanych programów, a poza tym „prostszego” zapisu „nie rozumieją” inne kompilatory oprócz AVR-GCC. Dlatego wydaje mi się, że lepiej od razu przyzwyczaić się do takiego zapisu.

Teraz wyobraźmy sobie, że jesteśmy w trakcie pisania dłuższego programu, w którym zdefiniowaliśmy już część nóżek należących do portu D, a teraz chcemy tylko zdefiniować nóżkę PD0 jako wyjście. Gdybyśmy użyli zapisu: „DDRD = 0b00000001″ wszystkie zaprogramowane dotychczas nóżki portu D zmieniłyby się w wejścia, a tylko ostatnia nóżka PD0 byłaby wyjściem. Dzieki zapisowi „DDRD |= 1<<0″ nóżka PD0 zmieni się w wyjście, a wszystkie pozostałe nóżki pozostaną niezmienione, niezależnie czy wcześniej zaprogramowaliśmy je jako wejścia, wyjścia czy może, tak jak to ma miejsce w naszym przypadku, pozostawiliśmy je domyślnie wejściami.

Co właściwie oznacza zapis „|= 1<<0″?

Dwa znaki „<<” oznaczają przesunięcie w lewą stronę. W naszym przypadku logiczne „1” przesuwamy o zero miejsc, więc jedynka pozostanie na miejscu ostatnim, czyli oznaczającym nóżkę PD0.

Gdyby w lekcji 1 dioda LED została podłączona np. do nóżki PD2, nasz zapis wyglądałby następująco:

DDRD |=1<<2

Logiczne jeden przesunęłoby się o dwa miejsca i znalazło na trzecim miejscu od prawej (DDRD = 0b00000100).

Ta pionowa kreska „|” oznacza funkcję logiczną OR, czyli sumę. Każemy naszemu programowi dodać te logiczne zera i jedynkę do domyślnych ustawień nóżek rejestru portu D:

dod2

Jak wyglądałby wynik dodawania gdyby zamiast domyślnych ustawień dla portu D, mielibyśmy inne, np. takie: DDRD = 0b10101100?

dod3Jak widzicie w wyniku dodawania poprzednie ustawienia dla portu D nie uległy zmianie za wyjątkiem ostatniej nóżki PD0, która z logicznego zera (wejścia) zmieniła się w logiczne 1 (wyjście).

Na marginesie dodam, że w standardzie w języku C nie ma możliwości zapisania liczby systemem binarnym (wyjątkiem są tu niektóre kompilatory, np. AVR-GCC, które umożliwiają wprowadzenie liczby binarnie z przedrostkiem 0b, np. 0b00000001), ale jak najbardziej można użyć zapisu heksadecymalnego, czyli szesnastkowego. W tym celu taką liczbę należy poprzedzić przedrostkiem „0x”, np. 0x01.

Teraz przyjrzyjmy się bliżej instrukcji wpisanej w pętle „while”:

PORTD |=_BV(PD0);

Znów mamy tu do czynienia z operatorem „|”, czyli sumą, ale co oznacza: „_BV(PD0)”? Otóż „_BV(numer_bitu)” to pomocnicze makro, czyli swoiste polecenie rozumiane przez kompilator. „_BV(numer_bitu) oznacza to samo co omawiane przed chwilą „1<<(numer_bitu)”. Który zapis wybierzecie zależy od Was.

W nawias następujący po „_BV” możecie wpisać zarówno nazwę nóżki mikrokontrolera (PD0) lub odpowiadający jej numer bitu (1), pamiętając, że bity numerujemy odpowiednio: PD0 to bit 1, PD1 to bit 2, …, PD7 to bit 8.

Instrukcja „PORTD |=_BV(PD0)” oznacza, że do domyślnie ustawionych lub zdefiniowanych przez nas wcześniej w programie wartości logicznych na poszczególnych nóżkach mikrokontrolera program ma dodać logiczne 1 do nóżki PD0 (bit 1).

dod4Na nóżce PD0 pojawi się logiczne 1, co spowoduje wyłączenie diody LED.

Kolejna instrukcja zawarta w pętli „while” to:

PORTD &=~_BV(PD0);

Znak „&” to operator oznaczający iloczyn (AND), a „~” to negacja.

Makrodefinicję  „_BV(PD0)” możemy zapisać jako 0b00000001. Po jej zanegowaniu (znak ~ na przedzie) otrzymamy 0b11111110. Operator „&” każe nam to pomnożyć z ustawieniami portu D (wprowadzonymi uprzednio instrukcją „PORTD |=_BV(PD0)”), przez co w konsekwencji otrzymamy 0b00000000.

dod5Na nóżce PD0 pojawi się logiczne 0, co spowoduje włączenie diody LED.

Więcej o operacjach bitowych znajdziecie tutaj.

Programowanie – lekcja 1

Pierwszą lekcję programowania mikrokontrolerów zaczniemy od złożenia poniższego układu na płytce stykowej:

schemat_glowny_blog_v2

Ryc. 1 Schemat układu złożonego ze źródła zasilania B1, stabilizatora napięcia 7805, kondensatorów (C1, C2, C3, C4), mikrokontrolera ATmega 8, czerwonej diody D1 oraz rezystorów (R1, R2).

 

Źródłem prądu może być zarówno bateria jak i specjalny zasilacz, natomiast dalej koniecznie musi znajdować się stabilizator napięcia w otoczeniu kondensatorów lub moduł stabilizatora napięcia. Dopiero wtedy możemy podłączyć nasz mikrokontroler, którym będzie ATmega8. Ważne jest aby układ nie był zasilany napięciem wyższym niż 5V. To samo dotyczy każdej końcówki mikrokontrolera. Najwyższe napięcie na pojedynczej końcówce to 5V !

W tym miejscu przyjrzyjmy się bliżej ATmedze8 – jej notę katalogową możecie znaleźć tutaj.  Na stronie drugiej (cała nota ma 320 stron!) znajdziecie opis poszczególnych wyprowadzeń:

Ryc

Ryc. 2 Schemat funkcji pinów ATmegi8.

Do nóżki 7 opisanej jako VCC podłączamy plus zasilania, a do nóżki 8 GND masę.

Jeśli pozostawimy nóżkę 1 (RESET) z niczym niepołączoną może się zdarzyć, że jakieś nawet drobne zakłócenia spowodują reset naszego układu. Zapobiega temu rezystor R1 o rezystancji 10kΩ. Poza tym programator przed zaprogramowaniem mikrokontrolera musi go zresetować. Dlatego nóżkę 1 podłączyłam do złącza z którym potem będziemy łączyć programator.

Nóżki 17, 18 i 19 służą do podłączenia mikrokontrolera przez złącze ISP do programatora. Złącze ISP (z ang. In System Programming) umożliwia podłączenie programatora znajdującego się w jakimś obwodzie. Wracając do naszych nóżek:

  • nóżka 17, czyli pin MOSI – master output slave input – wejście,
  • nóżka 18, czyli pin MISO – master input slave output – wyjście,
  • nóżka 19, czyli pin SCK – serial clock – dane pomiędzy programatorem a mikrokontrolerem przesyłane są w równych odstępach czasu, zgodnie ze wskazaniem tego zegara.

Nóżka 2 (RXD) PD0 – jedno z wielu wielofunkcyjnych wyprowadzeń,  którego funkcja zależy od tego co tu podłączymy i jak ją zaprogramujemy. Ja podłączyłam tu rezystor R2 220Ω i czerwoną diodę LED D1.

Jak z układem połączyć programator? Otóż:

  • złącze 1 programatora MOSI (u mnie przewód brązowy) – nóżka 17 MOSI mikrokontrolera;
  • złącze 2 programatora VCC (u mnie przewód czerwony) – nóżka 7 VCC mikrokontrolera;
  • złącze 4 programatora GND (u mnie przewód niebieski) – nóżka 8 GND mikrokontrolera;
  • złącze 5 programatora RST (u mnie przewód biały) – nóżka 1 RESET mikrokontrolera;
  • złącze 7 programatora SCK (u mnie przewód czarny) – nóżka 19 SCK mikrokontrolera;
  • złącze 9 programatora MISO (u mnie przewód zielony) – nóżka 18 MISO mikrokontrolera.
IMG_8669

Ryc. 3 Programator.

Mój układ na płytce stykowej:

Ryc

Ryc. 4 Układ złożony na płytce stykowej na podstawie schematu z ryc. 1.

Ćwiczenie 1

Celem pierwszego ćwiczenia będzie napisanie krótkiego programu, który będzie sterował miganiem diody LED.

Otwieramy program AVR Studio 4 (o tym skąd go ściągnąć pisałam tutaj):

a następnie tworzymy nowy projekt (przycisk „New Project”). Typ projektu „AVR GCC”, nazwa „Lekcja”, potwierdzamy utworzenie nowego folderu i pliku o nazwie „main”, jak również wybieramy odpowiednią lokalizację zapisu (u mnie F:\kurs programowania\lekcja1).

1aKolejnym etapem (po kliknięciu „next”) jest wybór platformy „AVR Simulator” i mikrokontrolera „ATmega8″.

1bPo kliknięciu przycisku „finish” zostaniemy przeniesieni do okna w którym możemy zacząć pisać nasz pierwszy program.

1bbDobrą praktyką jest stworzenie na początku pisanego programu krótkiej metryczki z najważniejszymi informacjami. Możemy to zrobić na dwa sposoby:

  • na początku dłuższego komentarza, mogącego zająć kilka linijek umieszczamy slash i gwiazdkę „/*”, a na końcu gwiazdkę i slash „*/”

1c

  • na początku każdego wersu z komentarzem umieszczamy dwa znaki slash: „//”

1dKtóry sposób wybierzecie zależy tylko od Was. Wasz komentarz zostanie zaznaczony na zielono.

Teraz musimy zdefiniować częstotliwość wewnętrznego zegara mikrokontrolera, wartość podana jest w hercach: „#define F_CPU 1000000UL”.

1eW następnych wersach dołączymy dwie biblioteki danych napisanych dla mikrokontrolera:

  • „#include <avr/io.h>” biblioteka z obsługą portów wejścia i wyjścia (zawsze wstawiamy ją do pisanego programu),
  • „#include <util/delay.h>” biblioteka, którą wstawia się jeśli w programie będziemy korzystać z opóźnień (np. jednosekundowe opóźnienie podczas włączania i wyłączania naszej diody)

1fTe 3 operacje procesor mikrokontrolera wykona na początku, przed rozpoczęciem wykonywania programu.

Właściwa część pisanego programu musi być umieszczona pomiędzy znakami:

„int main()

{

}”

Nawias obok nazwy funkcji głównej „main” pozostawiamy pusty, ponieważ nie ma dodatkowych warunków od których zależałoby wykonanie naszego programu.

1gZanim przejdziemy do omówienia dalszej części kodu programu, zatrzymamy się na chwilę, aby przyjrzeć się naszemu mikrokontrolerowi – ATmedze8, a właściwie jej nóżką.

piny atmegi8 z rejestrami

Ryc

Większość wyprowadzeń mikrokontrolera należy do określonych portów. ATmega8 posiada:

  • port wejścia/wyjścia typu B – należą tu nóżki PB0, PB1, PB2, PB3, PB4, PB5, PB6, PB7 (port 8-bitowy)
  • port wejścia/wyjścia typu C – należą tu nóżki PC0, PC1, PC2, PC3, PC4, PC5, PC6 (port 7-bitowy)
  • port wejścia/wyjścia typu D – należą tu nóżki PD0, PD1, PD2, PD3, PD4, PD5, PD6, PD7 (port 8-bitowy)

Każdy z tych portów może być modyfikowany w obrębie 3 rejestrów:

  • DDRx – określa czy dany port ma być wejściem czy wyjściem (domyślnie wszystkie porty mikrokontrolera są wejściami),
  • PORTx – określa czy na danym porcie ma pojawić się logiczne „1” czy „0”,
  • PINx – służy do odczytywania danych z portu (np. wielkość napięcia).

Wracamy do pisania naszego programu.

Dioda LED podłączona jest do nóżki drugiej mikrokontrolera PD0. Wyprowadzenie to należy do portu D. Jak już pisałam domyślnie wszystkie porty są wejściami. Jeśli chcemy, aby na konkretnej nóżce pojawiło się napięcie, a dioda się zaświeciła, musimy zmienić rejestr DDRx dla portu D tak, aby stał się on wyjściem. W tym celu w kodzie naszego programu wpisujemy:

DDRD |= 1<<0;

Jak widzicie w nazwie rejestru DDRx zastąpiliśmy „x” literą oznaczającą port „D”. Ta dziwna komenda: ” |= 1<<0″ oznacza po prostu ustawienie nóżek portu D jako wyjście (wyjaśnienie tego zapisu znajdziecie tutaj). Naszą instrukcję kończymy średnikiem, który pełni funkcje terminatora (tak jak kropka na końcu zdania).

1hNasza dioda ma się stale zapalać i gasnąć. W tym celu musimy użyć pętli. Wprowadza się ją za pomocą instrukcji „while”. Pętla będzie się powtarzać dopóki warunek jej wykonania, zapisany w nawiasie będzie liczbą większą od zera. Z tego powodu, jeśli chcemy, aby pętla powtarzała się stale wystarczy w nawias wpisać cyfrę 1. Treść danej pętli zapisujemy w nawiasach { }:

while(1)

         {

         }

1iW pętle wpisujemy następującą instrukcję:

PORTD |=_BV(PD0);// – wyłącza diodę LED

_delay_ms(1000);

PORTD &=~_BV(PD0); //- załącza diodę LED

_delay_ms(1000);

W ten sposób określiliśmy rejestr PORTx dotyczący portu D (PORTD), aby na nóżce PD0 pojawiło się:

  • logiczne 1 – operatory: „|=_BV”
  • logiczne 0 – operatory: „&=~_BV”

Funkcja opóźnienia „_delay_ms(1000)” określa w milisekundach jakie ma być opóźnienia 1000ms = 1s.

1jGratulacje, właśnie napisałeś swój pierwszy program. Nie przejmuj się jeśli coś wydaje Ci się skomplikowane, będziemy omawiać jeszcze wiele przykładów, które może w nieco większym stopniu wyjaśnią pewne sprawy.

Pozostało nam jeszcze skompilowanie programu. Wystarczy w menu u góry kliknąć „Built” lub po prostu wcisnąć F7. Jeżeli masz wszystko prawidłowo napisane a program źle się kompiluje to wykonaj operację dostępną pod tym linkiem.

1k1lW lewym dolnym rogu powinniście otrzymać informację „Build succeeded with 0 Warnings…”, co oznacza prawidłową kompilację programu. Jeśli wyświetla się inny komunikat dokładnie sprawdźcie czy prawidłowo wpisaliście kod programu, zwłaszcza czy są wszystkie średniki.

 Projekt z tej lekcji można pobrać tu.

Ostatnim krokiem jest wgranie napisanego programu do pamięci mikrokontrolera. W tym celu należy podłączyć programator do złącza USB swojego PC (koszyk baterii należy najpierw odłączyć – układ będzie zasilany bezpośrednio z komputera), otworzyć program SinaProg (o tym skąd go pobrać pisałam wcześniej tutaj), a następnie:

  • otwórzyć plik *.hex swojego programu;
  • w ramce „Device” wyszukać na liście mikrokontroler ATmega8;
  • w ramce Flash nacisnąć przycisk „Program”.

screen_sinaprog

(UWAGA! Jeśli jesteś osobą początkującą nie zmieniaj pozostałych parametrów w programie SinaProg, ponieważ może to spowodować całkowite zablokowanie mikrokontrolera.)

Napisany przez Ciebie program zostanie wgrany do mikrokontrolera, a dioda na płytce stykowej powinna zacząć migać. Teraz można odłączyć programator zarówno od PC jak i płytki stykowej, a następnie przed stabilizatorem napięcia podłączyć źródło zasilania – koszyk baterii.

 

Wstęp do programowania

Do kogo skierowany jest ten kurs?

Kurs pisany jest z myślą o osobach które nigdy nie miały styczności z programowaniem, ale znają podstawy elektroniki (opanowały materiał z pierwszych 15 lekcji z kursu elektroniki) i zapoznały się z informacjami dot. systemów liczbowych.

Po co mam się uczyć programowania?

W zasadzie operacje, które wykonuje zaprogramowany mikrokontroler, mogą z powodzeniem wykonać układy logiczne o których mówiliśmy już na kursie elektroniki (lekcja 12, 13, 14). To prawda, ale problemy będą się pojawiać, gdy będziemy chcieli zbudować nawet średnio zaawansowane urządzenie. Może się wtedy okazać, że będziemy musieli połączyć ze sobą wiele układów logicznych. W takiej sytuacji musielibyśmy zmierzyć się z licznymi problemami: od znacznej złożoności takiego obwodu, przez problemy z odpowiednim połączeniem ze sobą wszystkich układów logicznych, kończąc na dużych rozmiarach takiego obwodu i sporym zużyciu prądu. Nawet jeśli zwycięsko przejdziemy przez te wszystkie trudności może się okazać, że nasz obwód z różnych powodów chcemy poddać nawet niewielkiej modyfikacji. Co wtedy? Ingerowanie w misternie połączoną sieć układów logicznych na pewno byłoby trudne i pracochłonne.

Z tego powodu umiejętność programowania, oprócz tego że obecnie bardzo modna i poszukiwana na rynku pracy, otworzy przed Wami możliwość tworzenia nawet bardzo skomplikowanych urządzeń zajmujących stosunkowo niewiele miejsca, a poza tym dokonywanie ewentualnych modyfikacji będzie stosunkowo proste.

Czym jest ten mikrokontroler, który będziemy uczyli się programować?

Mikrokontroler (µC) jest to pojedynczy układ scalony zawierający w swojej budowie jednostkę arytmetyczno-logiczną (ALU), pamięć danych (RAM), pamięć programu, porty wejścia-wyjścia oraz inne dodatkowe elementy jak interfejsy, przetworniki, timery.

W dużym uproszczeniu możemy powiedzieć, że jest to jakby mini-komputer sterujący pracą naszego urządzenia.

W ramach tego kursu będziemy pracować na 8 bitowym układzie z rodziny AVR, mikrokontrolerze ATmega8. Zgodnie z notą katalogową jest on wyposażony m.in. w:

  • 8kB pamięci Flash – pamięć trwała, dane w niej zapisane nie znikają po wyłączeniu urządzenia, można ją przeprogramować poprzez skasowanie i ponowne nadpisanie danych (ok. 10000 razy), zapisujemy w niej przede wszystkim kod programu i wartości stałe;
  • 512B pamięci EEPROM – dane w niej zapisane nie znikają po wyłączeniu urządzenia, można je zapisywać ok. 100000 razy;
  • 1kB pamięci SRAM – przechowuje dane do momentu wyłączenia urządzenia;
  • jednostka arytmetyczno-logiczna ALU wykonująca obliczenia;
  • 23 linie wejścia/wyjścia służące wprowadzania i wyprowadzania danych do i z µC.

Zwróćcie uwagę na to, że wielkość pamięci jest raczej niewielka. W związku z tym istotne jest zwracanie szczególnej uwagi na to, by pisany program nie był zbyt zbyt długi. To raczej uwaga na przyszłość, ponieważ zaczniemy od bardzo prostych i krótkich programów :)

Którego języka programowania najlepiej zacząć się uczyć?

Istnieje kilka różnych języków programowania mikrokontrolerów (i jak to zwykle w życiu bywa każdy z nich ma swoje plusy i minusy, a zalety jednego są jednocześnie wadami kolejnego i na odwrót), oto najpopularniejsze z nich:

Najprostszy jest język basic. Z jego pomocą można stosunkowo szybko uzyskać widoczne efekty, co tym bardziej zachęca osoby początkujące. Niestety program napisany w tym języku zajmuje sporo miejsca i jest dość wolny, dlatego nie jest on używany w szeroko rozumianym przemyśle, używają go raczej hobbyści i amatorzy.

Nieco trudniejszy jest język C, aby go opanować musimy zdobyć większą wiedzę dot. chociażby budowy mikrokontrolera, a efekty pracy będą widoczne nieco później. W zamian za włożony trud program będzie działał szybciej niż ten napisany w basicu. Niemniej jednak jego największą zaletą jest uniwersalność – to właśnie w tym języku głównie programuje się mikrokontrolery, więc jego znajomość na pewno doceni Wasz ewentualny pracodawca.

Najtrudniejszy z wymienionych tu języków z pewnością jest asembler, wymaga on bardzo dużej wiedzy dot. budowy mikrokontrolera i sporej cierpliwości w oczekiwaniu na widoczne efekty programowania. Główną zaletą tego języka jest duża szybkość wykonywania operacji.

W ramach tego kursu skupimy się na języku C, choć niekiedy prawdopodobnie będziemy się odwoływać także do asemblera.

Co jest niezbędne aby zaprogramować mikrokontroler?

1. Komputer z zainstalowanym kompilatorem oraz środowiskiem programistycznym AVR Studio.

Kompilator to po prostu program umożliwiający użytkownikowi pisanie programów w języku źródłowym (w naszym przypadku będzie to język C), a także umiejący przetłumaczyć go na język wynikowy, maszynowy – zrozumiały dla mikrokontrolera.

Istnieje wiele różnych kompilatorów, jednak my podczas tego kursu będziemy używać w pełni darmowego kompilatora AVR-GCC stworzonego do programowania mikrokontrolerów z rodziny Atmega. Aby go zainstalować wystarczy kliknąć poniższy link:

http://sourceforge.net/projects/winavr/files/

lub ściągnąć  tu.

Kolejnym etapem będzie zainstalowanie środowiska programistycznego AVR Studio wersji 4. Można jej poszukać na stronie www.atmel.com lub pobrać tu

2. Programator

Jest to urządzenie, które fizycznie połączy Wasz komputer (najczęściej przez złącze USB) z programowanym mikrokontrolerem. Jeśli kupiłeś programator w internetowym sklepie elektronicznym CELTOR osobno lub w zestawie do nauki programowania, poniżej przedstawiam krok po kroku co trzeba zrobić:

a) Podłącz programator do PC i poczekaj na zainstalowanie automatyczne sterownika. Jeżeli sterowniki do programatora nie zainstalują się automatycznie to wykonaj poniższe kroki:

- Pobierz sterowniki  tu:

- Rozpakuj sterowniki

- Wejdź do panelu sterowania > menadżer urządzeń – na liście powinieneś mieć USBasp z wykrzyknikiem (oznacza to niepowodzenie podczas instalacji)

- Kliknij właściwości USBasp i zrób aktualizuj sterownik, następnie wskaż ścieżkę dostępu do sterownika z poprzednio rozpakowanych sterowników (libusb_0.1.12.1)

- Jeżeli w tym momencie windows mówi że sterownik nie jest podpisany cyfrowo to należy przejść do kolejnego kroku i wyłączyć na czas instalacji wymagany pod windowsem podpis. Sposób jak to wykonać pod win8 jest tu.

- Po wyłączeniu pod windowsem opcji wymaganego podpisu cyfrowego przeprowadź ponownie instalację sterownika

- Od tego momentu powinien działać programator.

b) Ściągnij program do obsługi programatora, np: Sina Prog dostępny tutaj i zainstaluj na swoim PC.

3. Mikrokontroler

W swoim kursie będę pracować na Zestawie do nauki programowania, który w swojej ofercie ma internetowy sklep elektroniczny CELTOR. Jest on dostępny w dwóch wersjach: podstawowej i rozszerzonej, która dodatkowo zawiera wyświetlacz. Na początku wystarczy nam podstawowa wersja, niemniej jednak w późniejszych etapach kursu z pewnością będziemy wykorzystywać wyświetlacz.

Szkoła podstawowa – propozycje ćwiczeń

1. Podstawowe zasady BHP

Przed rozpoczęciem zajęć należy przedstawić uczniom podstawowe zagadnienia związane z bezpieczeństwem pracy z elektrochemicznymi źródłami zasilania oraz ogólne zasady bezpieczeństwa podczas pracy z prądem, np.

  • nie wolno przenosić podzespołów elektrycznych/elektronicznych, płytek stykowych czy urządzeń pomiarowych z innych stanowisk,
  • podzespoły na płytce stykowej łączymy pod kontrolą nauczyciela, przy wyłączonych źródłach zasilania,
  • układ można zasilić dopiero po sprawdzeniu jego poprawnego połączenia przez nauczyciela,
  • łączenie podzespołów oraz wykonywanie pomiarów należy wykonywać zgodnie z instrukcją i poleceniami nauczyciela (groźba uszkodzenia podzespołów lub urządzeń pomiarowych),
  • nie wolno dotykać nieizolowanych części obwodu znajdującego się pod napięciem.

2. Podstawowe pojęcia

Prąd elektryczny – uporządkowany przepływ ładunków elektrycznych przez poprzeczny przekrój przewodnika w czasie.

  • prąd stały -charakteryzuje się stałym zwrotem oraz kierunkiem przepływu ładunków elektrycznych,
  • prąd przemienny – charakteryzuje się okresowymi zmianami natężenia i kierunku przepływu prądu.
Ryc

Ryc

Napięcie – różnica potencjałów pomiędzy dwoma punktami obwodu elektrycznego.

Rezystancja – parametr elementu elektrycznego, którego cechą charakterystyczną jest opór jaki stawia on przepływającemu przez niego prądowi.

Kierunek przepływu prądu – przyjmuje się, że prąd płynie od „plusowego” bieguna baterii do bieguna „minusowego”.

3. Elementy zestawu podzespołów elektrycznych

IMG_5849

koszyk baterii wraz z 4 bateriami oraz przewodami (czerwony to plus zasilania, czarny to minus zasilania)

UWAGA! Gdy w koszyku znajdują się baterie nie należy zwierać bezpośrednio ze sobą przewodów wychodzących z koszyka baterii – grozi wybuchem!

.

bateria

bateria – elektrochemiczne źródło zasilania

.

.

plytka stykowa

płytka stykowa – ułatwia łączenie ze sobą podzespołów elektronicznych

.

.

.

dioda LED

dioda LED (dioda elektroluminescencyjna) – źródło światła, zamienia energię elektryczną na energię świetlną

.

.

.

rezystory

rezystory – elementy obwodu elektrycznego, których zadaniem jest ograniczanie prądu w obwodzie elektrycznym

.

.

.

IMG_7646

brzęczyk (buzzer) – sygnalizator dźwiękowy, przekształca energię elektryczną w słyszalny sygnał dźwiękowy

.

.

.

silnik

silnik – element elektromechaniczny, zamienia energię elektryczną na mechaniczną (ruch obrotowy)

.

.

.

smiglo

śmigło – wraz z silnikiem tworzy element napędowy, przetwarza energię mechaniczną (ruch obrotowy) na siłę ciągu

.

.

.

IMG_5837

gotowe przewody połączeniowe do płytek stykowych – elementy układu elektrycznego łączące ze sobą podzespoły przez które będzie płynął prąd

.

.

IMG_5836

ręcznie wykonane przewody połączeniowe do płytek stykowych – elementy układu elektrycznego łączące ze sobą podzespoły przez które będzie płynął prąd

.

.

do przeprowadzenia wszystkich proponowanych ćwiczeń niezbędny będzie także:

IMG_5844

multimetr – uniwersalny przyrząd pomiarowy łączący w sobie funkcje m.in. amperomierza (pomiar prądu), woltomierza (pomiar napięcia), omomierza (pomiar rezystancji)

.

4. Symbole graficzne podstawowych elementów układu elektrycznego/ elektronicznego

zrodlo zasilania

symbol graficzny źródła zasilania

.

.

.

symb rezystora

symbol graficzny rezystora

.

.

.

symb diody

symbol graficzny diody świecącej

.

.

.

symb buzzera

symbol graficzny brzęczyka

.

.

.

symb silnika

symbol graficzny silnika

.

.

.

symb woltomierza

symbol graficzny woltomierza

.

.

.

symb amperomierza

symbol graficzny amperomierza

.

.

.

symb omomierza

symbol graficzny omomierza

.

.

.

symb linie poloczone

symbol graficzny linii obwodu połączonych ze sobą elektrycznie

.

.

.

symb linie niepoloczone

symbol graficzny linii obwodu niepołączonych ze sobą elektrycznie

.

.

5. Samodzielne przygotowanie przewodów połączeniowych do płytki stykowej (tzw. zworek)

Z przewodu należy zdjąć szarą izolację, tak by dotrzeć do poskręcanych ze sobą cieńszych przewodów. Kolejnym etapem jest ucięcie potrzebnej długości fragmentu przewodu i zdjęcie niewielkiego, ok. 1cm fragmentu izolacji na obu jego końcach. UWAGA! Druciki w przewodach są cienkie i łatwo się łamią, trzeba obchodzić się z nimi ostrożnie!

jak zworki6. Zasady korzystania z płytki stykowej

Płytka stykowa posiada otwory znajdujące się w pewnej odległości od siebie w które wkłada się „nóżki” podzespołów elektronicznych. Ten odstęp to tzw. raster i wynosi on 2,54mm (jest to standardowy raster w płytkach stykowych).

Niektóre pola są ze sobą elektrycznie połączone, co obrazuje poniższy schemat:

plytka stykowa schWzdłuż płytki mamy podłużne szyny, które służą do rozprowadzania po płytce napięcia – do nich należy podpiąć dodatni i ujemny biegun baterii.

Więcej informacji na temat obsługi płytki stykowej można znaleźć tutaj.

7.  Propozycje ćwiczeń

a) pomiar napięcia baterii

cel: nauka pomiaru napięcia baterii multimetrem; umiejętność określenia stopnia rozładowania baterii; nauka odczytywania napięcia nominalnego z obudowy baterii i porównywania go z wynikiem zmierzonym woltomierzem

zastosowane środki: różne typy baterii, baterie o różnym stopniu rozładowania, multimetr

przebieg ćwiczenia: nauczyciel wyjaśnia uczniom działanie multimetru, a następnie przeprowadza pokaz pomiaru napięcia baterii, wskazuje jak odczytać napięcie nominalne baterii, porównuje go z wynikiem uzyskanym doświadczalnie; uczniowie samodzielnie, pod kontrolą nauczyciela, dokonują pomiaru napięcia różnych baterii

pomiar napiecia baterii

b) podłączenie zasilania do jednej diody LED

cel: nauka odczytywania schematów elektrycznych i składania na ich podstawie obwodów; nauka pomiaru natężenia napięcia oraz natężenia prądu w obwodzie, uczeń wie, że aby podłączyć diodę do źródła zasilania niezbędne jest ograniczenie zbyt dużego prądu, który mógłby ją spalić

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, zworki, diody LED w różnych kolorach, rezystor

przebieg ćwiczenia: nauczyciel wyjaśnia krótko budowę baterii i biegunowość jej wyprowadzeń – „nóżek”, uczniowie na płytkach stykowych, pod kontrolą nauczyciela łączą podzespoły, zgodnie z poniższym schematem, nauczyciel wyjaśnia rolę rezystora w obwodzie oraz zasady pomiaru napięcia i natężenia prądu w obwodzie, uczniowie zgodnie ze wskazówkami nauczyciela dokonują pomiarów multimetrem, sprawdzają jakie otrzymają wyniki zamieniając świecącą diodę LED na diodę w innym kolorze

cw 1acw1b

c) podłączenie do źródła zasilania równolegle 3 diod LED

cel: doskonalenie umiejętności pomiaru napięcia i natężenia w obwodzie; nauka odczytywania schematów elektrycznych i składania na ich podstawie obwodów; nauka łączenia podzespołów równolegle; porównywanie wartości napięcia i natężenia prądu w gałęzi głównej i każdej z osobnych gałęzi doprowadzających zasilanie do diod LED; nauka, że napięcie  jest takie same w gałęzi głównej i każdej z trzech gałęzi doprowadzających zasilanie do diod; nauka, że natężenie prądu jest różne w każdej z trzech gałęzi doprowadzających zasilanie do diod, ale ich suma daje natężenie w gałęzi głównej; porównywanie wyników pomiaru spadków napięć na wszystkich podzespołach i wyciągnięcie wniosków, że spadki napięć są takie same na podzespołach o identycznych parametrach (rezystory), a różne na podzespołach o różnych parametrach (np: różnokolorowe diody LED)

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, zworki, 3 diody LED w różnych kolorach, 3 rezystory

przebieg ćwiczenia: uczniowie z pomocą nauczyciela na podstawie schematu składają obwód na płytkach stykowych, nauczyciel przypomina zasady pomiaru napięcia w obwodzie, uczniowie dokonują pomiarów woltomierzem (pomiędzy czerwonym a czarnym przewodem od koszyka baterii, masą a miejscem przed rezystorami, masą a miejscem między rezystorami a diodami) oraz amperomierzem (między czerwonym przewodem koszyka baterii a rezystorami oraz rezystorami a diodami), a wyniki zapisują; uczniowie wraz z nauczycielem porównują uzyskane w wyników pomiarów wartości natężenia i napięcia, wyciągają wnioski z doświadczenia; uczniowie mierzą woltomierzem spadki napięć na poszczególnych rezystorach oraz diodach, zapisują uzyskane wyniki i na ich podstawie wyciągają wnioski

cw2acw2bcw2c

d) szeregowe połączenie do źródła zasilania rezystorów i diody

cel: nauka, że rezystancja rezystorów połączonych szeregowo wzrasta (sumuje się) przez co w układzie płynie mniejszy prąd, a tym samym świecenie diod LED jest słabsze

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, zworki, 3 diody LED w różnych kolorach, 3 rezystory

przebieg ćwiczenia: uczniowie z pomocą nauczyciela na podstawie schematu składają obwód z połączonymi szeregowo: rezystorem i 3 różnokolorowymi diodami, obserwują jasność świecenia diody, mierzą amperomierzem prąd płynący w układzie, zapisują uzyskany wynik; uczniowie zgodnie ze schematem do uprzednio złożonego obwodu dodają jeden rezystor połączony szeregowo z pierwszym rezystorem, obserwują jasność świecenia diod, mierzą przepływający w obwodzie prąd i zapisują wynik; uczniowie zgodnie ze schematem do uprzednio złożonego obwodu dodają kolejny rezystor, który z pozostałymi także będzie połączony szeregowo, obserwują jasność świecenia diod, mierzą prąd i zapisują wyniki; uczniowie analizują otrzymane wyniki, z pomocą nauczyciela próbują sformułować wnioski

cw4ccw4bcw4a

e) połączenie do źródła zasilania równolegle 3 rezystorów i szeregowo 3 diod LED

cel: nauka, że rezystancja rezystorów połączonych równolegle maleje przez co w układzie płynie większy prąd, a tym samym świecenie diod LED jest mocniejsze

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, zworki, 3 diody LED w różnych kolorach, 3 rezystory

przebieg ćwiczenia: uczniowie z pomocą nauczyciela, na podstawie schematu, składają obwód z rezystorem i diodami połączonymi szeregowo na płytkach stykowych, obserwują jasność świecenia diod, mierzą prąd płynący między diodami, a wyniki zapisują; uczniowie, zgodnie ze schematem, włączają do obwodu kolejny rezystor, który będzie połączony równolegle z pierwszym rezystorem, ponownie obserwują jasność świecenia diod, mierzą prąd jaki przepływa między nimi, a następnie zapisują wynik; uczniowie analogicznie dokładają do obwodu trzeci rezystor, przeprowadzają obserwacje i zapisują wyniki; uczniowie analizują otrzymane wyniki, z pomocą nauczyciela próbują sformułować wnioski

cw3c

cw3b

cw3a

f) połączenie do źródła zasilania równolegle 3 rezystorów i szeregowo 3 diod LED

cel: nauka, że prąd w układzie nierozgałęzionym jest jednakowy w każdym punkcie; w układzie rozgałęzionym suma prądów w każdej z gałęzi jest równa wartości natężenia w głównej linii obwodu

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, zworki, 3 diody LED w różnych kolorach, 3 rezystory

przebieg ćwiczenia: uczniowie z pomocą nauczyciela, na podstawie schematu, składają obwód z rezystorem i diodami połączonymi szeregowo na płytkach stykowych, amperomierzem sprawdzają wartość prądu w różnych punktach obwodu; uczniowie włączają do obwodu kolejne dwa rezystory, połączone z pierwszym rezystorem równolegle, mierzą wielkość prądu w każdej z gałęzi bocznych i porównują z natężeniem w głównej linii obwodu; uczniowie analizują otrzymane wyniki, z pomocą nauczyciela próbują sformułować wnioski

cw3ccw3a

g) podłączenie buzzera do źródła zasilania

cel: nauka, że energię elektryczną można zamienić w dźwięk

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, zworki, buzzer

przebieg ćwiczenia: uczniowie z pomocą nauczyciela, na podstawie schematu, składają obwód na płytkach stykowych

IMG_8296

h) podłączenie silnika do źródła zasilania, budowa jeżdżącego pojazdu

cel: nauka, że energię elektryczną można zamienić w energię mechaniczną

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, silnik, 4 koła, śmigło, opaski plastikowe do mocowania silnika i osi kół

przebieg ćwiczenia: uczniowie z pomocą nauczyciela budują pojazd

przyklad_wykonania_robota

i) praca silnika z obciążeniem i bez obciążenia

cel: nauka, że mocniej obciążony silnik pobiera więcej prądu z baterii

zastosowane środki: koszyk baterii, 4 baterie 1,5V, płytka stykowa, silnik, 4 koła, śmigło, opaski plastikowe do mocowania silnika i osi kół

przebieg ćwiczenia: uczniowie z pomocą nauczyciela budują pojazd, mierzą prąd w obwodzie; do silnika podłączają śmigło i ponownie mierzą natężenie prądu; uczniowie analizują otrzymane wyniki, z pomocą nauczyciela próbują sformułować wnioski.

Pomiar prądu:

- bez śmigła ok 0,39Abez_smigla

 – ze śmigłem ok 1,3A:

obciazenie_smiglo

Uwagi końcowe:

Podczas pomiaru prądu silnika tańszymi multimetrami może wystąpić kłopot z otrzymaniem stabilnego wyniku. Związane jest to z zakłóceniami emitowanymi przez silnik podczas jego pracy. Zakłócenia powstają na skutek iskrzenia powstającego na połączeniu szczotki-komutator. Zakłócenia te można eliminować poprzez dołączenie do wyprowadzeń silnika kondensatora ceramicznego 100nF.