Jak przeprojektować obwód tak, aby korzystał z układu scalonego pochłaniającego prąd zamiast układu scalonego pozyskiwania prądu

9

Buduję szeregowy kontroler serwo, aby uczyć się o elektronice i asemblerze jako część mojego projektu robota hexapod . Dość wcześnie zdecydowałem, że potrzebuję więcej kanałów I / O niż ATTiny2313, którego używałem w tamtym czasie, więc zbadałem niektóre 3-8-liniowe układy demultipleksera ( CD74HCT238E ), które pozwoliły mi stworzyć 64-kanałowy serwomechanizm PWM sterownik z zaledwie 8 pinami I / O dla kanałów PWM i 3 liniami adresowymi.

Tak czy siak. Kupiłem także niektóre CD74HCT138E , które są aktywne na niskim poziomie niż aktywne wysokie CD74HCT238E. Rozumiem zasadniczo różnice między obecnym układem pozyskiwania, z którego korzystam, a obecnymi układami tonącymi, ale tak naprawdę nie wiem, jak dostosować swój obwód, aby korzystał z bieżących układów tonujących zamiast obecnych.

Schemat aktywnych wysokich układów znajduje się tutaj: alternatywny tekst Co muszę zmienić, aby zamienić CD74HCT238E na CD74HCT138E?

Zauważ, że powodem zadania tego pytania jest to, że przez pomyłkę kupiłem lampę aktywnych niskich układów scalonych i jestem ciekawy, o ile bardziej skomplikowany musiałby być schemat i układ obwodu, aby z nich skorzystać.

Len Holgate
źródło

Odpowiedzi:

2

238 ma tylko jeden z ośmiu wyjść wysoki logicznie, prąd pozyskiwania, reszta pinów będzie logicznie niska, tonący prąd. 138 jest dokładnie odwrotnie, jeden z ośmiu pinów może być niski, tonący prąd, reszta będzie wysoka, prąd źródłowy.

Aby „odwrócić” funkcję „138”, można użyć ośmiu tranzystorów PNP z podstawami, z których każdy jest powiązany z wyjściem „138” z rezystorem, wszystkie emitery podłączone do +5 i kolektory podłączone do jednego z serwomechanizmu złącza. Lub użyj zestawu falowników (74HCT04 lub ósemkowy 74HCT240), aby zmienić sens wyjść.

Wybór jednego z 8 dekoderów ograniczy możliwości serwomechanizmu, ponieważ obwód może aktywować tylko jedno wyjście na raz. Maksymalna prędkość dowolnego serwomechanizmu będzie ograniczona liczbą serwonapędów, które chcesz aktywować. Jeśli na przykład chcesz mieć wszystkie 64 kanały, wszystkie będą działały ze średnią 1/64 prędkości.

PCF8575C jest bardzo przydatny do rozszerzania cyfrowego IO za pomocą szeregowego protokołu I2C z urządzeń takich jak Arduino. Możesz uruchomić 64 serwa za pomocą 2 pinów na Arduino i 4 PCF8575C. Dałoby to większą elastyczność w ustawianiu cykli roboczych PWM.

SiliconFarmer
źródło
Odnoszę wrażenie, że gdybym używał tych układów do rozszerzenia I / O z innego powodu niż sterowanie serwomechanizmem, zmiana aktywnego wysokiego na aktywny niski byłaby mniejszym problemem, ponieważ po prostu odwróciłbym obwód, który ja łączył się z pinem. Ponieważ jednak muszę prowadzić linię sterowania serwomechanizmem za pomocą + VE, potrzebuję falowników, aby mi to dać, ponieważ nie mogę poprowadzić linii sterowania z innego miejsca i po prostu zatopić ją w układzie scalonym.
Len Holgate
Nawiasem mówiąc, serwo sterowanie PWM za pomocą aktywnych wysokich układów scalonych działa dobrze. Uruchamiam 8 z 1 z 8 układów dekodera z mojego mikroprocesora, a następnie przełączam się między liniami adresowymi (zmieniając je co 2,5 ms), dzięki czemu mogę wygenerować wymagane odświeżanie 50 Hz na wszystkich 64 kanałach. To pozwala mi generować wymagane 600us-2.4ms impulsy na każdym kanale. Zakładam, że PCF8575C jest łatwiejszy w użyciu, ponieważ po prostu wysyłasz mu polecenie włączenia / wyłączenia odpowiedniego styku i pozostaje on w ten sposób, zamiast że 238 potrzebuje odpowiedniego styku mikroprocesora do utrzymania wysokiego poziomu przez cały czas trwania.
Len Holgate
1
To zależy od aplikacji, cieszę się, że działa. W wielu przypadkach układ, do którego jesteś uzależniony, łatwo radzi sobie ze zmianą aktywnego wysokiego na aktywny niski, ale twój nie był jednym z nich.
Kortuk
3

Są to te same rzeczy, z wyłączeniem wyników. Aktywny niski jest dokładnie taki sam jak aktywny wysoki z odwróconym wejściem na wszystkich pinach.

Mam kilka aplikacji z serwomechanizmami, wymagałoby to umieszczenia falownika na każdej ścieżce lub zmiany serwomechanizmów. Dzięki informacjom na temat twojego serwomechanizmu mogę pomóc więcej, ale wątpię, aby ta zmiana była tego warta.

Przejrzałem twoją stronę, cieszyłem się nią za każdym razem, gdy ją odwiedzałem, ale nie znalazłem więcej informacji o sprzęcie, jeśli coś przeoczyłem, przepraszam. -Max Murphy

Kortuk
źródło
2
Tak, zdaję sobie sprawę, że są takie same, z wyjątkiem danych wyjściowych. Zakładałem, że istnieje dość łatwy sposób na podłączenie serwomechanizmu do aktywnego niskiego układu scalonego. Serwa to proste urządzenia Hitec HS-422. Gdybym miał poprowadzić przewód z VCC przez, jak zakładam, rezystor, do aktywnego styku wyjściowego niskiego, to zakładam, że nic nie przepłynęło, dopóki styk nie zostanie wyciągnięty do dołu?
Len Holgate
1
Nie jestem do końca pewien, czy rozumiem twoje pytanie, masz rację, twoje urządzenie nie będzie pobierać prądu z rezystora podciągającego, gdy jego moc wyjściowa jest wysoka. Brama serwomechanizmu pobierze prąd przez rezystor i / lub z twojej wysokiej mocy, prawdopodobnie oba. Nadal będzie wysoki dla dokładnie przeciwnego cyklu pracy. Wcześniej, jeśli wykonałeś cykl pracy 5%, a teraz cykl pracy 95%. Arkusz danych na stronie robotshop.us/PDF/Servomanual.pdf , a raczej przewodnik po produktach, zawiera świetne informacje. Ważny jest czas pulsu z określonym czasem wyłączenia.
Kortuk
1
Dlaczego musisz zmienić żetony na Active Low?
Kortuk
2
Nie, właśnie przez pomyłkę kupiłem tubę i chcę wiedzieć, czy to możliwe. Widziałem projekt podobnego projektu kontrolera serwomechanizmu, który wykorzystuje to, co (z karty danych) wydawało się być aktywnymi niskimi układami scalonymi i byłem ciekawy :)
Len Holgate
1
Ach, przepraszam, próbowałem powstrzymać cię od zmiany wzorów, czy masz inny wzór? Naprawdę musisz po prostu włożyć falowniki, jeśli nie przeszkadza ci przestrzeń, można to zrobić za pomocą tranzystora i rezystora.
Kortuk