Elektroda.pl
Elektroda.pl
X
Prosz, dodaj wyj徠ek www.elektroda.pl do Adblock.
Dzi瘯i temu, 瞠 ogl康asz reklamy, wspierasz portal i u篡tkownik闚.

Zbyt czu造 przetwornik ADC w Atmega8

logos2000 07 Gru 2012 17:02 3486 30
  • #1 07 Gru 2012 17:02
    logos2000
    Poziom 21  

    Witam,
    Mam problem z A\C, jest zbyt czu造, program testuje na p造tce uniwersalnej ZL2AVR.
    Port A\C to PC5, port diody PB0, Atmega taktowana wewn皻rznym 8Mhz.
    Gdy goldpin PC5 jest odpi皻y to program dzia豉 poprawnie, jednak gdy podepne lu積y kabel i zbli輳 do niego r瘯e na ok 10cm to program to wykrywa.
    ISP ze wzgl康u na wsp鏊n linie PC5 jest odpinany na czas testowania.

    AREF podpi皻y pod kondensator ceramiczny 104 (100nF) pod mase.
    Uk豉d odniesienia to wewn皻rzny VCC - REFS1..0 (01), je瞠li dobrze napisa貫m.

    Kod programu:
    [

    Kod: c
    Zaloguj si, aby zobaczy kod


    Prosz o pomoc
    Prosz na przysz這嗆 u篡wa tagu [syntax=C] do wklejania kodu C...[/syntax].
    Poprawi貫m to, jak i tytu - nie ma czego takiego, jak "przetwornik A/C", LordBlick

    0 29
  • #3 07 Gru 2012 17:13
    logos2000
    Poziom 21  

    Problem w tym 瞠 badany uk豉d wg miernika ma 3-4V a przetwornik to akceptuje w podanym przedziale <0-9> . Mo積a to bardziej przefiltrowa? Jak?

    0
  • #4 07 Gru 2012 17:14
    Raphaw
    Poziom 20  

    U鈔ednij kilka pomiar闚. Co do kodu - przestarza貫 makra sbi i cbi, i stosuj wci璚ia. :)

    0
  • #5 07 Gru 2012 18:03
    tmf
    Moderator Mikrokontrolery Projektowanie

    logos2000 napisa:
    Problem w tym 瞠 badany uk豉d wg miernika ma 3-4V a przetwornik to akceptuje w podanym przedziale <0-9> . Mo積a to bardziej przefiltrowa? Jak?


    Nijak. Nie wolno pozostawia niespolaryzowanych wej嗆 bo 豉pi 鄉ieci o czym si przekona貫. Je郵i pin mo瞠 nie by pod陰czony to po陰cz go na sta貫 np. z GND przez rezystor chocia瘺y 1 Mom, a wynik pomiaru ADC to nie wp造nie, a wiele zak堯ce zostanie wyeliminowanych.

    0
  • #6 07 Gru 2012 18:56
    logos2000
    Poziom 21  

    Da貫m 鈔edni z 10 odczyt闚 ale problem nadal wyst瘼uje, badanym urz康zeniem jest czujnik ruchu z od鈍ierzacza powietrza, kt鏎y po wykryciu ruchu zmniejsza napi璚ie w okolice 0V ale przez bardzo kr鏒ki czas. Nie moge sobie z tym poradzi, mo瞠 w kodzie jest jaki b陰d?

    Chocia stara貫m si robi wg serwis闚ki, nie mam pewno嗆i co do uk豉du odniesienia.
    AVCC nie podlaczone (bo to Atmega8), AREF kondensatorem ceramicznym do masy.
    Napi璚ie na AREF wynosi 4,8V i to w zasadzie tyle je瞠l chodzi o napi璚ie odniesienia.

    0
  • #7 07 Gru 2012 19:20
    tmf
    Moderator Mikrokontrolery Projektowanie

    Masz dwa b喚dy w po陰czeniach - AVCC musi by pod陰czone . Istniej co prawda serie, w kt鏎ych AVCC jest po陰czone z VCC przez wewn皻rzny rezystor, ale i tak trzeba AVCC po陰czy z zasilaniem. Dwa, VREF albo zostawiasz wolne, albo 陰czysz do masy kondensatorem, a nie rezystorem - to chyba by豉 tylko pomy趾a?
    Kolejna sprawa, je郵i pin wej軼iowy jest do niczego niepod陰czony, to mo瞠sz sobi u鈔edni nawet i milion pomiar闚 i nic to nie da. Musi by co co spoczynkowo ten pin polaryzuje.

    0
  • #8 07 Gru 2012 19:32
    logos2000
    Poziom 21  

    Oczywi軼ie chodzi這 o kondensator :)
    Tak bym sie m鏬 bawi tydzie, pod陰czy貫m pod UART i wyniki s dziwne, albo warto嗆 6-8 (ale wi瘯szo嗆 7) albo 255. 畝dnych innych warto軼i, co najgorsze niezale積ie czy jest ruch czy nie

    0
  • #9 07 Gru 2012 20:07
    Tomasz Gumny
    Poziom 27  

    logos2000 napisa:
    [...]badanym urz康zeniem jest czujnik ruchu z od鈍ieacza powietrza, kt鏎y po wykryciu ruchu zmniejsza napi璚ie w okolice 0V ale przez bardzo kr鏒ki czas.
    W takim wypadku lepszy b璠zie komparator analogowy, ale najpierw dojd do 豉du z ADC.

    0
  • #10 07 Gru 2012 20:52
    logos2000
    Poziom 21  

    Przy dotknieciu PC5 palcem (czujnik pod陰czony) odczytywane warto軼i s z przedzia逝 190-195 lub 255.
    Jakie pomys造?

    0
  • #11 07 Gru 2012 22:06
    GSM
    Poziom 25  

    logos2000 napisa:
    badanym urz康zeniem jest czujnik ruchu z od鈍ierzacza powietrza, kt鏎y po wykryciu ruchu zmniejsza napi璚ie w okolice 0V ale przez bardzo kr鏒ki czas

    logos2000 napisa:
    Przy dotknieciu PC5 palcem (czujnik pod陰czony) odczytywane warto軼i s z przedzia逝 190-195 lub 255.

    Zdecydowanie lepiej by這by wykorzysta komparator do tego.
    Czy ten czujnik wystawia jakie napi璚ie, gdy nic nie wykrywa? To wygl康a jakby mia wyj軼ie open-collector i wypada這by mu jaki rezystor podci庵aj帷y zafundowa.
    Ale i tak to si sprowadza do komparatora albo bramki schmitta i podaniu sygna逝 na wej軼ie przerwania zewn皻rznego. ADC to w tym przypadku pomy趾a.

    Pozdrawiam,
    GSM

    0
  • #12 08 Gru 2012 00:41
    Tomasz Gumny
    Poziom 27  

    logos2000 napisa:
    [...]Jakie pomys造?
    Schemat? Czy deklarujesz gdzie typ procesora i cz瘰totliwo嗆 kwarcu (jaka jest?).

    0
  • #14 08 Gru 2012 11:24
    dondu
    Moderator Mikrokontrolery Projektowanie

    logos2000 napisa:
    AVCC nie podlaczone (bo to Atmega8), ...

    Czyli wed逝g Ciebie dokument opracowany przez producenta tego mikrokontrolera nie obowi您uje?: http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
    Tmf ju doda reszt.

    Poza tym dlaczego niepod陰czony, skoro testujesz na ZL2AVR kt鏎y wed逝g tego schematu: http://www.btc.pl/pdf/zl2avr.pdf
    ma ten pin pod陰czony przez d豉wik w豉郾ie po to by zadba o maksymaln dok豉dno嗆 ADC: http://mikrokontrolery.blogspot.com/2011/03/avr-adc-podlaczenie.html


    logos2000 napisa:
    Przy dotknieciu PC5 palcem (czujnik pod陰czony) odczytywane warto軼i s z przedzia逝 190-195 lub 255.
    Jakie pomys造?

    Poka zdj璚ie.


    logos2000 napisa:
    ... pod陰czy貫m pod UART i wyniki s dziwne, albo warto嗆 6-8 (ale wi瘯szo嗆 7) albo 255. 畝dnych innych warto軼i, co najgorsze niezale積ie czy jest ruch czy nie

    Poka t wersj kodu.

    0
  • #15 08 Gru 2012 13:06
    logos2000
    Poziom 21  

    Faktycznie pomin掖em AVCC (przeczyta貫m i nie powinien fa連zowa wynik闚), wynik odczyt闚 si znacznie poprawi, a wr璚z wydaje si obecnie niezawodny.

    Obecnie filtrowanie wygl康a nast瘼uj帷o:
    Zbyt czu造 przetwornik ADC w Atmega8

    A odczyty prczy braku ruchu 250-255
    Przy ruchu 6-8.

    Uk豉d dodatkowo jest pod陰czony przez UART z telefonem kom鏎kowym i to on podczas nadawania/odbierania powoduje zfa連zowanie wynik闚, co skutkuje zap皻leniem uk豉du.

    0
  • #16 08 Gru 2012 13:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    Wykorzystujesz tylko 8 bit闚 ADC wi璚 wystarcza takie proste.

    Tw鎩 uk豉d to jest w ko鎍u ZL2AVRm, czy budujesz go we w豉snym zakresie?
    Pyta貫m:

    dondu napisa:
    Poza tym dlaczego niepod陰czony, skoro testujesz na ZL2AVR kt鏎y wed逝g tego schematu: http://www.btc.pl/pdf/zl2avr.pdf
    ma ten pin pod陰czony przez d豉wik


    A co do tego:

    logos2000 napisa:
    Uk豉d dodatkowo jest pod陰czony przez UART z telefonem kom鏎kowym i to on podczas nadawania/odbierania powoduje zfa連zowanie wynik闚, co skutkuje zap皻leniem uk豉du.

    to trzeba by這by zobaczy ca造 projekt zar闚no od strony schematu, PCB jak i zdj耩.

    0
  • #17 08 Gru 2012 15:35
    logos2000
    Poziom 21  

    Pocz徠kowo testowa貫m na ZL2AVR, p騧niej projekt przenios貫m na zewn徠rz. PCB to w zasadzie tylko podstawka pod Atmege + kilka element闚 widocznych na schemacie.

    Zamieszczam schemat:
    Zbyt czu造 przetwornik ADC w Atmega8

    0
  • #18 08 Gru 2012 15:48
    dondu
    Moderator Mikrokontrolery Projektowanie

    logos2000 napisa:
    Pocz徠kowo testowa貫m na ZL2AVR, p騧niej projekt przenios貫m na zewn徠rz. PCB to w zasadzie tylko podstawka pod Atmege + kilka element闚 widocznych na schemacie.

    Zamieszczam schemat:
    Zbyt czu造 przetwornik ADC w Atmega8

    Czyta貫 w og鏊e linki, kt鏎e Ci poda貫m, a w szczeg鏊no軼i ten pierwszy?
    Trzeciego tak瞠 nie czyta貫, przez co mikrokontroler nadal jest 幢e pod陰czony (je瞠li schemat odzwierciedla faktyczny stan).

    Dodatkowo regulator napi璚ia tak瞠 幢e pod陰czony: http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html

    A p騧niej si dziwisz, 瞠 "auto" nie jedzie jak nale篡. Nie spiesz si tylko czytaj uwa積ie i stosuj zdobyt wiedz.

    0
  • #19 08 Gru 2012 16:03
    logos2000
    Poziom 21  

    Mikrokontroler wg mnie pod陰czony jak nakazuje
    1.2.2 ADC - wersja najprostsza z 1 linku
    Zbyt czu造 przetwornik ADC w Atmega8

    0
  • #20 08 Gru 2012 16:18
    dondu
    Moderator Mikrokontrolery Projektowanie

    AGND i RESET tak瞠?
    Nie sugeruj si numerami pin闚 - to dwie r騜ne obudowy - zagl康nij do datasheet i por闚naj.

    I znowu si spieszysz zamiast przeczyta link, kt鏎y poda貫m Ci w poprzednim po軼ie.
    Gdyby przeczyta to wiedzia豚y 瞠 nale篡 pod陰czy wszystkie piny zasilaj帷e, a s nimi tak瞠 piny GND.

    Po酥iech, to jeden ze stopni: http://mikrokontrolery.blogspot.com/2011/04/pieklo-poczatkujacych.html

    0
  • #21 08 Gru 2012 18:52
    logos2000
    Poziom 21  

    Zanim zaczn budowa od nowa schemat zewn皻rzny sprawdz dzia豉nie na p造tce testowej, tam napewno jest pod陰czone jak producent nakaza.

    0
  • #23 09 Gru 2012 21:27
    logos2000
    Poziom 21  

    Projekt zrobiony ca趾owicie na p造tce ZL2AVR nadal 豉pie fa連zywe wyniki, winowajc jest tutaj nadaj帷y telefon kom鏎kowy (wyniki s fa連zowane jedynie przy transmisji - a s造sze j w g這郾ikach).

    0
  • #24 10 Gru 2012 00:44
    dondu
    Moderator Mikrokontrolery Projektowanie

    logos2000 napisa:
    ... winowajc jest tutaj nadaj帷y telefon kom鏎kowy (wyniki s fa連zowane jedynie przy transmisji - a s造sze j w g這郾ikach).

    A pisa貫m:

    dondu napisa:
    logos2000 napisa:
    Uk豉d dodatkowo jest pod陰czony przez UART z telefonem kom鏎kowym i to on podczas nadawania/odbierania powoduje zfa連zowanie wynik闚, co skutkuje zap皻leniem uk豉du.

    to trzeba by這by zobaczy ca造 projekt zar闚no od strony schematu, PCB jak i zdj耩.

    0
  • #25 11 Gru 2012 16:34
    logos2000
    Poziom 21  

    Czy taki schemat b璠zie ju prawid這wy? Wzorowany na schemacie ZL2AVR i wg mnie ok, ale wole zapyta spec闚.
    Zbyt czu造 przetwornik ADC w Atmega8

    0
  • #26 11 Gru 2012 16:49
    Tomasz Gumny
    Poziom 27  

    1. C2 b璠zie zapewne przy procesorze, wi璚 przyda豉by si pojemno嗆 na wyj軼iu 7805, przynajmniej 100n, najlepiej z 220u jak na wej軼iu.
    2. Je郵i rezystor R2 ma 100Ω, to powinien by opisany 100R (R100 oznacza 0.1Ω). Port wyj軼iowy procesora ma znacznie wi瘯sz obci捫alno嗆 w stanie niskim, wi璚 lepiej jest zapala LED stanem niskim a anod po陰czy z VCC.
    3. Po co jest rezystor 33k na wyj軼iu TXD?
    4. Je郵i korzystasz z UART to stabilno嗆 wbudowanego oscylatora b璠zie za s豉ba, dlatego procesor powinien by taktowany kwarcem.
    5. Je郵i korzystasz z ADC, to AVCC powinno by pod陰czone do VCC przez d豉wik.

    0
  • #27 11 Gru 2012 16:55
    logos2000
    Poziom 21  

    1. Na schemacie ZL2AVR brak jakiegokolwiek kondensatora na wyj軼iu (sic!)
    2. Racja, chodzi這 o 100R
    3. Poniewa je瞠li 陰cze bezpo鈔ednio to mam krzaki a z rezystorem jest ok
    4. Wewn皻rzny kwarc to chyba ca造 sprawca tego zamieszania
    5.Cie磬o by mi by這 wygrzeba odpowiedni d豉wik.

    0
  • #28 11 Gru 2012 17:24
    Tomasz Gumny
    Poziom 27  

    logos2000 napisa:
    1. Na schemacie ZL2AVR brak jakiegokolwiek kondensatora na wyj軼iu (sic!)
    5. Na schemacie ZL2AVR brak takowego d豉wika, zreszta cie磬o by mi by這 wygrzeba odpowiedni.

    Podaj link do schematu tego ZL2AVR
    logos2000 napisa:
    3. Poniewa je瞠li 陰cze bezpo鈔ednio to mam krzaki a z rezystorem jest ok
    Zastanawia貫 si dlaczego? Do czego pod陰czasz wyj軼ie TXD?
    logos2000 napisa:
    4. Wewn皻rzny kwarc to chyba ca造 sprawca tego zamieszania
    To w ko鎍u "wewn皻rzny" czy "kwarc"? O jakie zamieszanie chodzi?

    0
  • #29 11 Gru 2012 17:30
    logos2000
    Poziom 21  

    Schemat tutaj:
    http://www.btc.pl/pdf/zl2avr.pdf

    Uart pod陰czam pod telefon kom鏎kowy, widocznie 5V to dla niego za du穎.
    U篡wam obecnie wewn皻rzny oscylator ;], zamieszanie bo ADC sypie b喚dami podczas transmisji danych telefonem.

    Poprawi貫m schemat:
    Zbyt czu造 przetwornik ADC w Atmega8

    0
  • #30 11 Gru 2012 19:08
    Tomasz Gumny
    Poziom 27  

    Na schemacie ZL2AVR:
    -C9 to pojemno嗆 na wyj軼iu 7805.
    -L1 zasila AVCC.

    0