Replacing extruder with relay operated welding torch

Hello guys, ladies,

Together with 4 other guys I'm converting a Prusa i3 to a MAG welder based metal 3D printer. We're doing this as a part of a minor program for the Delft University of Technology. You can see our work on our blog, Open source metal 3D printer. We've got all the hardware done and we have printed some test objects manually, with great results.

Now, however, we are in trouble. The Repetier firmware used for 3D printing contains great code for printing with an extruder, the problem is, we don't use one. We want to replace the code used for the extruder with a simple relay command, without the printer slowing down like you'd want for a polymer extruder. We know it has been done and we know it's possible, we just don't know how to do it.

That's why we are hoping somebody here will be able to help us with a suggestion, an idea, a usable line of code or even a working solution. Naturally, we will give you the credit you deserve on our blog, if you want that, of course. Or have a cookie, if you feel like visiting us at the Industrial Design faculty of the Delft University of Technology.

Sorry if I posted this in the wrong category, I'm kinda new to this...

Thanks a lot in advance!

Comments

  • So you want to print with constand speed? Simply increase your jerk xy to 2*max speed and there will be no accelerations at all. Of course it gets jerky and that would limit max speed.

    Then you have some options on how to solve your print problem. 
    1. Electronic solution - Fake an extruder. Use 100K resistor to fake thermistor, print with 0°C filament temperature and use the stepper signal to enable relay with some capacitor and switch for load. So as long as you have x steps per signal it will hold relay on and relay will disable as soon as stepper signals stop. That way no code changes are needed.

    2. Not sure if you need to fake extruder, should compile without extruder as well. Then find in bresenham where new line start and detect if you need to enable relay or disable it. Also you need to find test when buffers are empty to disable relay there.
  • Thanks a lot!
    The control for the relais now works. However, when we give a G-code command with coordinates and extrude(E####) then the printer moves slower than when just sending a G-code command with just coordinates.
    For instance, G1 X5 Y3 Z4 E20 vs G1 X5 Y3 Z4 then the first code makes the printer move at a slower speed than the second code, which makes the printer move at the correct speed. Since we use a welding torch, we rely on the printer speed for quality. If the speed is too low, we just get a big blob of metal instead of the product we wish to print.
    So your solution to get a constant speed does work, which already helps but it's just a too low speed. Is there any way to change the speed of the printer for when it is extruding?
  • Normally you get the same speed, except if max. e speed is violated and causes speed to go down. So make sure that max. e feedrate is high enough. Your example with E20 looks like E has to move 3* faster then xy so it even dominant. Also Z can limit speed depeding on jerk z and max z. feedrate! You normally do not print while z changes.
Sign In or Register to comment.