My MPCNC made in China

New Home Forum Mostly Printed CNC – MPCNC Your Builds – MPCNC My MPCNC made in China

This topic contains 239 replies, has 35 voices, and was last updated by  Ryan 1 week, 4 days ago.

Viewing 30 posts - 211 through 240 (of 240 total)
  • Author
    Posts
  • #43643

    Barry
    Participant
    Most 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.

    #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:

    IMG_4327

    The Common earth ground star center point. Not pretty but I’ll make it cleaner later:

    IMG_4328

    The Z axis shielding and the torch shielding:

    IMG_4329

    Motor shielding:

    IMG_4326

    The MPCNC right after the test cut:

    IMG_4325

    Test cut results:

    IMG_4324
    IMG_4323

    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!

    1 user thanked author for this post.
    #45641

    Ryan
    Keymaster

    Wowzers!

    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?

    1 user thanked author for this post.
    #45642

    Jeffeb3
    Participant

    Awesome. Applause!

    1 user thanked author for this post.
    #45643
    Wowzers! 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)

    #45644

    Ryan
    Keymaster

    Cool!

    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.

    #45645
    Cool! 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.

    #45653

    Andy
    Participant

    Awesome work, I was hoping you would succeed. I like the mini safe to keep your mega safe, mega safe.

    1 user thanked author for this post.
    #45660

    SQLException
    Participant

    Can you please upload the (dxf?) file for the metal z-mount? The part we see in IMG_4329.

    #45666
    Can 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 XD

    #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 works

    #45802

    thesfreader
    Participant

    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.

    #45805

    Andy
    Participant

    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.

    #45806

    Jeffeb3
    Participant

    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.

    1 user thanked author for this post.
    #45807

    Ryan
    Keymaster

    My 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.

    #46057
    My 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.

    #46058
    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.

    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,

    -Move up

    -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.

    #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.

    1 user thanked author for this post.
    #46061

    Jeffeb3
    Participant
    The 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.

    1 user thanked author for this post.
    #46064
    The 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.

    #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:

    3
    2
    4
    1

    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.

    Cheers!

     

    #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.

    IMG_4410-1

    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.

    IMG_4413-1

    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:

    IMG_4387

    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:

    IMG_4416

    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):

    IMG_4418

    Finally, I made a door, so that I can open and close the furnace easily:

    IMG_4429
    IMG_4428

    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

    IMG_4431

    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.

     

     

     

    #47537

    Jeffeb3
    Participant

    That’s gre are you thinking of doing some lost pla casting?

    #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.

    #47677

    Barry
    Participant

    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.

    #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

    IMG_4444

    After a bit of grinding, looks a bit better
    IMG_4447

    Painted in mate black:

    IMG_4449

    And voila:

    IMG_4454
    IMG_4455

    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?

    #47698

    Barry
    Participant

    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.

    1 user thanked author for this post.
    #47701

    Ryan
    Keymaster

    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.

    1 user thanked author for this post.
    #47727
    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.

    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…

    #47728

    Ryan
    Keymaster

    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.

Viewing 30 posts - 211 through 240 (of 240 total)

You must be logged in to reply to this topic.