• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.
  • Guest,  We want to wish You and Your Family a Healthy, Happy Thanksgiving! Click the "X" at the top right corner to remove this notice)
  • PLEASE: Read the FORUM RULES BEFORE registering!

4

Mini Mill Dro

3
Like what you see?
Click here to donate to this forum and upgrade your account!
10

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#1
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:

ch2co

Grumpy Old Man
H-M Supporter-Premium Member
Joined
Jan 9, 2013
Messages
752
Likes
465
#2
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.
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#3
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
 

brino

Active User
H-M Supporter - Sustaining Member
Joined
Jan 2, 2014
Messages
2,852
Likes
2,625
#4
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
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#5
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
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#6
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
 

brav65

Active User
H-M Supporter-Premium Member
Joined
Sep 24, 2014
Messages
899
Likes
428
#7
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.
 

ch2co

Grumpy Old Man
H-M Supporter-Premium Member
Joined
Jan 9, 2013
Messages
752
Likes
465
#8
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
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#9
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
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#10
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
 

Attachments

ch2co

Grumpy Old Man
H-M Supporter-Premium Member
Joined
Jan 9, 2013
Messages
752
Likes
465
#11
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
 

Contach

Swarf
Registered Member
Joined
Dec 12, 2015
Messages
3
Likes
0
#12
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
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#13
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
 

Attachments

Contach

Swarf
Registered Member
Joined
Dec 12, 2015
Messages
3
Likes
0
#14
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
 

takis.karas

Iron
Registered Member
Joined
Mar 21, 2016
Messages
6
Likes
0
#15
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
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#16
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
 

takis.karas

Iron
Registered Member
Joined
Mar 21, 2016
Messages
6
Likes
0
#17
Thank you for the fast reply
the tree digits move to the left, in the beginning of the 8 digit display
takis.karas
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#18
Hy takis.karas,

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

Wagner
 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#21
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
 

bmac2

Iron
Registered Member
Joined
Feb 23, 2017
Messages
6
Likes
1
#24
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
 

bmac2

Iron
Registered Member
Joined
Feb 23, 2017
Messages
6
Likes
1
#26
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
 

bmac2

Iron
Registered Member
Joined
Feb 23, 2017
Messages
6
Likes
1
#27
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.

 

WMello

Active Member
Active Member
Joined
Jul 11, 2015
Messages
228
Likes
653
#28
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
 

bmac2

Iron
Registered Member
Joined
Feb 23, 2017
Messages
6
Likes
1
#29
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
 
[6]
5 [7]