CNC PCB milling
-
@neverdie or you could just mill your own board since now you have the tools
-
I've read from one of the sellers of the nano based grbl boards that they're typically hardwired against microstepping, but that the shields for the arduino uno don't typically have that problem. So, with that in mind, I'll probably order this as a backup in case of future failures: https://www.aliexpress.com/item/A4988-Driver-CNC-Qunqi-Shield-Expansion-Board-for-Arduino-V3-Engraver/32639790781.html?ws_ab_test=searchweb0_0,searchweb201602_4_10152_10151_10065_10344_10130_10068_10324_10342_10547_10325_10546_10343_10340_10548_10341_10545_10084_10083_10613_10615_10307_10614_10059_10314_10534_100031_10604_10103_10142,searchweb201603_2,ppcSwitch_4&algo_expid=14eaf328-95a3-442a-be93-ac1ee33f07f5-4&algo_pvid=14eaf328-95a3-442a-be93-ac1ee33f07f5&priceBeautifyAB=0
-
@scalz said in CNC PCB milling:
@NeverDie
too bad! perhaps it's just power supply regulator or a fet which died?? or maybe one of the drivers, just ideas.. I don't know this board.
Saying this because that was the first things I checked on my 3d printer Ramps board- changed ldo (on arduino mega) because I didn't trust clones..
- a few fets for better rdson (on the Ramps board). then there was no more heat..
- and of course I calibrated the steppers drivers
Edit: argh, i misread it's non responsive..then mcu maybe.
It's receiving power, because the red LED lights up when I connect to it. The atmega328p also appears to be receiving the characters I send to it, because there's an LED that lights very briefly when I do that. However, I'm not seeing that it is sending any characters back, and I'm guessing there would be yet another LED which would indicate that if there were. So, I'm guessing most likely the mcu is dead. I wouldn't be surprised if it got some kind of electrostatic shock when probing, since the probing circuit appears to be wired directly to one of its pins. Also, I was attaching the probe immediately prior to its dying. That makes it a prime suspect in my mind. I don't want to over-react, but for the future I may try isolating that circuit with an opto-isolator or similar to hopefully prevent a recurrence. On the face of it, the present design seems like a heartache just waiting to happen.
-
@executivul said in CNC PCB milling:
@neverdie or you could just mill your own board since now you have the tools
Not if it's broke he doesn't.
-
That's the original designer of that shield :
-
@neverdie interesting.
the LEDs are driven by the communication line itself, so if you send a character on serial to the board, then basically your data will flash the MCU's RX LED, not the MCU.there should be no problem at all with the touch probe solution/circuit. it equals to a simple button sensing on a common arduino's pin, it cannot cause the MCU's death, if you are connecting everything properly.
-
Once I find my dragon, I'll burn a new atmega328p with the grbl 1.1 and replace the suspect atmega328p. Hopefully it will work then. If not, then I'm guessing it's the the usb-to-serial chip gone bad. Anyhow, one way or another I'll get to the bottom of it. And if I don't, a replacement board is on its way.
-
@neverdie don't stick to you missing dragon programmer. use an arduino as an isp programmer instead. also, if you burn the bootloader, next time you can use the usb connector for update.
-
@andrew I found my dragon. What fuse settings should I use? I'm tenatively planning to use Arduino pro mini settings.
-
I extracted the atmega328p chip that was on the woodpecker and attempted to read it. Fail. Normal voltage is 5v on a fresh chip, but it was reading only 4.8v. Also, it got quite hot. So, I think it is defective.
-
I've established that the GRBL1.1f firmware assumes it's running at 16Mhz. So, I guess I'll try the following fuse settings, typically used on a 16Mhz Pro Mini:
pro5v328.bootloader.low_fuses=0xFF <<< same as 8 MHz pro5v328.bootloader.high_fuses=0xDA <<< same as 8 MHz pro5v328.bootloader.extended_fuses=0x05 <<< same as 8 MHz
BODLEVEL = 2V7 RSTDISBL = [ ] DWEN = [ ] SPIEN = [X] WDTON = [ ] EESAVE = [ ] BOOTSZ = 1024W_3C00 BOOTRST = [X] CKDIV8 = [ ] CKOUT = [ ] SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_14CK_65MS EXTENDED = 0x05 (valid) HIGH = 0xDA (valid) LOW = 0xFF (valid)
-
I soldered in the replacement atmega328p, after burning its firmware with GRBL 1.1f, and Bingo! That fixed it:
Grbl 1.1f ['$' for help]
Because of the upgraded firmware, I'm actually better off now than I was before.
-
@andrew said in CNC PCB milling:
@neverdie I still use my default settings (see below). I re-applied these settings after I flashed the board to grbl 1.1f.
to be honest, after I found the right parameters for the PCB milling jobs I did not went further to fine tune the CNC settings, due to the lack of time. maybe later of the year, but currently I'm more than happy with the results.$0=10 (step pulse, usec) $1=25 (step idle delay, msec) $2=0 (step port invert mask:00000000) $3=5 (dir port invert mask:00000101) $4=0 (step enable invert, bool) $5=0 (limit pins invert, bool) $6=0 (probe pin invert, bool) $10=3 (status report mask:00000011) $11=0.010 (junction deviation, mm) $12=0.002 (arc tolerance, mm) $13=0 (report inches, bool) $20=0 (soft limits, bool) $21=0 (hard limits, bool) $22=0 (homing cycle, bool) $23=0 (homing dir invert mask:00000000) $24=25.000 (homing feed, mm/min) $25=500.000 (homing seek, mm/min) $26=250 (homing debounce, msec) $27=1.000 (homing pull-off, mm) $100=800.000 (x, step/mm) $101=800.000 (y, step/mm) $102=800.000 (z, step/mm) $110=800.000 (x max rate, mm/min) $111=800.000 (y max rate, mm/min) $112=500.000 (z max rate, mm/min) $120=10.000 (x accel, mm/sec^2) $121=10.000 (y accel, mm/sec^2) $122=10.000 (z accel, mm/sec^2) $130=200.000 (x max travel, mm) $131=200.000 (y max travel, mm) $132=200.000 (z max travel, mm)```
Looks as though GRBL1.1f has exposed some additional registers than GRBL0.9 did:
$0=10 $1=25 $2=0 $3=5 $4=0 $5=0 $6=0 $10=3 $11=0.010 $12=0.002 $13=0 $20=0 $21=0 $22=0 $23=0 $24=25.000 $25=500.000 $26=250 $27=1.000 $30=1000 $31=0 $32=0 $100=800.000 $101=800.000 $102=800.000 $110=800.000 $111=800.000 $112=500.000 $120=10.000 $121=10.000 $122=10.000 $130=200.000 $131=200.000 $132=200.000
namely, registers 30, 31, and 32. Not sure what their values should be, or if it even matters.
Interestingly, the stepper motors have a distinctly different sound to them when running Chilipeppr with GRBL1.1f (as contrasted with GRBL0.9).
-
I am having a serious problem, though, which is that no matter whether I use Chilipeppr to jog the x-axis to the left or to the right, it always veers to the left. It never goes to the right. Y and Z seem to be working OK however.
-
@neverdie
Is it working correctly if you just issue a G0 x10 then x-10?
did you switch to the jpadie workspace for v1.1?
sounds like you have a short on pin 5
-
@neverdie said in CNC PCB milling:
namely, registers 30, 31, and 32. Not sure what their values should be, or if it even matters.
I found out what they mean:
$30=1000. Max spindle speed, RPM $31=0. Min spindle speed, RPM $32=0 Laser mode, boolean
-
@rmtucker said in CNC PCB milling:
Is it working correctly if you just issue a G0 x10 then x-10?
No, it goes left in both instances.
@rmtucker said in CNC PCB milling:
did you switch to the jpadie workspace for v1.1?
yes
-
@neverdie sorry, I'm abroad, with very limited availability, so cannot answer too quickly.
based on the mentioned facts it seems to me, that the X axis direction pin is sticked to one position, maybe it has a solder bridge to another pin, or vcc / gnd directly.
-
@andrew said in CNC PCB milling:
@neverdie sorry, I'm abroad, with very limited availability, so cannot answer too quickly.
based on the mentioned facts it seems to me, that the X axis direction pin is sticked to one position, maybe it has a solder bridge to another pin, or vcc / gnd directly.
Thanks! You nailed it. It turns out the solder connection on the atmega328p pin corresponding to D5 just wasn't good enough. I resoldered it, and now the X-axis works in both directions.
-
I'm receiving this error message now:
However, it's not obvious how to delete the files it's referring to. Anyone know how?
-
@neverdie I haven't tried it, but if you are using Chrome you should be able to give ChiliPeppr unlimited storage through https://developer.chrome.com/extensions/declare_permissions
-
Great news! Grbl1.1f makes all the difference. I tried milling at 6 mil separation using the upgraded grbl1.1f, and it works!
There's a huge difference between being able to evolve a single PCB design to perfect it rather than having to work on a "dumbed down" design (for a CNC or some other DIY etching process) before being able to get "the real deal" from a PCB fabricator. So, I'm very relieved that the first option now seems possible.
-
@neverdie I told you since the very beginning to make the firmware upgrade!
-
@neverdie as I see from the picture, you can decrease the cutting depth. this could help you to soften the force against the carving bits and it could also help you to use faster feed rates without risking a missing step or bit damage.
btw, what are your currently used parameters?
also, for the best results please be sure, that when you set up the tool width in flatcam, then it is originated from the previously mentioned formula, which uses the carving bit properties (end with + angle) and the cutting depth.
-
@andrew
In this particular instance I had used a dull bit to do the autoleveling at 4mm and then switched to a Jack bit (nominal 0.1mm, 30 degrees) which I re-zeroed before starting the cutting.
Cutting depth: 0.03
Tool width: 0.12mm (just a guess as to the actual width)
Feedrate:80mmIt does seem that the actual cutting depth came out deeper than 0.03mm, so I'm not sure what's up with that. My guess is that the re-zeroing with the sharp bit came out wrong.
-
@executivul said in CNC PCB milling:
The metal piece is about 10cm long and it's left in place for the life of the wood board.
Do you have a photo of that?
Also, are you using double sided tape at all, or is this all that you're doing as far as holding the PCB flat against the sacrificial board?
-
@andrew
Trying to create a double sided PCB, but I am currently stuck on step 3:
I can see that it has created a mirror image which it displays, but I do not see a mirror image gerber object displayed in the project area. That's in contrast to step 4, where when I click "create alignment drill" it does create a drill file that I can see in the project area.Without access to a mirror image gerber object, there's nothing I can select to produce the gcode for the mirror image. So, I'm stuck on this step. How do I gain access to the mirror image gerber object? I've followed the given directions, but so far no joy.
-
Apparently it doesn't produce a newly named gerber object. Instead, you just work with whatever it has in memory.
-
- I ise Scotch 665 double sided tape and lately I use a heavy item connected to the ground pin when probing. Put it on the pcb and you get the pcb face grounded. The probe pin clips to the bit. I tend to probe using the same bit used for engraving.
- You select the bottom layer in flatcam. I create a bounding box around it first. Then select the box, the x axis. A few alignment drill locations on one side of the flip line. Hit create aligment drills and hit mirror object which mirrors the already loaded bottom layer (GBL) object. If you watch closely you should see the tracks are mirrored. Then select the object and go on with creating iso geometry and cnc paths.
-
@executivul said in CNC PCB milling:
You select the bottom layer in flatcam. I create a bounding box around it first. Then select the box, the x axis. A few alignment drill locations on one side of the flip line. Hit create aligment drills and hit mirror object which mirrors the already loaded bottom layer (GBL) object. If you watch closely you should see the tracks are mirrored. Then select the object and go on with creating iso geometry and cnc paths.
Yes, I think the flatcam's original instructions were faulty. It said to load both the top and bottom layer. Maybe that's fine for selecting pin alignment locations, but there should be only one layer displayed before the mirroring, or else it creates a mess.
Also, I had thought it would create a new file for the mirrored gerber, but it doesn't. Instead, I just work with the mirrored gerber that's in memory to produce the gcode for the mirrored image. I guess that's good enough.
-
I drilled the alignment holes with 0.8mm diameter. I'm using regular male header pins for the alignment, and having tried it, I think 0.8mm is really too tight. Not sure how @andrew is using 0.7mm. Different pins I guess? Anyhow, next time I'll try 0.9mm hole diameter.
-
How do I mill a slot? Do I treat it the same as a regular hole, except use a routing bit rather than a drill bit when it comes time to cut the slot?
-
@neverdie said in CNC PCB milling:
How do I mill a slot? Do I treat it the same as a regular hole, except use a routing bit rather than a drill bit when it comes time to cut the slot?
Couldn't find a good answer to this, so I'm going to approximate it by simply drilling a series of overlapping holes.
It's needed for the micro-usb connector.
-
I did the top layer, together with alignment holes, for a real FR4 PCB:
As an experiment, I thought I would standardize on 0.9mm holes for the through-holes, via-holes, and alignment holes, so that there would be fewer tool changes. Looks like it will work, but, meh, I think I'll use smaller via holes in the future.Out of time for today, so I plan to etch the flip side tomorrow.
-
@neverdie 0.4-0.5mm for vias using 0.3mm silver plated "wrapping wire". 0.9 for TH and alignment holes.
Tomorrow redo the alignment holes on the sacrificial layer so you get perfect alignment (if you don't have homing endstops, as I don't) and put the pins in and sick the pcb after that, be careful how you flip the board, I tend to use asymmetric alignment holes so I can only flip it one way (;
-
Argh, it just occurred to me that I was premature in drilling the TH and via holes, because they may seriously interfere with the autoleveling when I etch the reverse side. This must be why @andrew etches the mirrored bottom side first, so that when it's flipped the top side can be etched and then drilled.
-
Re-using the alignment holes already drilled, I flipped over the PCB and etched the mirrored bottom. It worked! Some of the traces are only as thick as a hair, but they all conduct and none are broken.
I guess I'll have to flip it again in order to route the board outline. So, count that as yet another reason to start by etching the bottom first.
I had to autolevel at 6mm in order to dodge all the holes I had prematurely drilled, so perhaps that's why this particular etching came out so uneven.
-
@neverdie the order of the process should be the following:
- drilling the alignment holes (through the PCB into the sacrificial layer)
- fixing the pcb with the alignment pins/headers
- isolation routing on the bottom layer
- flipping the pcb
- isolation routing on the top layer
- drilling holes on the top layer
- milling the pcb outline on the top layer
as I see your results, you could use alignment holes closer to your actual design's border, but it should be definitely out of the pcb's edge + milling tool width area.
the very thin traces are most probably caused by:
- moving and not stable pcb
- improperly calculated tool width
- improper autoleveling on the given side
-
@neverdie said in CNC PCB milling:
How do I mill a slot? Do I treat it the same as a regular hole, except use a routing bit rather than a drill bit when it comes time to cut the slot?
you can mill holes, which are bigger than your drill bits, you can find a milling section in flat cam when you are working with the drill file.
you can mill slots as well, for this the slot has to be designed properly in the PCB designer software. you have to draw closed shapes on e.g. the edge cuts layer, then basically you have to follow the same approach in flatcam that is used to create the edge milling cnc job, but instead of the edge lines, you have to select the slots.
if you design it that way, then you can do both the slot and edge milling at once.
-
@neverdie said in CNC PCB milling:
I drilled the alignment holes with 0.8mm diameter. I'm using regular male header pins for the alignment, and having tried it, I think 0.8mm is really too tight. Not sure how @andrew is using 0.7mm. Different pins I guess? Anyhow, next time I'll try 0.9mm hole diameter.
maybe my pins also have different factors, but indeed, the given holes are pretty tight. this helps to prevent unnecessary pcb movements, which is very important if you work with 6mil traces/isolation, as a small unwanted movement could result in wasted pcb. if you work with bigger traces/clearings then it is not as important.
I would recommend to stick to one size which is good for your selected pins and which does not let the pcb to move.
-
Here's the final product:
Three of the vias are located under an SMD module, so I'll just have to try to minimize any solder bumps over them.
-
Unfortunately, even a tiny solder bump prevents the module from being soldered. I would have to redesign this so that the vias are not under the module.
-
@NeverDie Just have to say, I have been following this thread for a while now and you have come a long way with this. Great job.
-
Another good thing for people to know is that you can leave a single-sided blank PCB installed in the CNC and then, as the need arises, cut out additional modules from it:
For instance, this morning I cut this module carrier out of the above, already used, copper clad PCB:
So, for simple small things, it's a handy arrangement, and the incremental cost is negligible.
-
@neverdie Perhaps a clearer explanation ?
-
One problem I've run into though is that the foil traces can sometimes lift up in the course of ordinary soldering. For instance, the traces connecting the second to the right pin on the Fanstel module seems to have utterly disappeared, leaving that pin unconnected:
Maybe it's the quality of the blank PCB? I just don't know.
-
@neverdie It looks like you could potentially make those traces just a touch wider looking at the receiving end of the module. Woulld that be an option?
-
@dbemowsk said in CNC PCB milling:
Woulld that be an option?
Maybe: I'll try a 10 degree bit and tighter autoleveling to see if that gives wider traces.
-
@neverdie i say that because in your previous pic of the board it looked like that trace was a bit narrow. Because of that it probably couldn't take the heat.
-
It's funny, because I redid the soldering using an altogether new board, and it failed in exactly the same place:
This time, though, you can actually see the copper trace has curled up away from the board.
-
@neverdie It is quite odd that that one did it and some of the others didn't on that side of the board. Looking at your previous image, the pads and traces on the side marked in green look noticeably larger than the ones marked in red. Look at the ones marked with the blue arrow. It looks like those should, or at least could be the same size. Your thru hole pads on the left for the breakout headers also look smaller than the ones on the right. Shouldn't the two sides be a mirror image of each other?
-
@dbemowsk It's because the left side of the board is higher than the righthand side, and apparently the autoleveling isn't working all that precisely.
-
@neverdie I can see that the left side looks like it cut deeper, which would cause that. I still think it is the thin traces though. Can you do any manual leveling of the bed? If so, I would attempt that. My Anet A8 3D printer, though not a CNC, is all manual leveling and I do have to check it from time to time.
-
@dbemowsk said in CNC PCB milling:
@neverdie I can see that the left side looks like it cut deeper, which would cause that. I still think it is the thin traces though. Can you do any manual leveling of the bed? If so, I would attempt that. My Anet A8 3D printer, though not a CNC, is all manual leveling and I do have to check it from time to time.
I suppose I could shim under the sacrifice board with slips of paper to get the right height.
I would have thought that the autoleveling would have accurately compensated though. Not sure why it isn't, especially if I'm autoleveling at 2mm spacing. Maybe this is an area where a future version of the GRBL driver will get it right.
-
@neverdie cnc milling auto leveling is not like 3d printing bed leveling.
In 3d printing the firmware probes the bed, stores the values and automagically compensates at every move.
In cnc milling the host control software asks the grbl to move and probe each point, then it modifies the gcode accordingly and sends that gcode to the controller which in turn just moves in the xyz coordinate system.
Now, are you sure your gcode is updated to reflect the leveling?
Normal flatcam gcode has a few Z-0.1 moves, the rest are only G1X...Y... (without Z) and autoleveled gcode has almost every move with z, like G1X...Y...Z.... Chilipeppr also adds some comments at the end of the lines like "new Z" or "Z mod".
If you run the autoleveling probing but do not hit "send autoleveled gcode to workspace" in CP or "apply height map" in OpenCNCPilot the probing is useless.
-
@neverdie I just wasn't sure if your CNC had any way of manually leveling the bed. My 3D printer has screws in the 4 corners of the bed for me to manually level. I have been sticking to manual leveling on it because I have heard of people that have switched to auto-leveling that have had a number of problems. Maybe you need to switch to a different type of auto-leveling sensor.
-
@executivul Interesting. I did not know this. That is quite different.
-
@dbemowsk said in CNC PCB milling:
@neverdie I just wasn't sure if your CNC had any way of manually leveling the bed. My 3D printer has screws in the 4 corners of the bed for me to manually level. I have been sticking to manual leveling on it because I have heard of people that have switched to auto-leveling that have had a number of problems. Maybe you need to switch to a different type of auto-leveling sensor.
What firmware? BEST sensor ever = piezo sensor. I get 3 micron accuracy and repeatability. I use it on Marlin 1.1.8 with UBL on a corexy printer and also on a Smoothie delta.
-
@executivul I don't have a sensor yet. If I was going to switch to one I would have to flash a different firmware on my board. It is a newer version of Marlin.
-
@dbemowsk said in CNC PCB milling:
@executivul I don't have a sensor yet. If I was going to switch to one I would have to flash a different firmware on my board. It is a newer version of Marlin.
Marlin=Arduino (usually Mega2560). So UBL. What type of printer?
-
@executivul I do manual leveling and I rarely have to level the bed itself.
-
@neverdie for pcb milling a small height difference across the board's area could result in a big negative effect if autoleveling is not performed properly.
I would double check your autoleveling process, on the other hand, you could also try to use bed flattening with a bigger endmill tool first, then place the pcb to the flattened area. this could help you to eliminate or decrease the cnc assembly or the sacrificial board caused roughness.for further details please see the following link:
http://flatcam.org/manual/procedures.html#bed-flattening
-
@dbemowsk said in CNC PCB milling:
@executivul I do manual leveling and I rarely have to level the bed itself.
"If it works don't break it!"
To end the offtopic, for anybody interested RepRap forum piezo discussion and https://www.precisionpiezo.co.uk/ the store of the guys who brought the piezo to the world, there are 1:1 clones on aliexpress, but the price is almost the same if you buy only the board and print your own holder and they provide warranty, fast shipping and are really great people so they deserve some support! (I'm not affiliated in any way to their store)
LE. @NeverDie if you read this please look up 4-5 posts and tell me if your gcode has the autoleveling
-
@executivul said in CNC PCB milling:
if you read this please look up 4-5 posts and tell me if your gcode has the autoleveling
yes. In Chilipeppr I send the autoleveling to the workspace, at which point it modifies the gcode.
-
@andrew said in CNC PCB milling:
@neverdie for pcb milling a small height difference across the board's area could result in a big negative effect if autoleveling is not performed properly.
I would double check your autoleveling process, on the other hand, you could also try to use bed flattening with a bigger endmill tool first, then place the pcb to the flattened area. this could help you to eliminate or decrease the cnc assembly or the sacrificial board caused roughness.for further details please see the following link:
http://flatcam.org/manual/procedures.html#bed-flatteningWhat's the best type of sacrifice board to use if doing bed flattening? Regular wood, or should I stick with particle board or MDF?
-
It seems the z-height only needs to be off by a small amount (say 0.02mm) to have a noticeably negative effect on the trace width.
-
-
@neverdie said in CNC PCB milling:
What's the best type of sacrifice board to use if doing bed flattening? Regular wood, or should I stick with particle board or MDF?
I never had to try it, so I don't know. for me the regular wood seems to be logical...
-
@neverdie Sorry @andrew, wood is not a stable material, it is not inert and changes shape, it breathes if you will.
Artificial materials such as particle board or MDF have a stable matrix, but of the two, MDF is the more uniform and least reactive, hence it's popularity for kitchen cupboards, loudspeaker cases, etc..
It is easily machined, but is hard on the typical router bits, although nowhere near that of HDF.The bigger problem with mdf is the very fine dust produced when milling or cutting it with power tools, it gets everywhere, including your lungs, and can even get through vacuum cleaners without hepa filters....
I would suggest either a thick MDF or layers glued together, cut the sides to requirements, lock it in place and set a 6 or 8mm router bit for MDF in a collet, and set it to work, ideally outside where you can hose it down after sweeping up and vacuuming.
-
I think there may be some kind of coating that comes on these PCB's. Maybe it's to prevent corrosion of the copper? It seems to come off using IPA. Here one is before cleaning with IPA:
And here is the same PCB after cleaning with IPA:
Not sure whether it interferes with soldering. Anyone know? For now I'm cleaning it off.
-
@neverdie Looks like you have that board dialed in...
-
So a CNC question as I build my prototype machine. I have an arduino with CNC shield on order that should arrive tomorrow. My question is, does this allow for a display and keypad for local control or is everything just done through GRBL?
https://www.amazon.com/SODIAL-Arduino-Compatible-DRV8825-StepStick/dp/B074FVTTR7/ref=sr_1_7?s=electronics&ie=UTF8&qid=1517499916&sr=1-7&keywords=arduino+uno+cnc
-
All done via GCodeSender and similar i'm afraid... which is not a problem as far as i can see
Your Arduino is fully populated with this board :
- driving stepper drivers
- end-stops
- coolant (or wathever) enable
- spindle control (speed and rotation) (V3 shield can do PWM control if your spindle driver can). Be aware that this board doesn't drive any kind of motor. Just sends signal
- cloning axis of your choice
- emergency stop, pause and resume
- i might forget some details but i'm sure you get the point
But it's a pretty cool board for veeeery reasonable price. I love it !
-
@ben999 Thanks can't wait to try it out.
-
@ben999 So reading through your specs, everything seems pretty straight forward. I get that the spindle motor will need it's own controller which can be driven by the CNC board. One thing I am confused on though, what is "cloning axis of your choice". I am new to CNC.
-
@dbemowsk this board can accept up to 4 stepper drivers
your machine is probably a 3-axis CNC, so in most cases one stepper per axis could do the trick.
BUT sometimes some CNC designs require a 2nd stepper for an axis (usually the x-axis). Then add a 4th driver and some jumpers and you're done. You end up with 2 steppers doing exactly the same job
-
@ben999 That makes sense. My 3D printer has 2 Z axis steppers.
-
So I received my CNC board today. After looking over the board, I see that it has 2 endstop points per axis. Logical assumption would be that there would be one on each end of travel of an axis. I was a bit confused because my 3D printer only has 1 per axis. Do I need to use both for each axis when running GRBL?
-
So today I decided to do a little bit of testing with the CNC shield and my Y axis drive. To start off, one of the issues I have is that I do not know the specs of the motor that I have. Here is a pic:
Did quite a bit of searching over the past week to try and find any information, and I can't seem to find what I need. I decided to do some tests anyway. I was able to get GRBL loaded on to the UNO board fine and connect to it through PUTTY. I then installed just the Y axis driver and connected a 12 volt power supply for starters. I was able to get the Y axis screw turning by sending some Y axis commands such as "Y20" or "Y-20". When I ran it initially I didn't have the Y axis platter mount secured to anything, so that would just spin with the screw. The problem I have is that if I hold the platter mount giving the screw even the slightest bit of resistance, the motor will spin for half a second and then start making a whining/buzzing noise and will just vibrate a bit. Once the motor starts to slow down while stopping, the screw will stop whining and spin slightly at the end of the stop. I then thought that it might be that the voltage was too low as I had read on some forums about some Epson steppers being higher voltage steppers, so I connected a 30 volt supply. Running the same test gave me the same results. Does anyone have a clue as to why this would happen? Basically the motor doesn't have any torque.
-
@dbemowsk current gets you torque, voltage gets you speed. What driver do you use? See the current setting for the driver you use, how/what voltage you measure to determine the current and the formula that links the two.
When I want to set the sweetspot (assuming driver and stepper are somewhat matched) I start low and increase the current little by little until the stepper gets warm after a few minutes. Warm, not hot! But again, the driver and stepper must match, I wouldn't try that with a Pololu A4988 and a Nema 34 stepper
-
-
@dbemowsk well then check the current set by measuring Vref, plenty of tutorials on the web. If it's lower than 500mA try bumping it up little by little. Also try reducing the microsteps to 16 or 8 by removing jumpers.
-
The adjustment screw on the stepper module allows you to set max allowable current.
Also, in software, you could try setting a lower max acceleration parameter (as discussed earlier in this thread) and lower max velocity parameters, in case either or both are a factor.
You're brave to be attempting this with unknown equipment. If there are multiple factors... it's trickier to troubleshoot with no working baseline to start with.
-
I've changed my modus operandi so that now I use the largest pad and trace sizes that I can get away with. That way, if they get whittled down during the milling, I still hopefully have enough left.
Example:
-
That way, I can also cut deeper and wider, which helps with soldering.
-
So good news. I was able to get the motor turning with some torque. Initially the board was set at full step resolution (no jumpers on M0, M1 or M2). I thought I'd try it at it's lowest microstep resolution which is 1/32, and the motor ran good. I checked the max current and it was set quite high at 2.035 x 2 = 4.07 A. Running some Y axis moves got the motor a bit warm, but I don't think I ran it long enough to do much damage. I now have the current down to 0.254 x 2 = 0.508 A and it seems to be running quiet and good. With it being at 1/32 microstepping it took a lot of revolutions to move the platter mount any distance, so I bumped it to 1/16 microstepping. This is mainly due to the 4.8:1 gear ratio that I have. I think this should give me some pretty good precision on the Y axis at least. Haven't built the X or Z yet, but that is next.
-
@neverdie said in CNC PCB milling:
You're brave to be attempting this with unknown equipment.
I'm not too worried. Worst case I may have to get some other steppers. Being that this motor is salvaged, it's not like it costed me anything.
-
Here's my first attempt at copper removal between the traces/pads:
I used a 2mm endmill to do the work pretty fast. It actually came out pretty good, but the remaining un-removed copper is not what I wanted. I guess it's inevitable unless I use a supper narrow end-mill, or probably a carving bit. But that will take a lot longer.i.e. some kind of hybrid approach would be best, I should think. Is there some way to do the detailed cleanup with a small bit, and then switch to the large diameter bit for the fast cleanup where precision isn't needed?
-
@neverdie Looks like you could raise your end mill a bit (no pun intended). Shouldn't it be the same depth as your other bit?
-
@dbemowsk said in CNC PCB milling:
@neverdie Looks like you could raise your end mill a bit (no pun intended). Shouldn't it be the same depth as your other bit?
In theory, I suppose maybe so. However, the trouble is I can't preserve and then re-apply the same auto-leveling results. And, after the initial isolation milling, I can't do another to support setting the copper removal depth, because the touchpoints might hit the already removed material, which would seriously skew the results. So, I just set it deep enough to cover the possibilities, and that's why it's deeper.
If anyone has a better solution to that, I'm all ears.
-
I did get better removal using a carving bit:
-
@neverdie My apologies for near hijacking your thread. I am going to create a new one so I don't mess yours up.
-
-
Answering my own earlier questin, I forgot to remove the PCB coating using IPA before soldering. I think it probably did make the soldering come out a bit funky looking:
Next time I'll remove it first.Appearances aside, though, it should still work.
-
I made the breakout board a bit smaller, and then, since the proof of the pudding is in the taste, I connected it to a pro mini and ran it. Voilà ! It works like a charm.
-
@andrew What is the widest diameter end-mill bit that this CNC machine can accept and handle? I'm thinking in terms of the mill leveling discussed earlier, and going wide to speed up the process.
-
@neverdie Pardon my interruption, but I seem to recall my mentioning this near the start of this CNC adventure, and that there was a collet available for that device to accept 8mm standard wood routing bits...
I realise that US traditionally holds to 1/4 and 1/2 inch shafts, but the bigger the size the greater the mass to spin up and motor requirements... Pretty sure you would still be able to find 8mm bits...
-
@zboblamont I have an ER11 though, so doesn't that preclude using a bigger collet?
-
@neverdie Google it... The ER11 8mm collet indeed exists, although the ads on Ali seem to sell it partnered with a shaft extension.
I'm not familiar with your machine, but well acquainted with wood routers...
Old size bit shafts were 1/4" and 1/2" and probably are predominant in the US, metric were 6mm and 8mm etc... Have only used 8mm personally, but with 1500-2000w routers they make short work of mdf.
For the job you have in mind a 1/4" is probably meaty enough if your motor has the power to handle the cutting rate...There is no reason to go big on the bit diameter, a 1/4" would be plenty strong enough to do what you require and should be readily available stateside... If you have the collet of course...
-
@zboblamont So, indeed, it looks like there is quite a range of collet sizes available for ER11: https://www.maritool.com/Collets-ER-Collets-ER11-Collets/c21_56_60/index.html
It's harder to judge what end-mill diameter the motor can handle though. The motor looks very light duty.