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

Poczwórny, miniaturowy analizator stanów logicznych

Kubald 30 Sie 2012 21:06 6678 4
  • Poczwórny, miniaturowy analizator stanów logicznych

    Opisany 4-wejściowy miniaturowy analizator stanów logicznych pozwala na obserwację na wyświetlaczu LCD sygnałów cyfrowych. Taki sygnał może być znaleziony np. na wyjściu odbiornika podczerwieni TSPO-1703, na pinach Tx i Rx układu MAX-232, na liniach danych i zegara interfejsu I²C czy też w wielu innych miejscach układów elektronicznych. Układ pozwala na badanie sygnałów do 100 kHz (400 kHz z nową wersją oprogramowania).

    Cechy urządzenia:
    • Częstotliwość maksymalna: 400 kHz
    • Napięcie wejściowe: do +5V
    • Zasilanie: Maks. 4,8 VDC (4 x akumulator 1,2 V)
    • Wyświetlacz: LCD 84x84 piksele
    • Czas próbkowania: od 3,7 ms dla sygnałów o wyższej częstotliwości do 36 s dla sygnałów o niskiej częstotliwości


    Poczwórny, miniaturowy analizator stanów logicznych

    Układ zasilany jest napięciem 4,8 V z czterech akumulatorów 1,2 V. Przycisk S1 służy do włączania urządzenia. Po wyświetleniu ekranu powitalnego na LCD urządzenie przechodzi w tryb oczekiwania na sygnał cyfrowy. Wejścia procesora AVR zostały podciągnięte czterema 33 kΩ (R2-R5) rezystorami do masy, aby zapobiec przypadkowemu wyzwoleniu rejestracji przez zewnętrzne pole elektromagnetyczne czy przez przypadkowe dotknięcie palcem któregoś z wejść. Zastosowany wyświetlacz z Nokii 3310/5110 pracuje przy zasilaniu 3,3 – 5 V, lecz jego podświetlenie może być zasilane napięciem maks. 3,3 V. Dlatego w urządzeniu znajdują się diody D1-D3, obniżające napięcie z 4,8 V do 4,8-(0,7x3)=2,7 V. Po włączeniu zasilania urządzenia dioda LED1 pozostaje zgaszona. Po wykryciu impulsu na którymkolwiek z wejść dioda LED zapala się i procesor rozpoczyna zbieranie danych do wewnętrznego buforu RAM.

    Poczwórny, miniaturowy analizator stanów logicznych

    Jak pokazano na rysunku, bufor ma pojemność 870 bajtów – 2 przypadają na zapis cyklu licznika i jeden na zapis stanu wejścia. W następnych wersjach oprogramowania pojemność bufora została obniżona do 256x3=768 bajtów, aby zwiększyć szybkość próbkowania.

    Jak to działa? To proste. Po włączeniu zasilania procesor czeka na impuls podany na jedno z 4 wejść. Po wykryciu impulsu procesor odlicza czas, w którym następuje zmiana stanu na danym wejściu. Próbka danych zbierana jest w 16-bitowej zmiennej nazwanej „counter”. Kiedy zmienna zostanie przepełniona, stan wejścia i stan licznika zapisywany jest w buforze i jego adres zwiększany jest o 3 (2 bajty na licznik i jeden na dane wejściowe). Ten proces powtarza się, aż cały bufor jest zapełniony (870/3 = 290 próbek). Kiedy procesor zapełni cały bufor, wyświetla dane na LCD. Wykres można przesuwać w lewo/prawo przy użyciu przycisków. Jeśli badany sygnał nie jest szybki, wykres można pomniejszyć 8, 16, 32, 64, 128, 256, 512, 1024, 4096 i 8192 razy poprzez naciśnięcie odpowiedniego przycisku.

    Na stronie projektu dostępny jest wzór płytki drukowanej i wsad do procesora.
    Źródło

    Fajne? Ranking DIY
    O autorze
    Kubald
    Poziom 15  
    Offline 
    Specjalizuje się w: spektroskopia exafs/xanes, uc, it
    Kubald napisał 188 postów o ocenie 112. Mieszka w mieście Kraków. Jest z nami od 2004 roku.
  • #2 11264694
    Demmo
    Poziom 16  
    Fajny projekt. Zastanawiam się tylko na wejściami - układ zasilany jest z 4 akumulatorków 1.2V (nominalnie), w których zależnie od stanu naładowania mamy różne napięcie z zakresu bodajże 1.4V (max naładowane) do 1V (rozładowane), czyli zasilamy procka w zakresie 4x1.4=5.6V do 4x1=4V.
    Mieści się to oczywiście w zakresie dopuszczalnego napięcia zasilania (Maximum Operating Voltage) wynoszącego 6V dla tego procka, ale... jeżeli "podglądamy" sygnały zewnętrznego urządzenia, które wystawia aptekarsko dokładnie 5V, a my mamy rozładowane akumulatorki z napięciem powiedzmy 4x1.1V=4.4V, to różnica pomiędzy VCC i wejściem procesora wyniesie 0.6V, a tabelka ABSOLUTE MAXIMUM RATINGS podaje nam "Voltage on any Pin except RESET
    with respect to Ground ...... -0.5V to VCC+0.5V".
    W skrócie - można zrobić uC kuku, więc chyba przydałoby się jakiekolwiek formowanie sygnału wejściowego lub chociaż rezystor, żeby sygnał nie szedł bezpośrednio na pin procka.
  • #3 11265024
    piotrva
    VIP Zasłużony dla elektroda
    Pomijając moim zdaniem marną przydatność praktyczną takiego wynalazku (400kHz i 800 próbek to trochę mało do czegoś poważniejszego, zastosowanie raczej takie bardzo hobbystyczne) to nie wiem co autor nawydziwiał z wejściami. Tam powinny moim zdaniem być ograniczniki napięcia z diodami zennera lub choćby jakieś dzielniki napięcia ograniczające prąd, a jeszcze lepiej bufory, które zwiększyłyby zakres pomiarowy.
  • #4 11269377
    gaspaccio
    Poziom 20  
    Sprzętowo projekt to mniej niż minimum. To co napisał kolega piotrva to jedno, a dwa to to, że nie powinno się zostawiać zasilania przetwornika ADC nie podłączonego, nawet jeżeli z niego nie korzystamy. Kolejne to brak rezystora podciągającego na resecie, mimo że pin jest nieużywany. Producent wyraźnie zaleca rezystor podciągający żeby wyeliminować wrażliwość na zakłócenia.
  • #5 11270104
    dondu
    Moderator na urlopie...
    gaspaccio napisał:
    Kolejne to brak rezystora podciągającego na resecie, mimo że pin jest nieużywany. Producent wyraźnie zaleca rezystor podciągający żeby wyeliminować wrażliwość na zakłócenia.

    Ale autor włączył wewnętrzny pull-up:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Co do reszty Twoich uwag są jak najbardziej zasadne: http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html
REKLAMA