Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  4 1306
Jeg ser etter en metode å kunne få feedback fra en stepper motor, jeg tenkte noe slikt:



(Ikke diss paint tegningen min)

Tanken bak dette er å kunne vite om stepper motoren roterer eller har kjørt seg fast, og eventuelt utløse en alarm, i tilfelle noe har kommet i veien. Selvsagt så må jo den optiske rotary encoderen gires om, slik at den gir en puls pr step.

Jeg ser for meg å kunne bruke den på følgende måte (Pseudokode):

Kode

while(!exit)
{
    step_forward()  //Kjør et step framover
    response = read_rotary_encoder();

    if(response == 0)
    {
        trigger_alarm();
        exit = true;
    }
}
Eneste bekymringen er at dette vil føre til at rotasjonshastigheten til stepper motoren går betraktelig ned. Vil dette fungere? Eller finnes det bedre måter å få feedback fra en stepper motor?
"Øko-Terrorist"
Har du vurdert en optical decoder?
En vanlig kilde for å finne brukte er i f.eks printere.
http://blog.nidec-avtron.com/encoder...-encoders-work

Du kan vel kanskje også monitorere strøm som motoren trekker, er den over et vist nivå har den kjørt seg fast eller det er treghet i systemet. Ingen strøm så har den stoppet.
Sist endret av tr80r; 8. juni 2018 kl. 22:24. Grunn: Automatisk sammenslåing med etterfølgende innlegg.
Med mindre det er viktig å vite om motoren har stoppet med en gang etter ett step ville jeg kansje endret koden litt til å godta litt slakk, så slipper du å synkronisere encodern og motoren helt.

Kode

int slack = 0;
while(!exit)
{
    step_forward()  //Kjør et step framover
    slack++;
    if(read_rotary_encoder() > 0) slack = 0;
 
    if(slack > 200)
    {
        trigger_alarm();
        exit = true;
    }
}
Trigonoceps occipita
vidarlo's Avatar
Donor
Det finst og ferdige servodrivere, som tar seg av handtering av feedback frå encoder, slik at du slepp å gjere det i software.
Har du vurdert en børsteløs motor istedet. Odrive selger motor kontroller som mulig kan brukes.