miernik napięcia na PIC16F877A

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.

miernik napięcia na PIC16F877A

Postprzez cyki » 18 sie 2006 13:04

Witam
Robię miernik napięcia stałego 0-9V. Napisałem juz program na PIC16F877A (10-bitowy przetwornik A/C), jednak nie wiem co zrobić z danymi z przetwornika A/C, aby je poprawnie wyświetlić na ekranie monitora. Program obsugujący urządzenie chcę napisać w Labview, jednak nie wiem jaki zastosować algorytm obróbki danych, zeby wyswietlacz cyfrowy w Labview wiedział, jaką wartość wyświetlić w danej chwili. Czy obróbki dokonać w procesorze, czy w Labview. Jak się takie rzeczy robi. Albo gdybym chciał to wyświetlić na wyświetlaczu 7-segmentowym - jak to zrobić. Jedyny pomysł, jaki mi się nasuwa, to pomnożyć wartość z przetwornika A/C przez zdolność rozdzielczą przetwornika (w tym przypadku 9/1024V), i otrzymam wynik w woltach, jaki trzeba wyświetlić, jednak nie jestem pewny, czy to zadziała.
Myślę, że jest to częsty problem, jaki trzeba rozwiązać podczas projektowania urządzeń, dlatego liczę na pomoc, za którą z góry dzięki
cyki
 
Posty: 24
Dołączył(a): 17 sie 2006 23:00
Lokalizacja: Ĺ»yrardów

Re: miernik napięcia na PIC16F877A

Postprzez jogurt_owocowy » 18 sie 2006 13:30

Program obsugujący urządzenie chcę napisać w Labview
i słusznie :)
jednak nie wiem jaki zastosować algorytm obróbki danych
A na czym ma polegać obsługa urządzenia i obróbka danych? Zresztą jaka obróbka by nie była to zdecydowanie rób ją w LV - po to właśnie jest.
pomnożyć wartość z przetwornika A/C przez zdolność rozdzielczą przetwornika (w tym przypadku 9/1024V
No i dobrze. Tylko upewnij się co do dobrej stabilizacji napięcia odniesienia i doczytaj w pdfie szczegóły charakterystyki przejściowej. Niekiedy pierwszy przedział kwantyzacji jest o połowę węższy i takie tam szczegóły.
Powodzenia(:
Avatar użytkownika
jogurt_owocowy
 
Posty: 1293
Dołączył(a): 30 lis 2004 00:00
Lokalizacja: Kraków
Pochwały: 148
Wersja środowiska: LabVIEW 2009

Re: miernik napięcia na PIC16F877A

Postprzez Ender » 18 sie 2006 18:37

Pozwole sobie nie zgodzic sie z przedmowca. Uwazam ze zaprzeganie do tego zadania labview jest wyciaganiem armaty na muche.
Miernik napiecia stalego nie wymaga przeciez zadnych skomplikowanych obliczen, transformat fouriera, rysowania przebiegow na wyswietlaczu/wykresie, obliczania wartosci skutecznej, archiwizacji pomiarow i co tam mozna sobie jeszcze zamarzyc.
PIC jest mikrokontrolerem a nie tylko przetwornikiem. Z powodzeniem wykona pomiar, przetworzy dane (czyli w tym wypadku dokona prostych operacji matematycznych) i wyswietli wynik na wyswietlaczach 7 segmentowych lub wyswietlaczu LCD. Jesli mamy urzadzenie do tego zdolne, to po co mieszac w to komputer i dodawac protokoly komunikacyjne?
Jesli natomiast chcialbys to koniecznie zrobic w labview, dodac jakies bajery i co tam dusza zapragnie, to .... po co PIC? Trzeba go przeciez zaprogramowac, a parametry jego przetwornika zapewne nie beda tak dobre jak autonomicznego przetwornika o podobnej cenie. Poza tym komunikacja z przetwornikiem za pomoca portow I/O karty bylaby prostsza niz z PIC'em. Chyba ze nie masz karty i masz zamiar komunikowac sie po RS'ie... ale dalej zostanie pytanie - po co?

Podsumowujac - jesli chcesz uzyc PIC'a (albo musisz, roznie bywa) to daruj sobie labview, PIC w zupelnosci wystarczy. A jesli chcesz to zrobic w labview, to zastosuj przetwornik zamiast PIC'a. Prosciej i dokladniej. Patrzac analogicznie - nie bedziesz krecil filmow telefonem tylko dlatego ze ma taka funkcje, skoro pod reka masz kamere, a nigdzie dzwonic nie musisz ...
-Czy orał pan już kiedyś morskie fale?
Colon rzucił mu chytre spojrzenie.
-Nie złapie mnie pan na taki numer, sir - rzekł - Wszyscy wiedzą, że konie by potonęły.
Leonard umilkł na chwilę i przestroił swój mózg na Radio Colon ....
Avatar użytkownika
Ender
 
Posty: 137
Dołączył(a): 01 cze 2005 23:00
Lokalizacja: Cieszyn
Pochwały: 13
Wersja środowiska: LabVIEW 2009

Re: miernik napięcia na PIC16F877A

Postprzez jogurt_owocowy » 18 sie 2006 20:50

zaprzeganie do tego zadania labview jest wyciaganiem armaty na muche.
Tak, ale...
1. Może to być projektowa "sztuka dla sztuki" - ma być uC i ma być komputer. Dużo takich projektów się na studiach robi. Po co komu w innym celu "miernik napięcia stałego 0-9V"?
2. Autor wątku pisze coś o "algorytmie obróbki danych" więc można się domyślać, że chodzi o coś więcej niż wyświetlenie wyniku.
Avatar użytkownika
jogurt_owocowy
 
Posty: 1293
Dołączył(a): 30 lis 2004 00:00
Lokalizacja: Kraków
Pochwały: 148
Wersja środowiska: LabVIEW 2009

Re: miernik napięcia na PIC16F877A

Postprzez Robson_7777 » 19 sie 2006 07:30

Dołączając się do poprzednich wypowiedzi:
1. Pomiar napięcia przez przetwornik (tak jak napisales 9V/1024 razy wynik przetwarzania). Nastepnie podlaczenie do uC wyswietlacza LCD lub LED (tu dla wyswietlacza 7 segmentowego wymagany jest dekoder np. 4543, przy wyswietlaczu matrycowym nie) i dopisanie paru linijek programu :)
2. Przeslanie do komputera - najprosciej chyba przez RS 232, dokladasz do uC ukladzik MAX 232, a do komputera przesylasz przetworzony wynik pomiaru, na komputerze zaprzęgasz do pracy LabView, prosty programik i masz wynik!Z wynikiem robisz co uwazasz za sluszne :)
Jesli chodzi o częsć sprzętową (podlaczenie ukladow do uC) duzo info znajdziesz na elektrodzie.
Powodzenia
Robson_7777
 
Posty: 25
Dołączył(a): 26 mar 2006 23:00
Lokalizacja: Wrocław

Re: miernik napięcia na PIC16F877A

Postprzez cyki » 21 sie 2006 06:29

jogurt_owocowy napisał(a):
zaprzeganie do tego zadania labview jest wyciaganiem armaty na muche.
Tak, ale...
1. Może to być projektowa "sztuka dla sztuki" - ma być uC i ma być komputer. Dużo takich projektów się na studiach robi. Po co komu w innym celu "miernik napięcia stałego 0-9V"?
2. Autor wątku pisze coś o "algorytmie obróbki danych" więc można się domyślać, że chodzi o coś więcej niż wyświetlenie wyniku.

Jest dokładnie tak jak mówisz: "sztuka dla sztuki" Co do obróbki danych to trochę przesadziłem. Chcę tylko wyświetlić dane-to wszystko. Zdaję sobie sprawę, że temat jest banalny dla doświadczonych użytkowników labview, jednak ja nigdy nie pisałem w tym języku. Normalnie bym to pisał w C lub czyms podobnym, ale wymóg jest ze ma byc w Labview. Poza tym musi byc procesor, bo miernik napięcia to nie wszystko, co urządzenie ma robić. Oprócz tego ma miec na pokładzie generator 1-120 kHz sygnalu prostokątnego. Z poziomu Labview ogranicza się to do wysyłania bajtu o wartości 1-120 kHz, a procek juz będzie wiedział co ma robić, to już sprawdziłem, wysyłając bajty z prostego programiku w asemblerze. Teraz tylko przeniesc to do Labview. Z hardwarem, komunikacją przez RS 232 nie mam problemu, jestem elektronikiem i takie rzeczy mam opanowane. Ucze się Labwiew i to mi spraawia jedyny problem w tym projekcie. Dziękuję za cenne rady.
cyki
 
Posty: 24
Dołączył(a): 17 sie 2006 23:00
Lokalizacja: Ĺ»yrardów

Re: miernik napięcia na PIC16F877A

Postprzez Mikrobi » 21 sie 2006 12:58

Pomysł ciekawy, proponuję takie podejście.
Zrób prosty protokół komunikacyjny
np:
komenda na pojedynczy odczyt aktualnego napięcia
komenda na ciągły odczyt z zadanym interwałem (0,5s, 1s, 2s, 5s, 10s...?)
komenda na uruchomienie generatora z zadanym przebiegiem (rodzaj, częstotliwość, amplituda)
na początek powiedzmy trzy komendy, chyba że będziesz pomysł na więcej.
Zrób prostą ramkę z sumą kontrolną.

To Ci pozwoli sprawdzić działanie komunikacji z procesorem na przykład przez hyperterminal a potem przećwiczyć:
komunikację korzystająć z biblioteki VISA
strukturę aplikacji o nazwie maszyna stanów od razu w konkretnym zastosowaniu komunikacyjnym.

Powodzenia i daj znać jak idą prace.
pozdrawiam
Mikrobi

LabVIEW Champion, CLD, CPI
Avatar użytkownika
Mikrobi
 
Posty: 1209
Dołączył(a): 07 paź 2003 23:00
Lokalizacja: Kraków
Pochwały: 43
Wersja środowiska: LabVIEW 2009

Re: miernik napięcia na PIC16F877A

Postprzez cyki » 28 sie 2006 12:00

Mam jeszcze jeden problem. Po słusznej uwadze, że nie moge dać napięcia odniesienia +9V, bo to uszkodzi procesor, dałem jako napięcie odniesienia napięcie zasilania, co spowodowało, że przetwornik będzie przetwarzał w zakresie 0-5V. Problem w tym, co będzie, gdy użytkownik będzie mierzył napięcie np. 20V, bo nie będzie miał pojęcia, ile ono wynosi. Na wejście przetwornika pójdzie 20V. Co zrobić, żeby w takiej sytuacji nie uszkodzić procesora?
cyki
 
Posty: 24
Dołączył(a): 17 sie 2006 23:00
Lokalizacja: Ĺ»yrardów

Re: miernik napięcia na PIC16F877A

Postprzez tasza » 28 sie 2006 12:52

Wejście przetwornika A/C w procesorze należy zabezpieczyć.
A można to zrobić przy pomocy szybkiej diody zenera (tzw. transil),
o odpowiednim napięciu załączenia. Chyba dobrą wydaje się być BZW06-5V8
:arrow: http://www.meditronik.com.pl/doc/plus/bzw-06.pdf
w układzie jak na rysunku wszystko powyżej 5.8V zostanie obcięte...
Wartość rezystora...hmm...kilka(naście) kilo ohm.

pozdrawiam,
tasza

PS.
ten układzik automatycznie zabezpieczy też wejście przetwornika
prze napięciem o ujemnej względem masy polaryzacji...
tylko wtedy transil musi być jednokierunkowy (unidirectional), bez literki B w symbolu...
Avatar użytkownika
tasza
 
Posty: 21
Dołączył(a): 19 sty 2006 00:00

Re: miernik napięcia na PIC16F877A

Postprzez cyki » 29 sie 2006 06:31

Ok jednak na rezystorze odłoży się napięcie, w zależności od płynącego prądu i pomiar nie będzie wiarygodny.
cyki
 
Posty: 24
Dołączył(a): 17 sie 2006 23:00
Lokalizacja: Ĺ»yrardów

Re: miernik napięcia na PIC16F877A

Postprzez tasza » 29 sie 2006 06:39

ale to będzie spadek napięcia o minimalnej wartości, proporcjonalny
do sumy prądu wstecznego transila (w stanie niedziałającym)
oraz prądu wejściowego przetwornika A/C....a obie wartości są bardzo małe...
zresztą - zrób eksperyment - pomiar jakiejś wzorcowej wartości z tym
układem zabezpieczającym i bez - myślę że wyniki będą te same....

tasza
Avatar użytkownika
tasza
 
Posty: 21
Dołączył(a): 19 sty 2006 00:00

Re: miernik napięcia na PIC16F877A

Postprzez cyki » 29 sie 2006 06:44

ok spróbuję
dzieki
cyki
 
Posty: 24
Dołączył(a): 17 sie 2006 23:00
Lokalizacja: Ĺ»yrardów

Re: miernik napięcia na PIC16F877A

Postprzez cyki » 29 sie 2006 07:17

Z charakterystyki transila wynika, że Leakage current Irm wynosi 1000uA. Przy rezystorze 10K mam juz spadek rzędu 1V + spadek od prądu płynącego przez wejście przetwornika. Transil ma po to 5,8 V, żeby uwzględniając spadek napięcia na tym rezystorze dawać ok 5V na zabezpieczanego scalaka. Gdy chce użyć go w mojej aplikacji, mysle ze bede musiaal kalibrować przetwornik.
cyki
 
Posty: 24
Dołączył(a): 17 sie 2006 23:00
Lokalizacja: Ĺ»yrardów

Re: miernik napięcia na PIC16F877A

Postprzez tasza » 29 sie 2006 07:29

hmm....zaczynam mieć wątpliwości... a słuchaj, zerknij na tego cudaka:
:arrow: http://www.tkk.fi/Misc/Electronics/circ ... erial.html
na prawą stronę, na diody przy wejściu przetwornika....
dolna zabezpiecza przez ujemnym napięciem, górna (pomiedzy We a Vcc)
załączy się, gdy napięcie wejściowe przekroczy 5.7V...wtedy cały prąd
wpływający do wejścia poprzez działającą górną diodę weźmie na siebie
zenerka w lokalnym zasilaczu (ma 5.1V)....
może tak trzeba?

tasza
Avatar użytkownika
tasza
 
Posty: 21
Dołączył(a): 19 sty 2006 00:00

Re: miernik napięcia na PIC16F877A

Postprzez Gość » 29 sie 2006 08:18

To rozwiązanie mi sie podoba. Ja mam zasilanie ze stabilizatora 78LS05, więc dam na wyjsciu tego stabilizatora dodatkowo diode zenera na 5V, a rezystor na wejściu przetwornika 10k powinien wystarczyć. No nic sprawdze to. Dzieki wielkie.
Gość
 
Posty: 656
Dołączył(a): 10 lis 2003 00:00

Następna strona

Powrót do Sprzęt

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron