Skocz do zawartości

Jak w ARDUINO zrobić prawdziwe WYJŚCIE ANALOGOWE ?


Pomocna odpowiedź

To zależy które Arduino (wiele płytek ma wyjście DAC), co masz dokładnie na myśli pisząc "prawdziwe" (czyli które cechy PWM-a ci przeszkadzają) i do czego to ma służyć. No i oczywiście Arduino są albo 3.3V albo na 5V, więc żeby dostać 10V to i tak musisz jeszcze pokombinować. Wszystko generalnie się da, ale nie poradzimy tobie nic konkretnego nie znając więcej szczegółów.

Napisz co próbujesz zrobić.

Ja jeszcze tylko dodam, że korzystając z wyjść PWM musisz je odfiltrować by dostać sygnał analogowy. Im większej żądasz precyzji tym "wolniejszy" musisz mieć filtr. Oznacza to także, że zawsze na takim "prawdziwym" wyjściu analogowym dostaniesz pozostałości częstotliwości podstawowej PWMa. No i teraz, w zależności od tego ile chcesz mieć bitów precyzji, PWM będzie wolniejszy lub szybszy bo tak działają timery. Np. dla 16MHz Arduino dostaniesz 62.5kHz przy 8 bitach i tylko 244Hz przy 16 bitach. Nie dość, że dostajesz zatem coraz mniejszą częstotliwość podstawową to jeszcze filtr musi być od niej coraz bardziej odległy (bo przecież chcesz mieć coraz więcej bitów). Jak widzisz, wiele zależy od pasma sygnału który chcesz uzyskać. Zwykle tej amplitudy sygnały wykorzystywane są w przemyśle i wiele czujników ma takie wyjścia a sterowników PLC - wejścia. I zwykle nie są to szybkie sygnały. Musisz jednak określić ich przeznaczenie lub podać charakter informacji którą będą niosły - to pokaże, czy podejście PWMowe ma sens.

Kolejny stopień do wzmacniacz zamieniający zakres 0-3.3 lub 0-5V na potrzebne 0-10V. To trywialne, ale jak wspomniał deshipu będziesz musiał go zasilać np. z 12V. Jeżeli i tak doprowadzasz takie napięcie np. do zasilania Arduino, to problem rozwiązany.

Oczywiście nic nie stoi na przeszkodzie, by do Arduino podłączyć zewnętrzny DAC przez jeden z interfejsów szeregowych i uzyskać jedno lub wiele "prawdziwych" wyjść analogowych. Co prawda istnieją DACe zasilane od razu z wysokich napięć i mające wyjścia w standardzie 0-10V, ale dużo taniej będzie użyć zwykłych, 3 lub 5V i taniego wzmacniacza. Wtedy pasmo sygnału jest ograniczone wyborem DACa, wzmacniacza i możliwościami produkowania i wypychania nowych próbek z Arduino.

Możesz również dołożyć układ przetwornika cyfrowo-analogowego z komunikacją dostępną w Arduino np. I2C. Jeśli 8-bitowe jest wystarczające to PCF8591 - przetwornik A/C i C/A 8-bitowy I2C v2 albo MCP3424 - przetwornik ADC 18-bitowy 4-kanałowy I2C. Oczywiściie musisz nauczyć się obsługiwać I2C.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...