Uitlezen motor 12v knipperlicht schakelaar met Arduino

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
Voor een motorproject wat ik recentelijk weer afgestoft heb, wil graag de knipperlichtschakelaar uitlezen met een Arduino.

Hiervoor loopt 1 schakeldraad naar het dashboard toe, die afhankelijk van de positie van de schakelaar, gekoppeld zit aan niks, ground of 12v. Zie hier ook het schema:
Afbeeldingslocatie: https://i.ibb.co/tm0J9Fg/ducati-696-electric-schema.png
4= schakeldraad naar dashboard
5= - GND
8 = + 12v

Ik probeer nu al een tijdje het juiste circuit hiervoor te bedenken om dit uit te lezen.
Het onderstaande schema heb ik gemaakt, een combinatie van de switch tussen ground en 12v en twee voltage dividers. Maar werkt niet. Als de schakelaar zwevend is, dan zijn mijn outputs naar de Arduino punten dat ook. Ik heb ook nog geprobeerd om een NPN transitor bij punt 2 toe te voegen. Daarnaast ook nog een pull down 1k en een pull up 1k toegevoegd bij de transistors, maar ook dat hielp niet.

Afbeeldingslocatie: https://i.ibb.co/7NpQQ3B/circuit.png

Ik heb het gevoel dat dit een redelijk basic scenario is, maar ik heb nog geen voorbeeld kunnen vinden.

Iemand ideeen?

Beste antwoord (via foske op 28-02-2020 22:04)


  • itcouldbeanyone
  • Registratie: Augustus 2014
  • Laatst online: 12-09 21:49
Waarom niet alleen een divider en bruik maken van een analoge ingang ?

Ben niet slim, maar wel dom

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • itcouldbeanyone
  • Registratie: Augustus 2014
  • Laatst online: 12-09 21:49
Waarom niet alleen een divider en bruik maken van een analoge ingang ?

Ben niet slim, maar wel dom


Acties:
  • 0 Henk 'm!

  • OverTheTop
  • Registratie: December 2017
  • Laatst online: 01:48
Je wilt 3 verschillende statussen lezen. Dat ga je dus nooit via één digitale ingang redden omdat die maar 2 states kan geven.
Je kunt het splitsen in 2 digitale ingangen: is ie 12v of niet ++ is ie gnd of niet
Of met een digitaal uit kanaal de pullup/down controleren
Of idd met een analoog inputkanaal werken
Keuzes genoeg dus....

Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
itcouldbeanyone schreef op woensdag 26 februari 2020 @ 22:32:
Waarom niet alleen een divider en bruik maken van een analoge ingang ?
Als er geen knipperlichten aan staan, geeft de schakeldraad maar max 0,07v terug heb ik gemeten, volgens mij is dit met een divider dan te weinig om nog verschil te meten ? of zie ik dat verkeerd?

Acties:
  • 0 Henk 'm!

  • BMW_Gizzmo
  • Registratie: Juli 2006
  • Laatst online: 13:24
Eh misschien te simpel, maar waarom die schakelaar 'moeilijk' uitlezen, je kunt toch ook gewoon de spanning die op je knipperlichten staat als input voor je arduino gebruiken. Die kabels zitten ook in je kuip en komen van je knipperlichtrelais (of van je elektronica, ken een duc 969 niet goed genoeg). Kan je ook nog iets verzinnen dat als je op zowel links als rechts gelijktijdig een puls ziet je alarmlichten aan staan.

Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
OverTheTop schreef op woensdag 26 februari 2020 @ 22:38:
Je wilt 3 verschillende statussen lezen. Dat ga je dus nooit via één digitale ingang redden omdat die maar 2 states kan geven.
Je kunt het splitsen in 2 digitale ingangen: is ie 12v of niet ++ is ie gnd of niet
Of met een digitaal uit kanaal de pullup/down controleren
Of idd met een analoog inputkanaal werken
Keuzes genoeg dus....
Ah, je triggert mij wel met de juiste termen. Volgens mij moet ik aan de slag danwel met de interne voltage comparator
Of als er niet genoeg pinnen overblijven, zoiets als Operational amplifier, klopt dat?

Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
BMW_Gizzmo schreef op woensdag 26 februari 2020 @ 22:55:
Eh misschien te simpel, maar waarom die schakelaar 'moeilijk' uitlezen, je kunt toch ook gewoon de spanning die op je knipperlichten staat als input voor je arduino gebruiken. Die kabels zitten ook in je kuip en komen van je knipperlichtrelais (of van je elektronica, ken een duc 969 niet goed genoeg). Kan je ook nog iets verzinnen dat als je op zowel links als rechts gelijktijdig een puls ziet je alarmlichten aan staan.
Helaas zitten er geen knipperrelais in, en is het dashboard (wat ik dus wil verwijderen) verantwoordelijk voor het knipperen.

Acties:
  • +1 Henk 'm!

  • BMW_Gizzmo
  • Registratie: Juli 2006
  • Laatst online: 13:24
Kabeltje Gr op 6V zetten via een vaste spanningsdeler, deze spanning meten via een input van je arduino, spannings=12V schakelaar in de ene stand, 0V=andere stand. 6V= geen van beide andere. Of nog mooier die via een vaste spanningsdeler met twee weerstanden gemaakte 6V terug voeren naar 1 ingang, een 2e spanningsdeler met dezelfde weerstanden naar je Gr aansluiting en dan de spaning die je retour krijgt meten en vergelijken. Ik denk dat je dashboard ook de 1e manier gebruikt.

[ Voor 5% gewijzigd door BMW_Gizzmo op 26-02-2020 23:17 ]


  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
OverTheTop schreef op woensdag 26 februari 2020 @ 22:38:
Je wilt 3 verschillende statussen lezen. Dat ga je dus nooit via één digitale ingang redden omdat die maar 2 states kan geven.
Je kunt het splitsen in 2 digitale ingangen: is ie 12v of niet ++ is ie gnd of niet
Of met een digitaal uit kanaal de pullup/down controleren
Of idd met een analoog inputkanaal werken
Keuzes genoeg dus....
Ik heb nu geprobeerd via de analoge poort de waardes te meten. Omdat de spanning van een motor wispelturig is, pak ik eerst een voltage divider van de Vin 12v, en breng dit naar 3,7v. Deze zet ik als analog reference in.
Daarna een andere voltage divider uit 4. Als de schakelaar naar 8 (12v) gaat, kan ik dit perfect uitlezen met mijn arduino,

Maar ground vergelijken lukt nu niet, want als de schakelaar niet verbonden is, dan zijn de waardes niet meer zwevend, maar 0. Ik denk dat de voltage divider nu ook een pull down werking heeft.
Klopt dat?
nog ideeen om deze pull down te omzeilen? Doe ik iets fout?

Een andere mogelijkheid die ik nu zie , is het kopen van een LM393 en 12 volt vergelijking te doen, maar ik ben benieuwd of dit nu met de arduino op te lossen is?

[ Voor 0% gewijzigd door foske op 27-02-2020 22:38 . Reden: typo ]


  • DataGhost
  • Registratie: Augustus 2003
  • Nu online

DataGhost

iPL dev

Ik zou persoonlijk lekker met transistors werken, want boordspanning kan nogal kut zijn voor een Arduino (nja, optocouplers wil je dus eigenlijk). Heel hoge pieken zijn niet abnormaal en kunnen de boel frituren. Ik had gisteren even snel een circuitje getekend met een NPN+pulldown voor je 12V en een PNP+pullup voor je 0V, als je die aan twee pinnen hangt kan je de 3 staten van je systeem meten. Als 'ie zweeft gelden de pulls (in theorie) en als je je richtingaanwijzer aanzet verandert een van beide van staat. Mijn circuitje was echter niet zo mooi en is ook niet helemaal goed (ik doe het ook maar als hobby en "kom net kijken"), in de simulaties werkte het op zich wel maar dat was volgens mij meer geluk dan wijsheid, dus of het in de praktijk ook zal werken vraag ik me een beetje af. Het gedroeg zich in ieder geval niet zoals ik in gedachten had, ook al klopte het eindresultaat. Anyway, die richting kan je misschien op denken.

  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
DataGhost schreef op donderdag 27 februari 2020 @ 22:06:
Ik zou persoonlijk lekker met transistors werken, want boordspanning kan nogal kut zijn voor een Arduino (nja, optocouplers wil je dus eigenlijk). Heel hoge pieken zijn niet abnormaal en kunnen de boel frituren. Ik had gisteren even snel een circuitje getekend met een NPN+pulldown voor je 12V en een PNP+pullup voor je 0V, als je die aan twee pinnen hangt kan je de 3 staten van je systeem meten. Als 'ie zweeft gelden de pulls (in theorie) en als je je richtingaanwijzer aanzet verandert een van beide van staat. Mijn circuitje was echter niet zo mooi en is ook niet helemaal goed (ik doe het ook maar als hobby en "kom net kijken"), in de simulaties werkte het op zich wel maar dat was volgens mij meer geluk dan wijsheid, dus of het in de praktijk ook zal werken vraag ik me een beetje af. Het gedroeg zich in ieder geval niet zoals ik in gedachten had, ook al klopte het eindresultaat. Anyway, die richting kan je misschien op denken.
Ik heb inderdaad ook gedacht aan optocouplers, maar omdat het standaard dashboard deze ook niet heeft, en topics zoals dit https://forum.arduino.cc/...791.msg2891606#msg2891606 triggerde mij om toch weer voor de divider te gaan.
Het transistor deel kan ik nog wel even proberen, hoewel ik wel beniewd ben wat ik fout doe met het bovenstaande verhaal. En het "kom net kijken gevoel" herken ik wel ;) tijdens het project heb ik eigenlijk geprobeerd om het elektra deel niet te doen. Maar nu ik toch besloten heb het volledige dashboard te verwijderen, moet ik wel :)

  • DataGhost
  • Registratie: Augustus 2003
  • Nu online

DataGhost

iPL dev

Ik gebruik de transistors dan wel anders dan jij in je diagram hebt gedaan. Bijv. in het geval van een NPN hang ik de collector aan een pin van de arduino met een pullup, en verbind de emitter met ground. Als je vervolgens op de base een spanning zet (12V) gaat de transistor geleiden en trek je de pin van de arduino omlaag van de 5V (pullup) naar 0V. Wel op de juiste plekken de juiste weerstanden gebruiken en datasheets checken natuurlijk zodat niet alles affikt :)

Acties:
  • 0 Henk 'm!

  • foske
  • Registratie: Juli 2001
  • Laatst online: 29-09 09:38
Uiteindelijk ben ik toch gegaan voor de eerste oplossing, de analog read met voltage divider. Dit lukte in eerste instantie niet omdat de voltage divider bij een zwevend signaal een pull down is.
Door het toevoegen van een extra 10k weerstand op de + voor de voltage divider kan ik nu netjes het verschil lezen tussen de 3 statussen.

thx!

@DataGhost : Ik geloof niet een 12v op de base zetten zo heel handig is, volgens mij is die juist altijd maar max 6v oid.

Acties:
  • 0 Henk 'm!

  • DataGhost
  • Registratie: Augustus 2003
  • Nu online

DataGhost

iPL dev

Ik bedoelde met de 12V de 12V van je knipperlicht, a.k.a. "het signaal" maar dat heb ik niet heel duidelijk verwoord nee. Ik heb altijd nog een weerstandje voor de base zitten wat voor genoeg spanningsval zorgt en ook de IBE beperkt.
Pagina: 1