Sep 30, 2012

My CNC 2.0 Part III

Go to Part I
Go to Part II

Finally the first usable PCB milled with my CNC

I adjusted the table level, now i have an error of 0,2mm. It begins to work fine, but it have to be better.

And now using it (the machine begins to improve itself)

now is the time to structure the wiring

This PCB implements this protoboard (as seen here) and is a shield for Arduino.
 To design the PCB i used DipTrace freeWare.
Here you can find the DIP, PDF, SVG and GCode files i used to mill this PCB.
To create th GCode file, first i print from DipTrace's PCBLayout to a PDF file, then with Adobe Illustrator:
  - i selected all the paths
  - and then Object - Path - Outline Stroke
  - No Fill
  - Stroke - Weight 0.01 mm
  - Stroke - Caps - Projecting
  - Stroke - Corner - Miter Join
  - PathFinder - Unite
Then i take InkSkape's laserengraver addin to create the GCode.
Finally i manually modified the GCode to update it to my standard.
To drill the holes, i exported from DipTrace's PCBLayout to 'Mach 2/3 Drill' from where i get the GCode file that i modified to update it to my standard.


Sep 27, 2012

CNC 2.0 beta 2 with fixed Bugs

 Finally assembled!

by the moment electronics still in protoboard and because that, the cables are hanging.

CNC calibrating the tool length



Now CNC 2.0 beta 2 with fixed Bugs

changes i made in Beta 2:

- some design and software errors are corrected.
- forgotten parts, holes .. are now placed.
- in order to make Z-Axis stronger i changed it. Now Ikea's Kvartal single track rail is used.
- the tool suport now is detachable. So it can be changed easily .
- a new tool lenght calibration is added.

Download 3D Model of beta 2
Download Software Beta 0.1
First test with my CNC
It is drawing the Arduino shield that i designed to hold the stepper drivers and the conections to the limit switches.
To mill the PCB i used Proxxon 28321 milling bits.
But unfortunately the first attempt was not good enough. As you can see in the photo above, the pen version is almost perfect, but the milled version is not so good. Then:
  - The machine works
  - The software begins to work reasonably well with 2D.
  - The machine's precision is good.
  - Although I have improved Z-axis, it is not stroger enough.
  - I have to level the horizontality of the table, because i detected a diference of about 0.5 mm in diferent points of the table. It does'nt seems too much, but if you have to scratch 0.25mm, adding 0.5mm gives a total of 0.75mm to scratch that, given the result, is too much.


Sep 18, 2012

Easy Driver with Arduino Part II (How to adjust the maximum Stepper Current)

Go to Part I
Part II
Go to Part III

   How to adjust the maximum current with Easy Driver.

Easy Driver let's you adjust the maximum current for the motor coils.
But what does this mean:

      More current ==> more torque / more Heat / less Speed  / more motor noise
      Less current  ==> less torque   / less Heat   / more Speed / less noise

Then the best choice is to adjust it to the minimum current given the needed torque.

I did it by trial and error; i expenrienced that when there's not enough torque, some (or all) steps where dropped, then i adjusted the current to the point at witch i never loose an step.

To adjust the current, simply turn the potentiometer (3):
CCW ==> less current
CW   ==> more current
Yes, the SilkScreen is wrong for squarish white box pot (schmalzhaus, says that for some Easy Driver with other pot, the silkscreeen is right) .
To know the actual current for each coil of the steper:
     Take a meter and monitor the voltage between points (1) and (2).
     Take a meter and monitor the resistance between points (4) and (5).
     then aply the following formula:
                 Imax = VREF/8RS                                     (page 5 of Allegro's A3967 Data Sheet)
        Imax is the  max current for each coil (obviously Imax has never to exceed the maximum current  suported by your stepper)
        VREF is the voltage you read in the meter
        RS      is the resistance you read in the meter (in the EasyDriver's schematic sheet Rs is 0.75 Ohm, but in my board i meter this and found that Rs is 1.5 Ohm) 
     For example i read:
          VREF = 1.7V
           RS    = 1.5 Ohm
          Then Imax = 1.7 /(8 * 1.5) = 0.141 A = 141 mA