So I ran out of shielded cable for the limit switches, which let me take the time to start working on my controller box. I picked up some acrylic and a bunch of M3 and M4 hardware from Lowes. Using some 20x80 I had left over from the Routy build I used those for the sides and the acrylic for the top and bottom and the panel to hold all the parts. This will give me some room under the panel to run wires maybe.
@Mohammad Kokash The controller box is made from some .080in acrylic I picked up from Lowes. I picked up 2 sheets, one 18" x 24" and the other was 28" x 30". The sides are scrap 20x80 I had left over from another build. The electronics are Qty: 4 Stepper Drivers, Qty: 1 Power Supply, Qty: 1 Arduino Uno, Qty: 1 Raspberry Pi 3, Qty: 1 24V to 5V Converter and there is a 120v relay that I picked up locally. I placed the parts where I thought would work for them, and then flipped everything upside down so I could mark the drill holes. Using some M3 hardware I picked up from Lowes I mounted everything.Since the plate I mounted everything on will slide into the v-slot, I spaced it up into the second slot up on the 20x80. This gave me room to run the wires under that plate and leave plenty of room for airflow from the handful of 24v fans I have. I then started drilling holes sort of aligned with where the wire was going to be going, then routed the wires a needed. I added a couple of barrier strips on the bottom of the plate to breakout the 24v positive and ground. For the top and bottom of the box I just cut some bigger pieces of acrylic, and using t-nuts and M5 bolts will be mounting them to the top and bottom of the rails. If there is anything else you want a better explination on let me know.
@JustinTime I believe I have seen that you can control a stepper motor with just a PI3, but I want to use GRBL so that's why I have the Arduino. You will still need something to send the gcode to the Arduino, which the PI3 will do using bCNC and a usb cable to the Arduino. The PI3 also lets me basically control the CNC from anywhere on my network. I can either VNC into the PI3 or I can add CNCJS to the PI3 and then using a url control it from anywhere in my house.
I don't have a diagram at this time. After I get everything wired, I could draw something up. Kind of winging it as of right now.
So last night the beast came to life!!!! I finished soldering the aviation plugs for the stepper motors, and did a temp soldering job on the limit/homing switches. Plugged everything up and other than having the Z stepper going the wrong direction everything worked. I didn't take any pictures last night but after work today I will try to take some pictures and video maybe. I stole my initial settings for GRBL from Kyo's in his Sphinx build video. I did turn on homing, hard and soft limits and set my soft limits to X = 792, Y = 812 and Z = 88 if I remember correctly. So as long as I have the steps setting of 200 being correct, that is my available cut area. So now there is a bit more wiring work to do, namly the 110v output relay for my router and shopvac. That might be a little bit of fun figuring out since since v0.9 of GRBL they don't have just a spindle enable/disable but pwm control. I'm sure the google will help me there!
So after adding in aviation connections to the limit homing switches and wiring up the 110v relay to the Arduino, I started playing around with watching the machine go in squares!! A spoilboard and a few more bits of wiring and I can start cutting the acrylic for the front and back of the controller box. And first movements!!
Today was an interesting day. Found out that a 4'x8' sheet of MDF cut in half, both of the sheets just barely fit in the back of a Grand Cherokee. Hopefully the wife doesn't notice the scratches on the plastic in the back!! I wired up the outlet for the router and shopvac, which is controlled by the Arduino through a solid state relay. Went into the config.h of GRBL and commented out the VARIABLE_SPINDLE option. Of course once I uploaded it to the Arduino, I started having hard limit problems, they forgot to mention in the fine print that if you comment that out it flips the pins for Z axis limit and spindle enable to pre 0.9 settings. Flipped the pins on the Arduino and life was good. Till I clicked the button in bCNC to start the spindle. The spindle is not steady, it seems to be surging and when I put a meter on it the voltage is jumping from 120V to 30V. If I jump the AC side of the relay it smooths out and if I turn off the router it does as well. I'm sure some googling tomorrow will show me the light about either needing to use a different relay or some other way of getting this to work. I also installed a run of slot cover from the parts store to cover a limit switch wire and then used 2 more runs of it on my controller box to help make the plate holding all the electronics tighter. It just fits the .080 acrylic I'm using. Finally for today I also started playing with adding an Xbox 360 controller to jog the machine. I got it playing using xboxdrv and qjoypad. I'm going to be looking into ditching the qjoypad and building a correct config file for xboxdrv, that way I can just have the xboxdrv start as a service and once bCNC is open I can jog with the xbox controller.
Hi Hisha. Great build. I have been following intently! Just about to start on my build. Kyo's brilliant design with a few add-ons. What will be you cutting limits? Approximately? Keep up the good work! Thanks.
Will measure for sure in the morning, but currently have my soft limits at X = 792mm, Y = 813mm and Z = 88mm. So safe to say my cut area is 790mm x 810mm x 85mm. This is probably limited a little bit by the fact of the way I have my limit switches mounted, but I would rather be safe then sorry.
So I cut a spoilboard out of the MDF and mounted it down. Then I got a bit impatient and decided it was time to cut something and everything went great! Right up till I decided to cut out the profile of the sign with a 1/4" endmill at 1/4" depth of cuts. The first go round seemed to be ok, then just as it started the second go around it went a little ugly. In the second video you will see it start to angle and then leaves the bit behind. Thankfully it only broke the collet and not the router or bit. Re did the depth of cut and finished the job fine. Now I'm off to search for a new collet and maybe a 1/8" collet if I can find one.
Haha That was funny. I would do my depth of cut at 1/8" or smaller. DOC 1/2 the diameter of your cutter usually works well. You will get it figured out. Looking good.
Yeah I should have known better, but it's all a part of the learning process. Just glad it wasn't to expensive of a lesson. Just ordered a 2 set replacement of the collet on amazon for $20. Bad part it seems no one still makes the 1/8" collet for the Colt. Might try buying one for the Dwalt and see if that works. So what speeds do people usually run their routers at for cutting wood? Should I be running it for example on 6 which is 35k rpms or slower? This one seems to break down as such: 1 = 16,000 RPM 2 = 18,000 RPM 3 = 20,000 RPM 4 = 22,500 RPM 5 = 26,500 RPM 6 = 35,000 RPM
So I believe I can now say the cheap solid state relay I bought from Amazon is a piece of junk. Along with the problem of the voltage jumping with the router running, when the relay was getting no trigger input the AC side was passing 40V. So I grabbed a used relay from a dead UPS at work, it was a dual relay but works exactly how it's supposed to!! So now bCNC can turn on my router at the start of a job.
So spent a little bit of time tonight working on getting the xbox controller to work nicely for me. Needless to say finding documentation that wasn't about setting it up for anything other than games was not working. So I decided to change attack direction to getting xboxdrv and qjoypad started at boot. After finding that you need to use "~/.config/lxsession/LXDE-pi/autostart" to add "@qjoypad --force-tray", after I login everything is started so when I double click bCNC I am able to use the controller. so now I can use the dpad to move the x and y axis, while I use the top bumpers to move the z axis. I then added the home command in shortcuts to the F12 key and then in qjoypad added the the F12 to the guide button.Going to look at some other things I can add to the controller, but for now that will work. Did a test cut for my threaded inserts which turned out great so maybe tomorrow I will cut down the other section of mdf and get the router to work on cutting out all the insert spots. I also need to wire up for the touch off plate, just trying to decide if I should use one of the aviation plugs or find some other kind of plug for it.
Coming right along @Hisha You should put up a post or youtube video going over setting up the Xbox controller with Bcnc. It is a question that gets asked a lot and would most definitely make a good resource to have around. Yeah I have had bad luck with knock off relays as well. It is one area that buying name brand really pays off. Nice looking first cuts. It was going so well up to the point it snapped. At lest it was a easy repair. I have managed to break a number of endmills playing around with different settings. But knock on wood no damaged collets or spindle yet.
@Kyo I will try to do a post about the Xbox controller later this week. So tonight I cut my other half of mdf for a new spoilboard, this one is going to have threaded inserts installed in the bottom for my clamping system. So I mapped out half of them in Freecad then moved over to Makercam to make the gcode. I must say the toolpath it came up with is all over the place but it got the job done. Hopefully tomorrow I can finish the other half.
@James1949 I would reference Kyo's post for a couple of different ways to wire up stepper drivers if that is what you are looking for. If you are talking about the actual Arduino pinouts, that would depend on what version of GRBL you are running and if you want the spindle enable option. For GRBL V0.9+ you will use the following: That being said, I am using GRBL 1.1f and I am also using the the option of having the VARIABLE_SPINDLE option in the config.h file being commented out. What this means is that my pinout is actually based on the older V0.8 or older pinout: Hopefully that points you in the right direction, if not let me know.