Stap 6: ik nooit half-stap, want ik niet een half-stepper ben...
Quest lyrische opzij, half-intensivering van uw motor is where it's at. U krijgt meer piekstroom, meer momentane koppel, en tweemaal de hoekige resolutie.Half-intensivering in een notendop: in plaats van blauw, zwart, rood, geel, rijdt u de motor met blauw, blauw + zwart, zwart, zwart + rood, rood, rood + geel, geel, geel + blauw. Het resultaat is dat voor de helft van de tijd u zowel magneten in een keer boeiende bent.
En tijdens de tijden die beide sets betrokken zijn, wijst de motor halverwege tussen de twee, inkrimping van de hoek tussen "stappen" en de motor turn soepeler maken. Kunt u vertellen van de video? Ik ben niet zeker...
Het deel van de code dat de helft-intensivering doet ziet er nu als volgt:
void halfStepping(uint16_t delay, uint8_t direction[]){ uint8_t i; for ( i=0; i<=3; i++ ){ PORTB = direction[i]; /* single-coil part */ _delay_ms(delay); PORTB |= direction[i+1]; /* add in half-step */ _delay_ms(delay); }}
De eerste opdracht van de PORTB stelt een enkelpolige positief en al de rest naar negatief. Wacht. De tweede PORTB opdracht stelt vervolgens een tweede paal (op de andere liquidatie) positief, boeiende beide windingen voor 1.4 x het koppel (en 2 x de huidige).
Een volledige programma aanbieding is die hieronder zijn toegevoegd. Twee matrices zijn nu gedefinieerd (met de klok mee en tegen de klok in) en beide hebben 5 elementen elk te staan voor de i + 1 vermelding in de halfStepping functie.