Politechnika Białostocka



Podobne dokumenty
Elektronika samochodowa (Kod: TS1C )

Elektronika samochodowa (Kod: ES1C )

SYSTEMY CZASU RZECZYWISTEGO (SCR)

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Politechnika Białostocka. Wydział Elektryczny. Katedra Automatyki i Elektroniki. Kod przedmiotu: TS1C

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

ZL8AVR. Płyta bazowa dla modułów dipavr

Politechnika Białostocka

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Zestaw Startowy EvB. Więcej informacji na stronie:

DOKUMENTACJA PROJEKTU

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

dokument DOK wersja 1.0

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

Programator procesorów rodziny AVR AVR-T910

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Politechnika Śląska w Gliwicach

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

E-TRONIX Sterownik Uniwersalny SU 1.2

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

ZL10PLD. Moduł dippld z układem XC3S200

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

Płytka ewaluacyjna z ATmega16/ATmega32 ARE0021/ARE0024

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

WPROWADZENIE Mikrosterownik mikrokontrolery

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

MOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.

Elektronika samochodowa (Kod: ES1C )

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

KAmduino UNO. Rev Źródło:

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Instytut Teleinformatyki

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

ZL5ARM. Zestaw uruchomieniowy dla mikrokontrolerów LPC2119/2129 (rdzeń ARM7TMDI-S) Kompatybilność z zestawem MCB2100 firmy Keil

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Płytka uruchomieniowa XM64

W semestrze letnim studenci kierunku Aplikacje Internetu Rzeczy podczas ćwiczeń z programowania CAD/CAM

Programator AVR USBasp

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia

Programator ICP mikrokontrolerów rodziny ST7. Full MFPST7. Lite. Instrukcja użytkownika 03/09

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

Uniwersalny zestaw uruchomieniowy ZL4PIC

ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

Wstęp Architektura... 13

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

Politechnika Białostocka

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

Programowalne Układy Cyfrowe Laboratorium

WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Parametryzacja przetworników analogowocyfrowych

MCAR Robot mobilny z procesorem AVR Atmega32

Mikrokontrolery AVR techniczne aspekty programowania

Systemy wbudowane. Paweł Pełczyński

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

INSTRUKCJA OBSŁUGI.

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

ZL11ARM. Uniwersalna płytka bazowa dla modułów diparm

Instrukcja obsługi programatora AVR Prog USB v2

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

2. Architektura mikrokontrolerów PIC16F8x... 13

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

Instrukcja obsługi programatora AVR Prog USB v2

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 1 (3h) Wprowadzenie do systemu Quartus II

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: TECHNIKA CYFROWA 2 TS1C

Terminal TR01. Terminal jest przeznaczony do montażu naściennego w czystych i suchych pomieszczeniach.

Instrukcja obsługi programatora AVR Prog USB v2

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

ZL19PRG. Programator USB dla układów PLD firmy Altera

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Kod przedmiotu: TS1C 622 388 Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Elektronika samochodowa Temat: Programowanie mikrokontrolerów AVR serii Automotive Opracował: dr inż. Wojciech Wojtkowski Politechnika Białostocka 2014

Mikrokontrolery ATmega16M1, 32M1, 64M1 Automotive Nowe mikrokontrolery Atmel serii ATmega16M1, ATmega32M1 oraz ATmega64M1 zostały zaprojektowane do zastosowań w pojazdach samochodowych, m.in. do pracy w systemach kontroli przeniesienia napędu. Szczególnie użyteczne mogą być we wszelkich systemach rozproszonych, w których do komunikacji międzywęzłowej wykorzystywane są interfejsy CAN oraz LIN. Zawierają one odpowiednio 16, 32 i 64kB pamięci Flash, zestaw linii I/O ogólnego przeznaczenia, komparatory analogowe, przetworniki A/C, bardziej rozbudowany generator PWM niż w standardowej serii ATmega, z wewnętrznym taktowaniem do 64 MHz. Są to podobnie jak w serii standardowej mikrokontrolery 8-bitowe o architekturze RISC. Dodatkowo dostępne jest sprzętowe wspomaganie sterowania silników bezszczotkowych, ostatnio coraz częściej wykorzystywanych w nowych konstrukcjach samochodowych. Pisanie oprogramowania w języku C dla mikrokontrolerów serii Automotive wymaga poznania architektury i zasad obsługi nowych specjalizowanych bloków peryferyjnych. Z uwagi na większą efektywność przy ograniczonych zasobach sprzętowych i wydajnościowych, preferowane jest oprogramowanie w C niż w C++. Całkowicie odmienna jest natomiast obsługa nowej serii UC3 32 bitowych mikrokontrolerów AVR. Cel i zakres ćwiczenia Celem ćwiczenia jest zapoznanie z podstawami programowania mikrokontrolerów AVR serii Automotive w języku C. Studenci w trakcie ćwiczenia poznają także zasady obsługi niezbędnego oprogramowania narzędziowego. Podczas zajęć laboratoryjnych, przed każdym zadaniem należy odpowiednio skonfigurować dostępne zestawy uruchomieniowe (podłączyć zasilanie, podłączyć programator do płytki i do komputera PC poprzez złącze USB, zrealizować połączenia na płycie zestawu uruchomieniowego zgodnie z realizowanym zadaniem), a następnie napisać program w języku C realizujący konkretne zadanie. Następnie należy zaprogramować mikrokontroler i przetestować działającą aplikację lub przeprowadzić uruchomienie programu i usunięcie błędów programowych. Do rozwiązania będą różne zadania o rosnącym, wraz z czasem trwania ćwiczenia, stopniu trudności, np.: konfiguracja portów I/O mikrokontrolera AVR do różnych Programowanie AVR Strona 2

celów, obsługa przycisków z eliminacją drgań styków, obsługa przycisków z eliminacją drgań styków realizowana w przerwaniach INT, obsługa przycisków realizowana w przerwaniach INT z eliminacją drgań styków realizowaną w przerwaniach zegarowych, odmierzanie czasu trwania impulsów za pomocą liczników przerwania zegarowe, wyświetlanie informacji na wyświetlaczach LED oraz LCD, pisanie funkcji z parametrami wejściowymi i wyjściowymi, dołączanie plików nagłówkowych, tworzenie własnej biblioteki funkcji. Podstawowe wiadomości z zakresu wykorzystania w projektach mikrokontrolerów AVR będą wykorzystane w kolejnych ćwiczeniach przy realizacji bardziej złożonych zadań. Szczegółowy zakres ćwiczenia i zadania dla każdej grupy studentów ustala prowadzący na początku zajęć. Zakres ćwiczenia jest realizowany w ciągu 6 godzin lekcyjnych (trzy spotkania po 2 godziny). Zestaw uruchomieniowy W trakcie poznawania podstaw programowania mikrokontrolerów AVR studenci korzystają z zestawów uruchomieniowych EVBavr05 wyposażonych w mikrokontroler AVR ATmega16. Widok zestawu uruchomieniowego EVBavr05 jest przedstawiony na rysunku 1. Rys. 1. Widok zestawu uruchomieniowego EVBavr05 [1] Połączenia na płycie EVB wykonujemy specjalnymi kabelkami do złącz typu Goldpin. Wyprowadzenia mikrokontrolera umieszczonego w podstawce DIP40 są połączone z odpowiednimi pinami złącza JP18 na płytce zgodnie z rys. 2. Płyta główna umożliwia testowanie wielu różnych aplikacji z wykorzystaniem szeregu układów peryferyjnych. Studenci mają dostęp do wszystkich końcówek Programowanie AVR Strona 3

mikrokontrolera oraz układów peryferyjnych za pomocą złącz typu Goldpin, które można łączyć z układami peryferyjnymi za pomocą przewodów lub zworek. Niektóre układy peryferyjne, są umieszczone w ten sposób, że do ich podłączenia wystarczą zworki umieszczone w odpowiednich miejscach. Rys. 2. Schemat połączeń wyprowadzeń mikrokontrolera ze złączem JP18 zestawu uruchomieniowego EVBavr05 [1] Schemat podłączenia przycisków jest przedstawiony na rysunku 3. Do dyspozycji mamy przyciski SW0, SW1, SW2, SW3, SW4, SW5, SW6 oraz SW7 połączone z dwurzędowym złączem Goldpin JP14 (Rys. 3). W trakcie ćwiczenia należy połączyć potrzebne przyciski z odpowiednimi portami mikrokontrolera za pomocą dodatkowych przewodów. Najpierw jednak należy skonfigurować odpowiednie wejścia mikrokontrolera AVR. Uwaga: w przypadku podłączenia przycisku do portu I/O skonfigurowanego jako wyjście, może dojść do uszkodzenia portu! Na płycie EVB dostępne są także cztery wyświetlacze siedmiosegmentowe. Schemat podłączenia wyświetlaczy do złącza dwurzędowego JP11 przedstawia rysunek 4. Na początku poznawania mikrokontrolera AVR, gdy nie dysponujemy jeszcze zasobem własnych bibliotek do różnych celów, warto wykorzystać najprostszą metodę wyświetlania wartości binarnych na ośmiu diodach LED. Na płycie EVB mamy do dyspozycji osiem diod LED połączonych ze złączem JP3 Programowanie AVR Strona 4

zgodnie z rysunkiem 5. Jeśli istnieje potrzeba analizy większej ilości danych, najwygodniej jest wykorzystać port RS-232C i dane wysyłać do terminala na komputerze PC. Aby było możliwe połączenie komputera PC z płytką EVB, potrzebny jest konwerter napięć. Jego schemat jest pokazany na rysunku 6. Rys. 3. Schemat połączeń przycisków SW0.. SW7 ze złączem JP14 [1] Rys. 4. Schemat połączeń wyświetlaczy LED ze złączem JP11 [1] Programowanie mikrokontrolera odbywa się w systemie (bez wyjmowania układu) poprzez złącze ISP JP12 (Rys. 7). Programowanie AVR Strona 5

Rys. 5. Schemat połączeń diod LED ze złączem JP3 [1], Rys. 6. Schemat połączeń konwertera napięć RS232C/TTL ze złączem JP5 [1] Układ zasilania zestawu EVB jest przedstawiony na rysunku 8. Do zasilania zestawu można wykorzystać dowolny zasilacz wtyczkowy o prądzie minimalnym 500 [ma] oraz napięciu wyjściowym 9-12 [V]. Po podłączeniu zasilacza, zestaw włączamy przełącznikiem SW1-Power (Rys. 8). Polaryzacja zasilacza jest bez znaczenia na wejściu zestawu znajduje się mostek prostowniczy (Rys. 8). Programowanie AVR Strona 6

Rys. 7. Złącze programatora ISP [1] Rys. 8. Schemat układu zasilania [1] Przykładowe zadania Napisać program wyświetlający na linijce 8 diod LED stan licznika wciśnięć. Sterowanie dwoma przyciskami góra oraz dół. Napisać program realizujący funkcję STOPER z przyciskami sterującymi RESET oraz START. Program powinien odmierzać możliwie dokładnie upływające sekundy. Wynik prezentowany w postaci binarnej na diodach LED. Napisać program realizujący nawigację po MENU. Menu powinno posiadać 8 pozycji (tyle ile jest dostępnych diod LED). Sygnalizacja pozycji na diodach LED. Wybór pozycji skutkuje wyświetleniem kodu operacji na linijce diod LED. Napisać program do pomiaru czasu reakcji użytkownika. Na linijce 8 diod LED pojawia się w nieoczekiwanym momencie światło na jednej Programowanie AVR Strona 7

pozycji, użytkownik jak najszybciej musi je wyłączyć wciskając odpowiedni przycisk. Następnie program wyświetla na linijce LED zmierzony czas reakcji w formie binarnej. Wynik w milisekundach. Napisać program wyświetlający stan licznika wciśnięć na wyświetlaczach siedmiosegmentowych LED. Sterowanie dwoma przyciskami góra oraz dół. Napisać program realizujący funkcję STOPER z przyciskami sterującymi RESET oraz START. Program powinien odmierzać możliwie dokładnie upływające sekundy. Wynik prezentowany na czterech wyświetlaczach siedmiosegmentowych. Zagadnienia do przygotowania Przed przystąpieniem do realizacji ćwiczenia należy zapoznać się z dokumentacją zestawu EVBavr05 [1] oraz powtórzyć materiały wykładowe dotyczące programowania mikrokontrolerów AVR Automotive. Dodatkowo należy przygotować w wersji elektronicznej dokumentację mikrokontrolera [2] oraz dokumentację zestawu EVB [1]. Oprogramowanie będzie pisane w języku C. Komplet oprogramowania narzędziowego jest dostępny w sieci Internet i jest bezpłatny. W przypadku systemu Windows składa się z pakietu WinAVR-20071221 lub nowszego oraz AVRStudio4.13SP2. Oba pakiety można wcześniej zainstalować na swoim komputerze przenośnym i wykorzystać go podczas ćwiczenia. Dla osób dysponujących szybkim komputerem istnieje alternatywa w postaci pakietu Atmel Studio 6.1 lub nowszego, dostępna pod adresem [4], jednak absolutnie nie jest to oprogramowanie niezbędne, wystarczy wersja 4.13. W przypadku systemu Linux, wykorzystywany jest pakiet Eclipse z zainstalowanymi narzędziami do pisania oprogramowania dla AVR i do obsługi programatora ISPCableIII [5]. Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z obowiązującą w laboratorium instrukcją BHP oraz przestrzeganie zasad w niej Programowanie AVR Strona 8

zawartych. Konieczne jest także zapoznanie z ogólnymi zasadami pracy przy stanowisku komputerowym. Wymogi odnośnie sprawozdania z realizacji ćwiczenia Sprawozdanie powinno zawierać: stronę tytułową (zgodnie z obowiązującym wzorem), zakres ćwiczenia, opis stanowiska laboratoryjnego, zastosowanych modułów, dokładny schemat połączeń, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, algorytm rozwiązania danego problemu, programy w C z komentarzami, oscylogramy ilustrujące poprawne działanie przygotowanych aplikacji, podsumowanie, uwagi oraz wnioski. Na ocenę sprawozdania będą miały wpływ następujące elementy: zgodność zawartości z instrukcją, algorytm rozwiązania problemu, wnioski i uwagi, terminowość i ogólna estetyka. Sprawozdanie powinno być wykonane i oddane na zakończenie ćwiczenia, najpóźniej na zajęciach następnych. Sprawozdania oddane później niż na następnych zajęciach będą oceniane niżej. Jeśli ćwiczenie laboratoryjne jest realizowane podczas 2 lub 3 spotkań, sprawozdanie należy sporządzić z każdego spotkania osobno, tytułując: Temat ćwiczenia, część 1, Temat ćwiczenia, część 2, itd.. Programowanie AVR Strona 9

Literatura 1. Dokumentacja zestawu EVBavr05 dostępna na stronie producenta: http://www.propox.com/download/docs/evbavr05_pl.pdf 2. Dokumentacja mikrokontrolera ATmega16 dostępna na stronie producenta: http://www.atmel.com/images/doc2466.pdf 3. Materiały wykładowe z przedmiotu Elektronika samochodowa 4. Strona dotycząca oprogramowania Atmel Studio: http://www.atmel.com/tools/atmelstudio.aspx 5. Dokumentacja programatora ISP CableIII: http://www.propox.com/products/t_158.html Programowanie AVR Strona 10