Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ADC skaczący wynik pomiaru na lcd

dawid512 03 Sty 2008 21:57 3857 40
  • #1 03 Sty 2008 21:57
    dawid512
    Poziom 32  

    Witam!

    Mam problem z pomiarem z adc a dokladnie z tym ze wynik pomiaru skacze na lcd przy napieciu 12V w zakresie od 8V do nawet 12V. Probowalem dawac opoznienie w odczycie a takze dodalem po 2 kondensatory 100nF na kazde wejscie adc ale nic to nie dalo. Dodam jeszce ze jak mierze napiecie z modułu uruchomieniowego w ktorym mam regulowane napiecie od 0 do 5V to wynik pomiaru juz tak nie skacze. Czy to moze wina zasilacza na ktorym mierze to napiecie? Jak sie z tym uporac?

    Program:

    Code:

    $regfile = "m8def.dat"
    $crystal = 1000000

    Config Lcdbus = 4
    Config Lcd = 16 * 2
    Config Lcdpin = Pin , Db4 = Pb.4 , Db5 = Pb.5 , Db6 = Pb.6 , Db7 = Pb.7 , E = Pb.3 , Rs = Pb.2

    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Deflcdchar 0 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32


    Declare Sub Pomiar

    Dim Wart_ac As Word
    Dim Wart_acc As Word

    Dim V As Single
    Dim I As Single


    Dim Wart_nap As String * 5
    Dim Wart_pra As String * 5

    Dim Cyfra As String * 2
    Dim Wydzielona As Byte


    Start Adc

    Cursor Off
    Cls

    Do

    Call Pomiar

    Locate 1 , 1
    Lcd "Napiecie:" ; Wart_nap ; "V"

    If Wydzielona < 10 Then
    Locate 1 , 15
    Lcd Chr(0)
    End If

    Locate 2 , 1
    Lcd "Prad:" ; Wart_pra ; "A"

    Loop
    End

    Sub Pomiar

    Waitus 50

    Wart_ac = Getadc(1)

     V = Wart_ac * 0.0048
     V = V * 3

    Wart_nap = Fusing(v , "##.&&")
    Waitus 500


    Cyfra = Mid(wart_nap , 1 , 2)
    Wydzielona = Val(cyfra)

    Waitus 50

    Wart_acc = Getadc(4)

    I = Wart_acc * 0.0048
    I = I \ 10

    Wart_pra = Fusing(i , "##.&&")

    Waitms 600


    End Sub

    0 29
  • Arrow Multisolution Day
  • #2 03 Sty 2008 22:27
    Pijopic
    Poziom 16  

    Po pierwsze zmniejszyc szumy pomiaru korzystajac z opcji ktora daje avr czyli wylaczenia zbednych ukladow przy przetwarzaniu, po drugie mozesz skorzystac z przeuniecia pomiaru w lewo i odczytywac tylko 8 najstarszych bitow, co zmniejszy rozdzielczos pomiaru ale 8 bitowa zamiast 10 tu wystarczy. Moze cos jeszcze ale co by to stwierdzic trzeba by schemat zobaczyc bo moze tam cos miesza...

    0
  • #3 04 Sty 2008 07:47
    seba_x
    Poziom 31  

    zrób średnią ze 100 pomiarów i nie będzie skakać , zasilanie przetwornika masz puszczone przez dławik ?

    0
  • #4 04 Sty 2008 10:09
    Ch.M.
    Poziom 27  

    taka rozbierznosc wyników jest niedopuszczalna i na bank masz poroblem z jakimiś ustawieniami. Proponuje poustawiac recznie preskaler i inne i jesli powtarzalnośc się zwiększy to dopiero myśleć o uśrednianiu.

    0
  • #5 04 Sty 2008 11:41
    Klima
    Poziom 30  

    A czy ty te napięcia rzędu 12V podajesz bezpośrednio na nóżki procesora, czy przez jakiś dzielnik rezystorowy?

    0
  • Arrow Multisolution Day
  • #6 04 Sty 2008 16:37
    dawid512
    Poziom 32  

    Witam.

    Zasilacz na ktorym mierze napiecie to standardowy zasilacz na lm317 a napiecie na procka podaje przez dzielnik napiecia na 3 rezystorach i dlatego wynik pomiaru mnoze razy 3 ale to chyba nie to bo prad mierze na jednym rezystorze i wynik tez tak skacze. Wydaje mi sie ze moze zasilacz tworzy jakies zaklocenia bo jak podlacze np do zwyklej bateri to juz tak nie skacze. Moze musze przez jakis dodatkowy element puscisc zasilanie do adc z zasilacza?

    0
  • #7 04 Sty 2008 19:19
    Klima
    Poziom 30  

    dawid512 napisał:
    Witam.

    Zasilacz na ktorym mierze napiecie to standardowy zasilacz na lm317 a napiecie na procka podaje przez dzielnik napiecia na 3 rezystorach i dlatego wynik pomiaru mnoze razy 3 ale to chyba nie to bo prad mierze na jednym rezystorze i wynik tez tak skacze. Wydaje mi sie ze moze zasilacz tworzy jakies zaklocenia bo jak podlacze np do zwyklej bateri to juz tak nie skacze. Moze musze przez jakis dodatkowy element puscisc zasilanie do adc z zasilacza?


    A nie możesz obejrzeć na oscyloskopie przebiegów na zasilaniu i na wejściu ADC? To, o czym piszesz wskazuje na POWAŻNE zakłócenia. Jednym z powodów może być zasilacz. Masz poprawnie wykonany zasilacz (wystarczająco pojemne kondensatory wystarczająco blisko nóżek LM317 na wejściu i wyjściu)? Może ten LM317 jest uszkodzony?

    0
  • #8 04 Sty 2008 21:40
    asembler
    Poziom 32  

    Moze ci to pomoze: tez miałem kiedyś taki problem z głupiego przeoczenia źle pzydzielilem napiecie REF i skakalo jak głupie.
    Moze zrób tak: przydziel napiecie ref 2.56V i zastosuj dzielnik /6 poprawi sie na bank.

    0
  • #9 04 Sty 2008 23:17
    dawid512
    Poziom 32  

    Witam.

    Mozliwe ze to przez filtry bo lm317 jest na radiatorze z boku a nie na plytce ale czy wina tego? Nie mam jak sprawdzic przebiegu na oscyloskopie:(. A co do ref=2,56V to slyszalem ze ludzie maja z tym problemu bo nie zawsze wynosi 2.56V. Moze musze jakos dodatkowo odfiltrowac napiecie z zasilacza?

    0
  • #10 05 Sty 2008 12:11
    asembler
    Poziom 32  

    Zrobiłem testowy układ żeby to sprawdzić:. Nie dawalem ani dlawika ani nie filtrowalem napiecia szczególnie. Obok piny wykorzystywane do wyswietlacza LCD nie stosuje szczegolnych programowych warunków odczytu i przy pomiarze zmienia sie od czasu tylko ostatnia cyfra. Więc moze cos masz z programem? moze odczytujesz w złej kolejnosci ? trudno zgadywać
    Pozdrawiam

    0
  • #11 05 Sty 2008 14:56
    Klima
    Poziom 30  

    dawid512 napisał:
    Witam.
    Mozliwe ze to przez filtry bo lm317 jest na radiatorze z boku a nie na plytce ale czy wina tego? Nie mam jak sprawdzic przebiegu na oscyloskopie:(. A co do ref=2,56V to slyszalem ze ludzie maja z tym problemu bo nie zawsze wynosi 2.56V. Moze musze jakos dodatkowo odfiltrowac napiecie z zasilacza?


    Generalnie kondensatory powinny być jak najbliżej LM317, bo jeśli są za daleko, to układ potrafi się podobno wzbudzić. Więc może tak jest akurat w Twoim przypadku - dolutuj kondensatory zaraz przy nóżkach LM317. Spójrz w jego notę aplikacyjną. Co do wewnętrznego Vref, to rzeczywiście zwykle nie wynosi ono 2.56V, ale jest stabilne - wystarczy je raz zmierzyć i wpisać odpowiednią wartość do programu.

    0
  • #12 05 Sty 2008 15:01
    dawid512
    Poziom 32  

    To chyba nie wina programu bo jak podlacze do innego zrodla niz zasilacz to juz nie skacze i jest tak jak napisal kolega asembler.

    0
  • #13 06 Sty 2008 00:03
    Pijopic
    Poziom 16  

    dawid512 napisał:
    ...napiecie na procka podaje przez dzielnik napiecia na 3 rezystorach i dlatego wynik pomiaru mnoze razy 3 ...


    Jesli dobrze mi sie wydaje to masz w efekcie dzielnik 1 do 2, co przy 12V daje 6V na wejsciu przetwornika, musisz, by z obliczeniami w programie sie zgadzalo, dac dzielnik w stosunku 1 do 3 czyli np. miedzy wejscie ADC a plus 20k i miedzy wejscie ADC a mase 10k, trzeci rezystor nie jest tu potrzebny.

    0
  • #14 06 Sty 2008 10:48
    dawid512
    Poziom 32  

    Potrzebne sa 3 rezystory poniewaz max napiecie na adc moze wynosic 5V a z zasilacza mam max niecale 15V. Napiecie na 3 rezystorze nie osiagnie 5V. Caly czas mysle ze to wina zasilacza i filtra w nim bo pzrecierz wszystko dziala dobrze jesli mierze napiecie np na baterii.

    0
  • #15 06 Sty 2008 12:59
    Pijopic
    Poziom 16  

    Sorki ze bede brutalny, ale czlowieku naucz sie wpierw podstaw elektroniki, a pozniej wdawaj sie w dyskusje i jak nie chcesz sluchac rad innych to nie pros o nie...

    0
  • #16 06 Sty 2008 15:12
    dawid512
    Poziom 32  

    Cytat:
    Sorki ze bede brutalny, ale czlowieku naucz sie wpierw podstaw elektroniki, a pozniej wdawaj sie w dyskusje i jak nie chcesz sluchac rad innych to nie pros o nie...


    Po pierwsze kolego jakbym nie chcial sluchac rad innych to bym nie zakladal tego tematu. Po drugie jak mi nie wierzysz z tym dzielnikiem to wez kartke i sobie oblicz albo taki zbuduj to zobaczysz. Ja nie tworzylem tego tematu zeby sie klocic kto jest lepszy w elektronice ale jak pisze ze na moim zasilaczu wynik skacze a na czyms innym np. baterii nie to jaki z tego wniosek?
    Bo mnie sie wydaje ze to wina zasilacza i pytam jak sie z tym uporac czy to tak duzo?

    0
  • #17 06 Sty 2008 16:31
    Dr_DEAD
    Poziom 28  

    dawid512 napisał:

    Bo mnie sie wydaje ze to wina zasilacza i pytam jak sie z tym uporac czy to tak duzo?

    Jak chcesz aby inni poświęcili swój czas na odpowiedz w tym wątku to nie zmuszaj ich do pisania poraz setny postu w stylu: "z fusów nie wywrórzymy", "pokaż schemat układu"...... My poświęcamy czas na odpowiedz Ty poświęć czas na porządne zadanie pytania: Narysuj kompletny schemat, podaj wszystkie informacje na jego temat (nie tylko te które według Ciebie są ważne), dodaje kompletny listing programu (zaznacz w nim te miejsca które wg Ciebie mogą zawierać błędy) itd itd...
    A więc:
    -dodaj schemat zasilacza
    -zrób pomiary napięcia Vin (na wejściu stablizatora)
    -podaj zakres napięcia Vout jaki chcesz uzyskać
    -jakiej wartości elektrolity masz na wejściu
    -jakiej wartości elektrolity masz na wyjściu
    -czy zasilasz to z mostka gretza
    -czy masz kondensatorki 100n blisko stabilizatora (banał, ale bardzo ważny!)

    0
  • #18 06 Sty 2008 17:43
    Pijopic
    Poziom 16  

    [quote="dawid512"]

    Cytat:
    Po pierwsze kolego jakbym nie chcial sluchac rad innych to bym nie zakladal tego tematu. Po drugie jak mi nie wierzysz z tym dzielnikiem to wez kartke i sobie oblicz albo taki zbuduj to zobaczysz...


    I=U/R 12V/30k (20k+10k) = 0,0004 A, U=IxR 0,0004Ax10k = 4V !!!

    Szkoda mi slow na takich gosci jak ty...

    0
  • #19 06 Sty 2008 18:17
    Shootah
    Poziom 11  

    Wracając do tematu uruchamiałem właśnie ADC w Atmedze8 i też mi wynik mocno skakał. Wejście ma pewnie sporą impedancję więc różne zakłócenia mogą zakłócać pomiar. W moim układzie pomogło dołożenie rezystora 6k między wejście ADC a masę i problem przestał istnieć.

    0
  • #20 06 Sty 2008 23:56
    Pijopic
    Poziom 16  

    Shootah napisał:
    Wracając do tematu uruchamiałem właśnie ADC w Atmedze8 i też mi wynik mocno skakał. Wejście ma pewnie sporą impedancję więc różne zakłócenia mogą zakłócać pomiar. W moim układzie pomogło dołożenie rezystora 6k między wejście ADC a masę i problem przestał istnieć.


    Wszystko zalezy od rezystancji zrodla mierzonego napiecia, jesli jest niska to rezystor jest zbedny, w przypadku gdy zrodlem jest zasilacz, jest ona bardzo niska, a gdy wysoka to zamiast stosowac rezystor, ktory moze przeklamywac pomiar, mozna maksymalnie zmniejszyc czestotliwosc pracy przetwornika, co pozwoli w duzym stopniu uniknac zaklucen i ewentualnie zastosowac na wejsciu przetwornika filtr dolnoprzepustowy...

    0
  • #21 07 Sty 2008 16:44
    dawid512
    Poziom 32  

    Odp dla Pijopic:

    U=15V
    R1=10Ω
    R2=10Ω
    R3=10Ω

    I=15V/30Ω=0.5A

    U2=Ix(R2+R3)=0.5x20=10V <= napiecie pomiedzy rezystorem R2 a masa

    U3=IxR3=0.5x10=5V <= napiecie pomiedzy rezystorem R3 a masa


    Nie da sie??

    Twoj dzielnik oczywiscie jest prawidlowy ale prosze Cie nie kloc sie ze moj jest zly bo liczby mowia same za siebie.

    0
  • #22 07 Sty 2008 16:55
    Pijopic
    Poziom 16  

    jak korzystasz z rezystorow 10 om to sie nie dziwie, ze ci wariuje, a przy okazji w rzeczywistosci masz dwa rezystory, wiec nie udawadniaj dluzej nic na sile...

    0
  • #23 07 Sty 2008 17:21
    dawid512
    Poziom 32  

    Nie korzystam z takich rezystorow tylko takie przykladowo do obliczen zastosowalem. Zmniejszylem preskaler do 2 ale to nic nie pomoglo. Dalej jak mierze na innym zrodle to jest dobrze a na zasilaczu dalej skacze. Zapomnialem dodac ze zaraz za mostkiem mam 2 kondensatory 4700uF polaczone rownolegle czy to moze byc powodem tych zaklocen?

    0
  • #24 07 Sty 2008 17:55
    Shootah
    Poziom 11  

    dawid512 : co nas interesują twoje przykładowe obliczenia dzielnika jak na końcu piszesz że nie taki stosujesz i nawet nie podasz jaki on jest w rzeczywistości.
    Pomyśl dwa razy zanim tu coś napiszesz bo dalej to sobie możemy rozmawiać tygodniami bez rezultatu.

    0
  • #25 07 Sty 2008 18:11
    dawid512
    Poziom 32  

    Shootah mnie chodzilo o idee a nie o konkretny przyklad ale u siebie mam 3 rezystorki 10kΩ. Wiem jedno ze wielu tu takich ktorzy chca udowodnic swoja wiedze...

    0
  • #26 07 Sty 2008 18:27
    Pijopic
    Poziom 16  

    dawid512 napisał:
    Shootah mnie chodzilo o idee a nie o konkretny przyklad ale u siebie mam 3 rezystorki 10kΩ. Wiem jedno ze wielu tu takich ktorzy chca udowodnic swoja wiedze...


    Jak do tej pory to kazdy probowal ci pomoc, ale watpie by jeszcze ktos chcial...

    0
  • #27 07 Sty 2008 20:37
    Klima
    Poziom 30  

    Wiesz co, może prościej. Zrób zdjęcie tego twojego urządzenia i tu wstaw.

    0
  • #28 07 Sty 2008 20:46
    dawid512
    Poziom 32  

    Chciałem rozmawiac o konkretach ale kolega Pijopic zaczal sie wymadrzac co do dzielnika napiecia wiec dalem mu swoj przyklad w prawdzie na innych wartosciach ale u siebie mam taki tyle ze wartosc kazdego rezstora wynosi 10kΩ. Dlatego taki dzielnik bo max napiecie z mojego zasilacza to 15V a na ostatnim rezystorze otrzymuje 5V gdy na wyjsciu zasilacza mam 15V a wynik poprostu mnoze x3. Ok napisaliscie ze to wina filtrow. Dolozylem zaraz kolo LM317 kondensatory 100nF ale nie pomoglo. Probowalem dodac jeszce rezystor 6KΩ pomiedzy wejscie ADC a mase ale to takze nic nie dalo. W poprzednim poscie napisalem ze mam takze 2 kondensatory 4700µF polaczone rownolegle za mostkiem i zapytalem czy to moze ich wina i czy nie lepiej bedzie jeden odlaczyc?

    0
  • #29 07 Sty 2008 21:26
    Shootah
    Poziom 11  

    Kondensator za mostkiem jest bez znaczenia w tym przypadku, 4700 uF spokojnie powinien starczyć. Masz możliwość zmierzyć napięcie na wejściu ADC jakimś miernikiem podczas pracy układu ?

    0
  • #30 07 Sty 2008 22:06
    Pijopic
    Poziom 16  

    dawid512 napisał:
    Chciałem rozmawiac o konkretach ale kolega Pijopic zaczal sie wymadrzac co do dzielnika napiecia wiec dalem mu swoj przyklad w prawdzie na innych wartosciach ale u siebie mam taki tyle ze wartosc kazdego rezstora wynosi 10kΩ. Dlatego taki dzielnik bo max napiecie z mojego zasilacza to 15V a na ostatnim rezystorze otrzymuje 5V gdy na wyjsciu zasilacza mam 15V a wynik poprostu mnoze x3...


    Pomysl nim cos napiszesz, moj przyklad dokladnie pokazuje jakie masz braki w swojej wiedzy na temat elektroniki i o zgrozo matematyki - jaka jest roznica miedzy trzema rezystorami po 10k podlaczonymi tak jak opisales a dwoma rezystorami jeden 20k a drugi 10k tak jak ja opisalem?? I moze jeszcze powiesz ze po podlaczeniu rezystora 6k masz takie same warunkli pomiaru ?? Wyjasnij co daje ten rezystor i co zmienia - jak do tego dojdziesz to moze w koncu zaczniesz myslec i robic to co madrzejsi od ciebie ci radza zamiast ignorowac wszystkie podpowiedzi ktorych nie rozumiesz i prosby tych ktorzy chca pomoc o to bys wstawil choc fragment schematu jak masz rozwiazane podlaczenie co jasno by okreslilo gdzie trzeba szukac problemu

    0