Nabijheidssensor aansluiten op Arduino

Goedendag allemaal,

Ik wil een nieuw project beginnen, en kom ergens even niet uit.
Op Google is het zo ook even goed te vinden, vandaar dat ik nu hier kom.
Ik heb een Arduino DUE die op 9V werkt.
Nu wil ik een nabijheidssensor (LJ12A34Z/BX) er op aansluiten, alleen werkt deze tussen de 6V en 36V.
Ik wil hem dus voeden, met de stroom die de Arduino DUE binnen krijgt (9V).
De adapter is hier sterk genoeg voor, alleen weet ik zo niet, hoe ik de data draad moet aansluiten dan.
Misschien dat iemand zo weet wat ik hier voor kan gebruiken.
Ik weet dat het met weerstanden ook moet lukken.
Alle hulp word gewaardeerd.

Groeten, Marco

Heb je een link voor de datasheet?

U bedoelt zeker, waar ik hem haal.

Dit plaatje laat het zien:
Op bruin sluit je de plus aan, op blauw de min.
Zodra er een metalen object gedetecteerd wordt, wordt de zwarte draad verbonden met de blauwe draad (via een transistor in de sensor).
Je mag voor de "load" een weerstand nemen, en die hoeft niet aan de 9 volt te zitten.
Je mag ook die andere kant van de weerstand aan de 3 volt van je DUE knopen.
Ik weet even niet zeker of je bij een DUE ook _PULLUP kunt definiëren, dus zou ik daar een 10K weerstand voor gebruiken.
Je moet er wel voor zorgen dat de GND (de min) van de voeding van je sensor, ook de GND van de DUE is, maar dat was je dus al van plan.
In je code kijk je dan of de ingang LOW wordt om te zien of het metalen object gedetecteerd werd.

Niet echt; hoewel de pagina wel een indicatie geeft

Dit lijkt meer op een datasheet :wink: https://www.electrokit.com/uploads/productfile/41014/LJ12A3-4.pdf

Een zeer mooie uitleg waar ik zeker wat aan heb.
Met een DUE kan er INPUT_PULLUP gebruikt worden.
Ik dacht dat de plus en de min gewoon naar de adapter ging en met behoud van de weerstanden naar de GND van de DUE.
Daar kijk ik dus zeker even verkeerd.

Het is mij niet helemaal duidelijk wat je eerst in gedachten had.
Met name de weerstanden, meervoud dus.
Kun je misschien een schetsje maken en die hier laten zien ?

Plus en min van de sensor naar de adapter moet dus kunnen, maar je moet er dan ook voor zorgen dat diezelfde min van de adapter ook naar de min van je DUE gaat, wanneer deze deel van diens voeding is, dan is dat dus al goed.
De zwarte draad sluit je dus aan op de ingang van je DUE, en in principe zou het dan voldoende moeten zijn als je die definieert als INPUT_PULLUP.

schets arduino
Niet helemaal mijn stijl, maar hier is een schets van hoe ik hem wilde aansluiten.

De weerstand naar GND moet je weglaten.
Wanneer je zo'n weerstand zou gebruiken, moet je 'm aan de plus hangen.
Dan ziet de ingang van je DUE die plus (negen volt dus, zal 'ie niet helemaal op prijs stellen ben ik bang), tenzij de sensor een object ziet en die spanning wegtrekt naar GND.

Om (ongeveer) 3 volt te maken kun je ook de 10 K naar GND laten zitten, en een 22K weerstand naar de plus maken.
Dan ziet de ingang iets van 2.8 volt wanneer er geen object gedetecteerd wordt.

Wanneer je INPUT_PULLUP doet, heb je helemaal geen weerstanden nodig en kun je de sensor direct aansluiten.
Waarom je de pin PWM pin hebt genoemd weet ik niet, maar je moet daar geen PWM signaal op activeren.
Dan maak je de uitgang van die pin kapot zodra de sensor een object ziet.
De sensor stuurt een digitaal signaal, die je dus inleest met een digitalRead.

De meeste pinnen op de Arduino DUE zijn PWM, vandaar dat ik PWM er bij heb staan.
De Arduino DUE werkt met 3.3V, vandaar dat de output draad van de sensor ook niet te hoog mag zijn.
Dat gaat de board niet leuk vinden.
Als de sensor niks voelt, geeft hij 9V door wat van de adapter komt.
Heeft hij metaal in de buurt, is hij 0V.

Weet je zeker dat de sensor 9 volt "geeft" ?
Want dan zou het een interne pullup hebben, en dat betwijfel ik zeer.
In dat geval heb je ook geen weerstanden nodig want die zitten er dan al in.
Met een 10K en een 22K zoals ik eerder aangaf, zit je met die 2.8 volt mooi binnen de 3.3 volt die toelaatbaar zijn terwijl dat nog steeds als een HIGH beoordeeld zou worden.
Ik ga er wel van uit dat de 9 volt ook echt 9 volt is natuurlijk.

Ik heb nog eens getest, en geeft inderdaad 9V als er niks is en 0V met metaal in de buurt.


Daar voor had ik eerst dit in mijn hoofd met een PC817.
Arduino en nabijheidssensor
En deze video vond ik er bij.

Ik heb inmiddels wat PC817 binnen gekregen.
Nu ik de schema goed bekijk, werken ze met 5V en tussen de 5V en data draad een 10K weerstand.
Heb ik deze ook nodig voor een 3.3V?
Ik neem aan, dat de pinnen ook 3.3V werken.

Ja, die 10k heb je ook nodig voor 3.3V. Het alternatief is om je ingang te configureren met INPUT_PULLUP in de software.

De uitgang van de optocoupler is een open collector; die geleidt of die geleidt niet. Als die geleidt is de uitgang 0V (LOW), als die niet geleidt is het uitgangs niveau ongedefinieerd. Door een weerstand te gebruiken naar Vcc (5V, 3.3V) wordt dat niveau nu een gedefinieerd niveau.

Ik heb even metingen gedaan, tot nu toe gaat het goed.
Nu zit ik met 1 probleem, om de jack connector komt stroom op als ik hem aansluit met USB.
Dan komt er 5V op, en dat zelfde gebeurd ook met de VIN.
De vin krijgt de spanning wat de jack connector ook krijgt.
Nu is mijn vraag, is het erg als de nabijheidssensor lage voltage krijgt?
Anders moet ik toch een aparte adapter gebruiken.

Inmiddels een tijdje verder, toch vermeld ik het hier even.
Heb de nabijheidssensors aangesloten via de schema die ik liet zien, en werken perfect.
Ze krijgen netjes 9V, en via de PC817, word er netjes met 3.3V gewerkt.
Niks voelen, is HIGH, en metaal gedetecteerd is LOW.
Dus voor iemand die dit ook wilt maken, is met een PC817 best simpel en wat weerstandjes.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.