Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Drabinka R-2R pracująca z 8051

Moderatorzy: Jacek Bogusz, Moderatorzy

Awatar użytkownika
Sova
-
-
Posty: 510
Rejestracja: 10 lis 2003, o 21:43
Lokalizacja: Ostrołęka
Kontaktowanie:

Drabinka R-2R pracująca z 8051

Postautor: Sova » 13 sie 2008, o 19:10

Witam,

Chciałbym się was poradzić, szanowni forumowicze, odnośnie wartości rezystorów w pewnej aplikacji.

Chciałbym zrobić sobie prosty, przetwornik C/A bazujący na 8bitowym mikrokomputerze 8051(dokładnie AT89C51). Jak same założenia sugerują, nie musi to być jakiś super, turbo sprzęt, dlatego pozostaje przy rozdzielczości 8bitów i częstotliwości przetwarzania takiej, na jaką pozwoli mi procek. Doczytałem w sieci, że najłatwiejszą metodą przetwarzania cyfrowo analogowego jest drabinka rezystorowa R-2R. Na stronie http://home.agh.edu.pl/~slawomir/index. ... tresc---f2 (akapit "Rezystorowa sieć drabinkowa R-2R") autor przedstawia schemat takowego układu.

Chciałbym się zapytać, jak wartość rezystancji elementów zastosowanych w takim układzie wpływa na błąd przetwornika - głównie chodzi mi o liniowość. Chciałbym się także zapytać jaki opór najlepiej zastosować, jeśli źródłem sygnału dyskretnego będą porty scalaka(nie znam ich rezystancji wewnętrznej).

Bardzo proszę o pomoc
Pozdrawiam serdecznie
Sova

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Re: Drabinka R-2R pracująca z 8051

Postautor: Tomasz Gumny » 13 sie 2008, o 20:11

[...] najłatwiejszą metodą przetwarzania cyfrowo analogowego jest drabinka rezystorowa R-2R.
Jeśli nie jest potrzebna duża szybkość przetwarzania, to prostszy jest PWM...
[...] jak wartość rezystancji elementów zastosowanych w takim układzie wpływa na błąd przetwornika - głównie chodzi mi o liniowość.
Zwykle stosuje się rezystory 10k/20k i - co ważniejsze - można dostać (np. w Elfie) gotowe drabinki precyzyjnych rezystorów. Większym problemem są wyjścia procesorów 8051. Zwykle mają beznadziejnie małą wydajność prądową w stanie wysokim - zależnie od rodziny 20..80uA i nie nadają się do bezpośredniego sterowania drabinki. Chyba, że zastosujesz jakieś bufory lub absurdalnie duże R.

Awatar użytkownika
Sova
-
-
Posty: 510
Rejestracja: 10 lis 2003, o 21:43
Lokalizacja: Ostrołęka
Kontaktowanie:

Postautor: Sova » 13 sie 2008, o 22:09

W sumie faktycznie PWM nie byłoby głupie, ale pochłaniałby cały czas obliczeniowy, więc odpada, zaraz wytłumaczę dlaczego.

Dokładnie chcę zrobić prosty wskaźnik wysterowania do mojego wzmacniacza(pochwalę się, to ten, który właśnie ukazał się na 24 stronie w Elektronice Praktycznej 8/2008).

Mam póki co taki prosty, na diodzie 1N4148, ale nie jest to to, czego pragnę. Wyskalowałem go na 1kHz sinus, - faktycznie wtedy pracuje super, ale przy normalnej muzyce, gdy wzmacniacz rozkręcony jest na maksa, pokazuje mniej więcej -6dB - kicha :).

Pomyślałem sobie, że załatwię sprawę cyfrowo. Sygnał na wyjściu wzmacniacza będzie trafiał na przetwornik analogowo-cyfrowy(może przez wtórnik - zależy od oporu wejściowego przetwornika, zależy mi na małym wpływie tego układu na tor audio), on przekaże dane do procka, procek wyliczy to co mnie interesuje i wychyli wskazóweczki tyle ile będę chciał. Program mogę napisać tak, że będzie uwzględniał wpływ częstotliwości i będzie naprawdę logarytmiczny :). Dodatkowo polepszę sobie włącznik, bo na razie mam na multiwibratorze monostabilnym(NE555) i przerzutniku typu T(jakies dwa przerzutniki typu D w jednej obudowie, nie pamiętam jaki dokładnie do układ), czasem wzmacniacz potrafi się włączyć po zaniku napięcia sieciowego(po mimo układu resetującego!). Zabezpieczę sobie go tak, że jak na wejściu nie będzie długo nic, to wzmacniacz się wyłączy - bo szkoda lamp. Poza tym, chce wykorzystać gdzieś te kostki, bo leżą i też programator kupiłem i się marnuje :P

Dlatego myślałem o drabince R-2R, dzięki niej przy niższych częstotliwościach będę mógł uzyskać "skakanie" wskazóweczki, co jest fajnym efektem wizualnym. PWM też dałoby radę zrobić na timerach, ale chyba nie osiągnę tego samego.

A co by się stało, gdybym dał duże oporniki, takie rzędu 470k? Skoro proty mają małą wydajność prądową nie byłoby lepiej?

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Postautor: Tomasz Gumny » 13 sie 2008, o 23:30

W sumie faktycznie PWM nie byłoby głupie, ale pochłaniałby cały czas obliczeniowy
Przesiądź się na AVR-y. ATmega8 ma 3 kanały PWM i do tego kilka wejśc analogowych. Wyjścia portów nadają się do sterowania R/2R - EP3/200.
Dokładnie chcę zrobić prosty wskaźnik wysterowania do mojego wzmacniacza(pochwalę się, to ten, który właśnie ukazał się na 24 stronie w Elektronice Praktycznej 8/2008).
Bardzo ładnie wykonana mechanika. Schemat za to jakby nieco znajomy... Jeśli korzystałeś z jakichś źródeł, wypadałoby o nich wspomnieć.
[...] ale przy normalnej muzyce, gdy wzmacniacz [...] pokazuje mniej więcej -6dB - kicha :).
Nie wystarczy jakiś prosty ARW?
A co by się stało, gdybym dał duże oporniki, takie rzędu 470k?
Należałoby sprawdzić na wykresach jak obciążenie rzedu 10uA [5V/470k] wpłynie na napięcie wyjściowe portu dla danego typu procesora. Do tego będzie konieczny jakiś bufor na wyjściu drabinki.
Pomyśl nad możliwością przełączenia wskaźników na pomiar prądu spoczynkowego lamp końcowych - 6N13S lubią się rozjeżdżać...

Awatar użytkownika
Sova
-
-
Posty: 510
Rejestracja: 10 lis 2003, o 21:43
Lokalizacja: Ostrołęka
Kontaktowanie:

Postautor: Sova » 14 sie 2008, o 09:54

Przesiądź się na AVR-y. ATmega8 ma 3 kanały PWM i do tego kilka wejść analogowych. Wyjścia portów nadają się do sterowania R/2R - EP3/200.
Przez krótki czas próbowałem liznąć AVR, jednak uznałem szybko, że jak już się uczę czegoś nowego, to wezmę się za rdzeń ARM7TDMI-S, tak też zrobiłem i nie żałuję, głównie chodzi mi o osiągane częstotliwości pracy tego rdzenia i wielkość słowa(32bity). Ogólnie wiem, że AVRy są fajne pod względem cena/możliwości, ARMy są troszkę drogie :(. Jednak AVRy są troszkę wolne dla niektórych zastosowaniach, np. urządzenia sieci Ethernet. Znowu plusem AVRów jest globalne wsparcie programistów i elektroników, ale to dłuższy temat :). Zostańmy przy starej dobrej kostce 8051, bo jak mówię, szkoda mi ich aby leżały w szufladzie.
Nie wystarczy jakiś prosty ARW
Musiałem poszukać co to w ogóle jest :). Zastanowię się nad tym, ale póki co nie potrzebuję takiego układu
Do tego będzie konieczny jakiś bufor na wyjściu drabinki.
Wyjściu tzn od strony sygnału dyskretnego czy wyjściu tym, gdzie określony już jest jakiś potencjał przez cały układ drabinki? Jeśli chodzi o te drugie, to myślałem, że przetwornik prąd-napięcie załatwi sprawę. Jeśli chodzi o to pierwsze - jaki bufor byś sugerował(żeby nie wiercić i nie lutować 3 nóżki x 8 bitów x dwa kanały dziur na same tranzystory kluczujące)?
Pomyśl nad możliwością przełączenia wskaźników na pomiar prądu spoczynkowego lamp końcowych - 6N13S lubią się rozjeżdżać...
Pierwotnie tak właśnie zakładałem i tak też zrobię. Z tyłu obudowy mam wywiercone specjalne cztery otwory na diody LED, które mają właśnie sygnalizować dewiację prądu spoczynkowego podczas ciszy na wejściu. Ale wykorzystać do tego amperomierze wskaźników wysterowania - o tym nie pomyślałem a super pomysł!
Schemat za to jakby nieco znajomy... Jeśli korzystałeś z jakichś źródeł, wypadałoby o nich wspomnieć.
Tak, schemat jest ogólnodostępny w Internecie. Jest to układ Pana Wiliamsona, który podesłali mi koledzy z forum trioda.com, tak też napisałem w artykule. Wymieniłem tylko stopień mocy bo chyba był na pentodach(także bazując na informacjach dostępnych w Internecie, radach i opiniach kolegów z forum). Naprawdę jestem wyczulony na plagiaty i unikam tego typu rozwiązań. Mogę z czystym sercem powiedzieć, że nie mam sobie nic do zarzucenia, jeśli chodzi o ten artykuł :)(poza tym, że edytorzy zrobili w nim kilka błędów, ale to dostrzegą jedynie Ci, którzy wezmą się za budowę :) ).

Btw. polecam drugą część artykułu, ponieważ tam skupiłem się na obliczeniach(czyli wg mnie konkretach). Głównym problemem artykułu są drogie transformatory głośnikowe, które polecam nawijać samodzielnie :).(te które pokazywałem na forum EP w dziale DIY to dokładnie te, które siedzą w tym lampiaku).

Awatar użytkownika
Tomasz Gumny
-
-
Posty: 685
Rejestracja: 4 lut 2004, o 23:31
Lokalizacja: Trzcianka/Poznań

Postautor: Tomasz Gumny » 14 sie 2008, o 10:20

Do tego będzie konieczny jakiś bufor na wyjściu drabinki.
Wyjściu tzn od strony sygnału dyskretnego czy wyjściu tym, gdzie określony już jest jakiś potencjał przez cały układ drabinki? Jeśli chodzi o te drugie, to myślałem, że przetwornik prąd-napięcie załatwi sprawę.
Na wyjściu drabinki R/2R masz sygnał napięciowy. Rezystancja wyjściowa jest stała i wynosi (chyba) R. Przy dużych rezystorach konieczny będzie bufor na wyjściu drabinki. W sumie proponuję zrobić 2 programowe PWM. Do takich mierników powinno wystarczyć kilkadziesiąt Hz i 5..6 bitów rozdzielczości.

Awatar użytkownika
Sova
-
-
Posty: 510
Rejestracja: 10 lis 2003, o 21:43
Lokalizacja: Ostrołęka
Kontaktowanie:

Postautor: Sova » 16 sie 2008, o 17:04

Tomaszu, jak wczoraj ponownie zmierzyłem wzmacniacz przy sinusie 1kHz na wejściu i głębiej się zastanowiłem nad tym co chcę zrobić, to odpuściłem :).

Miałem na myśli zrobienie(programowo) wskaźnika, który wskazywałby wartość chwilową - no właśnie, ale czego. Zamysłem było "aby wskazówka ładnie skakała" - śmieszne, ale tak właśnie chciałem. No i teraz, jak pomyślałem, to faktycznie, da się to zrobić ALE:

Gdybym chciał aby wskazówka skakała ładnie to cała skala powinna być wykorzystywana przy dowolnym wysterowaniu. Na pewno nie wskazywałby taki wskaźnik chwilowego wysterowania wzmacniacza! No to co by musiał wskazywać, aby ta wskazówka "ładnie skakała" po całej skali? Coś w stylu:

Kod: Zaznacz cały

F = U/Umax(-T;0)) gdzie: F - kąt wychylenia wskazówki U - napięcie chwilowe na wyjściu wzmacniacza w danym momencie Umax - napięcie maksymalne, które pojawiło się w przedziale czasowym od T milisekund temu do teraz (T;0)
Ewentualnie byłby logarytmiczny. No i tak szczerze poza skakaniem skazówki, co taki wskaźniki by mądrego robił. O czym by on mnie informował :P.

Przepraszam za zbędny temat, ale to co się nauczyłem o przetwornikach A/C i C/A to moje :)

Pozdrawiam serdecznie :)

Wróć do „Elektronika - tematy dowolne”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 166 gości