Go Down

Topic: Probleem met I2C interface (Opgelost!) (Read 480 times) previous topic - next topic

SpeedFM

Mar 25, 2019, 09:57 am Last Edit: Apr 12, 2019, 08:10 pm by SpeedFM
Hallo,

Ik heb een Arduino DUE board met een bh1750 licht sensor.
Deze werkt perfect, alleen niet meer na ik hem op locatie heb aangesloten.
Zit er ook op afstand een limit op dat de I2C hem niet meer pakt?
Heb inmiddels alles door gemeten, en alles ziet er goed uit.
Misschien dat iemand hier weet wat er aan de hand is.
Alvast bedankt voor de hulp.

Mvg, Marco

ard_newbie


De I2C op een DUE is erg gevoelig voor EMI. U kunt 10 Ohm-weerstanden in serie toevoegen op SDA- en SCL-lijnen tussen de DUE- en de I2C-slave-sensor.

Meer in het algemeen is I2C een protocole ontworpen voor korte afstanden (maximaal 20 cm).

https://forum.arduino.cc/index.php?topic=560415.0

shooter

ja die afstand is een groot probleem, je kunt er wel versterkers tussen zetten, maar je kunt ook het signaal omzetten met een nano naar een PWM signaal, en dat binnen weer omzetten naar je arduino.
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

SpeedFM

Moet de weerstand aan het punt van de licht sensor zitten of aan het begin?
Of maakt het niet uit waar hij precies komt?

shooter

aan beide zijden van de kabel is nog beter.
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

SpeedFM

Na wat testen, heb ik de juiste weerstand gevonden.
Het was niet 10K maar 1K.
Bij 10K vond hij hem nog niet.
Nu kan ik beginnen met afbouwen van het project en hopelijk met goed werkende sensor.
In eerste geval, bedankt voor de hulp.

SpeedFM

Toch wel grappig om te zien wat het verschil is tussen USB stroom en 12V adapter.
Als ik de adapter aansluit, valt gelijk de sensor weg.
Kleine toevoeging wat ik nog meer aan de I2C heb aangesloten, dat is een clock module (DS3231).
Deze zit dicht bij de Arduino terwijl de licht sensor verder zit.
Heb de weerstanden iets verder dan het midden.
Als ik het zo bekijk, speelt er iets met de voltage waar door de sensor onvindbaar is.
Iemand een ideetje dat me helpt aan de oplossing van dit hele verhaal?

shooter

voor de weerstand kijk eens wat de sensor maximaal kan trekken, de arduino kan 20 mA dus dat is maar 400 ohm minimaal
even gezocht de sensor is max 7mA dus 1 kiloohm is op het randje beter is 2.2 kiloohm
 
paul deelen
shooter@home.nl
making controls with codesys PLC and arduino

SpeedFM

Ik heb het grootste probleem opgelost door de voeding te vervangen.
Nu heb ik een andere vraag.
Is het mogelijk om SDA1 / SCL1 te gebruiken?
Ik heb gelezen dat er pull-up (weerstanden) tussen moeten.
Kunnen deze aangesloten worden aan 5V of moet het op 3,3V?
Kan namelijk er niks over vinden kwa schema of voorbeeld.

ard_newbie

Voor SDA1 / SCL1 is het nodig om pull-up-weerstanden van 2,2K toe te voegen aan 3,3V. Voeg in de sketch na #include <wire.h> toe:

#define wire wire1

SpeedFM

De sketch heb ik inmiddels klaar.
Het is niet mogelijk om hem via 5V?
Dan ga ik hem aansluiten aan de 3,3V.

SpeedFM

Aangesloten zoals gezegd word, alleen veranderd het display niet.
Hij vind hem wel via mijn search sketch, maar het weergeven werkt niet.
Iemand enig idee wat ik verkeerd doe?

SpeedFM

Niemand een idee hoe ik een LCD op SDA1 en SCL1 kan aansturen?
Kan hem namelijk wel vinden met search, maar er iets naar toe sturen, werkt steeds niet.
Ik zit Google al af te zoeken, met helaas geen resultaat.


SpeedFM

Bedankt voor de sketch, het heeft me geholpen.
Ik heb alles nu goed aangesloten en een storing aan de voltage opgelost (kabelbreuk).
Tot nu toe, werkt alles na behoren.
Bedankt voor jullie hulp en steun.

Go Up