An open source Emco 120P lathe tool turret control
10 Jun 2015 21:40 #59674
by tome
An open source Emco 120P lathe tool turret control was created by tome
I am helping a friend, Dale Grover, to retrofit his Emco EMCOturn120P lathe with new controls. On our lathe we have what is considered the "older style" 8-position tool turret which is driven by a 24V DC BLDC motor. There is also a position encoder on the turret that reports the 8 tool positions in gray code. Dale developed a nice Arduino Nano based hardware board that uses the Ti LMD18245 Full-Bridge Motor Driver to drive the motor and to drop current when the motor backs against the pawl. He also wrote the Arduino code (called a Sketch in arduino speak) to drive the turret.
The operation is, you issue a tool change in Linuxcnc (ie, M6 T1), it sends that request along with the tool number via the USB port to the Arduino. The Arduino reads the turret encoder, drives the motor to change the tool if necessary, and returns the same tool number as an indication of success. Linuxcnc receives the tool-changed success and Bob’s your uncle.
Since we have 1-8 physical tool positions on this turret we map tool numbers 9-16, 17-24, 25-32, etc., etc., back to physical request for tool 1-8 (essentially mod-8). That way you can set up a tool table for different jobs. i.e., job #2 uses tool numbers 9-16. You load those tools in the turret: tool 9 in position 1, tool 10 in position 2, and so on. The component will map the tool request back to physical positions 1-8. Tool 0 request (no tool) is ignored.
I suspect this solution may work with the newer style Emco turret as well, but I don’t have one to try. I am fairly sure it wouldn’t take much modification in any case.
Anyway, we are making this solution open source so have at it - if you care. All the files are currently located here: bgp.nu/~tom/pub/toolerator3000/
Files there are:
PDF viewable schematic of controller board: mstc_schematic.pdf
PDF viewable board layout: mstc_pcb.pdf
KiCAD schematic and board layout files: mstcPCBFiles.zip
Linuxcnc userspace component source code: toolerator3000.comp
Arduino sketch source code: Toolerator3000.ino
A brief readme for installation: README.txt
At some point I may post this same info and files to the wiki.
I’d also like to thank Peter Jensen (www.tubeclock.com) who essentially rewrote my initial lame attempt at the component (Toolerator3000.comp). My name is on it as the “author” but that is only to protect his innocence ;-)
-Tom
The operation is, you issue a tool change in Linuxcnc (ie, M6 T1), it sends that request along with the tool number via the USB port to the Arduino. The Arduino reads the turret encoder, drives the motor to change the tool if necessary, and returns the same tool number as an indication of success. Linuxcnc receives the tool-changed success and Bob’s your uncle.
Since we have 1-8 physical tool positions on this turret we map tool numbers 9-16, 17-24, 25-32, etc., etc., back to physical request for tool 1-8 (essentially mod-8). That way you can set up a tool table for different jobs. i.e., job #2 uses tool numbers 9-16. You load those tools in the turret: tool 9 in position 1, tool 10 in position 2, and so on. The component will map the tool request back to physical positions 1-8. Tool 0 request (no tool) is ignored.
I suspect this solution may work with the newer style Emco turret as well, but I don’t have one to try. I am fairly sure it wouldn’t take much modification in any case.
Anyway, we are making this solution open source so have at it - if you care. All the files are currently located here: bgp.nu/~tom/pub/toolerator3000/
Files there are:
PDF viewable schematic of controller board: mstc_schematic.pdf
PDF viewable board layout: mstc_pcb.pdf
KiCAD schematic and board layout files: mstcPCBFiles.zip
Linuxcnc userspace component source code: toolerator3000.comp
Arduino sketch source code: Toolerator3000.ino
A brief readme for installation: README.txt
At some point I may post this same info and files to the wiki.
I’d also like to thank Peter Jensen (www.tubeclock.com) who essentially rewrote my initial lame attempt at the component (Toolerator3000.comp). My name is on it as the “author” but that is only to protect his innocence ;-)
-Tom
The following user(s) said Thank You: Victor
Please Log in or Create an account to join the conversation.
10 Jun 2015 23:00 #59675
by ArcEye
Replied by ArcEye on topic An open source Emco 120P lathe tool turret control
Well done, can never have too many solutions for tool changers.
I thought the serial code looked rather familiar and I see I have a credit at the top of the .comp file
Let me know when you are happy with everything and I will zip it and put it on the contributed components wiki
next to Bad German's adaptation of my Orac toolchanger
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...oolchanger_component
regards
I thought the serial code looked rather familiar and I see I have a credit at the top of the .comp file
Let me know when you are happy with everything and I will zip it and put it on the contributed components wiki
next to Bad German's adaptation of my Orac toolchanger
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...oolchanger_component
regards
Please Log in or Create an account to join the conversation.
10 Jun 2015 23:48 #59677
by tome
Indeed you get credit, Thanks ArcEye! The component looked very much like yours when I was done. Peter obfuscated it quite a bit, but all the serial init stuff is yours verbatim.
I am happy and don't anticipate any changes. I haven't done EXTENSIVE testing but have done enough to believe it is done. Feel free to add it to the wiki.
Thanks,
-Tom
Replied by tome on topic An open source Emco 120P lathe tool turret control
Well done, can never have too many solutions for tool changers.
I thought the serial code looked rather familiar and I see I have a credit at the top of the .comp file
Indeed you get credit, Thanks ArcEye! The component looked very much like yours when I was done. Peter obfuscated it quite a bit, but all the serial init stuff is yours verbatim.
Let me know when you are happy with everything and I will zip it and put it on the contributed components wiki
next to Bad German's adaptation of my Orac toolchanger
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...oolchanger_component
regards
I am happy and don't anticipate any changes. I haven't done EXTENSIVE testing but have done enough to believe it is done. Feel free to add it to the wiki.
Thanks,
-Tom
Please Log in or Create an account to join the conversation.
11 Jun 2015 21:27 #59708
by ArcEye
Replied by ArcEye on topic An open source Emco 120P lathe tool turret control
Done
If you want to add more detail feel free
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...ator_Arduino_powered
If you want to add more detail feel free
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...ator_Arduino_powered
Please Log in or Create an account to join the conversation.
12 Jun 2015 20:55 #59745
by tome
Thanks for putting it up there, ArcEye.
-Tom
Replied by tome on topic An open source Emco 120P lathe tool turret control
Done
If you want to add more detail feel free
wiki.linuxcnc.org/cgi-bin/wiki.pl?Contri...ator_Arduino_powered
Thanks for putting it up there, ArcEye.
-Tom
Please Log in or Create an account to join the conversation.
03 Sep 2015 20:40 #62085
by tome
Replied by tome on topic An open source Emco 120P lathe tool turret control
I needed to physically modify the turret to accommodate a cutoff tool we wanted to use, a bit of grinding on an exterior tool position. After doing that and cleaning up the turret head (years of accumulated crud) the turret wouldn't reliably fall into the correct tool position.
Turns out the cleaning had revealed a bug, nay, a design assumption error, in Toolerator.ino -the Arduino program. That has now been redone and the turret is working great and is a tiny bit faster in changing tools as the fix involves not spinning as far past the requested tool position.
I updated the files on the wiki and on my web server, Toolerator.ino is now version Cursing Cat. Burping Badger is no longer supported.
-Tom
Turns out the cleaning had revealed a bug, nay, a design assumption error, in Toolerator.ino -the Arduino program. That has now been redone and the turret is working great and is a tiny bit faster in changing tools as the fix involves not spinning as far past the requested tool position.
I updated the files on the wiki and on my web server, Toolerator.ino is now version Cursing Cat. Burping Badger is no longer supported.
-Tom
Please Log in or Create an account to join the conversation.
14 Apr 2016 03:12 #73267
by LutzTD
Replied by LutzTD on topic An open source Emco 120P lathe tool turret control
Hi,
I am planning to reproduce your Toolerator 3000-C PCB for use on my emcoturn120. I have the files from the open source site listed above but I cant find a way to output the BOM from KiCAD. would you happen to have your BOM list? I imagine with some work I will be able to find all of the components but I thought you may already have a spreadsheet bom you could post. Any help would be appreciated.
I am planning to reproduce your Toolerator 3000-C PCB for use on my emcoturn120. I have the files from the open source site listed above but I cant find a way to output the BOM from KiCAD. would you happen to have your BOM list? I imagine with some work I will be able to find all of the components but I thought you may already have a spreadsheet bom you could post. Any help would be appreciated.
Please Log in or Create an account to join the conversation.
14 Apr 2016 13:28 #73297
by tome
I will check with Dale to see if he has a list of parts. I was able to find these two hits for producing a BOM from KiCAD:
forum.kicad.info/t/kicad-bom-wizard-plug...tml-and-csv-bom/2142
rheingoldheavy.com/kicad-bom-management-...detailed-components/
-Tom
Replied by tome on topic An open source Emco 120P lathe tool turret control
Hi,
I am planning to reproduce your Toolerator 3000-C PCB for use on my emcoturn120. I have the files from the open source site listed above but I cant find a way to output the BOM from KiCAD. would you happen to have your BOM list? I imagine with some work I will be able to find all of the components but I thought you may already have a spreadsheet bom you could post. Any help would be appreciated.
I will check with Dale to see if he has a list of parts. I was able to find these two hits for producing a BOM from KiCAD:
forum.kicad.info/t/kicad-bom-wizard-plug...tml-and-csv-bom/2142
rheingoldheavy.com/kicad-bom-management-...detailed-components/
-Tom
Please Log in or Create an account to join the conversation.
14 Apr 2016 18:14 - 14 Apr 2016 18:19 #73319
by LutzTD
Replied by LutzTD on topic An open source Emco 120P lathe tool turret control
hi Tom,
thanx for the reply. I was just being a little lazy, no problem. I did figure out the output from KiCAD and got the attached, but it was a little generic so I am guessing on some of it. I started going through and identifying the actual parts and where to buy them and thought since you are very organized you might have a spreadsheet already. Between this and the photos of the Toolerator 3000 PCBA on your picture site I think I can get it done. I will post it when I finish, if you could review it to make sure I did it right (Im an ME after all )
Thanx
thanx for the reply. I was just being a little lazy, no problem. I did figure out the output from KiCAD and got the attached, but it was a little generic so I am guessing on some of it. I started going through and identifying the actual parts and where to buy them and thought since you are very organized you might have a spreadsheet already. Between this and the photos of the Toolerator 3000 PCBA on your picture site I think I can get it done. I will post it when I finish, if you could review it to make sure I did it right (Im an ME after all )
Thanx
Last edit: 14 Apr 2016 18:19 by LutzTD. Reason: additional comment
Please Log in or Create an account to join the conversation.
16 Apr 2016 03:02 #73386
by LutzTD
Replied by LutzTD on topic An open source Emco 120P lathe tool turret control
Please Log in or Create an account to join the conversation.
Moderators: piasdom
Time to create page: 0.132 seconds