start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

Podobne dokumenty
Listing_ $crystal = deklaracja

Programowanie mikrokontrolerów - laboratorium

Programowanie mikrokontrolerów - laboratorium

Synteza częstotliwości na układzie PLL LM7001

Miernik częstotliwości 100 MHz

Dalmierze firmy SHARP na przykładzie 2D120XJ100F

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Ćwiczenie nr 43 Mikrokontroler

Instrukcje cykliczne (pętle) WHILE...END WHILE

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Nadajnik Nokton NR4 MAXIM przeróbka do zastosowań APRS MHz

KURS Bascom'a. Autor Paweł Klaja. Korekta. v1.5

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

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

Politechnika Warszawska

W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego

KURS BASCOM 8051 INDEX:

Różnicowy przetwornik ciśnienia EL-PS-xxx

Zawody II stopnia etap II - ćwiczenia laboratoryjne Grupa Elektroniczna

Programowanie Mikrokontrolerów

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ DPC250; DPC250-D; DPC4000; DPC4000-D

CONVERT SP. Z O.O. MK-30-DC M30300 LICZNIK ENERGII PRĄDU STAŁEGO INSTRUKCJA UŻYTKOWNIKA. CIRCUTOR S.A. CONVERT Sp. z o.o.

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

INSTRUKCJA OBSŁUGI MIERNIKA POZIOMU SYGNAŁU. Wersja 1.1

Moduł Bluetooth WT12 w praktyce, część 2

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Instrukcja do ćwiczeń

DC-01 Obsługa i konfiguracja sterownika.

H/LN Energy display. Instrukcja instalacji.

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Enkoder z silnika HDD lub FDD

T 2000 Tester transformatorów i przekładników

Mikroprocesorowy miernik czasu

Politechnika Warszawska

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Programowanie mikrokontrolerów AVR z rodziny ATmega.

ROZDZIAŁ III ELEMENTY PROGRAMU BASCOM ROZPOCZYNAMY PRACĘ Z PROGRAMEM STRUKTURA PROGRAMU OPERACJE NA PORTACH

Mikrokontrolery AVR Wprowadzenie

INDU-40. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. Dozowniki płynów, mieszacze płynów.

Wstęp Podstawy programowania QBASIC Budowa mikroprocesora Zestaw uruchomieniowy Porty wejścia/wyjścia...

CONVERT SP. Z O.O. MK-SH-DC M30400 LICZNIK ENERGII PRĄDU STAŁEGO INSTRUKCJA UŻYTKOWNIKA. CIRCUTOR S.A. CONVERT Sp. z o.o.

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

INSTRUKCJA OBSŁUGI U700

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.

Podstawy techniki mikroprocesorowej

Wstęp Architektura... 13

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kompilator języka Basic można bezpłatnie pobrać ze strony z zakładki DOWNLOAD.

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

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

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ

Przemysłowy Sterownik Mikroprocesorowy

Ćwiczenie nr 43 Mikrokontroler Mikrokontroler

UWAGA! ELEKTRYCZNE POD NAPIĘCIEM!

Programowanie mikrokontrolerów 2.0

Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"

Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

APPLICATION OF ADUC MICROCONTROLLER MANUFACTURED BY ANALOG DEVICES FOR PRECISION TENSOMETER MEASUREMENT

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

TECHNIKA MIKROPROCESOROWA II

Instytut Teleinformatyki

2. Architektura mikrokontrolerów PIC16F8x... 13

Przemysłowy Sterownik Mikroprocesorowy

Częstościomierz wysokiej rozdzielczości

Peryferia mikrokontrolerów - wykład 11

ANEMOMETR Z TERMOMETREM CHY

INDU-22. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie. masownica próżniowa

Instrukcja serwisowa sterownika agregatu chłodniczego LGSA-02

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

INDU-60. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie Myjki tunelowe pojemników i palet.

PRUS. projekt dokumentacja końcowa

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

Pracownia pomiarów i sterowania Ćwiczenie 4 Badanie ładowania i rozładowywania kondensatora

INSTRUKCJA OBS UGI. Kalibrator pętli prądowej. tel:

Obrotomierz AVT 5260 PROJEKTY

urządzenia BLIX POWER do sieci. Urządzenie podłączane jest równolegle do

Panelowe przyrządy cyfrowe. Ogólne cechy techniczne

Zasady programowania Dokumentacja

Parametryzacja przetworników analogowocyfrowych

INDU-21. Przemysłowy Sterownik Mikroprocesorowy. Przeznaczenie Masownice próżniowe, mieszałki

1 DYNAMICZNA REDUKCJA MOCY W FALOWNIKACH FRONIUS SNAPINVERTER

Dokumentacja Licznika PLI-2

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

EV3 B23. Podstawowy elektroniczny sterownik chłodniczy (instrukcja skrócona dla P4 = 1)

Najnowsze osiągnięcia w dziedzinie konstrukcji liczników energii elektrycznej, stanowiących ofertę ZEUP Pozyton. Liczniki typu EAP, FAP, EQABP, FQABP

Przystawka do odbiornika homodynowego na pasmo 80 m

Parametry poziom "Serwis"

INSTRUKCJA OBSŁUGI ZEGARKA ANALOGOWEGO

Transkrypt:

----------------------------start---------------------------- Program mikroprocesorowego miernika mocy generowanej $crystal = 8000000 deklaracja częstotliwości kwarcu taktującego uc $regfile "m8def.dat" nazwa biblioteki z jakiej korzystać ma kompilator Definicja dodatkowych znaków dla wyświetlacza LCD, których nie posiada w pamięci Deflcdchar 0, 27, 17, 17, 17, 17, 17, 17, 27 Deflcdchar 1, 31, 31, 31, 31, 31, 31, 31, 31 Konfiguracja pinów mikrokontrolera jako wejścia I wyjścia Config Pind.0 = Output Config Pind.1 = Input Config Pinc.5 = Input Config Pinc.4 = Input Config Pinc.3 = Input Config Pinc.2 = Input Config Pinb.4 = Output Config Pinb.3 = Output Config Pinb.2 = Output Config Pinb.1 = Output konfiguracja trybu pracy wyświetlacza LCD, jego typu I linii sterujących oraz danych Config Lcd = 20 * 4 Config Lcdpin = Pin, Db4 = Portd.5, Db5 = Portd.6, Db6 = Portd.7, Db7 = Portb.0, E = Portd.3, Rs = Portd.0 Display On inicjalizacja wyświetlacza Cursor Off wyłączenie kursora Cls wstępne czyszczenie linii wyświetlacza po włączeniu na wyświetlaczu wyświetla się nazwa urządzenia Lcd "Impulsowy regulator " Locate 2, 8 lokalizacja pierwszego znaku na LCD linia,pozycja

Lcd "mocy " Locate 3, 1 Lcd "elektrowni wiatrowej" Wait 3 czekaj 3 sekundy Cls znów wyczyść wcześniej wyświetlone znaki wyświetlenie promotora pracy I wykonawcy Locate 1, 1 Lcd "Promotor:" Locate 2, 1 Lcd "Prof.Zbigniew Goryca" Locate 3, 1 Lcd "Wykonal:" Locate 4, 1 Lcd "Michal Obrzydzinski" Wait 3 Cls po wyświetleniu powyŝszych informacji na ekranie wyświetli się napis kalibracja A/C I zapalać się będą kolejne zdefiniowane wcześniej znaki wskazujące postęp. Jest to opóźnienie potrzebne na ustabilizowanie warunków pracy przetworników. Locate 1, 1 Lcd "Kalibracja A/C" Lcd Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0); Lcd Chr(1) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0) ; Chr(0); Lcd Chr(1) ; Chr(1) ; Chr(1) ; Chr(0) ; Chr(0) ; Chr(0);

Lcd Chr(1) ; Chr(1) ; Chr(1) ; Chr(1) ; Chr(0) ; Chr(0); Lcd Chr(1) ; Chr(1) ; Chr(1) ; Chr(1) ; Chr(1) ; Chr(0); Lcd Chr(1) ; Chr(1) ; Chr(1) ; Chr(1) ; Chr(1) ; Chr(1); Wait 1 Locate 3, 1 Lcd "Zakonczono OK..." Wait 2 Cls konfiguracja wewnętrznego przetwornika A/C Config Adc = Single, Prescaler = Auto, Reference = Avcc Włączenie i konfiguracja wejścia zewnętrznego przerwania Config Int0 = Falling przerwanie nastąpi podczas trwania opadającego zbocza On Int0 Cykl gdy processor otrzyma przerwanie wykona procedurę cykl. Enable Interrupts włączenie globalnych przerwań. Enable Int0 włączenie wcześniej skonfigurowanego przerwania zewnętrznego int0 Konfiguracja sprzętowego timera-licznika do pracy jako licznik z podziałem częstotliwości zegara przez 256 Config Timer1 = Counter, Prescale = 256 definicja zastosowanych w programie zmiennych Dim Volts1 As Word Dim Volts2 As Single Dim Volts3 As String * 3 Dim Sredniav As Single Dim Krokv As Word Dim Current1 As Word

Dim Current2 As Single Dim Current3 As String * 3 Dim Sredniac As Single Dim Krokc As Word Dim Moc As Single Dim Moc2 As String * 3 Dim Czas As Single Dim Energia As Single Dim Sumaenergii As Single Dim Sumaenergii2 As String * 3 Dim Czas2 As Single definicja uŝytych w programie procedur. Declare Sub Pomiari Declare Sub Pomiaru uruchomienie przetwornika A/C Start Adc pusta pętla nieskończona programu, nic się w niej nie wykonuje bo wszystkie działania programu znajdują się w procedurze cykl uruchamianej przerwaniem zewnętrznym. Do Loop End początek procedury cykl Cykl: Disable Int0 po uruchomieniu procedury wyłączone zostają przerwania pochodzące z wejścia int0, w przeciwnym razie program nie działał by poprawnie bo przerwania przychodzi z kaŝdym nowym okresem przebiegu w układzie mocy a układ musi zmierzyć kilka okresów. Timer1 = 0 zerujemy wartość rejestru timera.

Start Timer1 uruchamiamy timer, który zmierzy czas w jakim nastąpią wszystkie pomiary, czas ten będzie potrzebny w obliczeniach energii. wywołanie procedur pomiaru napięcia i energii, procedury opisane na końcu programu. Call Pomiari Call Pomiaru Stop Timer1 zatrzymanie liczenia timera po zakończeniu wywołanych procedur. Locate 1, 1 w pierwszej linii lcd wyświetlona zostanie wartość średnia zmierzonego napięcia. Volts3 = Fusing(volts2, "###.&") zmienna zamieniona zostaje na wartość tekstową formatu ###.& Lcd "Voltage = " ; Volts3 ; " V " w linii drugiej wyświetlamy wartość średnią płynącego w obwodzie prądu. Locate 2, 1 Current3 = Fusing(current2, "##.&") Lcd "Current = " ; Current3 ; " A " Locate 3, 1 w linni trzeciej program wyświetli wartość mocy chwilowej. Moc = Volts2 * Current2 obliczenie mocy w watach. Moc = Moc / 1000 zamiana na kilowaty. Moc2 = Fusing(moc, "#.&&") Lcd "Power = " ; Moc2 ; " kw " w linii czwartej wyświetlona zostanie sumaryczna wartość mocy oddanej przez elektrownię. Locate 4, 1 Czas = Timer1 / 31250 Timer liczył impulsy z zegara wstępnie podzielone, zamieniamy je na wartość czasu w sekundach. Czas2 = Czas / 3600 i w godzinach.

Energia = Moc * Czas2 wartość energii chwilowej Sumaenergii = Sumaenergii + Energia sumowanie wartości całkowitej energii. wyświetlenie wartości sumarycznej energii. Sumaenergii2 = Fusing(sumaenergii, "########.&&") Lcd "E = " ; Sumaenergii2 ; " kwh " Enable Int0 ponowne włączenie przerwania int0 by moŝliwy był ponowny pomiar w momencie rozpoczęcia jakiegoś nowego okresu. Return deklaracja procedury pomiaru prądu. Sub Pomiari w pętli skończonej wykonuje 1188 próbek prądu, sumuję w zmiennej a następnie dzielę przez 1188 dla uzyskania wartości średniej z tych próbek. Sredniac = 0 For Krokc = 1 to 1188 Current1 = Getadc(0) Sredniac = Sredniac + Current1 Next Krokc Sredniac = Sredniac / 1256 Sredniac = Sredniac 515 odejmuję wartość odpowiadającą napięciu na wyjściu przetwornika 2,5 V co odpowiada pełnej wartości prądu płynącą w przeciwną stronę. If Sredniac < 0 Then jeśli wartość po odjęciu 515 będzie mniejsza od zera oznacza to Ŝe przetwornik nie ustabilizował się jeszcze i na wyświetlaczu w miejscu gdzie wyświetla się wartość prądu będzie wyświetlać się napis kalibracja. Locate 2, 1 Lcd "Current = KALIBRACJA" End If przeliczenie wartości cyfrowej na odpowiadającą jej wartość analogową.

Current2 = Sredniac * 0.195 End Sub definicja procedury, w której nastąpi próbkowanie i uśrednianie napięcia. Sub Pomiaru Sredniav = 0 For Krokv = 1 To 1188 Volts1 = Getadc(1) Sredniav = Sredniav + Volts1 Next Krokv Sredniav = Sredniav / 1188 Volts2 = Sredniav * 0.693 odbywa się identycznie jak w przypadku pomiaru prądu z tą róŝnicą Ŝe nie odejmujemy wartości offsetu bo przetwornik ma wyjście symetryczne i jeśli prąd mierzony płynął by w stronę przeciwną to prąd na wyjściu takŝe miał by przeciwny znak. End Sub ---------------------------koniec----------------------------