Quantcast
Channel: Reprap Forum - Firmware - Marlin
Viewing all articles
Browse latest Browse all 2831

Adding additional axes to Marlin (no replies)

$
0
0
Hi All,

I have question. I am currently designing a tool changer upgrade. This tool changer has a elevator mechanism to elevate parked tool heads to maintain the usable print area. The elevator is operated by two steppers. The tool changer also uses a stepper to lock the tool head. I other words, I need two additional axes in Marlin.

There are two options as far as I can see. The bad way and the right way.

The bad way
In the past (Marlin 1.1.0-RC6) I used the bad way. I create my own G-code number and programmed delays in combination with extDigitalWrite. I also added some genuine G-code commands in-between so all axes worked in sequence. This created one G-code command which did an entire sequence of things with many different axes. I had to add a refresh_cmd_timeout() every now and then to prevent the watchdog from shutting everything down due to the delay commands. The bad way worked like a charm. It had some pros and cons. The pros was that it was easy programming and migrating it to a new version of the firmware was relatively simple. I only added a new G-code command. The downside was that the delays temporary locked up all other systems in de printer which was acceptable at the time.

I am currently working with Marlin 2.0. Refresh_cmd_timeout() does not longer work. Therefore the watchdog shuts me down. I am not entirely sure if the bad way is still possible.

The good way
The good way will be to add the axes in a similar way to adding additional extruder axes. I never tried this. I have no idea if it can be done relatively easily.

I would love to hear your advice on this. The bad way which temporary locked all other system would still be acceptable to me. As long as it doesn't create a fire hazard. The good way would be awesome if it is doable.

Viewing all articles
Browse latest Browse all 2831

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>