T: Aduino programmering

Användarvisningsbild
wiklis
Inlägg: 1931
Blev medlem: 11 mars 2009, 22:33:47
Ort: Skellefteå

T: Aduino programmering

Inlägg av wiklis »

Nån som känner för att sätta ihop ett Arduino program åt mig? (Är kass på sånt, tyvärr)

Den ska läsa av en pulsgivare med A och B signal (för rotationsriktning)
Givaren ger 3000 ppr 5 volt
Ut ska komma ca 100ppr (inställbart), nån sorts division går alltså åt

Signalen ska gå till en stegmotor drivare som ger en förflyttning på 5/1000 mm / puls (ungefär).
Vad jag kunna lista ut går stegmotorn fram ett steg när ingången dras från hög till låg.
Riktningen bestäms av en annan ingång på drivaren (hög-låg , fram back).

Har ingen bra koll på hur knepigt det här är, kan tänka mig att divisionen kanske ställer till det.

Ersättning enligt överenskommelse (Det är ingen produkt som ska säljas)
Användarvisningsbild
tecno
Inlägg: 27009
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: T: Aduino programmering

Inlägg av tecno »

Varför utgå ifrån 3000ppr? Vilken rotationshastighet kan det bli frågan om på pulsgivaren?
Användarvisningsbild
Icecap
Inlägg: 26093
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: T: Aduino programmering

Inlägg av Icecap »

Att göra programmet med divisionen ska väl inte vara så svårt, det svåra är avläsningen av rotationsgivaren. Om det inte finns dedikerat hårdvara som kan styra en räknare (finns t.ex. på Renesas M16C's timer) är det svårt att läsa snabbt nog om du rullar på lite snabbt.
Användarvisningsbild
wiklis
Inlägg: 1931
Blev medlem: 11 mars 2009, 22:33:47
Ort: Skellefteå

Re: T: Aduino programmering

Inlägg av wiklis »

Såg den här videon, på nån som hade knåpat ihop det.
Det är enstaka varv på minut, så låg fart.
3000ppr var bara för att jag råkade ha sådana encodrar hemma.
Det handla om att röra axlarna på en svarv, måste kunna justera divisionen för att få tex ett varv på X att motsvara 1/2 mm

Användarvisningsbild
tecno
Inlägg: 27009
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: T: Aduino programmering

Inlägg av tecno »

Hade mina aningar om att det var gamla blomman du vill få fart på. Gör livet enkelt och haka på en PC och styr svarven den vägen istället.

Mycket enklare att få till RÄTT parametrar den vägen än att hålla på och labba med koden till en Arduino.
Glattnos
Inlägg: 2972
Blev medlem: 29 oktober 2009, 20:01:18

Re: T: Aduino programmering

Inlägg av Glattnos »

Är det alltså två "fyrkants-signaler", A och B?

Det borde ju inte vara så svårt :humm: Måste det vara inställbart på plats eller räcker det med att man kan programmera om den och ha ett fast divisionsförhållande i programmet?
Är det bråttom? Jag skulle kunna testa att göra ett program men har lite kort om tid för tillfället.

Edit: Ser ju ut att redan finnas en länk till programmet i videons beskrivning :)
SeniorLemuren
Inlägg: 7771
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: T: Aduino programmering

Inlägg av SeniorLemuren »

Hur man läser av encodern visas ju exakt i programmet som du länkat till och en division är ju inget konstigt. Grejen är väl vilken typ av input du vill använda för att ändra divisorn (eller vad det heter).
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43129
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: T: Aduino programmering

Inlägg av sodjan »

Angående divisionen...

> Givaren ger 3000 ppr...
> Ut ska komma ca 100 ppr

Om det är OK med 93.75 ppr ut så blir divisionen väldigt enkel.
3000 / 32 = 93.75.

Men annars så gör man nog inte detta med en division. Man låter
pulserna in räkna upp/ner ett register och vid vissa gränsvärden så
gör man en puls ut. Du får alltså ett "glapp" på ca 30 pulser in, men
det måste du ju ha räknat med. Sen så kan ju gränsvärdet enkelt
ställas till valfritt värde utan några divisioner.
Användarvisningsbild
wiklis
Inlägg: 1931
Blev medlem: 11 mars 2009, 22:33:47
Ort: Skellefteå

Re: T: Aduino programmering

Inlägg av wiklis »

tecno skrev:Hade mina aningar om att det var gamla blomman du vill få fart på. Gör livet enkelt och haka på en PC och styr svarven den vägen istället.

Mycket enklare att få till RÄTT parametrar den vägen än att hålla på och labba med koden till en Arduino.
Är inte själv så sugen på att ha kvar den här svarven, har ingen plats för den är väl ett argument...
Här uppe är det glest mellan dom som ev har nåt intresse för en så här grej.
Ibland känns tillvaron som en ökenvandring bland träsnidare, älgjägare och snöskoternissar.
Enda sättet att få den härifrån, kanske till och med få lite vinst på den är att få den att likna en vanlig svarv så mycket som möjligt.
Handvevad alltså, då kanske...
Glattnos
Inlägg: 2972
Blev medlem: 29 oktober 2009, 20:01:18

Re: T: Aduino programmering

Inlägg av Glattnos »

Jag tänkte lika som sodjan, att man räknar alla pulser in och vid gränsvärden genererar pulser ut.
Tänker jag rätt här:
Om det till exempel ska bli en puls ut per 42,75 pulser in så kan man ha en räknare som är 42,75 x 4 = 171(blir väl en räknare på 0-170 som slår om till 0 på 171) och låter varje puls in åt ena hållet räkna upp och åt andra hållet räkna ner. Sen genererar man pulser ut på 43, 86, 128 och 0(171). Man tappar lite precision om det blir decimaler som i detta exempel, men det kommer ändå inte dra sig över längre distans.

Man måste ju generera två fyrkantpulser ut så att man härmar givaren och få riktningen.
Användarvisningsbild
tecno
Inlägg: 27009
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: T: Aduino programmering

Inlägg av tecno »

Hade jag plats så hade den fått nytt hem här på direkten.

Hävdar fortfarande att haka på en PC gör livet enklare för dig på alla de sätt.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43129
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: T: Aduino programmering

Inlägg av sodjan »

> Om det till exempel ska bli en puls ut per 42,75 pulser

Det är ju ett kolossalt dåligt val! Här handlar det ju bara om att
"växla ner" ett reglage (som ger onödigt många pulser) till något
som gör maskinen hanterbar. Självklart väljer man en faktor som
underlättar implementeringen och programmeringen. Gärna en
faktor som 2, 4, 8, 16, 32 o.s.v. Det kan ge andra fördelar...

Eftersom det är ett manuellt reglage så spelar det nog ingen
roll om det hela "drar sig" eller om pulser in missas ibland. Eller
har reglaget någon mekanisk skala som måste stämma hela tiden?
Användarvisningsbild
wiklis
Inlägg: 1931
Blev medlem: 11 mars 2009, 22:33:47
Ort: Skellefteå

Re: T: Aduino programmering

Inlägg av wiklis »

Nej, ingen mekanisk koppling
Glattnos
Inlägg: 2972
Blev medlem: 29 oktober 2009, 20:01:18

Re: T: Aduino programmering

Inlägg av Glattnos »

sodjan: 42,75 var inget val utan ett exempel
Glattnos skrev:Om det till exempel ska bli en puls ut per 42,75 pulser
Jag började fundera och skriva inlägget innan jag visste att det inte spelade någon roll vilken division det skulle vara, jag tog bara för givet att det skulle bli exakt. Mitt exempel funkar för i princip alla divisioner(även 2, 4, 8, 16 osv) utan att ta mycket processorkraft(tid) på udda divisioner.

Edit: Sen om man ändå ska ha en uC så ser jag ingen anledning till att inte göra det exakt så man får lagom utslag. Det är ju lättare om 10mm på svarven är ett fast antal helvarv än om det är typ 5,3 varv.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43129
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: T: Aduino programmering

Inlägg av sodjan »

> 42,75 var inget val utan ett exempel

OK, då ändrar jag mig till att det var ett kolossalt dåligt exempel... :-)

Wiklis får avgöra om det måste vara ett jämt förhållande mellan antalet
varv på reglaget och antalet mm förflyttning i maskinen.
Skriv svar