Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[AtMega] - Pseudooscyloskop 4 kanały + USB

nicra 18 Aug 2014 10:45 894 1
  • #1
    nicra
    Level 2  
    Od paru dni szukam najlepszego rozwiązanie dla mojego problemu, otóż jak najtańszym kosztem chciałbym wykonać pseudooscyloskop. Parametry jakich oczekuje są raczej bardzo niskie, stąd mam nadzieje na realizacje.

    - 4 kanały którymi mierzyć chciałbym przebiegi o f~=20Hz, stąd próbkowanie zakładam 500Hz byłoby wystarczające.
    - Głównie pomiar DC +-3V
    - rozdzielczość stawiam że 12 bitów będzie wystarczające
    - Komunikacja z komputerem do przesyłania danych (konieczna). Póki co myśle nad USB ale inne rozwiązania też by były ok.
    - Budżet w idealnej wersji 50zł (mam pare AtMeg32 i AtMeg88 więc dobrze by było ich użyć)



    Moim problemem głównie jest sformułowanie ogólnej idei, chociażby prostego schematu blokowego jak to poskładać by AtMega dała radę obsłużyć wszystko.

    Próbowałem użyć karty dźwiękowej, jednakże dotychczas napotkałem na problem ze składową stałą - karta dźwiękowa usuwa składową stałą co powoduje wypaczenie niskich częstotliwości. Wiem możliwości modyfikacji, jednak nie ma ona zastosowania do mojej karty. Także w razie użycia tego rozwiązania musiałbym zakupić dwie karty (aby uzyskać 4 kanały) co nie bardzo mi pasuje.

    Myślałem też nad użyciem gotowego sprzętu, aczkolwiek nic odpowiadającego mi nie znalazłem, jednakże jakby ktoś miał pomysł jak to zrealizować byłbym wdzięczny.
  • #2
    tmf
    Moderator of Microcontroller designs
    BlueDraco wrote:
    STM32F072BDISCOVERY...


    Nie wiedziałem, że zawiera on ATMegę88 lub ATMegę32. Zawsze się człowiek czegoś uczy... :)

    Wracając do tematu, odpalaj ADC z timera, co zapewni ci wyzwalanie w ściśle określonych odstępach czasowych. Przy tak niskiej częstotliwości próbkowania każdy AVR wystarczy. Tylko ATMegi mają ADC 10-bitowe. Za cenę ATMegi32, gdzie USB trzeba by robić programowo, można kupić XMEGA128A4U, która ma sprzętowy interfejs USB i 12-bitowe ADC. Generalnie idea takich zastosowań zawarta jest w przykładach (darmowych) do mojej książki "AVR. Praktyczne projekty" - masz tam projekt analizatora stanów logicznych, ale zamiana go na oscyloskop to kwestia dodania inicjalizacji ADC. Podobnie przeróbka na ATMega nie powinna być problemem - trzeba tylko wyrzucić DMA, którego ATMega nie ma.
    Można też się wzorować na projekcie kolegi Drzasiek - jeden z jego pierwszych prezentowanych tu oscyloskopów oparty był o ATMega. Można też za niecałe 40zł kupić płytkę Xplained Mini, która ma interfejs RS232->USB, dzięki czemu procek może przy pomocy ADC samplować sygnał, wysyłać dane po USART, a PC odbierze je przez wirtualny port szeregowy realizowany przez USB.