| View previous topic :: View next topic |
| Author |
Message |
BasicFox
Joined: 15 Mar 2009 Posts: 59 Location: Belgium
|
Posted: Thu Mar 26, 2009 3:10 pm Post subject: Mill PCB with cnc, optimise software |
|
|
milling an smd pcb is quite difficult...
my first attempts to mill the openservo pcb were not so good. The pads where too small. So i have created a program that strokes each pad until it reaches an other path and then leaves only one pixel between them. You just have to create a black/white 24b bitmap of a pdf with photoshop or an other application and load it into my program.
This is the result:
http://www.basicfox.com/Top-Big.gif (Top layer of V2 Openservo PCB)
http://www.basicfox.com/Top-Big-Routed.gif (New Bitmap after 40px stroke)
Specify a zigzag direction if your cnc has backlash on one of its axes (like mine does)
After that u can save it as a .tap G-code file and load it into your cnc milling software.
You also can drill the holes automaticly:
http://www.basicfox.com/Holes-Big.gif (Holes of V2 Openservo PCB)
http://www.basicfox.com/Holes-Big-Routed.gif (after you saved the G-code)
The program searches for the middle of each black dot and then only marks the middle of it.
If you are interested, you can download the program here:
http://www.basicfox.com/BitmapnaarG-code.exe
it requires the .net framework |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
|
| Back to top |
|
 |
jharvey co-admin
Joined: 15 Mar 2009 Posts: 350 Location: Maine USA
|
Posted: Fri Mar 27, 2009 1:33 am Post subject: |
|
|
| Yeah once you get some photo's, post them. |
|
| Back to top |
|
 |
BasicFox
Joined: 15 Mar 2009 Posts: 59 Location: Belgium
|
Posted: Wed Apr 08, 2009 4:37 pm Post subject: |
|
|
Have some troubles with my Z-axis driver of my cnc wich made the axis lower more than it has to. But the result is showable :p (New driver IC's LMD18245 succesfully sampled) the toplayer of the openservo PCB:
(thin put on afterwards)
 |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Wed Apr 08, 2009 5:19 pm Post subject: |
|
|
Hi basicFox
Considering the difficulty of the task you undertook, it is a very reasonable result.
I notice you didn't retool and do the vias? Are you going to run this as a separate pass, or is this just a test run?
What mill are you using?
Looking good!
Keep us posted. _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
BasicFox
Joined: 15 Mar 2009 Posts: 59 Location: Belgium
|
Posted: Wed Apr 08, 2009 7:02 pm Post subject: |
|
|
Therefor i load the drillfile, wich dills the via's. I don't do that with the engrave bit, so the pathsize is maximal. (this is a bad testrun, if you look on the right side you see the pcb isn't completed yet, the tool was also cutting away the copper that has to stay. That because of my Z-axis problems
Damn looking forward to play with my hexapod
But today i had an idea for the openservo, if you have a leg or a gripper that has to move to a certain XYZ position, and you have like 3 joints. That all the servo's listen to the xyz position and then calculate the movement that their own join has to travel. So you don't have to calculate it on the I²C master |
|
| Back to top |
|
 |
ginge Site Admin
Joined: 14 Jan 2006 Posts: 1029 Location: Manchester, UK
|
Posted: Wed Apr 08, 2009 7:44 pm Post subject: |
|
|
not quite as easy as it might seem considering the low cpu power. Calculating inverse kinematics in real time over a distributed system is going to be extremely tricky, especially as some ik calculations yeild multiple joint paths for a given Cartesian coordinate.
If at any point you want to make sure the gripper and arms dont collide with the robot/anything else, you need to start having a model of the robot inside of the servo. eek. _________________ http://www.headfuzz.co.uk/
http://www.robotfuzz.co.uk/ |
|
| Back to top |
|
 |
guru
Joined: 03 Jan 2006 Posts: 128 Location: St Pete Beach, FL
|
Posted: Mon Apr 13, 2009 6:34 pm Post subject: |
|
|
Nice job so far! What milling bit are you using, I',m guessing a 60 deg V bit from drewtronics? I bought a 10mil end mill at Enco that I will try next. I fould the V bit hard to control the cutting width/depth right.
Most of all, it's hard to find good PCB milling software. If you use Eagle you're in luck, otherwise you're not! I have a CNC machine and the hardest thing to get working is the software toolchains. Maybe I should try exporting the 3D version of my PCB and doing a 3D mill toolpath on that using my CAM software! lol Hey, wait a minute....  |
|
| Back to top |
|
 |
guru
Joined: 03 Jan 2006 Posts: 128 Location: St Pete Beach, FL
|
Posted: Mon Apr 13, 2009 6:36 pm Post subject: |
|
|
| BasicFox wrote: | | But today i had an idea for the openservo, if you have a leg or a gripper that has to move to a certain XYZ position, and you have like 3 joints. That all the servo's listen to the xyz position and then calculate the movement that their own join has to travel. So you don't have to calculate it on the I²C master |
You have to realize the mcu in the openservo has to software emulate multiplies and divides, so math on it is very processor intensive. The openservo already has *a lot* to do with tight time constraints. |
|
| Back to top |
|
 |
BasicFox
Joined: 15 Mar 2009 Posts: 59 Location: Belgium
|
Posted: Sat May 09, 2009 9:02 pm Post subject: |
|
|
Fixed my cnc and here is the double layer openservo v2.1 (just used a 10 pins connector and used two wires foreach Vcc and GND)
Toplayer
Bottomlayer
Some more pictures:

Used a trough hole condensator to fix the too large smd C8 problem
But i wonder, would it be good to place condensators on the motor itself? And what values?
Also i saw some different setups of them, only one between the motor pins or two condensators from each pin to the motor body? Wich one is the best? |
|
| Back to top |
|
 |
|