Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices

TechEkspert 26 Sep 2021 10:41 2523 12
Fluke Kamera Termowizyjna
  • Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices
    W materiale testujemy zestaw ewaluacyjny EVAL-AD74412R udostępniony przez Analog Devices. Zestaw pozwala na sprawdzenie możliwości uniwersalnego czterokanałowego konfigurowalnego programowo układu AD74412R. Na płytce znajduje się złącze zgodne z Arduino, które wykorzystamy do komunikacji z układem po magistrali SPI. Zbadanie możliwości układu ułatwi interfejs USB<->SPI SDP-S i oprogramowanie, które pozwala na szybki start z konfigurowaniem układu, odczytem i zapisem danych zgodnie z przewodnikiem do zestawu EVAL-AD74412R.


    Gdy zajrzymy do noty katalogowej AD74412R znajdziemy informację, że każdy kanał może pracować niezależnie od pozostałych w jednej wybranej z 6 konfiguracji:
    -wejście napięciowe (standard 0-10V),
    -wejście prądowe (standard 4-20mA),
    -wyjście napięciowe (standard 0-10V),
    -wyjście prądowe (standard 4-20mA),
    -pomiar rezystancji RTD (najczęściej rezystancyjne czujniki temperatury),
    -wejście cyfrowe (konfigurowalne progi i mechanizmy redukcji drgań styków).

    Wbudowane przetworniki ADC i DAC ułatwiają diagnostykę, np. przy konfiguracji kanału jako wyjście prądowe mierzymy napięcie na kanale, co pozwala wykryć zwarcie, przerwę lub zmiany rezystancji w pętli prądowej.
    Zastosowanie uniwersalnego układu I/O upraszcza łańcuch dostaw, gdyż dla każdego kanału sterownika stosujemy ten sam interfejs ze zminimalizowaną ilością zewnętrznych elementów dodatkowych.
    Rozszerzenie ilości uniwersalnych kanałów sterownika możemy zrealizować podłączając lokalnie kasety z interfejsami AD74412R np. na magistrali SPI, lub równie łatwo na większe odległości wykorzystując Ethernet w tym jednoparowy SPE.
    Programowa rekonfiguracja kanałów interfejsu I/O pozwala na zamianę, np. wyjścia sterownika na wejście bez wymiany sprzętu.
    Możemy uprościć portfolio sterowników i innych produkowanych urządzeń oferując urządzenia z określoną ilością uniwersalnych kanałów np. 8/16/32, klient skonfiguruje wybrane kanały jako wejścia lub wyjścia.
    Elastyczne podejście oparte o uniwersalny kanał I/O pozwala na unikanie sytuacji, gdy kupowaliśmy kasetę np. z 8 wejściami analogowymi, a potrzebowaliśmy tylko jednego takiego wejścia.

    Poniżej materiał filmowy i tekstowy z prób przeprowadzonych z zestawem ewaluacyjnym ADI.



    Płytkę ewaluacyjną zasilamy napięciem w zakresie 14-26.4V, interfejs SDP-S wykorzystamy do komunikacji z aplikacją na PC.
    Instalujemy aplikację dostarczającą też sterowniki dla SDP-S.

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Gdyby wystąpiły problemy z uruchomieniem aplikacji, to sprawdzamy, czy na komputerze jest uruchomione inne oprogramowanie korzystające z portu TCP 8000, np. wydając w Windows polecenie: netstat -ab.
    Jeżeli coś nasłuchuje na porcie 8000, można sprawdzać dalej wydając polecenie: netsh http show servicestate
    Jeśli inne oprogramowanie będzie wykorzystywało mechanizm HTTP Server API, to może to spowodować błąd 404 po uruchomieniu aplikacji obsługującej zestaw ewaluacyjny.

    Po poprawnym skomunikowaniu płytki z oprogramowaniem zobaczymy poniższy ekran aplikacji:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Dla każdego kanału określamy tryb pracy: wejście lub RTD lub wyjście:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Oraz ustawiamy szczegóły konfiguracji kanału:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Możemy m.in. wybrać filtrowanie przydźwięku sieciowego 50Hz lub uruchomienie dodatkowego rezystora równolegle do wejścia napięciowego, ew. ograniczenie prądowe wyjścia.

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Pomiary możemy obserwować jako zmiany wartości w czasie:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    W sekcji diagnostyka sprawdzimy napięcia i temperaturę na płytce ewaluacyjnej:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Mamy możliwość zapisu i odczytu wartości rejestrów AD74412R, wbudowany system podpowiedzi znacząco ułatwia przygotowanie kodu sterującego układem:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Następnie możemy przygotować i przetestować sekwencję zapisów i odczytów do rejestrów, a po wykonaniu prób użyjemy jej w docelowym kodzie:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Płytka ewaluacyjna posiada wiele zworek i punktów testowych ułatwiających sprawdzanie możliwości AD74412R, szczegóły opisane są w dokumentacji. Przykładowo JP8 i JP9 pozwalają na wykorzystanie zewnętrznego napięcia odniesienia 2.5 V ADR4525. Na płytce większość układów pochodzi od ADI np. ADP2360 (zasilanie 5V), ADP1720 (stabilizator 3.3V).

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    W nocie katalogowej znajdziecie informacje, jak sprytnie został zbudowany uniwersalny kanał I/O, poniżej kilka schematów prezentujących, w jaki sposób zamykane są obwody napięciowe/prądowe podczas zmiany funkcji wybranego kanału.

    Schemat blokowy AD74412R:


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Peryferia układu:


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Wejście napięciowe:


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Wejście prądowe:


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Wyjście napięciowe:


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Wyjście prądowe:


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Arduino UNO podłączymy na spodniej części płytki ewaluacyjnej.

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Odłączamy interfejs USB<->SPI i uruchomimy rejestrator wartości z kanałów płytki na kartę SD oparty o Arduino UNO komunikujące się po SPI z AD74412R.

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    W zasobach ADI znajdziemy pliki z kodem ułatwiającym na kolejnym etapie komunikację z AD74412R po SPI z podłączonego modułu do złącza zgodnego z Arduino. Dołączamy plik "ad74412_regs.h" z definicjami rejestrów AD74412. Wykorzystamy płytkę Arduino UNO.
    Docelowo spróbujemy wykonać długoterminową rejestrację wartości napięcia sieciowego poprzez podanie napięcia z wyjścia przekładnika na kanał C skonfigurowany jako wejście napięciowe. Na początek odczytamy napięcie z kanału C i wyślemy wartość pomiaru po UART, aby wyświetlić dane w konsoli.

    Code: c
    Log in, to see the code


    Obserwujemy wyniki w konsoli szeregowej:

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Transmisji SPI towarzyszą sumy CRC pozwalające wykryć zakłócenia na magistrali, układ nie wykona przesłanego rozkazu, gdy CRC nie będzie prawidłowe, podobnie możemy zignorować wartość pomiaru z nieprawidłową sumą CRC.

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Zmodyfikujmy kod tak, aby próbkować napięcie na kanałach A, B, C i przesyłamy binarnie wyniki pomiarów po UART, celem ich zapisania na kartę SD. Na kanały A i B w ramach eksperymentu podamy sygnał z elementów piezo, być może uda się zarejestrować poziom drgań w budynku (dla drgań sejsmicznych "blaszka piezo" jest raczej zbyt mało czuła, a otoczenie budynku i np. ruch uliczny generuje silniejsze sygnały niż naturalne drgania sejsmiczne).

    Code: c
    Log in, to see the code


    Odebrane po URAT dane zapiszemy na kartę SD w drugim Arduino. Dane możemy równie dobrze przesłać przez sieć LAN/WAN i zapisać na serwerze, w przykładzie posłużymy się prostszym zestawem testowym z lokalną rejestracją danych.

    Code: c
    Log in, to see the code


    Poniżej efekty 24-godzinnej rejestracji wartości napięcia sieciowego. Napięcie sieciowe jest lokalnie silnie zależne od pracy urządzeń podłączonych do transformatora 15/0.4kV.

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Do 5 nad ranem napięcie ma w miarę stałą wysoką wartość, od 7 ruszamy do pracy, startują ekspresy i czajniki, widać spadek napięcia, czyli zwiększoną moc odbieraną przez urządzenia elektryczne. W okolicach 10 znów spadek - być może niektórzy wstają później i robią śniadanie. Około 17 wracamy z pracy i widać ponowny spadek napięcia. Około 20 napięcie zaczyna się stabilizować, jednak nadal widoczne są zapady wartości napięcia, a także zwiększone wartości napięcia. W okolicach 23 widoczne jest uruchomienie odbiornika większej mocy - być może ktoś korzysta z tańszej taryfy nocnej?

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    W okolicach 12 udało się zarejestrować cykliczną pracę urządzenia większej mocy (regularne załączenia i wyłączenia), być może jakaś grzałka z termostatem w bojlerze?

    Efekty rejestracji drgań mechanicznych są mniej spektakularne. Czujniki były dość przypadkowe, należałoby zastosować wzmacniacze w torze pomiarowym. Tutaj pomyślałem, że byłoby dobrze, gdyby programowalne układy I/O posiadały wewnątrz także programowalne wzmacniacze. Chociaż w przypadku standardów przemysłowych (0-10V, 4-20mA) być może nie byłoby to potrzebne?

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Udało się zaobserwować, że drgania w budynku nasilają się w od około 5, a zaczynają gasnąć w okolicach 19.

    Podoba mi się pomysł na programowalny, uniwersalny wielokanałowy układ I/O. Kanał urządzenia staje się konfigurowalny i uniwersalny, można zarówno uprościć ofertę sterowników, jak również ułatwić wdrożenie oraz adaptację do zmian. Kanały otrzymują dodatkowe funkcje diagnostyczne. Cyfrowa komunikacja z wielokanałowym interfejsem I/O to cecha, która zwróciła moją uwagę. Na niewielkie odległości mogę rozbudować sterownik o kolejne uniwersalne kanały. Nie muszę wybierać konkretnego typu kasety, np. wejść cyfrowych, wejść analogowych, mam do dyspozycji uniwersalne kanały w określonej liczbie. Ważna cecha to łatwe przeniesienie cyfrowej komunikacji do układu I/O na większą odległość, np. z wykorzystaniem Ethernetu. Mogę rozbudować sterownik dodając kasetę lokalnie, np. po interfejsie SPI, jak również wyniesiony na większą odległość moduł software I/O. Pakiety IP mogą być przesyłane medium miedzianym, optycznym, a ostatnio także po jednej parze (SPE - Single Pair Ethernet).

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    Co myślicie o uniwersalnym, wielokanałowym, konfigurowalnym programowo układzie wejść/wyjść AD74412R?
    Gdzie i do jakiego rozwiązania widzicie zastosowania dla takiego układu?


    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices


    [Artykuł sponsorowany]

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    TechEkspert
    Editor
    Offline 
    W moich materiałach znajdziecie testy i prezentacje sprzętu elektronicznego, modułów, sprzętu pomiarowego, eksperymenty. Interesuje mnie elektronika cyfrowa, cyfrowe przetwarzanie sygnałów, transmisje cyfrowe przewodowe i bezprzewodowe, kryptografia, IT a szczególnie LAN/WAN i systemy przechowywania i przetwarzania danych.
    Has specialization in: elektronika, mikrokontrolery, rozwiązania it
    TechEkspert wrote 3466 posts with rating 2759, helped 11 times. Been with us since 2014 year.
  • Fluke Kamera Termowizyjna
  • #2
    aadeer
    Level 13  
    Analog i Linear, którego chyba przejęli ma sporo ciekawych układów, głównie właśnie podobne analog front-endy z SPI/I2C, ale jak wygląda cena i dostępność tych układów?

    Dwa lata temu zdarzyło mi się użyć innego układu, LTC2983 do pewnego projektu rejestratora temperatury, zastosowanie tuningowo-motoryzacyjne. Układ bardzo wygodny, obsługa termistorów, termopar, zwykłych diod jako sensorów, konfigurowane programowo, robiąc z głową PCB nic nie da się tam popsuć. Ale jak trzeba było projekt odświeżyć i zrobić większą liczbę sztuk, to nagle okazało się, że układów brak a jak w końcu udało się je zdobyć, to cena za 1 szt wyszła ponad 100 zł przeliczając na złotówki...
  • #3
    zgierzman
    Level 29  
    aadeer wrote:
    jak wygląda cena i dostępność tych układów?


    Sprawdzałem, bo miałem pomysł, aby zrobić sobie coś w stylu uniwersalnego testera. Do pokazanego zestawu dołożyć wyświetlacz i gotowe.

    Układy są dostępne w Mouserze za ok 60 PLN. Chociaż nie wiadomo jak będzie za rok :-)
    https://pl.mouser.com/Search/Refine?Keyword=AD74412R
    Ale zniechęciła mnie cena płytki ewaluacyjnej - 600 PLN. Do tego interfejs USB za ponad 200 PLN... Ciut za drogo, jak do hobbystycznych zabaw :-)
    W tej cenie od chińczyka można nabyć Mr. Signal
    Niestety, tylko jedno wejście i jedno wyjście. :-(

    Konfigurowalny programowo interfejs I/O AD74412R od Analog Devices
  • Fluke Kamera Termowizyjna
  • #4
    aadeer
    Level 13  
    Ale idziemy chyba w tym samym kierunku w elektronice, co w programowaniu. Sprzęt tańszy niż praca programisty, więc całościowo wszystko może być mniej dopracowane i optymalne, bo hardware uciągnie.

    Tutaj podobnie, jeżeli szybko potrzeba dodać do systemu IO w tym standardzie (np. 0...10 V czy 4...20 mA), to taki układ po prostu dodajemy i oprogramowujemy, będzie to szybsze i tańsze niż projektowanie od zera. Chociaż z drugiej strony zaprojektowanie czegoś takiego na elementach "generycznych" nie jest jakimś wielkim wyzwaniem. Chociaż projektant, który jest w stanie to zrobić będzie odpowiednio kosztować. Pytanie czy robimy 5 szt. czy 50 tys. i co się bardziej opłaca...
  • #5
    TechEkspert
    Editor
    Dzięki za komentarz.
    Co myślicie o programowalnym wzmacniaczu, powinien być dostępny w takim konfigurowalnym programowo I/O czy to zbędne?
  • #6
    zgierzman
    Level 29  
    TechEkspert wrote:
    Co myślicie o programowalnym wzmacniaczu, powinien być dostępny w takim konfigurowalnym programowo I/O czy to zbędne?


    To jest chyba niewłaściwie postawione pytanie... Ponieważ układ ma określone zadania, a mianowicie:

    TechEkspert wrote:
    -wejście napięciowe (standard 0-10V),
    -wejście prądowe (standard 4-20mA),
    -wyjście napięciowe (standard 0-10V),
    -wyjście prądowe (standard 4-20mA),
    -pomiar rezystancji RTD (najczęściej rezystancyjne czujniki temperatury),
    -wejście cyfrowe (konfigurowalne progi i mechanizmy redukcji drgań styków).


    ...to taki programowalny wzmacniacz jest zbędny. Ale jeśli użytkownik chciałby użyć tej kości do innych, nietypowych, zastosowań, jak Ty, to taki ficzer mógłby być przydatny. W mojej opinii nie powinien być dostępny, ale mógłby być. :-)
    I w duchu tego, co napisał wyżej aadeer, prawdopodobnie takie rozwiązania powstaną.
  • #7
    Jogesh
    Level 28  
    Czy są dostępne sterowniki dla Linuxa dla tego układu? Czy ktoś testował go może z Raspberry PI? Układ bardzo mi się podoba, bo ma dowolnie konfigurowalne wejścia/wyjścia. Stworzenie projektu na zwykłych popularnych elementach troszkę czasu zajmuje, a tak, to mamy wszystko w jednym scalaku.
  • #8
    TechEkspert
    Editor
    Rzeczywiście, uwaga o programowalnym wzmacniaczu to był pomysł na nietypowe wykorzystanie interfejsu I/O o określonych właściwościach.

    Co do AD74412R Linuxa i RPi,
    sam układ komunikuje się po SPI więc mając SPI na pokładzie swojej platformy możemy się z tym I/O skomunikować,
    pomocne może być: https://www.analog.com/media/en/evaluation-boards-kits/evaluation-software/ad74412.zip
    https://www.analog.com/en/products/AD74412R.html#product-documentation

    Natomiast patrząc na całą płytkę ewaluacyjną to do interfejsu SDP-S:
    https://www.analog.com/en/design-center/evalu...evaluation-boards-kits/sdp-s.html#eb-overview
    Wymagania są takie:
    -Windows XP SP2, Windows Vista™ 32 bit and 64 bit, Windows 7 Business/Enterprise/Ultimate 32 bit and 64 bit, or Windows 10 32 bit and 64 bit editions
    -Intel Pentium® processor (x86 compatible), 1 GHz or faster
    -512 MB RAM and 2 GB available hard disk space
    -NET 3.5 Framework

    Podobnie aplikacja:
    https://www.analog.com/en/design-center/evalu...are/evaluation-boards-kits/EVAL-AD74412R.html
    https://www.analog.com/media/en/evaluation-bo...software/AD74412R_v1.1.0_withoutRC-Signed.zip
    działa pod Windows...
  • #9
    AyhanYavuz7
    Level 4  
    dzięki za informację
  • #10
    tmf
    Moderator of Microcontroller designs
    Układ bardzo fajny i nawet dla hobbystów miałby wiele interesujących zastosowań. Szkoda, że ma wyjścia tylko do 20mA (wiadomo dlaczego), mnie by się przydał scalak z programowalnym prądem wyjścia. Wiem, że można to prosto zrobić na układach dyskretnych, ale to jednak zawsze pochłania cenne miejsce na PCB i wymaga implementacji programowej. Natomiast cena 60 zł jest trochę odjechana.
  • #11
    TechEkspert
    Editor
    Słusznie, w amatorskiej konstrukcji to może być 150% budżetu,
    jednak patrzę na to szerzej, jako pomysł układowy oraz jako doświadczenie, które może przydać się w przyszłości w pracy zawodowej.
    Ogólnie poszerzenie horyzontów i bodziec do dyskusji to moim zdaniem część wspólna materiałów z ADI (np. poprzedni "połączony" zasilacz: https://www.elektroda.pl/rtvforum/topic3809787.html ).

    Mamy szansę na kontynuację materiałów z Analog Devices https://www.elektroda.pl/rtvforum/topic3832511.html zobaczymy co uda się osiągnąć.
  • #12
    tmf
    Moderator of Microcontroller designs
    AD ma wiele świetnych układów. Jakby były jeszcze jakieś kupony na dev boardy dla amatorów to byłoby super. Oczywiscie widomo, że nie amatorzy są targetem dla tych układów. Ale z przyjemnością się niemi bawię jak tylko mam okazję.