Skocz do zawartości

DIY konwerter napięcia sygnałów z pull-upem, pull-downem


Pomocna odpowiedź

Napisano

Witam szanowne grono, ostatnio w pracy natrafiłem na nieciekawy problem nie zgadzajacych się poziomów napięć - niektóre czujniki działały na 5V (dwa czujniki Halla w siłowniku liniowym, zasilanym na 24V), niektóre na 12V jak stacja pogodowa RG9, a niektóre poprawnie na 24V, tak jak sterownik PLC tego oczekuje. Problematyczne były nie tylko poziomy napięć, a także maksymalne dopuszczone obciążenie prądowe wyjścia czujników, a także różne budowy wyjść - od zwykłego tranzystora NPN, po wyjścia z otwartym kolektorem. Co za tym idzie, nie wszędzie dopuszczone będzie stosowanie przekaźnika w formie przekształtnika poziomu sygnału, gdzie czujnik będzie sterował cewką przekaźnika, a sygnał logicznie już dostosowany do zakresu napięć sterownika, będzie poprowadzony stykami NO bądź NC. Dodatkowym problemem także byłoby wykorzystanie takiego przekaźnika przy czujnikach Halla w siłowniku - jak się okazało, nie są to czujniki krańcowe informujące o dotarciu tłoczyska na początek bądź koniec zakresu ruchu, a działały na zasadzie enkodera A/B, generując sygnał przy obrocie śruby, z wypełnieniem 180 stopni i przesunięciem między sobą 90 stopni.

 

Rozwiązaniem tego problemu okazały się układy scalone ULN200X, które przedstawię poniżej:

  • ULN2002A, Input Voltage: 14-25V, PMOS
  • ULN2003A, Input Voltage: 5V TTL, CMOS
  • ULN2004A, Input Voltage: 6-15V, CMOS, PMOS

Trzy powyższe układy scalone w opakowaniu DIP16, umożliwiają pełna konwersję napięcia z zakresu 5-25V to maksymalnie 50V, tak wynika z noty katalogowej, w moim przypadku były to 24V. Mają ciekawy sposób sterowania - mianowicie układy te nie potrzebują doprowadzenia napiecia zasilającego, ponieważ zwierają tranzystory do masy, zadaniem użytkowniak jest doprowadzenie zasilania przez rezystory podciągające, co umożliwia na uzyskanie rozmaitych napięć wyjściowych, należy pamiętać przy wykorzystaniu tych układów, że odwracają one logikę - podanie sygnału na wejściu powoduje zwarcie tranzystora do masy, powodując uzyskanie stanu logicznego równego 0 na wyjściu.

Wiem, że układy te są zaprojektowanie głównei do sterowania elektroniką, o zdecydowanie większych poborach prądu - Continous Collector Current = 500mA, a także posiadają Vce stosunkowo wysokie bo około 1.1V, jednak jako tani układ scalony, który można nabyć za około złotówkę, stają się idealnym wręcz konwerterem poziomów logicznych, gdzie jedynym problemem może być spadek napięcia Vce, nie pozwala to na wykorzystanie takiego układu w roli konwertera do mikrokontrolerów pracujących przy bardzo niskich poziomach napięć, praktycznie wszystko poniżej TTL 5V, czyli CMOS 5V, TTL 3.3V itd. W roli konwertera sygnału dla sterownika PLC, gdzie zakres napięcia wejściowego jest stosunkowo szeroki, spisuje się na medal. Poniżej przedstawiam schemat elektryczny dla dowolnego z wcześniej rozpisanych układów, z drabinkami rezystorów, umożliwiających utworzenie połączenia pull-up oraz pull-down dla wejść, czyli czujników, a także drabinka rezystorów do utworzenia połączenia pull-up na wyjściu, które jest niezbędne do funkcjonowania konwertera.

image.thumb.png.9e1b0003b1f7e126f7c532134e8d408f.png

Oraz schemat płytki PCB, którą puściłem do druku, i wykorzystałem w projekcie.

image.thumb.png.1e1766916f8f0b0469508fc05565a26c.png

Wygląd płytki w modelu 3D:

image.thumb.png.e94c0d32b334a0cc939d5ae64bede8e3.png

Dodatkowo jako załącznik projekt z KiCada w wersji 9.0.

Jestem ciekawy waszych opinii

LevelConverter.zip

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...