View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000220 | Microcontrollers, shields, automation, arduino | [All Projects] General | public | 2017-03-20 09:33 | 2017-05-12 09:33 |
Reporter | DigitalMy | ||||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | assigned | Resolution | open | ||
Summary | 0000220: Control stepper motors (drivers) powered by 12V with ESP8266 modules | ||||
Description | There 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. | ||||
Tags | No tags attached. | ||||
|
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 |
|
AccelStepper library, for some case, cannot give speed more than 12 mm/s. |
|
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. |
|
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 |