Skocz do zawartości

Czy są przetworniki D/A z wejściem szeregowym np I2C???


davidpi

Pomocna odpowiedź

Witam.

Potrzebuje zrobić miernik prędkości obrotowej 0 - 2000obr/min z wyjściem analogowym. Przy 0 obr/min na wyjściu ma być 0V, a przy 2000obr/min ma być np. 5V proporcjonalnie.

Posiadam enkoder magnetyczny, który podaje impulsy. Mikro kontroler będzie je zliczał w jednostce czasu i wysyłał na 8-bit przetwornik D/A. Problem polega na tym, że muszę zrobić 4 lub 6 niezależnych kanałów pomiarowych. Równoległe wysyłanie 8 bitów do każdego przetwornika więc odpada z racji braku tylu wyjść z mikro kontrolera (AT Mega 8).

Stąd moje pytanie: czy istnieją przetworniki, które mają wejścia szeregowe, tak żeby na jeden przetwornik wykorzystać tylko 1 wyjście z mikro kontrolera?? Jeżeli tak to proszę o nazwy konkretnych modeli i gdzie można to kupić.

Chyba, że ktoś z Was ma inny pomysł na rozwiązanie takie miernika, to jestem otwarty na propozycje.

Pozdrawiam

Link do komentarza
Share on other sites

Potrzebuje zrobić miernik prędkości obrotowej 0 - 2000obr/min z wyjściem analogowym. Przy 0 obr/min na wyjściu ma być 0V, a przy 2000obr/min ma być np. 5V proporcjonalnie.

Szczerze to nie bardzo tu widzę zastosowanie w robotyce. Jeśli napiszesz do czego to ma służyć to pewnie temat poleci do kosza.

Z drugiej strony 4-6 kanałów pomiarowych i tylko mega8? Nie chce mi się zaglądać do dokumentacji, ale coś mi się wydaje, że nie ma ona aż tylu wejść zliczających aby dała radę 6 kanałom, ba nawet nie wiem czy da radę 3. Z tego co pamiętam to AVRy (co innego xmegi) mają po 1 wejściu liczącym na Timer.

Link do komentarza
Share on other sites

Oczywiście że są takie przetworniki D/A, tylko krytycznym parametrem przy dużej ilości kanałów może się okazać szybkość przesyłania danych. zakładając że ATMega może próbkować max 15Kbps, to przetwornik musiał by pracować z 30KHz*8bit czyli transfer do takiego musiałby wynosić 240Kb/sek.

Link do komentarza
Share on other sites

Szczerze to nie bardzo tu widzę zastosowanie w robotyce. Jeśli napiszesz do czego to ma służyć to pewnie temat poleci do kosza.

Jeżeli chodzi o zastosowanie to sam nie wiem do czego to ma być. Wykładowca poprosił mnie o zrobienie czegoś takiego bo mu potrzebne do pracowni. W styczniu pogadam z nim jeszcze raz to zapytam gdzie to będzie stosował. Założyłem temat tutaj bo często czytam forum i jest tu wielu fachowców, którzy mogli by pomóc.

Z drugiej strony 4-6 kanałów pomiarowych i tylko mega8? Nie chce mi się zaglądać do dokumentacji, ale coś mi się wydaje, że nie ma ona aż tylu wejść zliczających aby dała radę 6 kanałom, ba nawet nie wiem czy da radę 3. Z tego co pamiętam to AVRy (co innego xmegi) mają po 1 wejściu liczącym na Timer.

Jeżeli będzie trzeba to zastosuje dwie atmegi.

Ważne żeby przetworniki miały wejścia szeregowe.

Czy zna ktoś z Was modele takich przetworników??

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Równoległe wysyłanie 8 bitów do każdego przetwornika więc odpada z racji braku tylu wyjść z mikro kontrolera (AT Mega 8).

Chyba, że ktoś z Was ma inny pomysł na rozwiązanie takie miernika, to jestem otwarty na propozycje.

Raczej każdy układ z równoległym wejściem ma linię CS (Chip select). Wystarczy pociągnąć 8 linii danych razem do każdego układu i oddzielnie linie CS, co daje razem 14pinów przy 6 układach (prawdopodobnie będziesz jeszcze potrzebował linię "zatrzaskującą" wyniki - max 20 pinów razem.

Są też rozwiązania na SPI i/lub I2C jak MCP4725

PS. Chyba nie ma sensu zbyt rygorystycznie podchodzić do tematyki forum, bo post jak najbardziej przydatny w robotyce...

Link do komentarza
Share on other sites

Podstawowe pytanie: "co" będzie korzystało z napięć które masz zrobić i po co w ogóle tam mikrokontroler? Przecież zamianę częstotliwości na sygnał analogowy (np. napięcie) robi się w sposób trywialny za pomocą filtra dolnoprzepustowego "uśredniającego" ustandaryzowane impulsy wejściowe. Takich 8 kanałów będzie równlegle przetwarzało 8 sygnałów wejściowych bez żadnego programowania a dokładność 8-bitowa a więc w okolicach 0.5% jest do osiągnięcia bez żadnego problemu. Jeżeli Twój wykładowca będzie to zapodawał na kolejny przetwornik (np. kartę A/D w PC) to zabawa w mikrokontroler nie ma sensu.

Jeżeli jednak wyniki mają być gdzieś przesyłane (w postaci cyfrowej) lub gromadzone, no to procesor się przyda. Możesz albo zliczać impulsy cyfrowo i wtedy potrzebujesz albo jedno wejście InputCapture na każdy kanał (czyli 8 prostych procesorów mega8 lub 1 bardziej wypasiony typu Xmega lub coś pośredniego) - to jest podejście purystyczne albo zliczać czasy bardziej "programowo" wykorzystując wejścia przerywające, których w nowych odmianach ATmeg jest od metra.

Możesz też po prostu mierzyć napięcia z wyjść 8 filtrów przetwornikiem A/D wbudowanym w procesor.

Przetworniki D/A wielokanałowe oczywiście istnieją i to w wielkim wyborze. Sam stosowałem 2, 4 i 8 kanałowe a w granicach 8 bitów to nawet wcale nie są drogie. Standartem jest interfejs szeregowy i przy tym zastosowaniu nie będzie żadnych ograniczeń na szybkość transmisji. Procesor może nadawać po SPI z szybkością swojego zegara/4 a przetworniki zwykle łykają co najmniej kilka MHz więc się dopasujesz. Jeżeli wybierzesz 8-kanałowy, np. MAX5258 (z TME) to masz problem z głowy ale gdy zdecydujesz się na 2 sztuki 4-kanałowe albo 8x2 kanały to sprawdź, czy mają też szeregowe wyjścia danych. Wtedy możesz je połączyć "w łańcuszek" i za pomocą jednego sygnału wyboru (ChipSelect) wypchnąć od razu całą paczkę danych do wszystkich na kanałów. To dość wygodne, choć kilka sygnałów CS też nie jest wielką komplikacją. Niektóre przetworniki potrzebują do pracy jakiejś referencji (Vref) a inne jako napięcie odniesienia traktują swoje zasilanie. Wtedy dobrze jest zwrócić uwagę na jego jakość (stabilność temperaturową, zakłócenia itp). Są też takie z wyjściem prądowym - przyjrzyj się temu, żeby nie było jakiejś skuchy.

Link do komentarza
Share on other sites

Wspomnę tylko o jeszcze dwóch prostych rozwiązaniach:

- PWM + filtr RC, wadą jest niska dynamika, gdyż aby móc skorzystać z dużej dokładności, filtr musi być ustawiony na częstotliwość odcięcia minimum 10x mniejszą (albo nawet lepiej 100x, to i tak będzie tylko 40dB tłumienia, czyli jakieś 7b rzeczywistej rozdzielczości) lub lepszy filtr

- rejestr szeregowo-równoległy np. 74125 i drabinka R2R + filtr. Bardzo duża częstotliwość odświeżania (nawet MHz), ale z racji dokładności rezystorów, ciężko przekroczyć dokładność 10 bitów (przy 0.1%) lub nawet 8b (przy 1%), ale i tak jest lepiej niż w przypadku PWM. Rozwiazanie tanie - rejestr + rezystory to koszt <2zł.

Link do komentarza
Share on other sites

Metoda PWM to właśnie wspomniane przeze mnie uśrednianie za pomocą filtra. Przy tym zakresie częstotliwości to chyba rzeczywiście się nie sprawdzi. Gdybyśmy chcieli zrobić pomiar 8-bitowy od np. 2 obr/s to aby uzyskać filtr tłumiący pierwszą harmoniczną (czyli 2Hz) o 50dB musiałby to być ostro tnący np. aktywny Czebyszew 2 rzędu (12dB/oktawę) na jakieś 0.1Hz czyli kondensatory po parę uF i wzmacniacz z małymi prądami polaryzacji ale.. dałoby się. Oczywiście przy wyższych obrotach byłoby tylko lepiej 🙂 Podniesienie dolnej granicy pomiaru albo odpuszczenie dokładności 8 bitów na dolnym krańcu zakresu znacznie by ułatwiło konstrukcję filtra.

Pomysł z rejestrem przesuwającym jest OK. Rzeczywiście przy 8 bitach drabinka R-2R na wyjściach 74165 (będą szpilki podczas przesuwania) lub 74595 (nie będzie) może się sprawdzić.

"Dzięki, czegoś takie właśnie szukałem" - to znaczy właściwie czego? Która odpowiedź Cię zadowala bo ja nie widzę tu jednej metody istotnie lepszej od innych. Przynajmniej napisz co wybrałeś.

Zaraz, a może ten enkoder daje więcej niż 1 impuls/obrót (pewnie tak) ? To by upraszczało sprawę 🙂

Edit: Dopisałem ostatnie pytanie.

Link do komentarza
Share on other sites

Oba rozwiązania opisane przez OldSkull/Marek1707 przy jednostkowej produkcji będą:

a) Droższe (zamiast części za 30zł i konstrukcji prostej jak cep kombinujesz filtry i pierdoły)

b) Gorsze - problemy z poprawnym uruchomieniem, dokładnością i nawet nie wspomnę o ilości godzin i ew. ponownym robieniu płytki jak coś nie będzie chodzić.

O ile coś nie jest robione w tysiącach sztuk to zawsze lepiej wykorzystać zintegrowane części - nawet jak są względnie drogie. Fajnie jest zrobić sygnał analogowy na PWM+filtrze, ale o ile naszym celem jest uzyskanie wyników w krótkim czasie to rzucamy sobie kłody pod nogi takimi kombinacjami.

Link do komentarza
Share on other sites

Mirek, patrząc na konkrety to na razie zaproponowałeś jeden przetwornik jednokanałowy (ze sklepu, który jak rozumiem reprezentujesz) z nietrywialną obsługą przez I2C i jednym adresem. Takie cosie można wstawić tylko dwa na jedną szynę więc do tego zastosowania odpada. Jakieś inne konstruktywne propozycje?

Zostały już wspomniane przetworniki DAC wielokanałowe i kilka metod zarówno pomiaru częstotliwości jak i "oddawania" napięcia wyjściowego. Ostatnio dywagowaliśmy na temat przetwarzania bezpośredniego (no, plus rejestr przesuwający) ale to chyba nic złego. Może niech wypowie się autor wątku. Oczywiście, gdybym znał gotowy układ mający 6 impulsowych wejść pomiarowych i tyleż samo wyjść napięciowych i oddający sygnał wprost proporcjonalny do częstotliwości z pewnością bym go polecił. A skoro takiego sobie nie przypominam, to możliwości realizacji jest wiele. Skąd wiesz jak davidpi radzi sobie z programowaniem? Nie czuję tu jego wielkiego doświadczenia w takich konstrukcjach bo inaczej nie zakładałby tego wątku. Czasem wolę zrobić coś "na piechotę" i wiedzieć, że będzie to działało od razu po zmontowaniu niż zaprzęgać mikrokontroler czy inną większą kobyłę np. DSP. Pisanie programu to też czas i to wcale niemały a w tym konkretnym przypadku idę o zakład, że przekroczy czas potrzebny na policzenie jednego przerzutnika monostabilnego plus filtra LP - stawiam na 15 minut w stosunku do dwóch dni. A trzeba przyznać obiektywnie, że układy o których tu piszemy to podstawy elektroniki, kilka trywialnych bloczków połączonych w prościutki tor przetwarzania. Takie coś działa zanim jeszcze opuści ekran komputerowego symulatora i w tym sensie rzeczywiście są to "filtry i pierdoły". Myśl o powtórnym robieniu płytki do czegoś takiego jest dla mnie niedorzeczna bo niby co miałoby tu nie działać?

Tak jak napisałem nie widzę istotnej przewagi żadnego z wymienionych tu rozwiązań, więc może spokojnie poczekajmy na odpowiedź autora.

Właśnie przy jednostkowej produkcji masz szansę czegoś się nauczyć, przemyśleć i wybrać wcale nienajtańsze rozwiązanie z wielu, które wymyślisz po drodze. Wiedząc, że projektujesz masówkę od razu skreślasz nierokujące ścieżki i skupiasz się na oszczędnościach każdego centa. Wtedy to już nie elektronika tylko buchalteria 🙂

Link do komentarza
Share on other sites

Potrzebuje zrobić miernik prędkości obrotowej 0 - 2000obr/min z wyjściem analogowym. Przy 0 obr/min na wyjściu ma być 0V, a przy 2000obr/min ma być np. 5V proporcjonalnie.

....

Ważne żeby przetworniki miały wejścia szeregowe.

Czy zna ktoś z Was modele takich przetworników??

Nie napisałeś podstawowej informacji, z jaką częstotliwością ma być robiony pomiar prędkości?

Dalsze dywagacje nie mają sensu bez tak podstawowego parametru.

Poza tym, pytasz nas o szczegóły, a sam nie wiesz co będziesz robił? To czego od nas oczekujesz - umiejętności wróżbiarskich?

Jeżeli chodzi o zastosowanie to sam nie wiem do czego to ma być.

Chcesz wciskać 2 mikrokontrolery, tam gdzie jeden sobie poradzi?

Konkrety kolego ... konkrety, bo już kompletujesz opony i tapicerkę, a okaże się, że masz czołg zrobić.

Dowiedz się i dopiero wróć z pytaniami ...

Link do komentarza
Share on other sites

MirekCz, z drugiej strony jeśli to ma być projekt na uczelnię, to edukacyjnie warto się czasem pobawić R2R (i SPI). Warto się również pobawić czymś na I2C, bo bywa kłopotliwe. Ba! W celach edukacyjnych może być nawet i komunikacja po UART/I2C/SPI z drugim procesorem, którego wyjścia działałyby jako R2R. Wszystko zależy od ograniczeń czasowych, kosztowych i oczekiwanym stopniu rozbudowania.

Link do komentarza
Share on other sites

Widzę duże zainteresowanie tematem i to mnie cieszy. Dziękuje oczywiście za pomoc.

Poza tym, pytasz nas o szczegóły, a sam nie wiesz co będziesz robił? To czego od nas oczekujesz - umiejętności wróżbiarskich?

Zapytałem czy istnieją przetworniki D/A z wejściem szeregowym. A jeżeli ktoś posiada umiejętności wróżbiarskie to powinien się cieszyć, bo czasem mogą się pewnie przydać 🙂

Nie jestem dobrym elektronikiem. W programowaniu radzę sobie trochę lepiej.

Urządzenie ma spełniać swoje funkcje i po części ma mnie również czegoś nauczyć.

Na tym etapie przychylę się do rozwiązania ze scalonym przetwornikiem i mikro kontrolerem. Mam na to czas do końca stycznia, więc postaram się również zrealizować drugą wersję, czyli bez mikro kontrolera, dla celów edukacyjnych. Dam oczywiście znać co z tego wyszło.

Dziękuje wszystkim za pomoc.

Link do komentarza
Share on other sites

Zapytałem czy istnieją przetworniki D/A z wejściem szeregowym. A jeżeli ktoś posiada umiejętności wróżbiarskie to powinien się cieszyć, bo czasem mogą się pewnie przydać 🙂

Ale napisałeś także:

Chyba, że ktoś z Was ma inny pomysł na rozwiązanie takie miernika, to jestem otwarty na propozycje.

-----------------

Na tym etapie przychylę się do rozwiązania ze scalonym przetwornikiem i mikro kontrolerem.... Wykładowca poprosił mnie o zrobienie czegoś takiego bo mu potrzebne do pracowni. W styczniu pogadam z nim jeszcze raz to zapytam gdzie to będzie stosował

Czyli zabierasz się za projekt nie znając parametrów jakie powinien mieć, czyli Ty wróżysz, co właściwie wykładowca chce ... tą metodą daleko nie zajdziesz, albo zbudujesz urządzenie nadmiernie wyposażone, a okaże się, że żadne zewnętrzne układy nie są potrzebne. Twój wybór 🙂 - powodzenia!

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.