logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Projekt: Wielokanałowy przetwornik A/C 12-bit z mikroprocesorem 8051

marcin_op 04 Gru 2006 15:54 9945 66
Najlepsze odpowiedzi

Jak zaprojektować dla 8051 teoretyczny układ z 4‑kanałowym, 12‑bitowym przetwornikiem A/C i zewnętrzną pamięcią RAM/ROM, tak aby zapis danych trwał co najmniej 20 s?

Najprościej zrób to na jednym 4‑kanałowym, 12‑bitowym przetworniku z równoległym odczytem, np. AD7862; zamiast czterech osobnych układów można też przyjąć, że chodzi o 4 kanały [#3326514][#3323911][#3326223] Dla AD7862 potrzeba 12 linii danych oraz sygnałów CS, RD, A0 i BUSY, a sam przetwornik można wpiąć w przestrzeń adresową RAM albo sterować go z wolnego portu przez /CS [#3326514][#3325996][#3325066] Prowadzący najpewniej oczekuje maksymalnych pamięci zewnętrznych: po 64 kB ROM i 64 kB RAM [#3326223][#3325563] Przy 64 kB RAM i zapisie 4 kanałów po 2 bajty na próbkę masz 8 bajtów na zestaw próbek, więc wychodzi około 8 k próbek na kanał, co dla 20 s daje rząd 400 próbek/s [#3324008] Jeśli chcesz prostszy wariant, proponowano też MAX162 jako 12‑bitowy układ obsługiwany na 8‑bitowej magistrali, z rezerwacją dwóch adresów na przetwornik i liniami CS/RD do wyboru układu [#3324008][#3325066][#3325996]
Wygenerowane przez model językowy.
REKLAMA
  • #1 3293533
    marcin_op
    Poziom 14  
    Posty: 167
    Ocena: 5
    Witam

    Mam taki problem.
    Muszę wykonać TEORETYCZNIE projekt o następującej treści:

    Wielokanałowy przetwornik A/C komunikujący się z uP.
    Podać schemat układu oraz schemat blokowy programu. (RAM i ROM zewnętrzne)
    Ilość przetwornikó - 4
    czas rejestracji danych dla jednego przetwornika nie mniejszy niż 20sek.
    przetworniki 12 - bit
    Mikroprocesor 8051

    Tak naprawde jestem z tego zielony a muszę wykonać to na zaliczenie a nie wiem od czego zacząć. gdyby ktoś był pomocny to ja byłbym wdzięczny....
  • REKLAMA
  • #2 3308599
    marcin_op
    Poziom 14  
    Posty: 167
    Ocena: 5
    up

    nikt nie ma pomysłu :(
  • REKLAMA
  • #3 3323691
    Łokasz
    Poziom 16  
    Posty: 193
    Pomógł: 12
    Ocena: 43
    Witam. Mógłby Kolega napisać cos więcej co układ ma realizować? Rozumiem, że ma pobierać sygnały analogowe z przetworników i...co dalej? Pozdrawiam. Lukasz
  • #4 3323845
    WaldekPrzybyłek
    Poziom 15  
    Posty: 103
    Pomógł: 10
    Ocena: 4
    Proponuję zacząć od przetwornika np: ADS7841 - z interfejsem szeregowy co chyba da się ładnie obsłużyć programowo , w miarę szybki i dokładny.
    Napisz coś więcej o tym projekcie.
    Pozdrawiam.
  • REKLAMA
  • #5 3323851
    marcin_op
    Poziom 14  
    Posty: 167
    Ocena: 5
    Hej

    Niestety ja nic więcej też nie wiem, dostałem kartke z tematem na której pisało tylko to co napisałem i nic wiecej... :(
  • #6 3323911
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    Skoro kolega ma wykorzystać pamięć podłączoną do zewnętrznej magistrali adresowej i danych to aż się prosi o przetwornik z interfejsem równoległym ;). Może to być jeden przetwornik z selektorem wejść lub cztery pojedyncze przetworniki (chyba o tą wersję chodzi w projekcie).
    Aby nie było tak łatwo, kolego marcin_op musisz znaleźć przetwornik z interfejsem równoległym, 12 bitowy i najlepiej aby miał trój-stanowe wyjścia. Później porozmawiamy o połączeniu tego w całość ;)

    Pozdrawiam
  • #7 3324008
    WaldekPrzybyłek
    Poziom 15  
    Posty: 103
    Pomógł: 10
    Ocena: 4
    W takim razie proponuję MAX162.
    Archiwizacja próbek : zakładając , że program nie potrzebuje RAM ( raczej nie możliwe) to podłączając 64k Ram (chyba max dla 8051) dzielimy przez 8 bajtów( 4 kanały po 2 bajty) wyjdzie 8k sampli na kanał. Dzieląc ilość sampli przez min. czas zapisu wyjdzie ok. 400 próbek na sekundę.
    Oczywiście jeśli się nie mylę.
    Co do podłączenia to zapewne znajdzie się chętny by pomóc.
    Pozdrawiam.
  • #9 3324713
    Dyrek
    Poziom 16  
    Posty: 129
    Pomógł: 21
    Ocena: 1
    Witam
    Widzę że masz chyba zajęcia z Wiesiem "Smutnym" i nadal daje te same projekty na polibudzie :D. Najlepiej ustalic z nim na konsultacjach szczegóły projektu żeby potem nie było nieporozumień a i przy okazji może Cię zapamięta że się tematem "interesowałeś" :) Popytaj starszych roczników może miał już ktoś taki projekt (oczywiście mówię o pomocy w wyjaśnieniu a nie o plagiacie :p )
  • #10 3325066
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    Propozycja kolegi WaldekPrzybyłek jest bardzo słuszna, MAX162 ma tą zaletę że przy rozdzielczości 12 bitów może przesłać informację standardową 8 bitową magistralą, Odpada zatem dodatkowy bufor sterujący.
    Jeśli mamy już przetwornik, kolejnym pytaniem jest rozmiar dołączonej zewnętrznej pamięci RAM i ROM. Logicznie przetworniki ADC zostaną umieszczone w przestrzeni adresowej na "samym końcu" rezerwując po dwa adresy dla każdego z przetworników. Reasumując w takiej konfiguracji mamy 8 adresów pod którymi będą dane z ADC.
  • #11 3325563
    marcin_op
    Poziom 14  
    Posty: 167
    Ocena: 5
    Wydaje mi się żeby dać max pamieci zewnętrznej czyli:

    pamięć zewnętrzna ROM 64 kB
    pamięć zewnętrzna RAM 64 kB
  • #12 3325996
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    WaldekPrzybyłek napisał:
    Archiwizacja próbek : zakładając , że program nie potrzebuje RAM ( raczej nie możliwe) to podłączając 64k Ram (chyba max dla 8051) dzielimy przez 8 bajtów( 4 kanały po 2 bajty) wyjdzie 8k sampli na kanał. Dzieląc ilość sampli przez min. czas zapisu wyjdzie ok. 400 próbek na sekundę.
    To chyba powinno być odwrotnie liczone. Najpierw trzeba założyć częstotliwość próbkowania i czas rejestracji i z tego wyliczyć wielkość pamięci. Do typowej '51 można bezproblemowo podłączyć znacznie większą pamięć (np kość 0,5MByte) wykorzystując kilka dodatkowych linii do jej stronnicowania. Pełny ROM do tego projektu jest zbędny (wystarczy z 8-16kB).
    W przypadku braku pamięci RAM można jeszcze kombinować z upychaniem danych w połówkach bajtu.

    crazy_phisic napisał:
    Logicznie przetworniki ADC zostaną umieszczone w przestrzeni adresowej na "samym końcu" rezerwując po dwa adresy dla każdego z przetworników. Reasumując w takiej konfiguracji mamy 8 adresów pod którymi będą dane z ADC.
    W przypadku MAX162 można tę kość alokować poza obszarem adresowym RAM, wysterowując stosowne linie CS (pamięci bądź przetwornika) z wolnych portów. Pozwoli to uniknąć stosowania dodatkowych elementów w układach adresujących kości.
  • #13 3326223
    Dyrek
    Poziom 16  
    Posty: 129
    Pomógł: 21
    Ocena: 1
    Ok, poznałem troche tego gościa co zadał ten projekt bo sam kiedyś miałem z nim zajęcia więc trochę nakreślę sytuację:

    -pamięć: zapewne zechce żeby była to max wielkość dla ROM i RAM (czyli po 64k), nie ważne dla niego co będzie w niej ale taka ma być :)

    -ilość przetworników AC - wydaje mi się że chodziło mu o ilość kanałów i wystarczy jeden przetwornik 4-ro kanałowy (czasami tak formułuje zadanie że ciężko wywnioskować o co tak naprawde chodzi), ale trzeba to z nim ustalić.

    -czas pomiaru nie mniejszy niż 20s: tu zapewne chodzi mu już o stronę programową i pokazanie jak zrobić długie opuźnienia czasowe (niby banalne ale nie koniecznie dla początkujących a "Smutny" się czesto tego czepiał)

    Czasami też chce żeby urządzenia peryferyjne były podłączone w obszarze adresowym RAM ale wtedy trzeba zastosować mniejszą pamięć. Ale zastosowanie 64k ułatwia sprawę i pozostawia podłączenie przetwornika na pozostałych 2 wolnych portach w dowolny sposób.
  • #14 3326252
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    marek_Łódź napisał:

    crazy_phisic napisał:
    Logicznie przetworniki ADC zostaną umieszczone w przestrzeni adresowej na "samym końcu" rezerwując po dwa adresy dla każdego z przetworników. Reasumując w takiej konfiguracji mamy 8 adresów pod którymi będą dane z ADC.
    W przypadku MAX162 można tę kość alokować poza obszarem adresowym RAM, wysterowując stosowne linie CS (pamięci bądź przetwornika) z wolnych portów. Pozwoli to uniknąć stosowania dodatkowych elementów w układach adresujących kości.

    Ależ oczywiście masz rację, ale ponieważ kolega marcin_op potrzebuje tego zagadnienia na projekt to lepiej nie uprzedzać dodatkowych pytań prowadzącego o stosowność takiego a nie innego rozwiązania. Łącząc cały układ w myśl zasad panujących w urządzeniach mikroprocesorowych alokujemy przestrzeń adresową dla przetworników i dodajemy prosty dekoder adresu sterujący przetwarzaniem (/CS & /RD). Powinna znaleźć się jeszcze obsługa linii zajętości ale to już taka mała nadgorliwość ;)
  • #15 3326514
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Dyrek napisał:
    -czas pomiaru nie mniejszy niż 20s: tu zapewne chodzi mu już o stronę programową i pokazanie jak zrobić długie opuźnienia czasowe (niby banalne ale nie koniecznie dla początkujących a "Smutny" się czesto tego czepiał)

    Czasami też chce żeby urządzenia peryferyjne były podłączone w obszarze adresowym RAM ale wtedy trzeba zastosować mniejszą pamięć. Ale zastosowanie 64k ułatwia sprawę i pozostawia podłączenie przetwornika na pozostałych 2 wolnych portach w dowolny sposób.
    Podłączenie na wolnym porcie upraszcza sprawę adresowania. Nadal nie rozumiem, co to znaczy czas pomiaru 20s? Próbkowanie co 20 s czy przez 20s???
    Jak szczegółowy ma być schemat blokowy?

    Proponuję zastosować przetwornik wielokanałowy - propozycja AD7862 4 wejścia z pełnym odczytem 12 bitów. Potrzebne będzie 12 linii danych, 3 sterujące (CS,RD,A0) i jedna kontrolna (BUSY).
  • #16 3326835
    marcin_op
    Poziom 14  
    Posty: 167
    Ocena: 5
    Dzięki wielkie za każdą rade, ale:

    wszystko co jest w temacie musi być, nie wazne ze pamiec nie jest potrzebna zewnętrzna, porwadzący ją chce wiec musi byc.

    I zależy mi tylko na zaliczeniu tego, dlatego chciałbym aby to bylo zrobione jak najprościej, bez dodatkowych komplikacji i dodawania czegoś od siebie.

    Z góry wszystkim dziękuje...
  • #17 5864180
    mafiaboy
    Poziom 10  
    Posty: 14
    Ocena: 1
    Jeżeli ktoś nadal interesuje się tym projektem, oznajmiam ze takowy posiadam. Zaliczony na 4,5. Kontakt gg 2776427
  • #18 7876749
    zbenek1
    Poziom 11  
    Posty: 53
    Witam,
    Mam ten sam problem. Jednak jest to inny temat. Mam do skonstruowania licznik energii elektrycznej sieci 3-fazowej. Do swojego projektu potrzebuję przetwornik a/c 6 kanałowy. Ilość próbek na okres około 40. Osobiście znalazłem ADS8558 ale tam jest przetwornik 16 bitowy 730 kS/s. Ma ktoś jakieś propozycje?
  • #19 7876821
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Jeśli nadal trzymasz się dokładności 0,5%, to niezależnie od tego, czy uznamy to za realne (a jest to raczej mało realne), przetwornik musi mieć chociaż z 12 bitów (16 to wypas). Ja osobiście wsadziłbym w taki układ przetwornik szeregowy na SPI (które szczęśliwie jeszcze masz wolne), przykładowo 8-kanałowy MCP3208 + referencja LM285. Stosunkowo proste i tanie rozwiązanie bez kombinowania z układami adresacji i sygnałami dostępów do pamięci (WR/RD).
    A tak na marginesie, to przy takiej dokładności próbkowanie powinno być chyba częstsze(no chyba, że uznamy, że mamy czyste, stabilne sinusoidy).
  • #20 7876850
    zbenek1
    Poziom 11  
    Posty: 53
    No tak ale tam jest 1,2,4,8 kanałów a ja potrzebuje konkretnie 6 kanałowy. Inaczej to nie przejdzie. A podłączyć go chcę pod port P1. Pod P0 i P2 mam już wyświetlacz LCD i pamięć RAM. Dokładność mierzonej energii do 0,5%. Czy podłączenie go jako układ peryferyjny będzie lepszym rozwiązaniem? Bo raczej tak nie sądze
  • #21 7876876
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Nie ma TECHNICZNYCH przeciwwskazań w zastosowaniu ośmiokanałowego. Jeśli koniecznie ma być 6 kanałów, to zastosuj 3 sztuki dwukanałowe (mogą być pędzone z tej samej referencji), tyle że wtedy masz dodatkowe dwa sygnały CS.

    Co do portu, to piszemy o tym samym. W porcie P1 masz interfejs SPI, na którym możesz podwiesić szeregowe przetworniki ADC (sygnały MISO, MOSI, SCK plus dodatkowo po jednym sygnale selekcji do każdej kości - jedna dla kości ośmiokanałowej lub 3 dla trzech kości dwukanałowych). Tak więc linii wystarcza. Pozostaje tylko zblokować te linie CS na czas programowania przez ISP, jeśli przewidujesz programowanie procesora w układzie). Da się to zrobić rezystorami podciągającymi linie CS do plusa.

    Dostępne przetworniki 6 wejściowe Analog Devices na I2C (możliwa emulacja programowa na liniach P1), ale mają zasilanie do 3,6V . Można też postrzelać do wróbla z armaty np LTC2351, ale to zdecydowana przesada, poza tym to też układ na 3V. Generalnie po przejrzeniu netu takich przetworników 6-chan jest kilka-kilkanaście, ale się słabo komponują w tym układzie. Trzeba by na spokojnie je wszystkie przejrzeć.

    Na stronie analoga masz szukanie parametryczne, zresztą google też coś oddają jak spytasz o ADC 6 inputs
  • #22 7876913
    zbenek1
    Poziom 11  
    Posty: 53
    Muszę o to zapytać prowadzącego...ale znając życie uprze się na tego 6-kanałowego. Gdyby to na niego padło to czy ten co znalazłem TI 8558 może być? Czy będzie jakiś problem z jego obsługą?

    Szukałem w TI w AD, MC po katalogach...od 12bitowych się zaczynają te 6 kanałowe. Ilość sampli też duża bo od xxxkS/s się zaczynają. Całe popołudnie szukam czegoś rozsądnego.

    Apropo kolegi widzę że interesujesz się miernictwem i automatyką...Może podpowiesz mi jeszcze jak zrealizować podłączenie się do sieci 3 fazowej tym przetwornikiem a/c. Myślałem tu nad przekładnikiem napięciowym dla każdej z faz. Ma on zamieniać 230 V na możliwe wejściowe napięcie dla ADC oraz przekładnik prądowy i jakiś układ który by zamieniał prąd na napięcie nie przesuwając fazy. W ten sposób miałbym dane do policzenia energii poprzez uprocesor.
  • REKLAMA
  • #23 7877146
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Chodzi o ADS8558 ? Może być, chociaż jest przewymiarowany (cenowo pewnie też). Jeśli będziesz korzystał z interfejsu równoległego, może Ci zabraknąć pinów w procesorze.

    Co do obwodów pomiarowych to przy tej dokładności pewnie tylko przekładniki napięciowe i prądowe wysokiej klasy dokładności + wzmacniacze kalibrowane na potencjometrach wieloobrotowych.
  • #24 7877378
    zbenek1
    Poziom 11  
    Posty: 53
    Tak chodzi tutaj o ADS8558. Co do ceny to sztuka około 20 dolarów. Projekt który wykonuje jest teoretyczny. Układ ten ma 16 pinów(informacyjnych) więc nie ma problemu co do podłączenia pod procek. Dodatkowo kilka sterujących. Dziś go przedstawię prowadzącemu projekt zobaczymy co na to powie...meczy mnie jeszcze zagadka dokładnych przekładników...Mogą to być gotowe układy
  • #25 7877484
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Ja osobiście stosuję układy elektroniczne - w torach napięciowych wzmacniacze optoizolowane, w torach prądowych też, a przy większych prądach scalone czujniki z hallotronami, ale to zupełnie inna klasa dokładności (1..2 %), chociaż niewykluczone że można toto wykalibrować na wzmacniaczach wyjściowych (gorzej z nieliniowością). W skrajnym przypadku, jeśli tory są stabilne, można sobie wyobrazić kalibrację programową przez tablice, przy okazji z kompensacją nieliniowości. Przykładowe układy scalone do pomiarów z izolacją u mnie na stronie:
    http://www.magmaster.elektroda.eu/joomla/index.php/hardware/7-pomiary/5-cursense
    http://www.magmaster.elektroda.eu/joomla/index.php/hardware/9-interfejsy/8-analogopto

    Co do portów, to z twojego rysunku wynika, że niewiele pinów Ci zostało, dlatego pisałem o tym, że wygodniejszy może być transfer szeregowy via SPI, co sugerowany przez Ciebie przetwornik posiada, bo nawet przy pracy interfejsu przetwornika w trybie ośmiobitowym możesz potrzebować jeszcze ze 2-3-4(?) piny sterująco-kontrolne. Ze 4 piny można by wygospodarować z wyświetlacza, ale zdaje się pisałeś, że to też zakazane. Tak więc możliwości tego procesora w tym zestawie pomału się kończą.
  • #26 7877711
    zbenek1
    Poziom 11  
    Posty: 53
    Szczerze to już mam mętlik w głowie...3 tydzień szukam rozwiązania aby stworzyć schemat blokowy. Mam mieć LCD, RAM zew... do tego układ mierzący napięcie i prąd z 3fazówki. Ma to być tak wykonane alby 8051 mógł swobodnie to obsługiwać(wykrywać przesuniecie fazowe, obliczać moc)....tylko tyle a już 3 tydzień się z tym męczę
  • #27 7877766
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Ideowy? Do tego co narysowałeś dołączasz przez SPI Twój przetwornik i z grubsza masz zamknięty sam miernik (ew. jeszcze RAM). Co do ustrojstwa pomiarowego na przekładnikach to łączysz 3 napięciowe, trzy prądowe (+oporniki na wyjściu) i dajesz jakieś proste wzmacniacze na wyjścia przekładników zgromadzone na wspólnej masie analogowej (przy tym przetworniku ADC wzmacniacze mogą się okazać zbędne). Dalej zostaje kwestia dokładności (nieliniowości, przesunięcia fazowe itp), ale to temat rzeka. Jak dobierzesz elementy najlepsze z możliwych (temat teoretyczny), to może wybronisz te 0,5%.

    A, no i kwestia algorytmu, ale mając "zmontowany" układ, powinno pójść z górki (masz napisać program?)
  • #28 7877839
    zbenek1
    Poziom 11  
    Posty: 53
    Ogólnie to męczę się nad skonstruowaniem schematu aby to poprawnie działało. Na początku miałem układ działający w oparciu o ad7755 z niego sygnał na procek 8051. Podczas przedstawienia mojej koncepcji prowadzący powiedział, że jest to do kitu ze względu na niskie wykorzystanie procesora. Kazał mi zastosować przetwornik A/C najlepiej 6 kanałowy i to pod procesor. Dodatkowo RAM i LCD zewnętrznie. Uprocesor ma za zadanie sprawdzać fazę i liczyć energię jaka została zużyta z dokładnością do 0,5. I tak od 2 tyg mecze się ze schematem. Na dzień dzisiejszy mam coś takiego:
    LCD
    Projekt: Wielokanałowy przetwornik A/C 12-bit z mikroprocesorem 8051

    RAM

    Projekt: Wielokanałowy przetwornik A/C 12-bit z mikroprocesorem 8051

    Zostaje jeszcze kwestia dobrania dobrego przetwornika ADC i przekładników jakiś...
    Co do programu nie muszę go pisać. Wystarczą schematy blokowe programu co kiedy i jak ma się wykonywać. Jeśli już będę mieć schemat to połowa sukcesu. Dalej już nie powinienem mieć problemu...największy jest przy schemacie...z resztą nie tylko ja mam problem ze schematem...bo jest nas więcej niż 30
  • #29 7878495
    marek_Łódź
    Poziom 36  
    Posty: 3103
    Pomógł: 208
    Ocena: 66
    Generalnie jestem przeciwnikiem umieszczania peryferii w przestrzeni adresowej pamięci (piszę o wyświetlaczU), zwłaszcza w jednorazowych prototypach, bo nigdy do końca nie wiem, czy nie rozłożą ich zależności czasowe. Poza tym masz RAM i display w tym samym obszarze adresowym (zakładan, że oba schematy to ten sam układ). Osobiście dałbym sterowanie displaya z wolnego portu, pozostawiając linie danych tam, gdzie są i uważając by w czasie jego sterowania nie sięgać do pamięci zewnętrznej, przetwornik ADC dołączyłbym do spi (MISO, MOSI, SCK + linie CS itp), dalej kwarc, pojemności i część komputerowa gotowa (czy jeszcze jakiś problem?).

    Po drugiej stronie tak, jak napisałem wyżej (przekładniki wzmacniacze). Czy jeszcze coś pominąłem?
  • #30 7878615
    zbenek1
    Poziom 11  
    Posty: 53
    Jestem właśnie po rozmowie...nie było za miło heh. Przedstawiłem koncepcje i powiedziałem że pod P1 podłącze przetwornik. Padło pytanie dlaczego...powiedziałem że tak będzie wygodnie bo w jednej przestrzeni adresowej mam już RAM i LCD. No to otrzymałem odpowiedź że przetwornik może też być w zewnętrznej przestrzeni adresowej. Dodatkowo padły pytania dlaczego taki przetwornik, jak będą zmieniane kanały...kiedy co będzie zczytywane. Co do RAM i LCD to jeśli jest to poprawnie to lepiej niech zostanie tak jak jest. Teraz muszę ten nieszczęsny przetwornik zastosować(dobrać go pod względem kryterium). Powoli trace nerwy....

Podsumowanie tematu

✨ Dyskusja dotyczy teoretycznego projektu wielokanałowego 12-bitowego przetwornika analogowo-cyfrowego (A/C) współpracującego z mikroprocesorem 8051, z wykorzystaniem zewnętrznej pamięci RAM i ROM (po 64 kB każda). Projekt wymaga obsługi czterech kanałów pomiarowych, z czasem rejestracji danych nie krótszym niż 20 sekund na kanał. Uczestnicy sugerują wybór przetworników z interfejsem równoległym lub szeregowym SPI, omawiając zalety i wady obu rozwiązań. Proponowane modele to m.in. MAX162, MAX187, ADS8558, AD7862, MCP3208, LTC1598L, LTC2308. Podkreślono konieczność alokacji przetwornika w przestrzeni adresowej zewnętrznej pamięci, sterowanie liniami CS, RD, BUSY oraz multiplekserem kanałów. Poruszono kwestie częstotliwości próbkowania, synchronizacji pomiarów napięcia i prądu, przesunięcia fazowego oraz obliczania mocy czynnej, biernej i pozornej. Dyskutowano także dobór przekładników prądowych i napięciowych oraz ich wpływ na dokładność pomiarów. Wskazano na potrzebę prostych schematów blokowych programu, uwzględniających sterowanie przetwornikiem, odczyt danych, zapisywanie do pamięci i wyświetlanie wyników na LCD. Projekt ma być możliwy do realizacji na najprostszym wariancie 8051, bez użycia specjalizowanych układów pomiarowych (np. AD7755), aby maksymalnie wykorzystać możliwości procesora. Wskazano na konieczność konsultacji z prowadzącym w celu ustalenia szczegółów i wymagań projektu.
Wygenerowane przez model językowy.
REKLAMA