- September 11, 2017 at 3:55 am #43643Most residential uses the water main as a ground.
I ran into that while remodeling this house over the last couple of years. The previous owner had replaced a bunch of the plumbing with PEX in the crawl space, removing the old galvanized (though he thought it was too much work to replace the galvanized in the walls). Guess where the GFCI in the bathrooms were grounded? It turns out that PEX doesn’t conduct worth sh*t… I had to run ground wires vertically through the walls so I could tie them in to the house grounds coming out of the electrical box. But then I now know for sure what the electrical is actually like in this 97 year old house. It still had live knob and spool in most of the house when I bought it. 😉
That’s not the proper way to ground the wiring though. Everything should be grounded back to the panel, then from there to ground. My house was built in 1832, so I run into the same kinds of WTF wiring hacks too.October 8, 2017 at 6:37 pm #45632
Yay! It’s working guys, it’s finally working! Alleluia!
So, after a lot of hard work, I finally managed to get the plasma cutter to work properly with the MPCNC. It’s been quite a challenge, but now I’m pretty confident the MPCNC will run quite a bit more reliably.
So, what have I done?
-Shielded everything I could shield: all the motor wires are shielded. On the motor side, the motor body is attached to the wire shielding using some breaded copper sleeve. Then on the other side, the motor cables are attached to the control box using some shielded connectors.
-I’ve built a control box to secure all the electronics, including the power supply, the screen, the Arduino.
-All the chassis is grounded
-Plasma torch is shielded (don’t know if this is useful, but probably couldn’t hurt)
It’s been quite a pain to do this, especially since I’ve originally spent so much time on my wiring using RJ45 wires. Cutting and removing all those neat wires was heart breaking. But in the end, the new system turns out to be a bit cleaner.
So, I made a few tests, and as it turns out, I never had the slightest problem with the Arduino or the motors losing steps. So, problem solved!
The results on those pictures look like crap only because I had no way to secure the material in place. At some points the torch touched the work and moved it, ruining everything. But I don’t really care, my point was just to see if it the machine itself would work correctly, and it seems like it did.
So now, I just need to build some kind of cutting table, I’ve purchased some steel and will try to make one soon.
As usual, tons of pictures:
The electronics Faraday box:
The Common earth ground star center point. Not pretty but I’ll make it cleaner later:
The Z axis shielding and the torch shielding:
The MPCNC right after the test cut:
Test cut results:
The metal plate was about 1mm thick, it took something like 30 seconds to cut.
I still need to find the correct settings for the CNC speed and the plasma cutter air pressure/power, but this is probably the easy part.
I think warping during cut will be an issue, though. I may have to build a water table to keep the sheet cool while cutting. I’ll do some more tests to see if this is absolutely necessary.
Anyway, this is a huge step for me, I now have a real multifunction machine capable of 3D printing, CNC milling and plasma cutting with only 5-15 minutes to switch from one tool to another. Just need to try the laser cut feature and I think I’ll pretty much have everything I’ve dreamed of!
Thanks a lot to Ryan who made this possible!
Attachments:October 8, 2017 at 6:43 pm #45641
Congratulations on persevering. I can’t help but wonder what the heck the issue was. Did you do it in a step by step manor or just do it all at once? I’m wondering if just shielding the torch would have worked?October 8, 2017 at 6:45 pm #45642October 8, 2017 at 7:22 pm #45643Wowzers! Congratulations on persevering. I can’t help but wonder what the heck the issue was. Did you do it in a step by step manor or just do it all at once? I’m wondering if just shielding the torch would have worked?
Just shielding the torch wasn’t enough. That was the easy thing so it was the first thing I tried. I think it helped a little, but I didn’t try it for too long since I was afraid the Arduino would die at some point (it kept on freezing/restarting).
Then, I tried with one motor only, using a shielded cable, but only connected to the electronic box and not to the motor case. Worked better, but still had some issues.
Finally, I attached the shielding to the motor case and after that, no more problems, it seemed to work ok. But with only one motor running it’s a bit hard to tell, because the axis doesn’t run very well without both motors. So I wasn’t absolutely sure it worked. At least the Arduino didn’t seem affected, but I wasn’t sure that it was moving properly.
At that point, I decided to make all the other wires, a clean electronic box, soldered all the connectors, etc. Even if it wouldn’t work, in the end it would still be more reliable than my original setup.
And last weekend, I made the first real test. Apparently great success, I could not manage to get the Arduino to bug or freeze no matter how much I started and stopped the torch. I think I’ve started it more than a hundred times and no freeze or issue whasoever.
Clearly the issue was electromagnetic bursts during torch start.
Also, I forgot to mention that I’ve converted my torch for pilot arc. This way it can start the arc even if the torch is far away from the plate (this didn’t help with the electromagnetic interferences, but the torch firing works no matter where it is)October 8, 2017 at 7:25 pm #45644
I love that you tested it along the way…and didn’t lose a board. Thanks for the details. I really hope I get to make one soon, my welding is getting better so this could really make for some cool projects.October 8, 2017 at 7:33 pm #45645Cool! I love that you tested it along the way…and didn’t lose a board. Thanks for the details. I really hope I get to make one soon, my welding is getting better so this could really make for some cool projects.
Actually I bought something like 10 Arduino mega, since I was expecting to burn a few ones… Turns out I didn’t even burn a single one!
Yes, you really should try it, I think this will be extremely useful in a shop. I’m not sure yet that this can cut Aluminum. I think it can but I’ll have to try.
If you do so, I recommend you to use those hypertherm plasma cutters, seems like many people are using them for CNC plasma cutting and have less issues with EMI. I suppose the el cheapo plasma cutter I’m using generates a crap load of EMI, hence all the problems I had, but I could not return it to the manufacturer and wasn’t willing to spend any more money on a new one, so I had to deal with it.
Shielding everything was a real pain. It is not very complicated but it takes a lot of time and patience.October 8, 2017 at 11:57 pm #45653
Awesome work, I was hoping you would succeed. I like the mini safe to keep your mega safe, mega safe.October 9, 2017 at 5:55 am #45660
Can you please upload the (dxf?) file for the metal z-mount? The part we see in IMG_4329.October 9, 2017 at 7:01 am #45666Can you please upload the (dxf?) file for the metal z-mount? The part we see in IMG_4329.
Hehe, it is not a metal Z mount!
It’s a normal plastic Z mount covered in aluminum tape XDOctober 11, 2017 at 7:05 pm #45799
Ok, so now I will have to tackle an other rather complex challenge with the plasma: creating some kind of torch height controller.
From what I’ve seen so far on my tests, the plates will warp quite a bit due to the heat. This is quite a big issue, because the torch will either be too high, thus not cutting anything, or too low, hitting the plate and stalling the motors. Basically, it has to stay between 1 to 2 millimeters from the plate to do a good job.
I originally thought such a system would be rather inexpensive and easy to find, since it is a pretty common problem for plasma cutters… Turns out I was wrong about that, those things are super expensive.
I’ve made a bit of research, and from what I understand so far, what I have to do is to detect the voltage at the torch, send it back to some kind of controller, and then use this controller to dynamically control the Z axis motor to go up or down.
Sensing the voltage seems to be relatively easy, I guess I just have to build a voltage divider out of a few resistors, then filter it using some caps/inductances. I can then use a little Arduino to program different actions based on the voltage inputs.
But what puzzles me then is how can I use this voltage to actually move up or down the torch during cuts? How do I connect this Arduino to the ramps? How do I make both Arduino communicating with each other during the cut?
The Z motor is controlled by the Gcode, and I see no way to dynamically adjust its position during the cut, I guess there is no such function in Marlin, but I’m not entirely sure, since there is some kind of height adjustment on the fly whenever we use the automatic bed leveling function. So, could it be possible to use this function using a voltage value as the main parameter?
Does anyone knows about that?
If I don’t find a way to do this using this method, I thought of an other possibility, which would be to add another Z’ axis to the Z axis. Using a DC motor, I could make slight height adjustments to Z’ while keeping the Z working as usual. Z’ travel would be limited to a few millimeters and I would need to find some nice way to program it so it doesn’t go crazy during travels, whenever the torch is lifted by the Z axis, but I guess this could work. The downside would be that I would need to build some mechanical parts to create this axis, while finding a way to keep it compact and lightweight.
Any thoughts on that would be appreciated, especially from guys who have programming knowledge or good understanding of how Marlin worksOctober 11, 2017 at 10:57 pm #45802
For what it’s Worth, I’m currently testing adding an optional feature in Marlin that intercepts the Z stepper commands and transforms them into servo pulses (to be used in lightweight foam cutters). Got first results yesterday. For now it’s buggy as hell, but perhaps that kind of setup could be used to transfer the “Z height” from main arduino to Z controller, which will provide the fine Z adjustement you need.October 12, 2017 at 4:27 am #45805
as I was reading this post I came up with the same solution as you before id read down to it. I guess this is me saying I like your proposed solution cause you cant know ahead of time what the voltage will be at a certain point in the cut, you have to adjust it on the fly. Its the kind of thing that smarter folk than I could do with analog electronics which would be maybe less prone to the EMI.October 12, 2017 at 4:54 am #45806
If you did the Z’ route, the second Arduino would just need to know when you were cutting it not. Similar to a laser, your only want it turning on when it was cutting. That would be a pretty good solution that any CNC would be able to use.
You could edit Marlin to either send out the z position to another Arduino that was actually controlling the z motor. You could also edit Marlin to accept an input from the other Arduino as an offset in z. You just need to be careful because the motor code needs to execute very frequently so it needs to be fast.
You could also make the second Arduino just read the state of the step, direction, and enable pins from the Marlin Arduino. It would pass those onto the stepper driver, but add in a few steps, or flip the direction and pulse a few more to move the motor.
Since you’ve seen so many Gremlins with emi so far, it seems risky. I don’t think analog is less sensitive to emi, it just used more current. More current is generally less sensitive.October 12, 2017 at 7:25 am #45807October 15, 2017 at 7:43 pm #46057My low tech solution would be to use the torch “training wheels” or some other stand off and a spring loaded mount like the pen holder I made.
That were my first ideas too, but I came to the conclusion that these wouldn’t work.
The training wheels would only work during straight lines, they would be unable to turn properly in corners, no matter what wheels configurations I can think of. If slightly offset, they would sometimes fall into already cut spots, either running the torch too low or simply getting stuck, ruining the job.
A spring loaded mount wouldn’t work either, because the torch should not touch the plate and there is no way to put anything to push it up. I was thinking of using tome kind of ball, a few centimeter away from the torch to push the torch at a defined distance from the plate, but that wouldn’t work either because the ball would just fall off of get stuck whenever running on top an an already cut surface.
I wish there were some mechanical solutions to overcome this issue, it would make things vastly simpler. I just don’t think there is one here, unfortunately…
Active electronic correction seems to be the only realistic option here.October 15, 2017 at 8:02 pm #46058If you did the Z’ route, the second Arduino would just need to know when you were cutting it not. Similar to a laser, your only want it turning on when it was cutting. That would be a pretty good solution that any CNC would be able to use.
Yes, I think this is the only solution I can realistically do, given my poor skills in electronic and programming. I just need to find a free digital output on the Ramps that I could activate the height control system with a gcode, just like I’m already doing with the relay for firing the torch.
Whenever this signal would be low, the torch control system would be stopped, so that the Z could go up without the Z’ moving down. Then, after the travel move is done, it would send a high signal to make the torch height control work again.
Do you have any suggestion about what pin I could use and what would be the gcode associated with it? I’m currently using the Fan output to control a relay for the torch, so any other pin that this one 🙂
The only issue I see with this method is that I don’t see any way to do height probing before each cut. The best way of cutting would be:
-lower the torch until it hits the plate
-Record the corresponding height
-Offset the torch by 3-4 mm
-Fire the torch
-Lower the torch to 1-2mm height progressively
-Activate the torch height control
-Control the height dynamically during the rest of the cut path
-Dis activate the height control
-Stop the torch,
-Travel to the next spot
With my system, I cannot do the probing, which may be an issue. I’m not sure yet if this will be critical, I’ll have to check in real life.You could edit Marlin to either send out the z position to another Arduino that was actually controlling the z motor. You could also edit Marlin to accept an input from the other Arduino as an offset in z. You just need to be careful because the motor code needs to execute very frequently so it needs to be fast. You could also make the second Arduino just read the state of the step, direction, and enable pins from the Marlin Arduino. It would pass those onto the stepper driver, but add in a few steps, or flip the direction and pulse a few more to move the motor. Since you’ve seen so many Gremlins with emi so far, it seems risky. I don’t think analog is less sensitive to emi, it just used more current. More current is generally less sensitive.
I know how to deal with EMI now, so I guess I could be fine with this aspect of the mod. But I would have no idea on how to modify Marlin, this code is way beyond my understanding and knowledge… So I guess I’ll stick with my little crappy plan and see see how it is coming, if it doesn’t work I’ll seek for other solutions, but it is very likely that I will be unable to do anything better than that unless I learn a great deal of programming stuff.October 15, 2017 at 8:40 pm #46060
If I good remember D44 on aux2 is free 🙂 on aux2 on top pins you can connect Arduino nano or micro whatever and use that for serial communication with mega. and make some sort of g code sender for probing. I make controller for my mpcnc through that pins.
The best is just to modify marlin in my opinion so before each extrusion(start plasma) check Z position (proximity sensor) or many some laser distans detection:D possibility are endless just try to find the best way.October 15, 2017 at 8:47 pm #46061The best way of cutting would be:…
You have some sensor that knows the distance to the plate, and that’s rigidly (enough) mounted to the torch. So all these could be programmed into that slave Arduino. You’d just need Marlin to wait long enough for all that to happen before moving. Marlin thinks, “start spindle… Wait” slave Arduino goes through all those steps.
Any pin will work. Find something that you don’t have something plugged into. You don’t need pwm or analog input. The servo pins, or the endstop pins would work too.
This is going to be very interesting.October 15, 2017 at 10:55 pm #46064The best way of cutting would be:…
You have some sensor that knows the distance to the plate, and that’s rigidly (enough) mounted to the torch. So all these could be programmed into that slave Arduino. You’d just need Marlin to wait long enough for all that to happen before moving. Marlin thinks, “start spindle… Wait” slave Arduino goes through all those steps. Any pin will work. Find something that you don’t have something plugged into. You don’t need pwm or analog input. The servo pins, or the endstop pins would work too. This is going to be very interesting.
Hehe, I had the very same idea as yours for the first probing when I was writing my last post: adding a simple delay in the main gcode file to make a height probing before each path! great minds think alike 🙂
About the height sensor for initial probing, I cannot use the ones you describe, because there is a chance that sometimes, the sensor will arrive on top of an already cut spot. In which case it will not detect anything and just crash miserably the torch.
So, the easy way is to just use the torch itself as a probe, since it is made of conductive copper, and the plate to cut is made of metal which is also conductive. Whenever it hits the material it will close the circuit. Seems easy and very precise to me, kind of the same way the probing works on estlcam already. I’ll just have to find a way to protect it against noise, but I think it shouldn’t be very difficult since it will be activated only when the torch will be off. So I think I can use a relay to activate or close this probe sensor in order to keep all the EMF out of the circuit.
As for the voltage sensing for continuous height leveling, I’ll have to hack my plasma cutter to add a voltage sensor directly inside it. It can be done quite easily by creating a voltage divisor with a few resistors and caps.
Now that I think that every issue is kinda theoretically covered, it is time to get my hands dirty and actually build the thing. I’m not too afraid about the mechanical and electronic part, only the coding worries me because I quite suck at it.October 17, 2017 at 5:41 pm #46201
Ok, I’m starting with the easy part: the new mechanical assembly for the Z’ axis.
I’m going for a traditional solution, lead screw plus linear guided bearings. I tried to make it as compact as I could, to avoid losing printable space as much as possible (weight or forces on the gantry are not very relevant with plasma cutting).
This axis plugs right into my current tool support, so I can take it on and off in only a matter of seconds, without any screw needed. Also, the torch can be set in place and removed conveniently, since my previous system was not that practical.
So, here is my first drawing so far:
Two bearings to guide the threaded rod, one on top, one on the bottom, two ACME flanges, one ACME rod in the middle and two 8mm guides with 4 linear bearings. Nothing really fancy.
Now, I have to chose an appropriate motor, so I would appreciate to get some suggestions from you guys. I think I may use a DC motor with a gearbox, or maybe a remote controlled car servo, if they prove to be powerful enough.But if someone has a better suggestion who could work better I’m all ears. I’ll then be able to make the motor support.
Attachments:November 5, 2017 at 6:32 pm #47521
I thought I’d just share my last weekend’s project with you guys here, since it was actually pretty interesting and super easy/cheap to do, even if this is not really MPCNC related: a little electric furnace to melt metals!
So, basically, what you need is a bunch of aluminum silicate bricks, a nichrome wire, a crucible and a few iron angles and you will end up having your own aluminum melting furnace for DIY casting.
I think it cost me about 35 buck for the whole thing, super cheap.
First thing was to find a way to secure the nichrome wire, I just cut some spiral trenches inside the brick, which was super easy because those bricks are super soft. Took, about 30 minutes with a file.
First test, to see if the nichrome wire worked fine. I was very surprised to see how fast it was to reach the melting point of aluminum, it took less than 30 minutes while using about 1800 Watts of power. I could go way faster just by reducing the lenght of the wire (the more you reduce it’s lenghts, the less resistance = more heat-more power). I think it is fast enough for me, so I’ll probably leave it like this. I’ve used about 14 meters of 0.9mm nichrome wire. I had to coil the wire first, I used my 3d printed lathe for that, it worked great:
After about 30 minutes, the aluminum was melted enough so I could make the first pour. I used a little graphite ingot mould, but it didn’t fill entirely since I had not enough metal:
The result is pretty decent, I was quite happy with that. I think it is not bad at all for a first try (I know nothing about casting):
Finally, I made a door, so that I can open and close the furnace easily:
It’s not entirely finished, I still have to add temperature control and finish a few things, but I’m already pretty pleased about how this turned out, after only one afternoon of easy work
I post this here to maybe give you ideas/inspiration to try this out. It is super easy to build, works way better than I thought and cost nothing. Plus it will keep you warm during the cold days of winter.
Attachments:November 5, 2017 at 7:02 pm #47537
That’s gre are you thinking of doing some lost pla casting?November 5, 2017 at 7:10 pm #47538
That’s on my to do list, but I’m not sure if lost PLA actually works nicely.
I think it may work if I print with the less possible perimeters and infill, but I’ll need to experiment.
I don’t know much about casting so far, I only have theorical knowledge after spending quite a bit on time on Youtube, so I guess I’ll have to try and experiment.November 7, 2017 at 12:16 pm #47677
Cool! That’s the same type of fire brick my propane forge is made of. I used standard hard fire brick for the floor though, it’s the same brick you’d see in a fire place.November 7, 2017 at 7:31 pm #47691
It’s finished for the most part, Yay!
I just need to add the PID system and it will be done.
My welding skills are pretty bad, but it seems to be good enough to hold itself
Painted in mate black:
I’m pretty please with how it looks. The handles are convenient and I can move it around easily since it is not very heavy (I guess about 10 kilos).
I’ve ordered a PID, a solid state relay, a thermocouple and a laser thermometer. They should arrive today so I guess the forge will be finished before the end of the week!
I’ve made a bit more research about lost PLA casting, some people manage to get some very nice results, so I think this is gonna be one of the first things I’ll try.
At some point, I want to try doing some MPCNC parts out of metals, just to see the result. Any suggestion about which part you would like to see made out of aluminum?
Attachments:November 8, 2017 at 4:43 am #47698
The flat pieces will be the easiest to start with. Don’t forget the aluminum will shrink when it cools, so the casting needs to be a couple percent larger than the finished part.November 8, 2017 at 7:52 am #47701
If you cast your xyz parts, that should make for a solid gantry, that is the first on my list of redesigns if I don’t just try something completely different.November 8, 2017 at 5:49 pm #47727The flat pieces will be the easiest to start with. Don’t forget the aluminum will shrink when it cools, so the casting needs to be a couple percent larger than the finished part.
Thanks for the reminder, I almost forgot that! I’ll try to keep that in mind whenever I’ll make an attempt.If you cast your xyz parts, that should make for a solid gantry, that is the first on my list of redesigns if I don’t just try something completely different.
I was thinking about the same thing. Either that or the corners. I don’t really have the need for corner reinforcement on my machine, given the table I’m using, but I’m curious to see how that would turn out.
My only concern about the gantry is that the Z axis bearing holder part needs a bit of flex to adjust the bearing tension. So I’m not sure how I’m gonna deal with that yet. Sure, Aluminum is somewhat flexible, but eliminating flex is kinda the whole point of using aluminum…November 8, 2017 at 5:52 pm #47728
All my parts have the same flex feature built in, it was designed for plastic. You would need a redesign and eccentric hardware otherwise.
I still think it will flex just enough, and the bearings even with a huge load should still roller perfectly.
You must be logged in to reply to this topic.