1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. PLEASE: Read the FORUM RULES BEFORE registering!

    Dismiss Notice

Mini Mill Dro

Discussion in 'HARBOR FREIGHT, CENTRAL MACHINERY & BUSY BEE' started by WMello, Jul 11, 2015.

  1. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hi

    MillDroBox%20028_zpsgqegufuz.jpg

    Recently I've finished a DRO for the Mini Mill using the Arduino microprocessors.

    It uses iGaging scales on the X and Y axis, Quad Encoder on Z axis and infrared emitter/detector for the RPM.

    Wagner
     
    Last edited: Jul 12, 2015
    arvidj, MemorY, romspacenut and 6 others like this.
  2. ch2co

    ch2co United States Grumpy Old Man H-M Supporter-Premium

    Likes Received:
    434
    Trophy Points:
    63
    Location:
    Mile High Colorado
    City:
    Center of Colorado 5420ft
    State:
    Colorado

    -Return to Top-

    Welcome aboard! Just keep posting, I want to see your pictures. What mini mill do you have?
    I've often heard of the Arduino units and would be interested in seeing how you implemented one.

    Chuck the grumpy old guy.
     
  3. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hey Chuck, thank you.

    My mill is the standard Central Machinery (Sieg X2)
    I also own a Mini Lathe, from Cummins. (Sieg 7 x 12)

    I've some experience in electronics and programming (my job), so I've been playing with the Arduino for a while. It is a wonderful and simple platform.

    Today I've finished a X Feed for the mill using what I think is a car seat motor. Post about it to follow.

    In the past I've build small furniture pieces, wood gear clocks, a CNC router, crank organs and pipe organs.

    On the long run, I'm gathering skills and tooling for building a large, traditional brass gears, tower clock.

    Wagner
     
  4. brino

    brino Active User H-M Supporter-Premium

    Likes Received:
    2,294
    Trophy Points:
    113
    City:
    Almonte
    State:
    Ontario

    -Return to Top-

    Hi Wagner,

    I too am really looking forward to some photos, video, plans, whatever you're willing to share.

    From your past experience and future plans you have/will have a lot of great skills.

    Welcome to the site!

    -brino
     
  5. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hi Brino, thank you.

    Some of the projects I've mentioned are really old.

    There's still a lot to learn.
    I've been using store bought lathe tools. Today I will try to grind my first HSS lathe cutter.

    The idea is to learn how to grind fly-cutters for cycloidal clock wheels.

    I've just edited the first message. Apparently I can post pictures.

    Wagner
     
  6. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    In this DRO, for the X and Y axis I've used standard iGaging Scales.

    The Z axis is made of a quad-encoder mounted on a spool whit a constant-force spring, like in a tape measure.

    It worked very well.

    MillDroZ%20023_zps3qgokpw2.jpg

    MillDroZ%20009_zpsmhhfgy4j.jpg

    Wagner
     
    ch2co and JimDawson like this.
  7. brav65

    brav65 Active User H-M Supporter-Premium

    Likes Received:
    421
    Trophy Points:
    63
    City:
    Phoenix
    State:
    Arizona

    -Return to Top-

    Fantastic work! I love your cover plates and the Z axis scale! Welcome to the forum. This is a great place to lean new things.
     
  8. ch2co

    ch2co United States Grumpy Old Man H-M Supporter-Premium

    Likes Received:
    434
    Trophy Points:
    63
    Location:
    Mile High Colorado
    City:
    Center of Colorado 5420ft
    State:
    Colorado

    -Return to Top-

    Extremely Cool! Love the Z axis encoder setup. How do you handle the other two axis? Any chance of your sharing the schematics and parts lists?
    I've got a couple of old tape measures that I'm willing to sacrifice ;^)

    Chuck the grumpy old guy
     
  9. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hi Brav65, thank you.

    Hello Chuck, sure I can share the info.

    DroZ_zpsev3apqyx.jpg
    Just give me some time to collect more information. For now, here is the video of the prototype:



    Wagner
     
  10. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hi chuck,

    Here is the info, if you decide to build one.

    Electronics
    Encoder: LPA3806 Rotary Encoder two phases 600 pulses/rotation
    Arduino: Pro Mini Atmega328P 5V 16 MHz
    Display: Max7219 8-Digit display module

    Power Suppy: 5 Vdc 1 A min

    Programming:
    USB Serial: FT232RL Usb to Serial adapter

    Hardware:
    Pulley
    Spring
    Bearing
    Timing Belt
    Timing Pulley

    Arduino Code:
    Attached file MillDROZ.txt (copy it to your Arduino system folder and rename it to .ino)

    Drawing:
    Attached file Encoder.txt (rename it to Encoder.dxf - the forum don't allow dxf files...)

    Diagram:
    DRO2_zpscgjvbgcz.jpg

    You will need to download the Arduino IDE platform and learn the basics of it.

    The Arduino Pro Mini is a simplified version of the traditional Arduino UNO. It has no USB port (cheaper and much smaller), but needs a adapter for programming, the FT232.

    The USB to Serial adapater FT232 is used only for programming the Arduino Pro Mini. It is not used in operation; you will need only one for all your Arduino Pro Mini projects.

    Wagner
     

    Attached Files:

    rrjohnso2000 and ch2co like this.
  11. ch2co

    ch2co United States Grumpy Old Man H-M Supporter-Premium

    Likes Received:
    434
    Trophy Points:
    63
    Location:
    Mile High Colorado
    City:
    Center of Colorado 5420ft
    State:
    Colorado

    -Return to Top-

    Wagner

    Thank you. This will take a little bit of study and decision making. Haven't dealt with electronics of this type since the mid '80s
    when I was monitoring banks of soil testing apparatuses (apparati? apparatus?) using Commodore 64's for data collection.
    I'm not used to this new-fangled gadgetry you youngsters are using these days. But seriously, I'd really like to play around with
    the Arduino's and this could be a good starting point. Thanks again and keep on swarfing.

    Chuck the grumpy old guy
     
  12. Contach

    Contach United States Swarf Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    Albuquerque
    State:
    New Mexico

    -Return to Top-

    As a NOB I hate asking for something my very first post but.... I'm very interested in building the MillDROZ project. I have a few encoders on the shelf so I'm part way there already. I downloaded the MillDROZ.txt file and cut and pasted it into Arduino IDE and it wouldn't even try to compile. Something is being lost in translation. Would it be possible to get a copy of the .ino file emailed to me so I can see if that will fly.

    Jerry
     
  13. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Sure Jerry, I will try posting the ino file again, but .ino files are not allowed. Renamed it again to .txt. You have to rename it to .ino and place it on a folder named MillDroZ under your working arduino folders.

    I've just compiled the code on Arduino 1.6.4; works ok.

    It needs the library LedControl. Get it at the arduino website. (https://www.arduino.cc/en/Reference/Libraries)

    If it still not work, send me a email to wmbuskerATgmailDOTcom and I will reply with the code.

    Wagner
     

    Attached Files:

  14. Contach

    Contach United States Swarf Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    Albuquerque
    State:
    New Mexico

    -Return to Top-

    Wagner, you were right. I have the current version of IDE 1.6.6 but it turned out my LEDCONTROL libary hadn't been updated for some reason. Compiled just fine this time. Thanks for the info.

    Jerry
     
  15. takis.karas

    takis.karas Greece Iron Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    edessa
    State:
    Outside US / Canada

    -Return to Top-

    Hello can somebody help with the MillDROZ i want to mesure 1/100 mm
    how can i do move the dot to the fourth digit?
    600ppr encoder direct on the 5mm pitch ballsrew
     
  16. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hy takis.karas,

    For a 600 ppr encoder connected directly to a 5 mm pitch screw, you will have 2400 pulses per revolution (600 ppr * 4 interruptions per pulse). To read 500 (5.00 mm) on the display, use the factor 0.2083333 on the code. (500/(600*4))

    Edit the code from:

    #define SCF 4.000000 // Encoder factor (1/((600*4)/(12*0.08))*10000)

    To:

    #define SCF 0.208333333 // Encoder factor 5 mm pitch, 600 * 4 pulses/rotation 1/100 mm resolution (500/(600*4))


    To change the decimal point position, rewrite the function ThrDsp as follows: (copy/paste)


    void ThrDsp(void) // Display measure
    {
    long v;
    int i,n,m;


    n=0;
    v=DroMea;
    if(v<0)
    {
    n=1;
    v*=-1;
    }
    for(i=0;i<8;i++)
    {
    m=v%10;
    switch(i)
    {
    case 0:
    case 1:
    lc.setDigit(0,7-i,m,false); // normal
    break;
    case 2:
    lc.setDigit(0,7-i,m,true); // true = decimal point
    break;
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    if(v)
    lc.setDigit(0,7-i,m,false); // normal
    else
    {
    if(n)
    {
    n=0;
    lc.setChar(0,7-i,'-',false); // negative
    }
    else
    lc.setChar(0,7-i,' ',false); // blank
    }
    break;
    }
    v/=10;
    }
    }




    Wagner
     
  17. takis.karas

    takis.karas Greece Iron Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    edessa
    State:
    Outside US / Canada

    -Return to Top-

    Thank you for the fast reply
    the tree digits move to the left, in the beginning of the 8 digit display
    takis.karas
     
  18. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hy takis.karas,

    Sorry, but I don't understand; are you still having problems ?

    Wagner
     
  19. takis.karas

    takis.karas Greece Iron Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    edessa
    State:
    Outside US / Canada

    -Return to Top-

    Hi yes it begin to count from the first digit
     
  20. takis.karas

    takis.karas Greece Iron Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    edessa
    State:
    Outside US / Canada

    -Return to Top-

    Wagner i attach a image display.jpg
     
  21. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    I think you display module is somehow different from mine.
    Try changing all 7-i to i on the function ThrDsp, like this line here:

    Before: lc.setChar(0,7-i,'-',false);
    After: lc.setChar(0,i,'-',false);

    Wagner
     
  22. takis.karas

    takis.karas Greece Iron Registered Member

    Likes Received:
    0
    Trophy Points:
    1
    City:
    edessa
    State:
    Outside US / Canada

    -Return to Top-

    ok thanks it work fine
    takis.karas
     
  23. romspacenut

    romspacenut United States H-M Supporter - Premium Content H-M Supporter-Premium

    Likes Received:
    0
    Trophy Points:
    1
    City:
    San Diego
    State:
    California

    -Return to Top-

    Been looking for something like this. Thanks for posting!
     
  24. bmac2

    bmac2 Canada Iron Registered Member

    Likes Received:
    1
    Trophy Points:
    3
    City:
    Reddeer
    State:
    Alberta

    -Return to Top-

    Hi Wagner. Nice clean build.

    I have the iGaging scales on the X and Y of my Mini Mill and have picked up a third for the Z. I love having the DROs but I’m not a fan of the displays. With no backlight I find that if I’m not looking straight on to them they are hard to read (getting old?). I was thinking I could try to rework Yuriy's sketch to work with an LED display and use a Nano for each axis. I wouldn’t have to change anything if I could convince my wife she needed a new tablet but she won’t budge.

    So. The big ask. Would you be willing to share your sketch for the iGaging scales?

    Bob. Alberta Canada
     
  25. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hi Bob,

    Sure, here is the info:

    DROx.jpg
    DROps.jpg
     

    Attached Files:

  26. bmac2

    bmac2 Canada Iron Registered Member

    Likes Received:
    1
    Trophy Points:
    3
    City:
    Reddeer
    State:
    Alberta

    -Return to Top-

    Wagner you are my new super hero. Thanks for this I tried calculating how much time this is going to save me but I think I’d need a spreadsheet. I’d found a sketch I was trying to rework that used a LCD keypad shield that only went to 2 decimal points. The sketch looked to be well commented but was in Romanian and Google translate can only do so much . . . .

    Now if I can only manage to get some shop time in I’m laughing. I’ll post my progress.

    Thanks again. Bob
     
  27. bmac2

    bmac2 Canada Iron Registered Member

    Likes Received:
    1
    Trophy Points:
    3
    City:
    Reddeer
    State:
    Alberta

    -Return to Top-

    Hi Wagner.

    My lesson for today was “don’t buy cheap breadboard jumpers”. My wife said I was clear to go hide in the dungeon so I got the circuit together on a breadboard. Built up the 3.3v supply using an LM317 (what I had on hand) and was having a devil of a time getting the display to stabilize. Tore it down and rewired everything and it started working. At this point the breadboard was such a mess I couldn’t get to the “zero” button so I did a cleanup using shorter jumpers. I was back to the display running all over the place. In the end it some of these jumpers I’d picked up cheap as dirt and as it turns out that is about all they are worth. Rewired the circuit again this time just using the 3.3v supply on the Arduino and its working great. The refresh rate looks to be much faster than the stock iGaging display which is a bonus. All the cheap jumpers had round ends so I’ve sorted them out of my wire bin and after checking trashed the lot of them.

    Thanks again for posting this, it’s a great project.

     
  28. WMello

    WMello United States Active Member Active Member

    Likes Received:
    583
    Trophy Points:
    93
    City:
    Herndon
    State:
    Virginia

    -Return to Top-

    Hello Bob,

    Looking good. I'm glad it worked.

    If you want to change the direction of measurements (positive/negative), just change the definition of SCF for a positive or negative value.
    #define SCF -3.906250

    The refresh rate is given by DLY; it is a value in milliseconds of wait between measurements. DLY = 100 ms = 10 per second
    #define DLY 100

    Sneaky little devils your jumpers.

    Wagner
     
  29. bmac2

    bmac2 Canada Iron Registered Member

    Likes Received:
    1
    Trophy Points:
    3
    City:
    Reddeer
    State:
    Alberta

    -Return to Top-

    No worries. I had the scale upside down so the cord wouldn’t hit the breadboard. And those jumpers are now resting comfortably in the wire recycling bin at work . . . . you know . . save the whales and all that
     

Share This Page