Skocz do zawartości

USB/RS232 -> 5V przez 0.5 sec.


Pomocna odpowiedź

Napisano

Na potrzeby tworzonego systemu automatyk oczekuje od PC (czyli mojego oprogramowania w C#) sygnału, a konkretnie napięcia 5V przez 0.5 sec.

Czy ma ktoś pomysł jak ogarnąć ten temat?

20210204_091408_forbot.thumb.jpg.c961c9277110847104133e750462255b.jpg

(edytowany)

Czy na zdjęciu widzimy przejściówkę USB->RS232? No bo jeśli tak, to sprawa jest prosta. Oprócz sygnałów danych (RXD i TXD) na kabelku który rozszyłeś na tę pomarańczową złączkę jest kilka sygnałów "statycznych". Część z nich to wejścia a część to wyjścia. Znajdź rozpiskę złącza RS232/DB9, znajdź sygnały wyjściowe - zmierz woltomierzem ich napięcia (powinny być w okolicach albo ok. +10V albo -10V, w każdym razie nie blisko zera), potem znajdź w bibliotece obsługującej port szeregowy COM odpowiednie API odpowiedzialne za ustawianie stanów tych wyjść, pobaw się tym, sprawdź czy działa i czy umiesz zmieniać na żądanie stan którejś linii i tyle. Dalej to użycie jednego opornika i diody Zenera C5V1 i masz sygnał 0..+5V.

rs232db9.thumb.PNG.35887d789017fdf5292f176129c6362e.PNG

Od strony PC powinieneś mieć złącze męskie, czyli lewy obrazek. Masz tam 2 linie wyjściowe: DTR i RTS. Wybierz sobie którąś i pomachaj nią z programu 🙂 

Edytowano przez marek1707
  • Lubię! 1
(edytowany)

Cześć,

kup sobie np. taki moduł przekażnikowy sterowany portem szeregowym (ten ma akurat 2 kanały, ale znajdziesz też pewnie jednokanałowy):

https://www.aliexpress.com/item/4001260220724.html?algo_pvid=1390d4cd-1ba9-483c-8ed4-b8339e32986d&algo_expid=1390d4cd-1ba9-483c-8ed4-b8339e32986d-22&btsid=0b0a556516085402484145213e441a&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

Przejściówkę USB-Serial podłącz do tego modułu (USB do PC'ta a serial do modułu przekażnika. W .NET (C#) jest klasa Serialport, którą bez problemu oprogramujesz komunikację z twojego programu do przekaźnika. Tabelka jak sterować modułem przekaźnikowym przez serial port masz na stronie produktu.

Tutaj link jak oprogramować port szeregowy z programu C#:

https://www.codeproject.com/Articles/678025/Serial-Comms-in-Csharp-for-Beginners

BTW: taka przejściówka USB-Serial też może się przydać:

https://pl.aliexpress.com/item/32519490747.html?spm=a2g0o.productlist.0.0.40ee2d1e9PxDtr&algo_pvid=a6e7da1c-0ffc-4f6b-9db3-4f751f7fd20d&algo_expid=a6e7da1c-0ffc-4f6b-9db3-4f751f7fd20d-0&btsid=0b0a0ac216124504456907482e6dcd&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

Rozwiązanie podane przez @marek1707 jest dużo prostsze i będzie działac prawidłowo, tylko będziesz musiał rozgryźć jak sterować tymi dodatkowymi sygnałami sterującymi z poziomu kodu w C# (w podanym artykule jest to omówione).

Pozdrawiam

Edytowano przez FlyingDutch
  • 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...