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] ADC - użycie pinów z I2C (TWI) jednocześnie?

maximus22_kr 06 Paź 2011 08:46 3277 7
REKLAMA
  • #1 9997724
    maximus22_kr
    Poziom 18  
    Posty: 513
    Pomógł: 1
    Ocena: 20
    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 19  
    Posty: 215
    Pomógł: 28
    Ocena: 16
    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  
    Posty: 1281
    Pomógł: 61
    Ocena: 39
    "ż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.
  • REKLAMA
  • #4 9997777
    Fredy
    Poziom 27  
    Posty: 915
    Pomógł: 117
    Ocena: 28
    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.
  • #5 9998032
    maximus22_kr
    Poziom 18  
    Posty: 513
    Pomógł: 1
    Ocena: 20
    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 ??
  • REKLAMA
  • #6 9998911
    Fredy
    Poziom 27  
    Posty: 915
    Pomógł: 117
    Ocena: 28
    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.
  • #7 9998921
    dondu
    VIP Zasłużony dla elektroda
    Posty: 13906
    Pomógł: 1292
    Ocena: 809
    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
    Posty: 7085
    Pomógł: 878
    Ocena: 1498
    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.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy użycia wbudowanego przetwornika ADC w mikrokontrolerach Atmega8 i Atmega32 w kontekście jednoczesnego korzystania z pinów I2C (TWI). Użytkownicy zauważają, że w praktyce możliwe jest wykorzystanie pozostałych pinów portu, mimo że dokumentacja Bascoma sugeruje ich unikanie. Wskazano, że podczas pomiaru ADC zaleca się, aby inne wejścia nie były używane, aby uniknąć zakłóceń. Użytkownicy dzielą się doświadczeniami, w tym zastosowaniem rezystorów w celu stabilizacji pomiarów oraz rozważają wpływ na żywotność baterii podtrzymującej układ. Pojawiają się również wątpliwości co do sensowności monitorowania napięcia baterii, biorąc pod uwagę długi czas działania baterii litowej.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA