View Issue Details

IDProjectCategoryView StatusLast Update
0000220Microcontrollers, shields, automation, arduino[All Projects] Generalpublic2017-05-12 09:33
ReporterDigitalMy 
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Summary0000220: Control stepper motors (drivers) powered by 12V with ESP8266 modules
DescriptionThere are motor shields available,
includong tested Keyes board for single A4988 Pololu (StepStick).
Currently we use 3.3V levels from ESP8266 chip for A4988 driver and it works.
Need to modify software for smooth operation in wide speed range.
Test maximum microstep.
TagsNo tags attached.

Relationships

related to 0000228 assignedDigitalMy DC motor speed control (12V) by temperature (with Digispark) 

Activities

DigitalMy

2017-03-20 09:39

administrator   ~0000493

Last edited: 2017-03-20 10:09

View 6 revisions

Motor Nema17 1.7A runs in range,
from 1 step/second (1 Hz)
to 1 kHz, measured on STEP pin of A4988 driver, which is
~ 3.2s/200*16=3200steps/40mm one turn =1000steps/second =12.5mm/s,
but bigger frequency gives beep and no motion.

Target linear motion speed of 100mm/second needs 8000steps/second (8kHz),
since we use smoothmost microstep 1/16 (80steps/mm).

Changed PWM:
set delay 20microseconds between each digitalWrite()
duplicated HIGH and LOW as follows:

digitalWrite(PIN_STEP,HIGH);
delayMicroseconds(T_STEP);
digitalWrite(PIN_STEP,HIGH);
delayMicroseconds(T_STEP);
digitalWrite(PIN_STEP,LOW);
delayMicroseconds(T_STEP);
digitalWrite(PIN_STEP,LOW);
delayMicroseconds(T_STEP);

After this it gives stable 11.1 kHz on STEP pin maximum, ~ 138mm/s linear motion

DigitalMy

2017-03-20 09:40

administrator   ~0000494

AccelStepper library, for some case, cannot give speed more than 12 mm/s.

DigitalMy

2017-03-20 10:32

administrator   ~0000495

Implemented in ESP8266DM_SM.ino

Programmable microstep join allowed to reach 100mm/s,
bug 101mm/s gives twice bigger kHz (16) and motor fails without acceleration.
Need acceleration for high speeds.

DigitalMy

2017-03-20 12:19

administrator   ~0000496

Last edited: 2017-03-20 12:22

View 2 revisions

With debug to Serial port, maximum speed cannot go above 8.0mm/s
Without debug max = 200.0mm/s , but it changes non-linear after 50.0