---------Some unimportant BS---------
The Al motor mount parts came back from the workshop. minor issue during assemblying because I am not aware the controller board is actually that TALL and hence those designed mounting position doesn't work. Nevermind, at least the magnetic encoder is positioned correctly.
I rewrote the firmware, I rewrote the EMC2 HAL userspace driver, the pyvcp UI. I don't like the stock V3 firmware that it has basically no safe guard.
Say if the RS485 link is down, it won't stop. if the thermistor is disconnected, it won't stop. if the heater doesn't heat up the thermistor (suggesting thermistor fall off from the block), it won't stop...I would definitely share the codes on github in a few days.
I spent a two days to hook everything up. Now I could press a button and the motor starts spinning.
It's a pinchwheel design, constructed by T2.5 pulley mounted on the shaft, and a 5mm*11mm*3mm(thick) skate bearing mounted on an M5 which is then mount in parallel with the output shaft, leaving ~2.5mm spaces in between. Result? It grabs so well that I couldn't even pull the ABS stick out of the way! Sonuds too good to be true.
I then started trying to drive it with PID instead of PWM. As I always think, writing program is much easier than making mechanicial system works...
----------end of BS-----------
I am using a geared DC motor, hooked to AS5040 magnetic encoder to do closeloop feedback. However, the encoder is sensing to the geared output shaft. I just wish there was a shaft at the back side, but there isn't. So it gives me only 512 resolution per revolution. (Recall that we are interrupting the pin A edge changes only in the firmware)
I don't know about the gear ratio, as it's a 2nd hand motor customized for OEM, the spec couldn't be found...but the speed is like 80rpm at free load.
Now I have really bad luck in tuning the PID loop. Spend a few hours and couldn't get it works in acceptable shape. No problem at high speed but at low speed, it's simply stop-and-go-and-stop-and-go...
I am thinking...is the motor spinning too fast? Would buying a motor with single-digit free load RPM helps?
What is the usual extrusion rate? I am not sure if my Math is right here.
Nozzle: 0.5mm, ABS Thread: 3mm. Target should be around 36mm/s?
36mm/s / (3*3 / 0.5/0.5), that would be 1mm/s on the thread. My pulley is dia 11.4mm => ~36mm circumference.
which means I need 1/36 revolution per second, with 512bit encoder resolution, I need to be at about 14-steps per second.
Wow. Looks like a small number. Could PID loop really tuned for speed as slow as that?
Anyone know if there is any good PID loop tuning guide around?
Edited 2 time(s). Last edit at 09/01/2009 03:46PM by sam0737.