Styra motor m ljussensorer / encoder via Arduino kod

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Visade sig att det var mitt Oscilloskop (som är av den billigaste sort) inte riktigt hängde med när det kom till att vara automatisk :bravo:
Jag var tvungen att trycka lite på knapparna för att se fyrkantsvågen.
Så här har vi dom :shock:
S1 ger en liten fyrkantsvåg.
S2 ger en avlång fyrkantsvåg.

Nästa fråga, kan jag få Arduinon att förstå dessa två signaler så att jag kan styra motorn på nåt smidigt sätt via dessa? :humm:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
KLset
Inlägg: 207
Blev medlem: 31 augusti 2014, 17:36:19
Ort: Uppsala

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av KLset »

Hej fosfor, gör du några framsteg?
Användarvisningsbild
lond
Inlägg: 3508
Blev medlem: 23 september 2009, 11:52:45
Ort: Hyssna

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av lond »

Dessa länkar kanske kan vara till hjälp:

https://github.com/misan/dcservo
https://www.youmagine.com/designs/dc-mo ... l-software

Skaparen till koden finns även här på forumet: misan

/// Marcus
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Tjosan!

Sakta men osäkert :shock: Jag har nu lyckats koppla in den till Arduinon så att jag ska kunna läsa pulserna från
kanal 1 och 2 från motorn. Men tyvärr flimrar pulserna på displayen, och den läser dom inte korrekt. Den flimrar upp och ner och stannars oftast på noll.
Jag tror jag måste göra nåt slags finlir i koden. Några förslag?
Sitter och donar med det just nu. :humm:

Tack för länkarna! Ska kolla in dom strax också. :tumupp:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av Icecap »

Pulserna kommer väldigt snabbt och om du skriver ut antalet på displayen finns det inte en suck i världen att det hinns med.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Det här är ett program som räknar pulserna, så det borde stå t.ex. 250 Pulses om det har passerat 250 åt ena hållet
och det borde stå Pulses -250 om den går åt andra hållet.

Jag har bekräftat att den kan räkna, genom att koppla in en annan sensor. Då flimrar inte värdena kvar på ett och samma.
Däremot blir det nåt annat fel, så de rusar åt fel håll. Men de registreras iaf på skärmen.
Problemet här (se foto) är med denna sensor så registrar den pulser fastän inget passerar sensorn :shock: :humm:
Hur tusan kan det bli så?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Testar igen med motorn som har inbyggd encoder.
Jag får dessa värden på kanalerna ut med multimeter

Kabel 1 - Sensor 1/2 Långsamt handrullat switchar den mellan 1,3V - 2,5V Med motorn igång 1.8V
Kabel 3 - Sensor 2/2 Långsamt handrullat switchar den mellan 0,7V - 3,3V Med motorn igång 2V

Den verkar inte registrera Sensor 1 alls på Arduinon, och med Sensor 2 så flimrar den, eller stannar ibland.
Kan det vara att det behövs större skillnad mellan låg och högt på varje sensor?

När jag testade de andra sensorna (de svarta) som ligger mellan 0.2V och 5V så funkade det inte heller.
Men då bara sprutar signalerna åt andra hållet istället. Men räknaren stannar om jag blockerar sensorerna.

Jag har följt den här guiden och använder hans pulsräknarprogram.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Nu verkar jag ha fått de svarta sensorklossarna att fungera.
De som växlar mellan 0.2V och 5V som signaler.

Jag testade att köra både jord och 5V från Arduinon istället för att köra det separat.
Och då verkar de registrera signalerna helt korrekt. Ska testa lite närmre.

Då borde det bara vara en programmeringsfråga att få Arduinon att förstå de annorlunda signalerna som kommer från
motorn med inbyggd rotaryencoder?
Den växlar signaler mellan 1.3V - 2.5V och 0.7V - 3.3V.
Vilket kanske då är lite för nära varandra för att Arduinons befintliga programmering ska förstå det?
Kanske till och med så att Arduinons ingångar inte kan läsa det eller? :doh:
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av Icecap »

GND i de två system ska ALLTID vara den samma/ihopkopplat! Annars blir det ingen referens som kan användas.
Användarvisningsbild
hawkan
Inlägg: 2586
Blev medlem: 14 augusti 2011, 10:27:40

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av hawkan »

2.5V är för lågt för att registreras som "hög" på en digital ingång.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Finns det något sätt jag kan göra så att den här 3.3V sensorn, motorn med inbyggd encoder.
Skickar under 1V och 5V till den digitala ingången?
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av Icecap »

Ja. Det är så enkelt som att - för varje signal - ta en NPN-transistor och två motstånd.

Ena motståndet (4,7k - 10k) mellan 3,3V signalen och basen.
Emitter till GND.
Andra motståndet mellan kollektor och +5V.

Ta ut signal på kollektorn. Det är fasvänd men likaväl användbart.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Ok strålande, skall testas, tack!

MEN det finns ingen risk att transistorn "slöar ner" signalen då?
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av Icecap »

Njooo... vid ung. ett par MHz ska man fundera lite på motståndsvärden och kopplingens strökapacitanser men vid detta där det rör sig om området kring 10kHz är det knappast ett problem.

Man kan göra en emitterkopplat nivåomvandlare men den är inte helt enkel om man inte har bra koll på det hela (samma antal komponenter) och den lär följa med bra långt upp i frekvens.

Det definitivt långsammaste element i denna totala kopplingen är fotodioden i sensorn...
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Styra motor m ljussensorer / encoder via Arduino kod

Inlägg av fosfor »

Ser nu att ena signalen ligger mellan 0.7V och 3.3V

Men den problematiska signalen ligger mellan 1V och 2.5V
efter att jag satt på större motstånd, dvs fick ner lägsta Volt med 0.3V

Tror du att den signalen skulle fungera som en nolla kanske?
Skriv svar