Skocz do zawartości

PPM Encoder - Mikrokontroler, Diody + Schmit Trigger czy 8 wejściowy CMOS OR/NOR 4078?


felixd

Pomocna odpowiedź

Witam, z elektroniką mam styczność od 6 miesięcy. Dopadł mnie jeden problem, szukam rozwiązania.

Na wejściu mam 8 kanałów które wysyłają sygnał sterujący serwami (stan wysoki: 3V, niski: 0V). Żaden z sygnałów nie nachodzi na siebie, jest między nimi minimum 0.4ms przerwy. Sygnały chcę puścić jedną linią która docelowo podłączona będzie do mikrokontrolera dekodującego ten sygnał.

Mam trzy rozwiązania

1. Mikrokontroler

Każdy kanał zostaje indywidualnie podłączony pod piny mikrokontrolera który przetwarza go i wypuszcza zsumowany sygnał jednym wyjściem. To rozwiązanie dla mnie odpada.

Przykładowe rozwiązanie:

https://store.diydrones.com/product_p/br-ppme.htm

2. Enkoder PPM oparty o diody i przerzutnik Schmitta.

Moje pierwsze zabawy z diodami pokazały, że dioda ma paskudną pojemność 😉

Mogę za diodą podłączyć masę przez rezystor, co znacznie poprawia opadanie zbocza. Potem sygnał ten wrzucić na przerzutnik Schmitta i tam wzmocnic, dwa razy obrócić i na wyjściu mam PPM'a z pominięciem mikrokontrolera.

Przy okazji tego problemu mam pytanie jak dokładnie i kiedy ATmega/Xmega reaguje na zbocze. Chodzi mi dokładnie o moment kiedy zostanie zbocze potraktowane jako opadające / rosnące.

Górny sygnał - przed diodą

Dolny sygnał - za diodą

Przy okazji szukania rozwiązania trafiłem na ten projekt. Wydaje mi się on jednak nadto przekombinowany.

http://paparazzi.enac.fr/wiki/MeekPE_PPM_Encoder_Board

3. Układ 8 wejściowej bramki CMOS OR/NOR 4078

A dlaczego by nie użyć 8 wejściowej bramki CMOS OR/NOR? Bardzo krótki czas przełączenia i propagacji. Może jednak są jakieś przeciwwskazania?

Zaznaczam, że na wejściu mam w stanie wysoki 3V, na wyjściu chciałbym mieć 3V - 3.3V w stanie wysokim.

Czy trzecie rozwiązanie jest dobre?

Pozdrawiam.

Link do komentarza
Share on other sites

Jeżeli dobrze zrozumiałem, chcesz po prostu zsumowac logicznie 8 sygnałów, tak?

Pierwsze rozwiązanie to armata na wróbla, bardzo dobrze, że Ci nie pasuje.

Drugie rozwiązanie jest jak najbardziej (logicznie) w porządku. Diodowe układy logiczne były szeroko stosowane u zarania epoki komputerów a bramka OR którą chcesz zrobić jest typowym ich przedstawicielem. Ta technika ma jednak swoje podstawowe wady: nie regeneruje impulsów oraz ma małą obciążalność wyjść. Pierwsza cecha uwidacznia się spadkiem amplitudy o spadek napięcia na diodzie. Jeżeli na wejście wpuścisz impulsy 0-3V to na wyjściu dostaniesz 0-2.3V w przypadku typowych diod krzemowych. Jeżeli dalej będzie procesor, nie będzie mu to przeszkadzać bo zwykle jako stan wysoki wystarczy połowa zasilania lub mniej. Opornik do masy jest obowiązkowy i to wcale niemały. To on właśnie rozładowuje pojemności obciążenia (w tym pojemnośc sondy oscyloskopu). Im mniejszy tym oczywiście będzie krótsze zbocze opadające ale też bardziej będziesz obciążał wejścia. To już sam wiesz, czym ten układ sterujesz. Moim zdaniem, dla tak wolnych impulsów 1k będzie OK. jeżeli takie obciążenie będzie niedopuszczalne, możesz każde wejście wyposażyć w tranzystor w układzie OE, wszystkie kolektory połączyć razem i podciągnąć wspólnym rezystorem do Vcc. Dostaniesz bramkę NOR co chyba dalszym układom nie powinno przeszkadzać - to tylko kwestia logiki. Oczywiście dodanie kolejnego, 9 tranzystora zrobi z tego bramkę OR.

Trzecie rozwiązanie jest eleganckie. Na wyjściu dostaniesz takie napięcie jakim zasilasz bramkę. Nawet jeżeli będą to 3V a bramka serii 4000, jej "wolność" (znaczy nie-szybkość) przy tak niskim zasilaniu w niczym tu nie przeszkodzi.

Mam nadzieję, że upewniłeś się o nienachodzeniu impulsów PPM na siebie. To nie jest typowe w odbiornikach modelarskich - tam raczej są "zbocze do zbocza" - przylegają do siebie (wszystkie albo parami, no różnie) i zsumowanie tego daje jedną długą jedynkę albo ciąg sum cząstkowych.

Link do komentarza
Share on other sites

Odpalam odbiornik, oscyloskop i jeszcze raz sprawdzę. Powrzucam zaraz zdjęcia do tego postu więc proszę o chwilkę cierpliwości 😉

Sprawdzałem pary. 1-2, 2-3, 3-4, 4-5, 5-6, 6-7. Wszystkie kanały dzieli 0.4 ms przerwy. Żaden kanał nie nachodzi na siebie. Sprawdzałem kombinacje 1-2, 1-3, 1-4, 1-5, 1-6, 1-7.

Kanał 1 i kanał 2 (tutaj zmierzyłem dokładnie przerwę: 0.422 ms)

Kanał 2 i kanał 3

Odbiornik KDS K-8X z podłączonymi dwoma sondami (kanały 2 i 3)

Pomimo tego, że odbiornik jest 8 kanałowy, nie sprawdzam ostatniego kanału, ze względu na nadajnik, który jest tylko 7 kanałowy.

i tak dalej. Dalsze zdjęcia są prawie identyczne. Nie powinno więc być logicznej jedynki. Przeglądałem wczoraj datascheety 4078'ek i tam czasy narastania maksymalnie wynosiły 300ns, propagacja też maksymalnie 300ns więc nie powinno to mieć większego znaczenia przy tych prędkościach sygnału. To jest ta "wolność, nie-szybkość" 🙂 o której pisałeś.

(Omawiany układ CD4078B: http://www.farnell.com/datasheets/1536068.pdf)

marek1707: Co do regeneracji impulsów, tam w tym "przekombinowanym" rozwiązaniu jest przerzutnik Schmitta. Najpierw odwraca sygnał, później odwrócony wraca na kolejny pin tego samego układu, gdzie ponownie jest odwracany i na wyjściu otrzymuje się już sygnał z poprawnymi wartościami logicznymi. Czy ten przerzutnik nie "regeneruje" impulsów? ;]

Link do komentarza
Share on other sites

Ok, sądząc po szczątkowych antenkach masz nowoczesny odbiornik 2.4GHz. W tym systemie nadajnik "udaje" że wysyła sygnał PPM a odbiornik "udaje" że go odbiera. Procesor odbiornika i tak "od początku" musi wszystkie impulsy zrobić na podstawie odebranej ramki z danymi cyfrowymi więc nie ma przeciwwskazań, by robił to jak pokazałeś. To tylko lepiej 🙂 Możesz powiedzieć, że jesteś szczęściarzem już na początku.

O braku regeneracji impulsów pisałem w kontekście czystej technologii diodowej. W bardziej skomplikowanych układach, gdzie stopni logiki było dużo ta urzekająca prostota była poważną wadą. Co jakiś czas trzeba było wstawiać tranzystor 😐 Poza tym teoria mówi, że do zrobienia dowolnego układu kombinacyjnego wystarczą bramki NAND lub NOR. Żadna z nich nie powstanie bez aktywnego elementu odwracającego a przy okazji regenerującego. Tutaj i tak masz tylko jeden poziom logiki a dodanie wzmacniacza, przerzutnika Schmitta czy cokolwiek bądź raczej nie zawali budżetu projektu. Oczywiście, bramka 7414 to właśnie taki przerzutnik. Chcąc zachować spokój sumienia możesz go wstawić ale jeśli już z góry wiesz co będzie dalej (w sensie parametrów drogi sygnału) i jakie będzie obciążenie (jedno wejście procesora) - nie musisz. Robiąc urządzenie "uniwersalne", "przenośne" i "dla wszystkich", jak we wskazanym linku należałoby coś z sygnałem wyjściowym zrobić ale jeśli Twoja bramka będzie częścią większej całości, na jednej płytce drukowanej (brak długiego kabla) z procesorem, nie wysilałbym się.

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

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!

Gość
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.