Skocz do zawartości

Czujnik magnetyczny - podłączenie do Arduino. Kilka pytań.


xhydromovie

Pomocna odpowiedź

Witam,

W swoim projekcie muszę wykorzystać czujnik magnetyczny NJK-5002C. Mam akurat model który jest niby zasilany 5-30 VDC.  Jak najlepiej podłączyć go do Arduino? W dokumentacji nic nie ma ile pobiera prądu a to chyba istotne jeśli chce zasilić go z pinu 5V. Sygnał wyjściowy to 200 mA czy ma to jakieś znaczenie? Arduino w moim projekcie jest głównie zasilane z akumulatora 12V przez przetwornicę na 5V. Jeśli będę chciał zasilić czujnik 12V to żeby przesłać sygnał będę musiał połączyć wspólnie masę? 

Link do komentarza
Share on other sites

image.thumb.png.8aa740d3dce67e95731b2731fdb588ba.png

19 godzin temu, xhydromovie napisał:

Sygnał wyjściowy to 200 mA czy ma to jakieś znaczenie?

Twój czujnik ma na wyjściu tranzystor NPN z otwartym kolektorem - oznacza to że możesz na jego wyjściu podłączyć coś większego (np. buzzerek, przekaźnik). Opisany jest jako sink czyli zaciąga prąd - jeżeli dasz tam rezystor podciągający na Vcc i z kolektora dasz sygnał na Arduino to powinieneś mieć aktywne 0.

 

19 godzin temu, xhydromovie napisał:

Mam akurat model który jest niby zasilany 5-30 VDC

To trzeba by sprawdzić, czy aby na pewno jest te minimalne 5V.

Edytowano przez Gieneq
  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

A w kwestii podłączenia. Po pierwsze w pokazanej pod rysunkiem tabelce stoi, że min. zasilanie to 6V, ale maksimum to aż 36V. Nie możesz zatem napędzać tego czujnika z 5V, ale za to możesz z tego co masz na VIN Arduino. W środku czujnika jest elektronika, która co prawda może, ale nie musi działać lekko poniżej minimalnego zakresu. Czasem wyjście poza minimum oznacza w tego typu układach "jedynie" pogorszenie pewnych parametrów (np. zasiegu/czułości, szybkości czy pracy w całym zakresie temperatur), ale może też oznaczać kopletną odmowę współpracy. W każdym razie nikt nie da Ci gwarancji, że na 5V zadziała i dlatego proponuję bezpieczniejsze zasilanie z VIN. Tam zapodasz zapewne 12V z akumulatora a czujnik opłaci Ci się poprawnym działaniem. Tak więc, mając trzy kabelki wystające z czujnika podłączasz: GND czujnika do GND Arduino (wow!), Vcc czujnika do VIN Arduino a linię wyjściową bezpośrednio do jakiegoś pinu procesora. Ponieważ - jak słusznie napisał szanowny Moderator (pozdrawiam) - jest to linia typu Open Colector, potrafi tylko zwierać do masy a Ty musisz ustawić tryb pracy odpowiedniego pinu procka na INPUT_PULLUP i tyle. Bez tego podciągania nigdy nie zobaczysz stanu wysokiego. Dzięki takiemu wyjściu czujnik daje się podłączać do dowolnej logiki (3V, 5V, 12V) niezależnie od tego jakim napięciem go zasilasz.

Jeżeli planujesz jakąś większą maszynę (silniki, styczniki, drivery wokół) to pamiętaj, że długi kabel czujnika bedzie niebezpieczną dla procesora anteną. Dlatego wszelkie sterowniki przemysłowe mają swoje wejścia dobrze zabezpieczone (diody, oporniki, kondensatory itd..). Bezpośrednie podłączenie długiego kabla do pinu procesora może zabić delikatną strukturę i koniec zabawy, więc takie rozwiązanie jest raczej tymczasowe - gdy robisz coś niedużego i "lekkiego", działającego w komfortowych warunkach. Swoją drogą: co takiego budujesz, że używasz (stosunkowo) drogich czujników przemysłowych? W konstrukcjach amatorskich do detekcji zbliżeń czy położenia elementów zwykle wystarcza hallotron cyfrowy za 2zł i magnesik lub transoptor szczelinowy lub odbiciowy a nawet microswitch z rolką lub dźwigienką. Z kolei zaawansowany projekt trochę kłóci mi się z naiwnością pytań i ogólną niewiedzą nt. najprostszych spraw (choćby te masy czy prąd wyjścia). Czy możesz rozwiać moje wątpliwości?

  • Lubię! 1
  • Pomogłeś! 1
Link do komentarza
Share on other sites

2 godziny temu, marek1707 napisał:

A w kwestii podłączenia. Po pierwsze w pokazanej pod rysunkiem tabelce stoi, że min. zasilanie to 6V, ale maksimum to aż 36V. Nie możesz zatem napędzać tego czujnika z 5V, ale za to możesz z tego co masz na VIN Arduino. W środku czujnika jest elektronika, która co prawda może, ale nie musi działać lekko poniżej minimalnego zakresu. Czasem wyjście poza minimum oznacza w tego typu układach "jedynie" pogorszenie pewnych parametrów (np. zasiegu/czułości, szybkości czy pracy w całym zakresie temperatur), ale może też oznaczać kopletną odmowę współpracy. W każdym razie nikt nie da Ci gwarancji, że na 5V zadziała i dlatego proponuję bezpieczniejsze zasilanie z VIN. Tam zapodasz zapewne 12V z akumulatora a czujnik opłaci Ci się poprawnym działaniem. Tak więc, mając trzy kabelki wystające z czujnika podłączasz: GND czujnika do GND Arduino (wow!), Vcc czujnika do VIN Arduino a linię wyjściową bezpośrednio do jakiegoś pinu procesora. Ponieważ - jak słusznie napisał szanowny Moderator (pozdrawiam) - jest to linia typu Open Colector, potrafi tylko zwierać do masy a Ty musisz ustawić tryb pracy odpowiedniego pinu procka na INPUT_PULLUP i tyle. Bez tego podciągania nigdy nie zobaczysz stanu wysokiego. Dzięki takiemu wyjściu czujnik daje się podłączać do dowolnej logiki (3V, 5V, 12V) niezależnie od tego jakim napięciem go zasilasz.

Jeżeli planujesz jakąś większą maszynę (silniki, styczniki, drivery wokół) to pamiętaj, że długi kabel czujnika bedzie niebezpieczną dla procesora anteną. Dlatego wszelkie sterowniki przemysłowe mają swoje wejścia dobrze zabezpieczone (diody, oporniki, kondensatory itd..). Bezpośrednie podłączenie długiego kabla do pinu procesora może zabić delikatną strukturę i koniec zabawy, więc takie rozwiązanie jest raczej tymczasowe - gdy robisz coś niedużego i "lekkiego", działającego w komfortowych warunkach. Swoją drogą: co takiego budujesz, że używasz (stosunkowo) drogich czujników przemysłowych? W konstrukcjach amatorskich do detekcji zbliżeń czy położenia elementów zwykle wystarcza hallotron cyfrowy za 2zł i magnesik lub transoptor szczelinowy lub odbiciowy a nawet microswitch z rolką lub dźwigienką. Z kolei zaawansowany projekt trochę kłóci mi się z naiwnością pytań i ogólną niewiedzą nt. najprostszych spraw (choćby te masy czy prąd wyjścia). Czy możesz rozwiać moje wątpliwości?

Mój projekt to amatorski projekt autoworkownicy. Fakt, nie mam zbyt szerokiej wiedzy w zakresie elektroniki, jedynie podstawy dlatego używam gotowych modułów czyt. przetwornica, hx711, lcd... Dziękuje @marek1707 i @Gieneq za rozwianie moich wątpliwości.

Arduino zasilam przetwornicą 5V podłączoną do pinów GND oraz 5V. Zdecydowałem się również zasilić mój czujnik 5V i działa poprawnie. Nie oczekuję od niego precyzyjnego wykrywania pola magnetycznego. Sam czujnik odpowiada tylko za wykrycie zmiany położenia dźwigni na drugą stronę.

Jeszcze raz dzięki za odpowiedź.

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!

Anonim
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.