logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8/32 [Bascom] przetwornik ADC

maximus22_kr 06 Paź 2011 08:46 3181 7
REKLAMA
  • #1 9997724
    maximus22_kr
    Poziom 18  
    Witam
    Chciałem zapytać o działanie wbudowanego przetwornika ADC. w helpie Bascoma jest informacja, że nie powinno się wykorzystywać pozostałych pinów tego portu - jak to wygląda w praktyce, faktycznie nie da się ?

    W sumie w Atmega32 szkoda poświęcać tyle pinów, a w Atmega8 na porcie A jest magistrala I2c ( TWI ). Nie pójdzie razem z włączonym przetwornikiem i trzeba na innych pinach programowo ?
  • REKLAMA
  • #2 9997751
    mmacura
    Poziom 18  
    Może Bascom nie pozwala - tego nie wiem, ale w C można pozostałe piny używać do czego Ci potrzeba.

    Marek
  • REKLAMA
  • #3 9997759
    arktik1
    Poziom 27  
    "że nie powinno się wykorzystywać pozostałych pinów tego portu"
    Wykorzystałem wszystkie piny Atmega8/168p.
    Zbudowałem miernik VU, 2 pierwsze piny są używane jako ADC reszta portu jest używana do sterowania przekaźnikami.
    Nigdy nie zdarzyło mi się, by coś nie działało.
    Nie wiem tylko jak jest z I2c ( TWI ), nie podłączałem tego razem.
    Wydaję mi się też, że przy takiej konfiguracji może być problem z odczytem pomiaru ADC.
    Rozwiązałem ten problem dając rezystory między ADC a GND.
    Zrobiłem to w BASCOM.
  • #4 9997777
    Fredy
    Poziom 27  
    Chodzi o to , aby w czasie pomiaru nie wykorzystywać innych wejść przetwornika ADC. Sam pomiar trwa bardzo krótko i wtedy zalecany jest spokój na sąsiednich kanałach.
  • REKLAMA
  • #5 9998032
    maximus22_kr
    Poziom 18  
    Chciałem mierzyć napięcie baterii podtrzymującej układ PCF8563.
    Jest oczywiste, że należy dać rezystor z 10 k pomiędzy wejście ADC i GND, ale to powoduje szybkie rozładowanie baterii, więc może zrobić tak w podprogramie do odczytu z przetwornika ADC:

    
    Pomiar:
    'Locate 2 , 13
    Lcd "Pomiar"
    Start Adc                     ' włącz przetwornik                                                '
    Set On_pomiar   
    For Il_pom = 1 To 20
    Wart_ac = Wart_ac + Getadc(0)
    Next Il_pom
    Wart_ac = Wart_ac / 20
    Nap = Wart_ac * 0.0047655625
    Wart_nap = Fusing(nap , "#.#" )
    Reset On_pomiar
    Stop Adc
    'Locate 2 , 13
    'Lcd "       "
    Return
    


    On_pomiar to pin, który sterowałby tranzystorem, włączając go na czas pomiaru, myślę, że jakiś FET z kanałem N byłby OK ??
  • #6 9998911
    Fredy
    Poziom 27  
    A nie jest to sztuka dla sztuki? Bateria podtrzymująca twój zegar będzie działać 10 lat bez problemu (bateria litowa), jak zrobisz to monitorowanie to po 2 latach się rozłąduje . Jest sens to ruszać? Tysiące urządzeń nawet bardzo zaawansowanych ma takie podtrzymywanie i nikt nie robi z tego kłopotu.
  • REKLAMA
  • #7 9998921
    dondu
    Moderator na urlopie...
    maximus22_kr napisał:
    W helpie Bascoma jest informacja, że nie powinno się wykorzystywać pozostałych pinów tego portu - jak to wygląda w praktyce, faktycznie nie da się ?

    A czy mógłbyś zacytować większy fragment tego helpa - nie znam BASCOM, ale sądzę, że albo nie zrozumiałeś, albo wyrwałeś z kontekstu jakiś fragment.
    Poza tym, jeżeli użyto tam zwrotu "nie powinno" to nie znaczy, że "nie da się" :-)
    Być może autorowi helpa chodziło tylko o eliminowanie możliwych zakłóceń pochodzących z pinów sąsiednich do pinów pomiarowych ADC, ale to nie sprawa BASCOMa tylko projektu.
  • #8 9999156
    xury
    Specjalista automatyka domowa
    Pewnie chodziło o ten fragment, który to kolega źle zrozumiał:
    Cytat:
    the pins of the A/D converter input can be used for digital I/O too.
    But it is important that no I/O switching is done while using the A/D converter.
REKLAMA