przesyłanie sygnału 5 V przez długi kabel

17

Szukam tutaj pomocy, ponieważ potrzebuję na to wiarygodnej odpowiedzi. Muszę uzyskać sygnał wejściowy (niskiej częstotliwości 5v digital pulse) do mikrokontrolera z czujnika (zbliżeniowego) znajdującego się w pewnej odległości od płyty sterowania.

Wyszczególnię najważniejsze punkty.

  • Maksymalna odległość Tx: 50 m
  • Maksymalna częstotliwość impulsów cyfrowych: 10 Hz
  • Zakres napięcia czujnika: od 5 do 30 V (wytwarza takie samo napięcie jak w zestawie)
  • Max wejście do mikrokontrolera: 5 v

W przypadku prostej, podobnej aplikacji zrobiłem to wcześniej; czujnik jest zasilany napięciem 12 V. Z drugiej strony impuls (który teraz wynosi 0-12 V) jest podawany do mikrokontrolera poprzez regulator 7805. To działało dobrze, ale ktoś powiedział mi, że metoda ta nie jest dobra i nie nadaje się do niezawodnych aplikacji. Wydaje mi się też, że to brzydkie, ale nie spodziewam się, że będę dużo bałaganić sprzętem, budowaniem osobnych obwodów itp. Czy ktoś może zaproponować lepsze rozwiązanie (lub zgodzić się z moim: D)

Wolę dużo, jeśli nie muszę budować żadnych obwodów. Jeśli nie jest to możliwe, przynajmniej bardzo prosty! (Prosty w sensie złożoności sprzętowej. Obwód, który nie potrzebuje płytki drukowanej, tylko dwa przewody tu i tam. Dlatego uwielbiam rozwiązanie 7805). Jednak (niestety) najwyższy priorytet należy nadać niezawodności.

Codenamed SC
źródło
3
Nie rozumiem, dlaczego nie mogłeś zostać przy swoim rozwiązaniu 7805. Podejrzewam, że ci, którzy wyrzucają cię z użycia tej aplikacji, robią to, ponieważ mają trudności z zaakceptowaniem nieco niekonwencjonalnego zastosowania regulatora napięcia. Nie widzę też żadnego problemu z niezawodnością, ale zachęciłbym do dodania jednego małego kondensatora 0,1 uF między wyjściem a GND części, aby zapewnić stabilność. Przy szybkości reakcji 10 Hz nie sądzę, aby dodatkowy kondensator powodował jakiekolwiek problemy w odpowiedzi na impuls czujnika, chyba że puls jest bardzo bardzo wąski w porównaniu do częstotliwości impulsu 100 ms.
Michael Karas
@MichaelKaras świetnie !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Codenamed SC,

Odpowiedzi:

20

Zalecanym podejściem byłoby użycie transoptora, a następnie komparatora (np. LM339 ) lub lepszej zintegrowanej części, takiej jak transoptor wyjściowy bramki logicznej Fairchild Semi FODM8071 .

Powód, dla którego zaleca się transoptor :

Prawdopodobnie wystąpi różnica potencjałów uziemienia w przypadku kabla o długości 50 metrów, a także możliwość wychwycenia EMI przez długi kabel. Transoptor eliminuje wszelkie problemy związane z niedopasowaniem pętli uziemienia / potencjału, a także każdą potrzebę precyzyjnego dopasowania napięcia zasilania czujnika do mikrokontrolera.

Zastosowanie opto pozwoli na zastosowanie wyższego napięcia w obwodzie czujnika, zmniejszając wrażliwość na zakłócenia EMI.

Dodatkową zaletą określonej wyżej części Fairchild jest jej wysoka odporność na hałas. Spowoduje to bardziej stabilną akwizycję sygnału, co jest ważne przy uwzględnieniu odległości.

FODM8071 to 5-stykowa część SMT, więc korzystanie z niej zasadniczo nie wymaga budowania żadnego dodatkowego obwodu - możesz połączyć tę część i kilka jej elementów dyskretnych w stylu deadbug , jeśli chcesz, lub złożyć je razem na proto płytka drukowana.

Anindo Ghosh
źródło
1
jest to prawdopodobnie najlepsze rozwiązanie, ale jeśli kabel ma przewód uziemiający, nie sądzę, aby potencjalne niedopasowanie było znaczące. Wypróbowałbym dzielnik rezystancyjny, to najprostsze rozwiązanie lub rozwiązanie Zenera, poniżej którego jest jeszcze bardziej precyzyjne.
Vladimir Cravero
3
Opto na mikro końcu jest zdecydowanie bardziej eleganckim pomysłem, byłbym paranoikiem (doświadczenie z telekomunikacją / błyskawicą / EMC) i dodałbym kilka diod ochronnych / tranzorbów, aby uchronić opto przed zbłąkanymi / odwrotnymi / nadmiernymi napięciami. Zasadniczo lepiej jest wysyłać większy sygnał wzdłuż linii (wysłać napięcie 12 V i poradzić sobie z tym na mikro końcu), zamiast zaczynać od małego sygnału i walczyć o jego niezawodny odbiór. Może to również pomóc twojej przyczynie (odporność na zakłócenia), jeśli twój czujnik może poprowadzić trochę prądu wzdłuż linii, np. Przez rezystor terminujący 100Ohm. Przykłady podano w standardzie RS485 / RS422.
John U
1
@CodenamedSC: wyszukaj „mikrokontroler midi” lub „schemat midi”. Tysiące rzeczy tam. Kolejnym kierunkiem dalszych badań jest pętla prądowa , której MIDI jest tego prostym przykładem.
Phil Frost
1
Niektóre wyszukiwane hasła google / wikipedia dla Ciebie: MIDI, DMX, RS-232, RS-485, RS-422, pętla prądowa 20mA, sygnalizacja różnicowa.
John U
1
Jest to prawdopodobnie przesada w przypadku danej aplikacji, choć jak wspomniano, istnieją aplikacje, w których uzasadniony jest dodatkowy koszt i złożoność.
Chris Stratton
12

Transmisja 10 Hz na 50 m nie jest trudnym problemem, więc znajdziesz na to wiele sposobów. Dla rozwiązania prawie tak prostego jak to, które miałeś wcześniej, sugerowałbym prosty obwód Zenera.

wprowadź opis zdjęcia tutaj

Tak jak poprzednio, wystarczy po prostu zasilić czujnik napięciem powyżej 5 V. Powiedz 6–12 V i pozwól, aby ten obwód ograniczający obniżył napięcie do poziomu zgodnego z twoim obwodem wyjściowym. Musisz dostosować wartość R1 w zależności od maksymalnego (lub pożądanego) prądu wyjściowego obwodu czujnika i wybranego napięcia czujnika. Koszt może być bardzo zbliżony do rozwiązania 7805, w zależności od wybranego zenera.

Podobnie jak transoptor zasugerowany w innej odpowiedzi, zapewnia to ochronę przed stanami przejściowymi wysokiego napięcia indukowanymi na kablu, ponieważ diody Zenera mogą przetaczać te stany przejściowe do ziemi. Obwód transoptora może przerywać pętle masy między systemami wysyłającymi i odbierającymi, ale jeśli twoje rozwiązanie 7805 działa, zener powinien również działać równie dobrze.

Edytować

Jeśli chcesz wykonać trochę więcej pracy, możesz ulepszyć ten obwód, czyniąc go nieco bardziej rozbudowanym:

wprowadź opis zdjęcia tutaj

Dodana dioda Schottky'ego chroni Twój obwód wyjściowy przed ujemnymi stanami nieustalonymi. Zener zrobiłby to, ale ograniczyłby jedynie stany przejściowe do około -0,7 V. Schottky ograniczy je do -0,3 lub -0,2 V, co będzie znacznie bezpieczniejsze dla dalszego urządzenia, jeśli jest to typowa bramka logiczna.

Dodany kondensator 4,7 uF pomoże zredukować szum, gdy wejście jest niskie.

W końcu obniżyłem napięcie Zenera, aby upewnić się, że wyjście jest bezpieczne dla bramki logicznej 5 V, pozwalając nawet na pewne przesunięcie napięcia Zenera, i zwiększyłem R1, aby zmniejszyć prąd wymagany do napędzania wejścia.

Wszystkie te rzeczy podlegają regulacji w celu dopasowania do szczegółów czujnika i obwodu wyjściowego.

Edytować

Kluczowy punkt, o którym musiałem pomyśleć przez noc, zanim go zobaczyłem:

Zakładając, że Twój 50-metrowy kabel zawiera przewód sygnałowy i przewód uziemiający (lub powrotny), transoptor chroni przed stanami przejściowymi w trybie wspólnym (to znaczy, gdy zarówno przewód sygnałowy, jak i przewód uziemiający zmieniają razem napięcie w stosunku do masy obwodu odbiorczego), podczas gdy obwód Zenera chroni przed różnicowymi stanami nieustalonymi, w których napięcie drutu sygnałowego zmienia się w stosunku do drutu uziemiającego.

Jeśli uderzenie pioruna w pobliżu powoduje, że przewód uziemiający i sygnałowy przeskakują razem do 100 V na milisekundę, potrzebny jest obwód transoptora, aby chronić odbiornik przed uszkodzeniem.

Ale jeśli włączenie pobliskiego silnika spowoduje, że przewód sygnałowy przeskoczy do 30 V powyżej przewodu uziemiającego, potrzebujesz obwodu zenera, aby zabezpieczyć transoptor przed przeciążeniem.

Oczywiście rodzaj kabla i jego środowisko określają, który z tych scenariuszy jest bardziej prawdopodobny. Jeśli używasz drutu sterującego ogólnego przeznaczenia, każdy scenariusz jest realistyczny. Jeśli używasz kabla koncentrycznego, transjenty w trybie wspólnym są bardziej prawdopodobne, ale powinieneś również wziąć pod uwagę możliwość uszkodzenia ESD z powodu obsługi, gdy kabel nie jest podłączony do odbiornika, a także efekt, jeśli kabel jest początkowo naładowany gdy jest podłączony do odbiornika.

The Photon
źródło
2
7805 to zasilacz , ta aplikacja polega na tym, że 7805 zachowuje się „idealnie” w sytuacji, do której nie jest przeznaczony. Ponadto, to naprawdę nie jest dobre podejście do rozwiązania problemu. 7805 wymaga trochę prądu do działania (czy twój czujnik może pobierać wystarczającą ilość prądu? Czy jego ładowanie zmienia wydajność czujnika?) I woli widzieć obciążenie, w które należy wjechać, i wygładzającą nasadkę, aby zapobiec oscylacji / tętnieniu. Sugestia Anindo jest całkiem sensowna dla podanego zastosowania, odpowiedź Photona jest OK, ale zakłada bardzo „czystą” ścieżkę sygnału (bez ochrony).
John U
1
@CodenamedSC - Nie mogę naprawdę wyjaśnić tej dużej luki w twojej wiedzy / zrozumieniu elektrycznym tutaj, naprawdę nie mam wystarczająco dużo czasu, ale proszę zaufaj mi, 7805 jest naprawdę kiepskim sposobem na zrobienie tego - obie powyższe sugestie są dużo lepiej.
John U
1
@CodenamedSC, ten obwód jest funkcjonalnie równoważny idei 7805. Główną wadą 7805 jest to, że 7805 nie ma zdolności do pochłaniania stanów nieustalonych, które mogą być generowane przez zakłócenia na kablu. Obwód ten lub obwód transoptora powinien być w stanie obsłużyć krótkotrwałe stany nieustalone w setkach woltów, do których nie jest przeznaczony 7805.
Photon
1
To lepsza odpowiedź. To proste, a rezystor na końcu odbiorczym pomoże pochłaniać odbicia, chociaż lepsza wydajność może być osiągnięta, jeśli rezystor zostanie przeniesiony na koniec wysyłający.
Chris Stratton
2
@ChrisStratton Myślę, że gdybym korzystał z transoptora, dodałbym coś blisko tego obwodu z przodu, aby zapobiec wysadzaniu transoptorów przez transjenty.
Photon