Welcome! Log In Create A New Profile

Advanced

Setting Up Polar Firmware

Posted by runninfarmer 
Setting Up Polar Firmware
April 01, 2015 01:04AM
I'd like to build a printer like Polar3D's polar based printer: [3dprint.com]. I'd like to use Repetier firmware but I'm not sure how to configure the firmware to have one motor rotate the build platform, while the other two motors control Z and Y axes. I appreciate any info on if this has been done before!
Re: Setting Up Polar Firmware
April 01, 2015 04:19AM
No, this is not implemented (as far as I know). You would need to do it like for delta printers just with different formulas. These formulas are a bit more complex I think, so using arm based boards seem to be a very good idea.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Setting Up Polar Firmware
April 01, 2015 01:17PM
I believe I could prgram the trigometric formulas with some help. For instance, if the cartesian coordinate is [43,30,4]. I know the polar coordinate would be [sqrt(43^2+30^2), atan(30/43) degrees] at Z height of 4mm. Essentially I would have y-axis =sqrt(43^2+30^2), and x-axis motor= atan(30/43) degrees. I wouldn't use an x-axis endstop, but I would use y-axis endstop, which would be enough for the position since y-axis is radius? What part of the configuration file would I implement these changes? Thanks for the help!
Re: Setting Up Polar Firmware
April 01, 2015 01:33PM
You need a new DRIVE_SYSTEM value that is free. Then check all source where
DRIVE_SYSTEM == DELTA

and see if you also need a special case there. The most important is the transformation and also homing procedure will not work as it is now. With these 2 changes and some hard coded variables for your arm length it should already move like you want. Most cases are for user interface, configuration and autoleveling where delta is also always different.

Also notice atan is evil on AVR processors. It is equivalent to around 10 square roots which are already not fast. So don't go to fast with that printer or use a arm board (e.g. Due+ RADDS).


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Setting Up Polar Firmware
April 01, 2015 02:10PM
Thanks for the fast reply! Where are the trigonometric calculations implemented for DRIVE_SYSTEM==DELTA? I've searched it within configuration.h and can't find where those calcs are? Unless they're in ui.h?
Re: Setting Up Polar Firmware
April 01, 2015 02:18PM
Check motion.cpp

uint8_t transformCartesianStepsToDeltaSteps(int32_t cartesianPosSteps[], int32_t deltaPosSteps[])

yours must also have the same name. The trick is to use the nonlinear handling and replace the transformation by yours.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Sorry, only registered users may post in this forum.

Click here to login