podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

problem do rozwiązania

Ogólne tematy związane z maszynami CNC, maszyny o odmiennej konstrukcji czyli wszystko co nie pasuje do powyższych.
Tu możesz również przedstawić się i opisać swoją maszynę
Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#21

Post napisał: TOP67 » 14 lut 2020, 15:32

Dalej nie tak. Diody odwrotnie, a rezystor do +5V. Dioda zenera może zostać tak jak jest.
Teraz rezystor bocznikuje diodę Zenera, więc wejście nie jest chronione.

Czy na wyjściu czujników jest jakieś napięcie? Przy OC nie powinno być nic (oczywiście przy odłączonych innych elementach).



Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 18
Posty: 4690
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#22

Post napisał: pitsa » 14 lut 2020, 19:03

Kupiłem diody Zenera 4,7V i dziś zrobię dalsze próby.

Zmierzyłem napięcia przed rozmontowaniem.
Widzę że, zmontowałem układ typu "głupi ma szczęście". ;-)
Napięcia w skopanym układzie wyglądają tak:
Obrazek
Poprawka: Za diodami jest nie 6,63V a 6,03V
Przy załączeniu obu czujników wzrasta o 0,3V do 6,33V.
Sprawdziłem oporniki bo napięcia są dziwne i dałem R47k zamiast 4,7k. ;-)

Dodane 54 minuty 8 sekundy:
Test tego schematu:
Obrazek
Zamiast 4,7k (nie mam) jest 3,3k (1+2,2).

Wersja1: R3,3k do GND, dioda zenera 4,7V między GND a PIN.
Napięcie między GND i PIN 0,23V, czujnik lekko świeci.
czujnik załączony przygasa, napięcie 3,23V.
2 załączone czujniki - napięcie 4,2V.

Wersja 2: Bez R3,3k do GND
napięcia odpowiednio: 0,49V, 4,45V, 4,59V.

Wersja 3: R3,3k do VCC (5,01V)
napięcia odpowiednio: 4,16V, 4,50V, 4,61V.


Wersja 2 daje akceptowalne napięcia dla atmegi.

Zmieniłem R3,3k na 5,3k dla wersji 1: 0,26V ,3,91V, 4,43V
Zmieniłem R5,3k na 7,3k dla wersji 1: 0,27V ,4,15V, 4,49V
Zmieniłem R7,3k na 47k dla wersji 1: 0,35V ,4,42V, 4,58V

No i teraz jest nawet lepiej niż dla wersji 2. :-)

Dodane 11 minuty 49 sekundy:
Sprawdzam czujnik.

Zasilanie 9,27V, czujnik lekko świeci, napięcie na czarnym przewodzie 0,69V. Po załączeniu czujnik gaśnie, napięcie 9,18V.

Dołączam R7,3k między GND, a czarny przewód: 0,69V i po załączeniu 5,28V dioda przygasa.

Dodane 2 minuty 47 sekundy:
No i tak to wygląda zabawa z czujnikiem LJM12-2N2. :-)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


nanab
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 3
Posty: 330
Rejestracja: 01 paź 2018, 22:34

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#23

Post napisał: nanab » 14 lut 2020, 19:37

Nie ma sensu takie komplikowanie.
gothye pisze:Właśnie o tym pisze , wew podciągnięcie wejścia programowo

Nie istnieje coś takiego jak "podciągnięcie programowe", wejścia są podciągnięte fizycznymi rezystorami które są już w obudowie komputera. Programowo tylko każesz zmienić rejestry które nimi sterują.

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#24

Post napisał: TOP67 » 14 lut 2020, 20:09

Ale się uparłeś na sterowanie wysokim poziomem.
Równoległe łączenie diody Zenera i rezystora nie ma najmniejszego sensu.

Wszyscy Ci piszą o podciąganiu rezystorem do +5V, a Ty ciągle do masy. Po zadziałaniu czujnika na wejściu powinien być sygnał niski.

Obrazek

Zrób taki układ przy pinMode (7, INPUT)

A bez rezystora przy pinMode (7, INPUT_PULLUP)

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 15
Posty: 7858
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#25

Post napisał: tuxcnc » 14 lut 2020, 20:22

pitsa pisze:
14 lut 2020, 19:18
Zmierzyłem napięcia
NIE MIERZY SIĘ WYSOKIEJ IMPEDANCJI WOLTOMIERZEM !!!
Dobry woltomierz cyfrowy zareaguje na prądy upływności izolacji, albo na indukowane zakłócenia.

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 18
Posty: 4690
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#26

Post napisał: pitsa » 14 lut 2020, 21:43

Sorry, nie wiedziałem, że tam w środku czujnika LJM12-2N2 siedzi WYSOKA IMPEDANCJA. Na szczęście nic jej się nie stało. ;-)

TOP67 pisze:Ale się uparłeś na sterowanie wysokim poziomem

Nie uparłem się. Sprawdziłem różne wersje.

Diody tak jak narysowałeś po prostu "nie działają".
One mają separować od siebie wyjścia czujników. Tak mi się wydaje i uważam, że zrobiłem to prawidłowo.
Jeśli dam tak jak proponujesz nic się nie zmienia za diodami, bo napięcia na wyjściu są dodatnie. I stąd muszę podciągać do GND. Podciągnięcie pod 5V - masz efekt jak w wersji 3.

Rezystor równolegle do diody Zenera dałem aby żeby zmniejszyć WYSOKĄ IMPEDANCJĘ. hehehe
Zamiast zera na wyjściu jest 0,5V więc z pomyślałem, że można by to lepiej przybliżyć do zera.
Jak dam 47k to spada do 0,36V na wejście do atmegi.
Na tą decyzję wpłynęły też moje doświadczenia z zakłóceniami.

Podobnie z tym rezystorem 1k - wydaje i się bezpieczniej ograniczyć prąd podawany na pin,
bo nie mam pojęcia co ten czujnik ma w środku.
Może zamiast 1k bezpieczniej dać R100 albo na wszelki wypadek dławik 10uH? Nie wiem.

Obrazek

Dla tego schematu bez rezystora 1k napięcia napięcia są takie:
czujniki nie załączone: 0,36V
1 czujnik załączony: 4,45V
2 czujnik załączony: 4,61V

Jak dam 47k równolegle do diody zenera:
czujniki nie załączone: 0,36V
1 czujnik załączony: 4,48V
2 czujniki załączone: 4,62V

Dla 6,2k równolegle:
czujniki nie załączone: 0,27V
1 czujnik załączony: 4,09V
2 czujniki załączone: 4,5V

Dodane 1 minuta 37 sekundy:
Bardzo dziękuję wszystkim za pomoc. Fajnie sprawdzić jest jak coś działa. :-)

Dodane 4 minuty 5 sekundy:
A jak by to było z czujnikami NO?
I czemu nie trzeba ograniczać prądu rezystorem na wyjściu z czujnika skoro w dokumentacji podawanej jest 200mA (albo 300mA) max?
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 15
Posty: 7858
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#27

Post napisał: tuxcnc » 14 lut 2020, 23:01

pitsa pisze:
14 lut 2020, 21:47
Sorry, nie wiedziałem, że tam w środku czujnika LJM12-2N2 siedzi WYSOKA IMPEDANCJA. Na szczęście nic jej się nie stało. ;-)
Obrazek

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#28

Post napisał: TOP67 » 15 lut 2020, 00:10

pitsa pisze:
14 lut 2020, 19:18
Zasilanie 9,27V, czujnik lekko świeci, napięcie na czarnym przewodzie 0,69V. Po załączeniu czujnik gaśnie, napięcie 9,18V.
W takim razie to nie jest wyjście OC.
Wyjście OC nie ma żadnego napięcia, bo nie jest do niczego podłączone. Tylko do kolektora tranzystora. Tak jak na rysunku powyżej.

Dodane 4 minuty 43 sekundy:
pitsa pisze:
14 lut 2020, 19:18
No i tak to wygląda zabawa z czujnikiem LJM12-2N2. :-)
A to nie jest przypadkiem LJM12-2P2?

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 18
Posty: 4690
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#29

Post napisał: pitsa » 15 lut 2020, 10:01

Obrazek
Sprawdziłem jeszcze prądy (układ bez rezystora).
Przez diodę zenera płynie 0,75mA (1 czujnik załączony) i 1,45mA (2 czujniki załączone).

I chyba znalazłem tą wysoką impedancję bo nie rozumiem tego co tu się dzieje: ;-)
Przewodem do pinu nie płynie ani jeden mikroamper. Miernik nic nie wykrywa.

Podłączyłem jeszcze PIN przez 1k do 5V.
Arduino otrzymuje cały czas stan wysoki.
Przez opornik płynie 0,55mA, 0,38mA(1 czujnik załączony) 0,3mA (2 czujniki załączone).

Odłączam 1k - nie ma znaczenia.

Interesuje mnie jeszcze odporność na zakłócenia.
To główny powód dla którego sprawdzam zastosowanie czujników indukcyjnych.

=== Test zakłóceń przy użyciu silnika krokowego. ===

Generatorem zakłóceń jest silnik krokowy 60H86-3008B 4,2A. Na osi zamontowana korbka.
1 cewka zasila mostek prostowniczy KBL406 i z mostka zasilany jest silnik 4,5V.
2 cewka zasila taki sam silnik przez diodę SB5150 (najgrubsza jaką znalazłem).
Usuwam w programie delay().
Kładę silniki na przewody czujników z dala od arduino.

Kręcę korbką. Czuć ozon.
Takie rozwiązanie nie jest odporne na zakłócenia - dioda na arduino mruga. ;-)
(dałem delay(10) aby lepiej było widać mruganie diody).

Wniosek 1: Mam to samo co na zwykłych krańcówkach mechanicznych.
Nawet gorzej bo tam dławikami i kondensatorami udało mi się wyeliminować zakłócenia.
Tutaj nie wiem jak to zrobić.

Wniosek 2: Słuchać mądrzejszych - używać czujników indukcyjnych NO.
NC szeregowo są dobre dla krańcówek mechanicznych.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

TOP67
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 13
Posty: 2224
Rejestracja: 17 wrz 2018, 10:47
Lokalizacja: Wrocław
Kontakt:

Re: podłączenie indukcyjnych czujników zbliżeniowych do Arduino Uno

#30

Post napisał: TOP67 » 15 lut 2020, 11:22

Trzeba podać zasilanie na kolektor. Czyli rezystor do plusa.
Zobacz na sposób podłączania odbiornika z karty produktu. W przypadku NPN podłącza się go pomiędzy wyjście a + zasilania.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „NASZE AMATORSKIE MASZYNY CNC”