Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

jak wprowadzić 16 sygnałów analogowych do komputera

18 Lis 2005 07:21 5897 18
  • Poziom 14  
    witam mam za zadanie zczytywac co kilkanaście sekund sygnał analogowy (rezystancje) z 16 fotorezystorów i zapisywać te wartości np. do excel`a czy znacie jakis sposów na wykonanie takiego układu
    dzięki za każdą pomoc
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 19  
    Witam
    Metod na rozwiązanie tego zagadnienia, jak to zwykle bywa, jest tyle co ludzi.
    Mnie nasunęły się następujące:
    1. fotorezystory połączone w dzielniki napięcia +5V przy cyzm wyjście każdego takiego dzielnika podłączone jest do multipleksera analogowego sterowanego przez LPT, wyjście multipleksera podłaczone jest do wejścia analogowego dżojstika (położenie X lub Y dźwigni) w karcie dźwiękowej, do tego oczywiście program obsługujący - sterowanie multiplekserem i "pomiar" napięcia z dzielników poprzez kartę dźwiękową

    2. fotorezystory podłaczone do przetwornika A/C z wbudowanym lub zewnętrznym multiplekserem (np. tani 8 bitowy A/C typu ADC0804), odczyt danych z przetwornika poprzez:
    LPT - bezpośrednio
    RS232 - wymagany mikrokontroler (trzeba napisać kolejny program) który odczytywałby rezystancje fotorezystorów i "tworzył" transmisję RS232

    Kwestia bezpośredniego zapisu do Excela jest do rożwiązania poprzez kanał DDE lub bibliotekę DLL wywoływaną poprzez zdarzenie w Excelu np. zdarzenie OnTime w Excelu pozwala na wywoływanie makroprogramu co określony odstęp czasowy (rozdzielczość 1s). Jeśli tym makro będzie procedurka odczytująca poprzez DLL wartości rezystancji i przesuwająca kursor o jedną komórkę w dół to otrzymamy prosty rejestrator. Wpisywanie danych bezpośrednio do Excela umożliwi np. generowanie "żywego" wykresu. Trzeba jednak odpowiednio napisać programik lub DLL który odczytywał by fotorezystory.

    Prostota układowa rozwiązania 1 wiąże się z koniecznością napisania skomplikowanego programu na PC. W przypadku rozwiązania 2 mamy sytuację odwrotną skomplikowany układ i w miarę prosty program.

    Pozdrawiam
    Marek
  • Poziom 39  
    tak jak napisał kolega
    Cytat:
    Metod na rozwiązanie tego zagadnienia, jak to zwykle bywa, jest tyle co ludzi.

    proponuje przetwornik rezystancja / częstotliwość np na 555 , multiplekser , uC i transnisja do komputera przez RS232 , lub podobnie jak kolega multiplekser sterowany przez LPT , sygnał na kartę dzwiękowa
  • Poziom 13  
    skoro nie napiszesz programu to jak chcesz zczytywac dane z tych przetwornikow?
  • Poziom 39  
    Cytat:
    niestety programu sam nie napisze
    ale mysle że zakupie karte z przetwornikami do komputera

    kolega kokobaroko ma racje jeżeli nie potrafisz napisać programu to masz problem , gotowa karta nie wiele zmieni i zdaj sobie sprawę że nie będzie to tania sprawa może będzie do niej dołączone jakieś demo ale i tak będzie to wymagać odpowiednich poprawek dostosowujących do własnych potrzeb . Poszukaj na stronach www.astor.com.pl i www.automatyka.pl
  • Poziom 10  
    Jesli chodzi o latwosc w pisaniu programu to mozesz sprobowac LabView, aczkolwiek karta wejsc analogowych National Instruments (NI) moze byc droga.
  • Poziom 36  
    Korzystałem z kart Advantechu (dostępne w www.elmark.com.pl, ale ostatnio coś mi się wydają zbyt drogie, a z kolei sprzęt NI chyba trochę staniał.

    Z LabView jest problem, bo kosztuje toto parę tysięcy zł, więc drożej od karty i trzeba kupować do każdej instalacji (licencja dotyczy jednego komputera), więc chyba lepiej jednak wykorzystać jakieś dołączane do karty biblioteki DLL i samemu napisać prosty programik akwizycji. Chyba, że się ma bogatego klienta-sponsora.
  • Poziom 17  
    Przepraszam, że trochę nie na temat, ale marek_Łódź poruszył ciekawy dla mnie temat. Korzystam z modułów ADAM 4017B+ i mam problem z zachowaniem dokładności odczytu dla przetwornika o wyjściu 0-10V (w zasadzie chodzi o skalowanie, gdy wartoś min. jest większ niż wartość max. - np. rejestracja pomiaru podciśnienia).
    Czy mógłbyś coś podpowiedzieć ?
    Z góry dziękuję.
  • Poziom 36  
    KAPAS napisał:
    w zasadzie chodzi o skalowanie, gdy wartoś min. jest większ niż wartość max. - np. rejestracja pomiaru podciśnienia

    Znak nie ma tu nic do rzeczy. W przypadku czujnika liniowego wystarcza kalibracja dwupunktowa.

    • Wynik pomiaru przedstawiamy jako:

      p=U*gain+ofset gdzie
      U - napięcie z czujnika (albo prąd ;-) )
      p - mierzona wielkość

      mamy w dwóch punktach (np na krańcach przedziału):

      p1=U1*gain+ofset, p2=U2*gain+ofset

      stąd:

      gain=(p2-p1)/(U2-u1)
      ofset=p2-U2*gain lub ofset=p1-U1*gain

      przykładowo dla czujnika podciśnienia 0..-1bar z wyjściem prądowym 4-20mA

      p1=0, p2=-1, I1=4mA, I2=20mA

      gain=(-1-0)/(20-4)= -1/16 bar/mA
      ofset=-1-20*(-1/16)=4/16 bar

      Powyższe wzory można zastosować w procedurze autokalibracji - odczytujemy 2 dowolne punkty, podajemy rzeczywiste wartości mierzonego parametru i program kalibruje czujnki.

      Dodatkowo w przypadku zakłóconych sygnałów można zastosować najprostszą filtrację filtrem inercyjnym

      Wfil=(Wfil*kfil+W)/(kfil+1)

      gdzie
      Wfil - wielkość odfiltrowana
      kfil - inercja
      W - odczyt bieżący


    Tak ustawiony filtr działa podobnie do pojemności wrzuconej w tor pomiarowy. Przy liczeniu na mikroprocesorze w stałym przecinku opłaca się stosować filtry o inercji 2^n, bo łatwiej się mnoży i dzieli
  • Poziom 10  
    Możesz zrobić także samodzielnie kartę pomiarową na ISA. Komputer "widzi" ją tak samo jak np. port LPT.
    Najprostsza karta mogłaby sie składać tylko z 2 uP(chyba ze sa jakieś z 16 kanałowym A/C to wtedy nawet jeden :D). Próba odczytania z odpowiedniego adresu spowodowałaby wystawienie przez odpowiedni uP wartość odpowiedniego zmierzonego napięcia.
    Program na PC-ta polegałby tylko na 16 odczytach z odpowiednich adresów.
  • Poziom 36  
    kachu23 napisał:
    witam a czy byłaby możliwość użycia programu HyperTerminal który jest zamieszczony w Windzie
    jeśli tak to czy potrzebny jest jakiś konkretny układ
    pozdrawiam marcin
    Transmisja danych przez RS jest stosunkowo prosta. Niestety po stronie pomiarowej konieczne jest zbudowanie i oprogramowanie niewielkiego układziku (np ATMega8+multiplexer analogowy+MAX232). Program można stosunkowo szybko napisać w bascomie. Hyperterminal to absolutne minimum przy pomocy którego można zebrać i zapisać na dysku spływające dane. Oczywiście lepszym rozwiązaniem jest kawałek dedykowanego programu.

    Druga wersja to wykorzystanie gotowego modułu pomiarowego na RS, ale nie wiem czy takowe można kupić (może jakiś ADAM na RS232 lub ew. konwerter 485/232 - ale mogą być problemy ze spasowaniem protokołów transmisji z hypertermminala).

    Cytat:
    ISA
    Zdobycie (nowego) komputera ze złączami ISA może być coraz trudniejsze.
  • Poziom 13  
    po co tak kombinujecie z rsami i isa skoro podalem juz rozwiazanie - zbudowac 2 moduly z planow podanych na tacy (zero wlasnego kodu) + napisac program zczytujacy dane joystickow ("kontrolerow gier" jak kto woli)
    zero wysilania sie jesli chodzi o elektronike, jedynie trzeba skalibrowac czujniki pod interfejs i jazda
  • Poziom 36  
    kokobaroko napisał:
    po co tak kombinujecie z rsami i isa skoro podalem juz rozwiazanie - zbudowac 2 moduly z planow podanych na tacy (zero wlasnego kodu) + napisac program zczytujacy dane joystickow ("kontrolerow gier" jak kto woli)
    zero wysilania sie jesli chodzi o elektronike, jedynie trzeba skalibrowac czujniki pod interfejs i jazda


    A po co budować interfejs dżojstika, skoro takowy już istnieje. Potrzebny jest tylko multiplexer analogowy. Natomiast karty pomiarowe można podpiąć do excela bezpośrednio przez LabView co pozwoli uniknąć programowania konfigurując je jedynie przy pomocy języka schematów (co oczywiście też wymaga pewnej wiedzy). ADVANTECH też daje do swoich kart taki pakiet.
  • Poziom 1  
    Najprościej? www.metronic.pl i rejestrator 16-kanałowy MPI-G-16, do tego konwerter RS485 na USB i oprogramowanie MPI-G Raport i już ściągasz sobie po RS485 dane do pliku tekstowego, który potem otwierasz exelem i gotowe. Całość poniżej 4 tys. zł...