Topic: Filawinder with Filabot
I'm using a filawinder with a filabot, mainly because i dont want to wait a whole day for a spool of filament. I changed the gear ratio so the winder can keep up (https://www.thingiverse.com/thing:2912099) however the filament spooling is quite jerky and as a result the filament diameter is very inconsistent. How can this be accounted for in the firmware? I changed some variables to improve it and it works good when spooling starts, but when spool is full it's much more sensitive and has issues. it seems the motor turns on and off at 1 second intervals . is there a way to have it activating more times per second, polling more frequently for a shorter duration, to keep filament at a more consistent arc/height/diameter? please see below for reference:
firmware changes:
The changes are all made to FilaWinder_11.ino:
line 290 changes max motor speed. Default is 1.7, i'm running it at 0.4:
int ScaledOutput = (Output * 0.4); //Scale the Output from 0-150 to 0-255) default is output * 1.7
line 295 is acceleration. It speeds up at 20 units/cycle:
if ( (puller_speed - puller_speed_old) > 20) puller_speed = puller_speed_old + 20; //default is 25
line 296 is Deceleration, -4 units/cycle:
if ( (puller_speed - puller_speed_old) < -4) puller_speed = puller_speed_old - 4; //default is 25
I was thinking it may be beneficial to implement PID auto-tuning of motor speed, has anyone looked into this? I'm not sure if this would be static or if it's going to account for slowing down the wind speed as spool fills up.