[Emc-users] Parport driver max expected frequency
Hello to all. I need to control a screw with an encoder mounted on it. Calculating the max rpm and the resolution I want I need a 25 khz read response for the encoder. I remember reading somewhere the maximum expected frequency of the parport software driver to read an input but I don't remember where. I would like to know please if any of you have an approximation of the frequency, because If this works I can save some money. If not, I would have to buy dedicated hardware. Thanks as always! -- *Leonardo Marsaglia*. -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport driver max expected frequency
On 09/30/2013 12:05 PM, Leonardo Marsaglia wrote: Hello to all. I need to control a screw with an encoder mounted on it. Calculating the max rpm and the resolution I want I need a 25 khz read response for the encoder. I remember reading somewhere the maximum expected frequency of the parport software driver to read an input but I don't remember where. I would like to know please if any of you have an approximation of the frequency, because If this works I can save some money. If not, I would have to buy dedicated hardware. The port, itself, has no frequency limit. It takes about 1 us to read the legacy ports, and the motherboard puts the CPU in a wait state while it is doing it. But, reading a single register of the parport hardware will just take about 1 us, at the lowest level. The hal_parport driver is fairly efficient, and you only need one instance of the software encoder component should also be fairly efficient. If you need to detect position every 25 us, this could be a problem. If you just want to be sure that encoder counts are not lost, then this should work fine. Later motherboards with PCI-connected parports are a bit faster. You should be able to run a 25 us (25000 ns) base thread on a good CPU. Jon -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport driver max expected frequency
Hello Jon and thanks for the quick answer. I was affraid that it would be on the limit. I guess I'm going to use a 5i20 to read it. I have one machine using it so I can test it with the TTL encoder and see how it works. Do you know if the 6i25 is already supported by LinuxCNC? I know that hostmot 2 works with it, but I don't know if there is support for that particular card on LinuxCNC. Leonardo. 2013/9/30 Jon Elson el...@pico-systems.com On 09/30/2013 12:05 PM, Leonardo Marsaglia wrote: Hello to all. I need to control a screw with an encoder mounted on it. Calculating the max rpm and the resolution I want I need a 25 khz read response for the encoder. I remember reading somewhere the maximum expected frequency of the parport software driver to read an input but I don't remember where. I would like to know please if any of you have an approximation of the frequency, because If this works I can save some money. If not, I would have to buy dedicated hardware. The port, itself, has no frequency limit. It takes about 1 us to read the legacy ports, and the motherboard puts the CPU in a wait state while it is doing it. But, reading a single register of the parport hardware will just take about 1 us, at the lowest level. The hal_parport driver is fairly efficient, and you only need one instance of the software encoder component should also be fairly efficient. If you need to detect position every 25 us, this could be a problem. If you just want to be sure that encoder counts are not lost, then this should work fine. Later motherboards with PCI-connected parports are a bit faster. You should be able to run a 25 us (25000 ns) base thread on a good CPU. Jon -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- *Leonardo Marsaglia*. -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60133471iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport driver max expected frequency
On 09/30/2013 12:33 PM, Leonardo Marsaglia wrote: Hello Jon and thanks for the quick answer. I was affraid that it would be on the limit. I guess I'm going to use a 5i20 to read it. I have one machine using it so I can test it with the TTL encoder and see how it works. Do you know if the 6i25 is already supported by LinuxCNC? I know that hostmot 2 works with it, but I don't know if there is support for that particular card on LinuxCNC. Sorry, I don't use Mesa products, as they are my competitor. Jon -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport driver max expected frequency
On Mon, 30 Sep 2013, Leonardo Marsaglia wrote: Date: Mon, 30 Sep 2013 14:33:34 -0300 From: Leonardo Marsaglia leonardomarsagli...@gmail.com Reply-To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net Subject: Re: [Emc-users] Parport driver max expected frequency Hello Jon and thanks for the quick answer. I was affraid that it would be on the limit. I guess I'm going to use a 5i20 to read it. I have one machine using it so I can test it with the TTL encoder and see how it works. Do you know if the 6i25 is already supported by LinuxCNC? I know that hostmot 2 works with it, but I don't know if there is support for that particular card on LinuxCNC. Yes the 6i25 is supported (it normally has 5I25 firmware installed so looks like a 5I25) Leonardo. Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your ()_() signature to help him gain world domination. -- October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60134791iu=/4140/ostg.clktrk ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
Just to inform about this problem I had with trying to make parallel card work on PCIe bus (based on Netmos , I gave up on it, and go with two cards on PCI bus, and it works form first second I installed them in computer case. Thees two are based on Netmos 9865. -- Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Parport
Hi everyone, I installed new pci express card with two parallel ports, and I can't get any signal out of it. I am trying to connect it to two c10 boards which are working fine with mach. lspci -v feedback is: Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)Subsystem: LSI Logic / Symbios Logic Device 0020Flags: medium devsel, IRQ 19I/O ports at cc00 [size=8]I/O ports at c880 [size=8]I/O ports at c800 [size=8]I/O ports at c480 [size=8]I/O ports at c400 [size=8]I/O ports at c080 [size=16]Kernel driver in use: parport_pcKernel modules: parport_pc and cat /proc/ioports gives me: c000-cfff : PCI Bus :03 c000-cfff : PCI Bus :04c080-c08f : :04:00.0c400-c407 : :04:00.0c480-c487 : :04:00.0 c480-c482 : parport1c800-c807 : :04:00.0 c800-c802 : parport1 c880-c887 : :04:00.0 c880-c882 : parport0cc00-cc07 : :04:00.0 cc00-cc02 : parport0 So I also ran trough addresses and the one without error messages on start-up are c000, c800, c400, but still no signal from card. I checked with multimeter, signals on pins assigned for steppers direction which I guess it should be measurable change when jogging in one or another direction. Tried with inverting signals also with no luck. Is there something I missed on start, because what I did is just insert card into the free pci-e slot? Thank you,Regards! -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On Sunday, December 25, 2011 09:49:11 AM Tomaz T. did opine: Hi everyone, I installed new pci express card with two parallel ports, and I can't get any signal out of it. I am trying to connect it to two c10 boards which are working fine with mach. lspci -v feedback is: Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)Subsystem: LSI Logic / Symbios Logic Device 0020Flags: medium devsel, IRQ 19I/O ports at cc00 [size=8]I/O ports at c880 [size=8]I/O ports at c800 [size=8]I/O ports at c480 [size=8]I/O ports at c400 [size=8]I/O ports at c080 [size=16]Kernel driver in use: parport_pcKernel modules: parport_pc and cat /proc/ioports gives me: c000-cfff : PCI Bus :03 c000-cfff : PCI Bus :04c080-c08f : :04:00.0c400-c407 : :04:00.0c480-c487 : :04:00.0 c480-c482 : parport1c800-c807 : :04:00.0 c800-c802 : parport1c880-c887 : :04:00.0 c880-c882 : parport0 cc00-cc07 : :04:00.0 cc00-cc02 : parport0 So I also ran trough addresses and the one without error messages on start-up are c000, c800, c400, but still no signal from card. I checked with multimeter, signals on pins assigned for steppers direction which I guess it should be measurable change when jogging in one or another direction. Tried with inverting signals also with no luck. Is there something I missed on start, because what I did is just insert card into the free pci-e slot? Thank you,Regards! Look in your config/profile-name/profile-name.hal file, you will need to make it resemble this, edit addresses for yours: loadrt probe_parport #loadrt hal_parport cfg=0x378 out loadrt hal_parport cfg=0xd000 out--this line setp parport.0.reset-time 2000 Plus any options needed by your statement that it is a PCI-E card, my system is std PCI. That is assuming that netmos 9815 card is usable, I _think_ that one is one we agreed to blacklist in our discussions here, about 2 years ago. It doesn't do the EPP mode correctly or some such. I have one, made by Rosewill, and I took it back out and am now using a startech (on the box) card which signs on according to an lspci -v as: 00:0a.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01) (prog-if 02) Subsystem: Timedia Technology Co Ltd Device 0103 Flags: stepping, medium devsel, IRQ 11 I/O ports at d000 [size=8] I/O ports at d400 [size=8] Kernel driver in use: parport_pc Kernel modules: parport_pc Only one port is bonded out, but it works fine, running my toy sized mill. Merry Christmas! Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) My web page: http://coyoteden.dyndns-free.com:85/gene Ever notice that even the busiest people are never too busy to tell you just how busy they are? -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
Hi everyone, I installed new pci express card with two parallel ports, and I can't get any signal out of it. I am trying to connect it to two c10 boards which are working fine with mach. lspci -v feedback is: Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)Subsystem: LSI Logic / Symbios Logic Device 0020Flags: medium devsel, IRQ 19I/O ports at cc00 [size=8]I/O ports at c880 [size=8]I/O ports at c800 [size=8]I/O ports at c480 [size=8]I/O ports at c400 [size=8]I/O ports at c080 [size=16]Kernel driver in use: parport_pcKernel modules: parport_pc and cat /proc/ioports gives me: c000-cfff : PCI Bus :03 c000-cfff : PCI Bus :04 c080-c08f : :04:00.0 c400-c407 : :04:00.0 c480-c487 : :04:00.0 c480-c482 : parport1 c800-c807 : :04:00.0 c800-c802 : parport1 c880-c887 : :04:00.0 c880-c882 : parport0 cc00-cc07 : :04:00.0 cc00-cc02 : parport0 So I also ran trough addresses and the one without error messages on start-up are c000, c800, c400, but still no signal from card. I checked with multimeter, signals on pins assigned for steppers direction which I guess it should be measurable change when jogging in one or another direction. Tried with inverting signals also with no luck. Is there something I missed on start, because what I did is just insert card into the free pci-e slot? Thank you,Regards! Look in your config/profile-name/profile-name.hal file, you will need to make it resemble this, edit addresses for yours: loadrt probe_parport #loadrt hal_parport cfg=0x378 out loadrt hal_parport cfg=0xd000 out --this line setp parport.0.reset-time 2000 Plus any options needed by your statement that it is a PCI-E card, my system is std PCI. That is assuming that netmos 9815 card is usable, I _think_ that one is one we agreed to blacklist in our discussions here, about 2 years ago. It doesn't do the EPP mode correctly or some such. I have one, made by Rosewill, and I took it back out and am now using a startech (on the box) card which signs on according to an lspci -v as: 00:0a.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01) (prog-if 02) Subsystem: Timedia Technology Co Ltd Device 0103 Flags: stepping, medium devsel, IRQ 11 I/O ports at d000 [size=8] I/O ports at d400 [size=8] Kernel driver in use: parport_pc Kernel modules: parport_pc Only one port is bonded out, but it works fine, running my toy sized mill. Merry Christmas! Cheers, Gene -- .hal file is ok, and I tried with those three addresses but still nothing comes out. Ok, if this card is not able to output good EPP signals, can anyone suggest me good hardware to go with? I will use it for running 5 axis (gantry) milling machine, for now with steppers, and maybe in the future switch to servos. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On 25 Dec 2011, at 15:07, gene heskett ghesk...@wdtv.com wrote: oadrt probe_parport #loadrt hal_parport cfg=0x378 out loadrt hal_parport cfg=0xd000 out--this line setp parport.0.reset-time 2000 Do you have the addf parport.N.write base-thread line for each port? -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
Yes, Mesa 5i25 + 7i76... you can swap the 7i76 for a 7i77 when you change to servos. John .hal file is ok, and I tried with those three addresses but still nothing comes out. Ok, if this card is not able to output good EPP signals, can anyone suggest me good hardware to go with? I will use it for running 5 axis (gantry) milling machine, for now with steppers, and maybe in the future switch to servos. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On Sunday, December 25, 2011 11:53:35 AM Tomaz T. did opine: Hi everyone, I installed new pci express card with two parallel ports, and I can't get any signal out of it. I am trying to connect it to two c10 boards which are working fine with mach. lspci -v feedback is: Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)Subsystem: LSI Logic / Symbios Logic Device 0020Flags: medium devsel, IRQ 19I/O ports at cc00 [size=8]I/O ports at c880 [size=8]I/O ports at c800 [size=8]I/O ports at c480 [size=8]I/O ports at c400 [size=8]I/O ports at c080 [size=16]Kernel driver in use: parport_pcKernel modules: parport_pc [...] Look in your config/profile-name/profile-name.hal file, you will need to make it resemble this, edit addresses for yours: loadrt probe_parport #loadrt hal_parport cfg=0x378 out loadrt hal_parport cfg=0xd000 out --this line setp parport.0.reset-time 2000 Plus any options needed by your statement that it is a PCI-E card, my system is std PCI. That is assuming that netmos 9815 card is usable, I _think_ that one is one we agreed to blacklist in our discussions here, about 2 years ago. It doesn't do the EPP mode correctly or some such. I have one, made by Rosewill, and I took it back out and am now using a startech (on the box) card which signs on according to an lspci -v as: 00:0a.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01) (prog-if 02) Subsystem: Timedia Technology Co Ltd Device 0103 Flags: stepping, medium devsel, IRQ 11 Look at _your_ lspci -v output, and use the address in the next line in your .hal file statement line. I/O ports at d000 [size=8] I/O ports at d400 [size=8] Kernel driver in use: parport_pc Kernel modules: parport_pc Only one port is bonded out, but it works fine, running my toy sized mill. Merry Christmas! Cheers, Gene -- .hal file is ok, and I tried with those three addresses but still nothing comes out. Ok, if this card is not able to output good EPP signals, can anyone suggest me good hardware to go with? I will use it for running 5 axis (gantry) milling machine, for now with steppers, and maybe in the future switch to servos. Look for something with the SUN1888 chip on it. Call around check if the adv doesn't say. If you can get one with the B.O.B. for the 2nd port included, that's just gravy on the biscuits IMO. Might be another $10 on this side of the big pond. Cheers, Gene -- There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. -Ed Howdershelt (Author) My web page: http://coyoteden.dyndns-free.com:85/gene Some of them want to use you, Some of them want to be used by you, ...Everybody's looking for something. -- Eurythmics -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
2011/12/25 Tomaz T. tomaz_...@hotmail.com: Ok, if this card is not able to output good EPP signals, can anyone suggest me good hardware to go with? EPP mode is used _only_ by specific Mesa or Pico Systems I/O cards, which provide a lot more than 17 I/O pins on each parport. Take some reading about Mesa 7i43 or Pico Systems PPMC (sorry, Jon, if I messed up the correct naming of Your card). Since it seems that You are using 2 simple breakout boards, forget about EPP. And vast majority of pci add-in cards do not work in EPP mode anyway. There are 1 or 2 exceptions only, mailing list archives or other users can tell You exact name of them. So I think that You should start wit Andy's suggestion and check, if parport read and write are attached to base-thread. Viesturs -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
I was looking for Mesa combination with 5i25 + daughtercard but I need outputs for 6 steppers because of gantry construction of machine frame. 7i76 has 5 dedicated outputs. Can I use other outputs for motor as well? Yes, Mesa 5i25 + 7i76... you can swap the 7i76 for a 7i77 when you change to servos. John .hal file is ok, and I tried with those three addresses but still nothing comes out. Ok, if this card is not able to output good EPP signals, can anyone suggest me good hardware to go with? I will use it for running 5 axis (gantry) milling machine, for now with steppers, and maybe in the future switch to servos. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
You can have two 7i76 cards on one 5i25, just don't forget to ask for the header adapter for the second one. And also make sure you use the proper parallel port cable (easy is to just get them from Mesa). This combo makes a very neat install with only one (or two) cable from computer to drive box. John On 12/25/2011 11:30 AM, Tomaz T. wrote: I was looking for Mesa combination with 5i25 + daughtercard but I need outputs for 6 steppers because of gantry construction of machine frame. 7i76 has 5 dedicated outputs. Can I use other outputs for motor as well? Yes, Mesa 5i25 + 7i76... you can swap the 7i76 for a 7i77 when you change to servos. John .hal file is ok, and I tried with those three addresses but still nothing comes out. Ok, if this card is not able to output good EPP signals, can anyone suggest me good hardware to go with? I will use it for running 5 axis (gantry) milling machine, for now with steppers, and maybe in the future switch to servos. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On Sun, 25 Dec 2011, Viesturs L?cis wrote: Date: Sun, 25 Dec 2011 19:58:00 +0200 From: [UTF-8] Viesturs L?cis viesturs.la...@gmail.com Reply-To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net Subject: Re: [Emc-users] Parport 2011/12/25 Tomaz T. tomaz_...@hotmail.com: I was looking for Mesa combination with 5i25 + daughtercard but I need outputs for 6 steppers because of gantry construction of machine frame. 7i76 has 5 dedicated outputs. Can I use other outputs for motor as well? The default 5I25 config when used with the 7I76 is a dual 7I76 configuration so there are actually 10 step generators available. As Viesturs says, you can connect most step motor drives directly to the 5I25 so you can have a 5I25/7I76 for 5 stepgens and 48 I/O points and then connect one or more additional step drives directly to the second 5I25 connector. If you have a small system with 5V limit switches, you can get away without any daughter cards at all or perhaps 7I75 I/O breakout/protectors only You can always wire stepper drives directly to 5i25 ports. Some minor soldering might be needed for that. Viesturs -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your ()_() signature to help him gain world domination. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On Sun, 2011-12-25 at 14:05 +, Tomaz T. wrote: Hi everyone, I installed new pci express card with two parallel ports, and I can't get any signal out of it. I am trying to connect it to two c10 boards which are working fine with mach. So, everything works fine with Mach, but _only_ changing the software to Ubuntu/EMC2 doesn't work? NetMOS cards should work fine with EMC2's software signal generation. EPP only applies to hardware signal generators such as Pico's, Mesa's and the Pluto-P cards which use their own loadrt drivers. See: http://wiki.linuxcnc.org/emcinfo.pl?NetMos http://wiki.linuxcnc.org/emcinfo.pl?Startech http://wiki.linuxcnc.org/emcinfo.pl?SIIG http://wiki.linuxcnc.org/emcinfo.pl?EMC2_Supported_Hardware I haven't played with PCI-e cards so these cards aren't, to me at least, proven to work with EMC2. lspci -v feedback is: Communication controller: NetMos Technology PCI 9815 Multi-I/O Controller (rev 01)Subsystem: LSI Logic / Symbios Logic Device 0020Flags: medium devsel, IRQ 19 I/O ports at cc00 [size=8] I/O ports at c880 [size=8] I/O ports at c800 [size=8] I/O ports at c480 [size=8] I/O ports at c400 [size=8] I/O ports at c080 [size=16] Kernel driver in use: parport pcKernel modules: parport_pc and cat /proc/ioports gives me: c000-cfff : PCI Bus :03 c000-cfff : PCI Bus :04 c080-c08f : :04:00.0c400-c407 : :04:00.0c480-c487 : :04:00.0 c480-c482 : parport1c800-c807 : :04:00.0 c800-c802 : parport1c880-c887 : :04:00.0 c880-c882 : parport0cc00-cc07 : :04:00.0 cc00-cc02 : parport0 So I also ran trough addresses and the one without error messages on start-up are c000, c800, c400, but still no signal from card. The registers are covered here: http://www.beyondlogic.org/spp/parallel.htm http://www.beyondlogic.org/ecp/ecp.htm For EMC2's software signals generator, only the base address need to be found and entered into the driver loadrt command. After the driver is loaded the parport functions need to be loaded with addf read and/or write: http://www.linuxcnc.org/docview/html/hal_parallel_port.html http://www.linuxcnc.org/docview/html/examples_pci_parallel_port.html I checked with multimeter, signals on pins assigned for steppers direction which I guess it should be measurable change when jogging in one or another direction. Tried with inverting signals also with no luck. Is there something I missed on start, because what I did is just insert card into the free pci-e slot? Thank you,Regards! The way the parallel port chip drives the pins is not always the same. Some cards source and sink the pin, some only sink current. For the sink only pins, a pull-up resistor to the supply voltage is needed, and may be on th C-10 board. Otherwise the pin will stay at 0 Volts while ON and OFF. Some cards will source or sink at 5 Volts, others at only 3 Volts. Some will only sink 3mA before running into danger of burning out the pin driver, some will source and sink 24mA, which can directly drive an LED and current limiting resistor in series to ground. Since you had the card working with Mach these issues may not apply, but then again, they might. -- Kirk Wallace http://www.wallacecompany.com/machine_shop/ http://www.wallacecompany.com/E45/index.html California, USA -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
I was looking for Mesa combination with 5i25 + daughtercard but I need outputs for 6 steppers because of gantry construction of machine frame. 7i76 has 5 dedicated outputs. Can I use other outputs for motor as well? The default 5I25 config when used with the 7I76 is a dual 7I76 configuration so there are actually 10 step generators available. As Viesturs says, you can connect most step motor drives directly to the 5I25 so you can have a 5I25/7I76 for 5 stepgens and 48 I/O points and then connect one or more additional step drives directly to the second 5I25 connector. If you have a small system with 5V limit switches, you can get away without any daughter cards at all or perhaps 7I75 I/O breakout/protectors only So I guess then I could use existing two C10 breakout boards in combination with 5i25??? -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
gene heskett wrote: That is assuming that netmos 9815 card is usable, I _think_ that one is one we agreed to blacklist in our discussions here, about 2 years ago. It doesn't do the EPP mode correctly or some such. I have one, made by Rosewill, and I took it back out and am now using a startech (on the box) card which signs on according to an lspci -v as: 00:0a.0 Parallel controller: Timedia Technology Co Ltd SUN1888 (Dual IEEE1284 parallel port) (rev 01) (prog-if 02) Subsystem: Timedia Technology Co Ltd Device 0103 The sun1888 chips are pretty old, but they always worked correctly in all modes. Probably have not been made in some time. The NetMOS chips don't do EPP properly, but should be able to run in bidir or SPP mode without problem. I have seen several messages by people in the last year or so that couldn't get them to work. I don't know if those were defective boards, some kind of PnP enumeration problem or something else. Jon -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On Sun, 2011-12-25 at 16:37 -0600, Jon Elson wrote: ... snip I have seen several messages by people in the last year or so that couldn't get them to work. I don't know if those were defective boards, some kind of PnP enumeration problem or something else. Jon This reminds me, some versions of EMC2 may or may not tolerate parport_pc or other generic printer or parallel port drivers being loaded with EMC2's parport. lsmod at a command prompt will list loaded drivers. sudo rmmod ?driver_name? may be needed to remove the generic driver/s. -- Kirk Wallace http://www.wallacecompany.com/machine_shop/ http://www.wallacecompany.com/E45/index.html California, USA -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
On Sun, 25 Dec 2011, Tomaz T. wrote: Date: Sun, 25 Dec 2011 22:19:13 + From: Tomaz T. tomaz_...@hotmail.com Reply-To: Enhanced Machine Controller (EMC) emc-users@lists.sourceforge.net To: emc-users@lists.sourceforge.net Subject: Re: [Emc-users] Parport I was looking for Mesa combination with 5i25 + daughtercard but I need outputs for 6 steppers because of gantry construction of machine frame. 7i76 has 5 dedicated outputs. Can I use other outputs for motor as well? The default 5I25 config when used with the 7I76 is a dual 7I76 configuration so there are actually 10 step generators available. As Viesturs says, you can connect most step motor drives directly to the 5I25 so you can have a 5I25/7I76 for 5 stepgens and 48 I/O points and then connect one or more additional step drives directly to the second 5I25 connector. If you have a small system with 5V limit switches, you can get away without any daughter cards at all or perhaps 7I75 I/O breakout/protectors only So I guess then I could use existing two C10 breakout boards in combination with 5i25??? Yes but youu would have to give me the C10 pinout so I could make a C10X2 configuration for the 5I25 -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users Peter Wallace Mesa Electronics (\__/) (='.'=) This is Bunny. Copy and paste bunny into your ()_() signature to help him gain world domination. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport
Kirk Wallace wrote: On Sun, 2011-12-25 at 16:37 -0600, Jon Elson wrote: ... snip I have seen several messages by people in the last year or so that couldn't get them to work. I don't know if those were defective boards, some kind of PnP enumeration problem or something else. Jon This reminds me, some versions of EMC2 may or may not tolerate parport_pc or other generic printer or parallel port drivers being loaded with EMC2's parport. lsmod at a command prompt will list loaded drivers. sudo rmmod ?driver_name? may be needed to remove the generic driver/s. Yes, in the old days, I had to rmmod lp on certain systems, and still do to make vmWare and some of my custom (non-EMC) drivers work. Jeff Epler put together a piece of code that handles these problems for EMC2.4, so that any drivers that are holding parport resources release them for EMC use when EMC starts. So, this shouldn't be needed anymore, with newer EMC versions. Jon -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport Bulk Write
On Sat, Nov 06, 2010 at 03:36:42PM -0700, Kirk Wallace wrote: On Sat, 2010-11-06 at 11:49 -0700, Kirk Wallace wrote: I am starting to think about how to put an eight bit word on a parallel port. My first guess is to load Parport, then write a component that shifts an unsigned variable a bit at a time to each parport pin, but I wonder if there is a cleaner way to write the whole (8bit) word to, lets say, pins 2-9? This will be used with a strobe component to latch data to an AVR port. It turns out this is pretty trivial: http://www.wallacecompany.com/machine_shop/EMC2/AVR/conv_u32_8bits.comp Kirk, to grab the lowest byte of a uint32_t, I'd be tempted to just do a typecast in an assignment: In file: test1.c #include stdint.h int main () { uint32_t given ; uint8_t needed ; needed = (uint8_t) given ; } $ gcc test1.c -Wa,-ahdl=test1.lst That compiles without errors, and gives some intel assembler in test1.lst, with (satisfyingly) a movb in the middle of it. The rest is stage setting, AFAICT. (8 bit intel is OK by me, but I haven't grubbed in x86, so I have to squint and guess that much of it is preamble and postample, pushing and popping a stack frame.) Now there's just the write of the uint8_t to the parport address, and pulse the strobe line, as you've mentioned. (i.e. the tricky part, unless an oscilloscope is to hand to check the (presumably) software timing of the strobe duration.) Erik -- I've had a perfectly wonderful evening. But this wasn't it. - Groucho Marx -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Parport Bulk Write
I am starting to think about how to put an eight bit word on a parallel port. My first guess is to load Parport, then write a component that shifts an unsigned variable a bit at a time to each parport pin, but I wonder if there is a cleaner way to write the whole (8bit) word to, lets say, pins 2-9? This will be used with a strobe component to latch data to an AVR port. -- Kirk Wallace http://www.wallacecompany.com/machine_shop/ http://www.wallacecompany.com/E45/index.html California, USA -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport Bulk Write
On Sat, 2010-11-06 at 11:49 -0700, Kirk Wallace wrote: I am starting to think about how to put an eight bit word on a parallel port. My first guess is to load Parport, then write a component that shifts an unsigned variable a bit at a time to each parport pin, but I wonder if there is a cleaner way to write the whole (8bit) word to, lets say, pins 2-9? This will be used with a strobe component to latch data to an AVR port. It turns out this is pretty trivial: http://www.wallacecompany.com/machine_shop/EMC2/AVR/conv_u32_8bits.comp -- Kirk Wallace http://www.wallacecompany.com/machine_shop/ http://www.wallacecompany.com/E45/index.html California, USA -- The Next 800 Companies to Lead America's Growth: New Video Whitepaper David G. Thomson, author of the best-selling book Blueprint to a Billion shares his insights and actions to help propel your business during the next growth cycle. Listen Now! http://p.sf.net/sfu/SAP-dev2dev ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport questions
Kirk, I got the bash script working just in time to move on to using classic ladder... :) It turned out to be the parport.1.pin-2-out vs parport.1.pin-02-out 02 fixed it. I got a ladder program in but not working yet. I am not sure what is going on. I think it is something I am missing in the hal file. I am able to get my I/O pins assigned but I am having a weird result. If I go into hal meter I can locate the pins and in the case of the iocontrol.0.tool-prep-number = classicladder.0.s32in-00 I am able to view the data change on both when I issue a T gcode as I expected. I am not having any luck getting the watch window to work however in CL. I believe I should be seeing the integer on %IW0 but when I enter that in the watch window I get nothing... I am thinking I have something wrong in in my assignment. I had to break away from it for a while and I won't be able to look at it again until this evening. I will let you know how I make out. The wsum method you described looks clean and to the point. I was originally hoping that was possible but did not see the wsum I will probably give that a try as well. Thanks again for all your help, Mike -- Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Parport questions
Hello, I have had no luck getting a C executable to run from a M101 - M199 command so I have decided to take a different approach. I think that approach will be problematic with the need for root to get access to the port anyway and that may be causing the problem I am having. My goal is to apply a signal to pins 2, 3, and 4 of an additional parallel port. I am thinking a bash script with the appropriate pins turned high or low would do it.. So I found the parallel port tester .hal file from the wiki http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Parallel_Port_Tester I installed it and picked the appropriate port. (I actually have 3 ports total, 1 port is controlling the milling machine 0x0B800, and the other 2 ports are 0x378 and 0x0B000) I have verified that each of these ports work with the Parallel Port Tester program and I get the expected results. I can not get my bash script to execute correctly from calling a M102 as an example. This is my bash script: #!/bin/sh # M101 in your G code program will run the Linux commands in this # shell script batch file, passing the P and Q variables as command # line arguments. # give the command line arguments descriptive names P=$1 Q=$2 halcmd setp parport.1.pin-2-out True echo M101 P$P Q$Q: put your code here exit 0 ** I have modified my .hal file to this: # Generated by stepconf at Sat Sep 11 14:26:27 2010 # If you make changes to this file, they will be # overwritten when you run stepconf again loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt probe_parport loadrt hal_parport cfg=0x0B800 0x0B000 setp parport.0.reset-time 3500 loadrt stepgen step_type=0,0,0 loadrt abs count=1 addf parport.1.read base-thread addf parport.1.write base-thread setp parport.1.pin-2-out TRUE addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset base-thread *** I have played with the order of my port placement in line : loadrt hal_parport cfg=0x0B800 0x0B000 changing the order of the port call out? So one question I have that I could not find in any of the reading I did is does the the order of the port in this command dictate the parport number? So is this the case? loadrt hal_parport cfg= 0 1 2 . or is it the order seen in the results of the lspci -v . I think I know the answer to this because my original configuration used port 0x0B800 and it was set to parport.0. So I am assuming that based on my .hal file parport.0 is 0x0B800 and parport.1 is 0x0B000. I am also assuming these ports are out type because that is said to be the default. You will note that I have added a line setp parport.1.pin-2-out TRUE to my .hal file. This is basically the same command I am trying to run from the M102 code. I figured adding it here would require less steps in testing. I get the same error in either case. This is my error: parameter or pin 'parport.1.pin-2-out' not found. I get this error when I attempt to start EMC with the setp parport.1.pin-2-out TRUE in my .hal file as shown above or when I remove the line from the .hal file, launch EMC, then go to a terminal and execute the bash script manually. When I attempt to run the bash file from the M101 I get no error and no result. What am I missing? Thanks, Mike -- Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport questions
Mike Cinquino wrote: Hello, I have had no luck getting a C executable to run from a M101 - M199 command so I have decided to take a different approach. I think that approach will be problematic with the need for root to get access to the port anyway and that may be causing the problem I am having. My goal is to apply a signal to pins 2, 3, and 4 of an additional parallel port. I am thinking a bash script with the appropriate pins turned high or low would do it.. Why not use the parallel port in HAL, and just output the bits as HAL pins? I don't think there's a binary-BCD converter component, but it should be very easy to write one (use comp, it's a lot easier). It may also be possible to do it entirely with classicladder. If you need a strobe signal to the Arduino, that can also be done with classicladder or HAL components. That would also eliminate the need to make custom G-code that has the M1xx commands for every tool change - T6M1 would just work. Take a look at how tool changes are done in HAL, you may find it a lot easier to use than custom M codes. So I found the parallel port tester .hal file from the wiki http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Parallel_Port_Tester I installed it and picked the appropriate port. (I actually have 3 ports total, 1 port is controlling the milling machine 0x0B800, and the other 2 ports are 0x378 and 0x0B000) I have verified that each of these ports work with the Parallel Port Tester program and I get the expected results. I can not get my bash script to execute correctly from calling a M102 as an example. This is my bash script: #!/bin/sh # M101 in your G code program will run the Linux commands in this # shell script batch file, passing the P and Q variables as command # line arguments. # give the command line arguments descriptive names P=$1 Q=$2 halcmd setp parport.1.pin-2-out True echo M101 P$P Q$Q: put your code here exit 0 ** I have modified my .hal file to this: # Generated by stepconf at Sat Sep 11 14:26:27 2010 # If you make changes to this file, they will be # overwritten when you run stepconf again loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt probe_parport loadrt hal_parport cfg=0x0B800 0x0B000 setp parport.0.reset-time 3500 loadrt stepgen step_type=0,0,0 loadrt abs count=1 addf parport.1.read base-thread addf parport.1.write base-thread setp parport.1.pin-2-out TRUE addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset base-thread *** I have played with the order of my port placement in line : loadrt hal_parport cfg=0x0B800 0x0B000 changing the order of the port call out? So one question I have that I could not find in any of the reading I did is does the the order of the port in this command dictate the parport number? So is this the case? Yes. Parport.0 will be the first one you give the address (or number) for, parport.1 will be next, etc. loadrt hal_parport cfg= 0 1 2 . or is it the order seen in the results of the lspci -v . Using numbers below 16 will depend on the order the kernel finds the ports. You should be able to do cfg=2 0 1 to make the third Linux port parport.0, the first parport.1, and the second parport.2. I haven't tried this though. I think I know the answer to this because my original configuration used port 0x0B800 and it was set to parport.0. So I am assuming that based on my .hal file parport.0 is 0x0B800 and parport.1 is 0x0B000. I am also assuming these ports are out type because that is said to be the default. You will note that I have added a line setp parport.1.pin-2-out TRUE to my .hal file. This is basically the same command I am trying to run from the M102 code. I figured adding it here would require less steps in testing. I get the same error in either case. This is my error: parameter or pin 'parport.1.pin-2-out' not found. Try parport.1.pin-02-out instead. Looking at the driver source, it appears to always format the numbers with two digits. You could have seen this by using halcmd or halshow to see what pins are available. (like halcmd show pin parport.1) I get this error when I attempt to start EMC with the setp parport.1.pin-2-out TRUE in my .hal file as shown above or when I remove the line from the .hal file, launch EMC, then go to a terminal and execute the bash script manually. When I attempt to run the bash file from the M101 I get no error and no result. You get no error because there is no place for you to see an error generated by an M1xx command. You get no result because the name of the pin is wrong,
Re: [Emc-users] Parport questions
Steve, Thanks for your response. I am not getting copies of my posts or the responses in my email so I cut and pasted into a new email. I made some changes to my settings so hopefully I will start to get reply's. I was not aware of comp! I just took a look at it and it looks good. I will give that a try. I would love for the system to work from a T? command. Also good point on the 02 vs the 2. I will try that as soon as I get in front of my machine. Is there a specific link to info on tool changes in HAL? Thanks, Mike Mike Cinquino wrote: Hello, I have had no luck getting a C executable to run from a M101 - M199 command so I have decided to take a different approach. I think that approach will be problematic with the need for root to get access to the port anyway and that may be causing the problem I am having. My goal is to apply a signal to pins 2, 3, and 4 of an additional parallel port. I am thinking a bash script with the appropriate pins turned high or low would do it.. Why not use the parallel port in HAL, and just output the bits as HAL pins? I don't think there's a binary-BCD converter component, but it should be very easy to write one (use comp, it's a lot easier). It may also be possible to do it entirely with classicladder. If you need a strobe signal to the Arduino, that can also be done with classicladder or HAL components. That would also eliminate the need to make custom G-code that has the M1xx commands for every tool change - T6M1 would just work. Take a look at how tool changes are done in HAL, you may find it a lot easier to use than custom M codes. So I found the parallel port tester .hal file from the wiki http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Parallel_Port_Tester I installed it and picked the appropriate port. (I actually have 3 ports total, 1 port is controlling the milling machine 0x0B800, and the other 2 ports are 0x378 and 0x0B000) I have verified that each of these ports work with the Parallel Port Tester program and I get the expected results. I can not get my bash script to execute correctly from calling a M102 as an example. This is my bash script: #!/bin/sh # M101 in your G code program will run the Linux commands in this # shell script batch file, passing the P and Q variables as command # line arguments. # give the command line arguments descriptive names P=$1 Q=$2 halcmd setp parport.1.pin-2-out True echo M101 P$P Q$Q: put your code here exit 0 ** I have modified my .hal file to this: # Generated by stepconf at Sat Sep 11 14:26:27 2010 # If you make changes to this file, they will be # overwritten when you run stepconf again loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt probe_parport loadrt hal_parport cfg=0x0B800 0x0B000 setp parport.0.reset-time 3500 loadrt stepgen step_type=0,0,0 loadrt abs count=1 addf parport.1.read base-thread addf parport.1.write base-thread setp parport.1.pin-2-out TRUE addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset base-thread *** I have played with the order of my port placement in line : loadrt hal_parport cfg=0x0B800 0x0B000 changing the order of the port call out? So one question I have that I could not find in any of the reading I did is does the the order of the port in this command dictate the parport number? So is this the case? Yes. Parport.0 will be the first one you give the address (or number) for, parport.1 will be next, etc. loadrt hal_parport cfg= 0 1 2 . or is it the order seen in the results of the lspci -v . Using numbers below 16 will depend on the order the kernel finds the ports. You should be able to do cfg=2 0 1 to make the third Linux port parport.0, the first parport.1, and the second parport.2. I haven't tried this though. I think I know the answer to this because my original configuration used port 0x0B800 and it was set to parport.0. So I am assuming that based on my .hal file parport.0 is 0x0B800 and parport.1 is 0x0B000. I am also assuming these ports are out type because that is said to be the default. You will note that I have added a line setp parport.1.pin-2-out TRUE to my .hal file. This is basically the same command I am trying to run from the M102 code. I figured adding it here would require less steps in testing. I get the same error in either case. This is my error: parameter or pin 'parport.1.pin-2-out' not found. Try parport.1.pin-02-out instead. Looking at the driver source, it appears to
Re: [Emc-users] Parport questions
On Mon, 2010-10-04 at 12:18 -0400, Mike Cinquino wrote: ... snip Is there a specific link to info on tool changes in HAL? Thanks, Mike Just in case it might be helpful, here is what I have done with my lathe turret using a custom comp: http://www.wallacecompany.com/cnc_lathe/HNC/emc2/ The comp needs to get a Park sensor feature as well as some time-outs added for each state, but it there is enough here to make my turret function. If you already know the Ladder language, that may be the way to go. Either way, you end up with HAL pins for invoking your tool changer and then signaling that your changer finished. Just connect these in your .hal file. -- Kirk Wallace http://www.wallacecompany.com/machine_shop/ http://www.wallacecompany.com/E45/index.html California, USA -- Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport questions
Kirk, Thanks, I a am now leaning toward classic ladder. I know ladder logic so it should be my quickest path to getting something working. My understanding is fuzzy on how to get a T? command to cause a bit or bits to react in classic ladder but once I have that mastered I should be set. I have been doing a lot of reading and going back and forth with different options and it's starting to get a little overwhelming. EMC is very powerful and flexible but there is a lot to learn. So it looks like I could use halui.tool.number or iocontrol.0.tool-number to give me the correct tool number. It also looks like when M6 is run iocontrol.0.tool-change is set high until iocontrol.0.tool-change is driven high? My hal file will have this added to it. net tool-prepare-loopback iocontrol.0.tool-prepare = iocontrol.0.tool-prepared (not sure what this does exactly) net tool-change-start iocontrol.0.tool-change = parport.1.pin-?-out (to send a signal to arduino to start cycle gets turned on when M6 is executed) System is paused at M6 untilbelow net tool-change-done parport.1.pin-?-in = iocontrol.0.tool-changed (to send signal from arduino to emc that cycle is complete) EMC continues net tnum-current iocontrol.0.tool-number = classicladder.0.s32in-00 (Ladder will get tool number from this) My ladder will look something like this: --[compare %IWO = 1]---(%Q1)- N.O. Coil linked to parport pin |-(/%Q2)- N.C. Coil linked to parport pin |-(/%Q3)- N.C. Could linked to parport pin --[compare %IWO = 2]---(%/Q1)- N.C. Coil linked to parport pin |-(%Q2)- N.O. Coil linked to parport pin |-(/%Q3)- N.C. Could linked to parport pin etc... Does this make sense? Thanks, Mike On Mon, 2010-10-04 at 12:18 -0400, Mike Cinquino wrote: ... snip Is there a specific link to info on tool changes in HAL? Thanks, Mike Just in case it might be helpful, here is what I have done with my lathe turret using a custom comp:http://www.wallacecompany.com/cnc_lathe/HNC/emc2/ The comp needs to get a Park sensor feature as well as some time-outs added for each state, but it there is enough here to make my turret function. If you already know the Ladder language, that may be the way to go. Either way, you end up with HAL pins for invoking your tool changer and then signaling that your changer finished. Just connect these in your .hal file. -- Kirk Wallacehttp://www.wallacecompany.com/machine_shop/http://www.wallacecompany.com/E45/index.html California, USA -- Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport questions
On Mon, 2010-10-04 at 17:11 -0400, Mike Cinquino wrote: Kirk, Thanks, I a am now leaning toward classic ladder. I know ladder logic so it should be my quickest path to getting something working. My understanding is fuzzy on how to get a T? command to cause a bit or bits to react in classic ladder but once I have that mastered I should be set. I have been doing a lot of reading and going back and forth with different options and it's starting to get a little overwhelming. EMC is very powerful and flexible but there is a lot to learn. (My memory is a little foggy, so verify what follows) The T g-code word invokes a tool-prepare signal. The default setup just loops that back to tool-prepared in the .hal file: net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared If you need to do something before the tool change, just break this loop and insert connections to the Classic Ladder pins you created for your tool changer. This allows you to prep your carousel or similar device while still doing some machining. My lathe turret cannot change position during machining, so I leave the prepare loop connected. My mill carousel needs to stay in position because the old tool needs to go back into the empty pocket it came from, so again I left the prepare loop connected. So if you need to prepare a tool before the change, do it in this loop and when a T word shows up in your g-code the carousel or whatever you have will shift to the new tool. More than one T word may do more than one prepare. When EMC2 gets to an M6, then the change loop comes into play: net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed For my lathe turret, I break this loop and connect my turret.comp pins linkpp iocontrol.0.tool-change turret.0.position-change linkpp turret.0.position-changed iocontrol.0.tool-changed turret.0.position-change tells my turret to start doing its thing. EMC2 will be in a tool change state with axes motion and spindle stopped until iocontrol.0.tool-changed goes high. In my turret comp, I don't set turret.0.position-changed until the tool pocket encoder and the requested tool match. If I forget to connect compressed air to the lathe (for the turret and the collet closer) the turret won't rotate so the pocket never matches so EMC2 stays in this state until I intervene (hook up the air line or e-stop). That is why I need to add some time-outs and a turret park check to my .comp file. This passes EMC2's tool requested to my comp: newsig TurretRequestedPosition s32 linksp TurretRequestedPosition iocontrol.0.tool-prep-number linksp TurretRequestedPosition turret.0.position-requested This is the old .hal form, I should probably use: net TurretRequestedPosition iocontrol.0.tool-prep-number turret.0.position-requested So it looks like I could use halui.tool.number or iocontrol.0.tool-number to give me the correct tool number. Something like: net MyChangerPocketRequested iocontrol.0.tool-prep-number MyClassicLadderChangeMacro.0.MyPocketRequestedInput Your Ladder routine will then have the requested tool number on the MyClassicLadderChangeMacro.0.MyPocketRequestedInput pin. It also looks like when M6 is run iocontrol.0.tool-change is set high until iocontrol.0.tool-change is driven high? Correction: iocontrol.0.tool-changed (note the ed), which is supplied by your Ladder macro. My hal file will have this added to it. net tool-prepare-loopback iocontrol.0.tool-prepare = iocontrol.0.tool-prepared (not sure what this does exactly) Basically bypasses the T word by setting prepared equal to prepare, but you still have the pocket number on iocontrol.0.tool-prep-number for later when M6 comes along. net tool-change-start iocontrol.0.tool-change = parport.1.pin-?-out (to send a signal to arduino to start cycle gets turned on when M6 is executed) System is paused at M6 untilbelow net tool-change-done parport.1.pin-?-in = iocontrol.0.tool-changed (to send signal from arduino to emc that cycle is complete) EMC continues Seems reasonable, but if the Arduino is going to handle the change logic, you don't need a .comp or ClassicLadder, just the two lines above and pass the pocket number. net tnum-current iocontrol.0.tool-number = classicladder.0.s32in-00 (Ladder will get tool number from this) My ladder will look something like this: --[compare %IWO = 1]---(%Q1)- N.O. Coil linked to parport pin |-(/%Q2)- N.C. Coil linked to parport pin |-(/%Q3)- N.C. Could linked to parport pin --[compare %IWO = 2]---(%/Q1)- N.C. Coil linked to parport pin |-(%Q2)- N.O. Coil linked to parport pin |-(/%Q3)- N.C. Could linked to parport pin etc... Does this make sense? Thanks, Mike I don't think you need CL
[Emc-users] parport linking to classicladder
I have got problems with linking pins with classicladder. Could you give me an example with input and output. I will have pins 2 - 13, 15 input and 1,14,16,17 outputs; tool1 - pin 2 , tool2 - pin 3, etc. -- Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, Big Spaceship. http://www.creativitycat.com ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] parport linking to classicladder
From: bukovinsk...@gmail.com To: emc-users@lists.sourceforge.net Date: Sat, 23 May 2009 21:12:57 +0200 Subject: [Emc-users] parport linking to classicladder I have got problems with linking pins with classicladder. Could you give me an example with input and output. I will have pins 2 - 13, 15 input and 1,14,16,17 outputs; tool1 - pin 2 , tool2 - pin 3, etc. net some-input-signal-name parport.0.pin-02-in classicladder.0.in-00 and net some-output-signal-name parport.0.pin-01-out classicladder.0.out-00 What exactly is the problem/error message? Then we can be more specific. Cheers Chris m _ One at a time or all at once? Get updates from your friends in one place. http://go.microsoft.com/?linkid=9660827 -- Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian Group, R/GA, Big Spaceship. http://www.creativitycat.com ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Parport input pins have high logic
Hello, I have configured emc for parport setup as output, however when I measure the voltages on the input pins 10,11,12,13 and 15 I find that they are already high eg 5V. Can I set the pins to 0V and then drive them high by signals? Thanks in advance Colin - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Parport stepper setup
Hello, I have been investigating using EMC2 and some stepper motors to a small milling machine. I have a cloudy area of understanding around driving the stepper motors. As usual I am trying to do it on the cheap :-) and hence would like to develop my own stepper driver. I am hoping someone can provide some direction so that I don't fall off any cliffs. So far I believe there is two ways to generate an amplified stepper signal (half, full etc). Method 1 Using the parport config to send a step signal and a direction signal for each axis. Run these signals into a stepper driver chip which is configured for the stepper phase that I require. This method should leave a few extra pins on my parallel port to play with later. Method 2 Use the functionality of the stepgen module to perform the required stepper phase for each axis. Amplify each signal into the motor. This method will use up more parallel port pins depending on the amount of coils in the stepper that I purchase, I may even need another port if 5 phases is required. Are both methods possible? Which method is the most common or gives the best result? I also intend to opto isolate the signals coming from the parallel port to protect my motherboard, is there any unforeseen problems doing this? Cole - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport stepper setup
Yes. On 1/8/07, Colin [EMAIL PROTECTED] wrote: Hello, I have been investigating using EMC2 and some stepper motors to a small milling machine. I have a cloudy area of understanding around driving the stepper motors. As usual I am trying to do it on the cheap J and hence would like to develop my own stepper driver. I am hoping someone can provide some direction so that I don't fall off any cliffs. So far I believe there is two ways to generate an amplified stepper signal (half, full etc). Method 1 Using the parport config to send a step signal and a direction signal for each axis. Run these signals into a stepper driver chip which is configured for the stepper phase that I require. This method should leave a few extra pins on my parallel port to play with later. Method 2 Use the functionality of the stepgen module to perform the required stepper phase for each axis. Amplify each signal into the motor. This method will use up more parallel port pins depending on the amount of coils in the stepper that I purchase, I may even need another port if 5 phases is required. Are both methods possible? Which method is the most common or gives the best result? I also intend to opto isolate the signals coming from the parallel port to protect my motherboard, is there any unforeseen problems doing this? Cole - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport stepper setup
Cole, I've built my own setup using EMC to drive minimill - works great - many thanks to all the people involved with the development of EMC!! Here what I did: Built a simple power supply - 10A @35V Transformer + Bridge rectifier + 2 x 22000 uF capacitors - no problems (see http://pminmo.com/simpleps.htm) Built my own stepper motor driver cards using the L297 / L298 running as a bipolar half stepped drive (check out st.com for the datasheet this gives a circuit linking the L297 and L298) - no problems Built an optoisolator card - had some problems here since EMC pulses are very short in the end I used 6N137 optos and the information here http://www.freescale.com/files/microcontrollers/doc/app_note/AN2342.pdf to build a 12 channel output only card i.e. step and direction for channels A, B, C, X, Y, Z. The card so built works really well - make sure you have truly isolated power supplies for the CNC and PC side. Purchased some low cost stepper motors (make sure you get the wiring diagram) and connected the X and Y directly to the table axes. For the Z axis I found a ball screw on eBay attached it to the mill by means of a purposed made plate with thrust bearings. The Z motor drives the ball screws by means of a 9mm timing belt. Try and drive your axes directly as this reduce backlash and since the steppers produce high torque at low revs so using belts and pulleys to increase torque is counter productive as the stepper must rev higher to get the required traverse speed - Initially I drove the X and Y axes using 2:1 reduction - this has now been junked and for direct drive via Oldham couplings. Sat down and fiddled with Linux(dark world of pain for me) and EMC (confusing initially but loads of help via this forum - it starts to make a lot more sense when you finally see a motor turn!!) and finally got the system going. It been running for around six months now and, touch wood, has operated faultlessly. The above development took me around 18 months in between the wife, babies, shopping, decorating ... Hope this is of some use. Regards Andy -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Colin Sent: 08 January 2007 13:49 To: emc-users@lists.sourceforge.net Subject: [Emc-users] Parport stepper setup Hello, I have been investigating using EMC2 and some stepper motors to a small milling machine. I have a cloudy area of understanding around driving the stepper motors. As usual I am trying to do it on the cheap :-) and hence would like to develop my own stepper driver. I am hoping someone can provide some direction so that I don't fall off any cliffs. So far I believe there is two ways to generate an amplified stepper signal (half, full etc). Method 1 Using the parport config to send a step signal and a direction signal for each axis. Run these signals into a stepper driver chip which is configured for the stepper phase that I require. This method should leave a few extra pins on my parallel port to play with later. Method 2 Use the functionality of the stepgen module to perform the required stepper phase for each axis. Amplify each signal into the motor. This method will use up more parallel port pins depending on the amount of coils in the stepper that I purchase, I may even need another port if 5 phases is required. Are both methods possible? Which method is the most common or gives the best result? I also intend to opto isolate the signals coming from the parallel port to protect my motherboard, is there any unforeseen problems doing this? Cole - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport stepper setup
colin wrote: Method 1 Using the parport config to send a step signal and a direction signal for each axis. Run these signals into a stepper driver chip which is configured for the stepper phase that I require. This method should leave a few extra pins on my parallel port to play with later. this is the way most parallel port EMC setups are done. Method 2 Use the functionality of the stepgen module to perform the required stepper phase for each axis. Amplify each signal into the motor. This method will use up more parallel port pins depending on the amount of coils in the stepper that I purchase, I may even need another port if 5 phases is required. i have a small mill that works like this. it requires a small shim driver to generate the correct phases at the correct times for my motors. i'd say, if you're still choosing your hardware, to choose something with step and direction signals. and, as someone else said, consider buying something off-the-shelf that's already known to be supported by EMC. (of course, your choice will be dictated by how much you want to spend, and by how much time you want to spend using your mill vs building your mill. sometimes building is more fun than using. :-) paul =- paul fox, [EMAIL PROTECTED] (arlington, ma, where it's 38.5 degrees) - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport stepper setup
hmm, but something with step and direction signals has only one half of the maximum step pulses per second than a quadrature output has. Therefore my design takes quadrature output of EMC, puts it into QENC module of PIC18F4431 (The one I badly wanted back in 2002/2003) and that one does output microstepped - pure analog waveforms, the current regulator is boosted L165 as per datasheet, the supply voltage is provided by two 16V 100W modules SMPS (~30USD each.) The motors are a bit expensive Shinano Kenshi SST83D ... but still the fastest steppers from all I have searched in many years of research, and powerful.. ~10Nm, 160W in high revolutions. A bit more heat generated than it would be with VC CS/S SMPS, but I think it is not worth all that complication. On 1/8/07, Paul Fox [EMAIL PROTECTED] wrote: colin wrote: Method 1 Using the parport config to send a step signal and a direction signal for each axis. Run these signals into a stepper driver chip which is configured for the stepper phase that I require. This method should leave a few extra pins on my parallel port to play with later. this is the way most parallel port EMC setups are done. Method 2 Use the functionality of the stepgen module to perform the required stepper phase for each axis. Amplify each signal into the motor. This method will use up more parallel port pins depending on the amount of coils in the stepper that I purchase, I may even need another port if 5 phases is required. i have a small mill that works like this. it requires a small shim driver to generate the correct phases at the correct times for my motors. i'd say, if you're still choosing your hardware, to choose something with step and direction signals. and, as someone else said, consider buying something off-the-shelf that's already known to be supported by EMC. (of course, your choice will be dictated by how much you want to spend, and by how much time you want to spend using your mill vs building your mill. sometimes building is more fun than using. :-) paul =- paul fox, [EMAIL PROTECTED] (arlington, ma, where it's 38.5 degrees) - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Parport stepper setup
Hi Andy Thanks for the great report. Glad to hear that you got it working. Rayh On Mon, 2007-01-08 at 21:43 +, Andy Ibbotson wrote: Cole, I’ve built my own setup using EMC to drive minimill – works great – many thanks to all the people involved with the development of EMC!! Here what I did: Built a simple power supply – 10A @35V Transformer + Bridge rectifier + 2 x 22000 uF capacitors – no problems (see http://pminmo.com/simpleps.htm) Built my own stepper motor driver cards using the L297 / L298 running as a bipolar half stepped drive (check out st.com for the datasheet this gives a circuit linking the L297 and L298) – no problems Built an optoisolator card – had some problems here since EMC pulses are very short in the end I used 6N137 optos and the information here http://www.freescale.com/files/microcontrollers/doc/app_note/AN2342.pdf to build a 12 channel output only card i.e. step and direction for channels A, B, C, X, Y, Z. The card so built works really well – make sure you have truly isolated power supplies for the CNC and PC side. Purchased some low cost stepper motors (make sure you get the wiring diagram) and connected the X and Y directly to the table axes. For the Z axis I found a ball screw on eBay attached it to the mill by means of a purposed made plate with thrust bearings. The Z motor drives the ball screws by means of a 9mm timing belt. Try and drive your axes directly as this reduce backlash and since the steppers produce high torque at low revs so using belts and pulleys to increase torque is counter productive as the stepper must rev higher to get the required traverse speed – Initially I drove the X and Y axes using 2:1 reduction – this has now been junked and for direct drive via Oldham couplings. Sat down and fiddled with Linux(dark world of pain for me) and EMC (confusing initially but loads of help via this forum – it starts to make a lot more sense when you finally see a motor turn!!) and finally got the system going. It been running for around six months now and, touch wood, has operated faultlessly. The above development took me around 18 months in between the wife, babies, shopping, decorating ….. Hope this is of some use. Regards Andy -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Colin Sent: 08 January 2007 13:49 To: emc-users@lists.sourceforge.net Subject: [Emc-users] Parport stepper setup Hello, I have been investigating using EMC2 and some stepper motors to a small milling machine. I have a cloudy area of understanding around driving the stepper motors. As usual I am trying to do it on the cheap Jand hence would like to develop my own stepper driver. I am hoping someone can provide some direction so that I don’t fall off any cliffs. So far I believe there is two ways to generate an amplified stepper signal (half, full etc). Method 1 Using the parport config to send a step signal and a direction signal for each axis. Run these signals into a stepper driver chip which is configured for the stepper phase that I require. This method should leave a few extra pins on my parallel port to play with later. Method 2 Use the functionality of the stepgen module to perform the required stepper phase for each axis. Amplify each signal into the motor. This method will use up more parallel port pins depending on the amount of coils in the stepper that I purchase, I may even need another port if 5 phases is required. Are both methods possible? Which method is the most common or gives the best result? I also intend to opto isolate the signals coming from the parallel port to protect my motherboard, is there any unforeseen problems doing this? Cole - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users