Manual Pulse Generator Implementation
02 May 2012 18:12 #19740
by Goran0780
Manual Pulse Generator Implementation was created by Goran0780
All,
I would like to take this opportunity to introduce myself. My name is Goran Djakovic. My interst in Controls has led me to start a project that will include me updating the user interface and some hardware componets for a three axis mill (CNC).
The projects scope is to update the software and some hardware components of a three axis CNC mill. I have been able to install Linux and emc2 software on my machine successfully. I have hardwired the PCI card (motenc-lite) to a manual pulse generator and connected the whole assembly back to the computer. This is where my problem starts.
When I turn the knob on my manual pulse generator, only the x-axis is controlled. In order to make the manual pulse generator work, it is my understanding that I have to make changes to the HAL file. I have spent some time now making changes to the HAL file by following examples that I have been able to obtain from other individuals work. The issue that keeps popping up is that the commands that are entered into the file or exiting in the HAL file before any additions are made fail due to the error pertaining to command not recognized or file location not correct. I have exhausted all possible options and attempts to make the manual pulse generator work.
My question to anyone that can help is, how can I incorporate the manual pulse generator into my software so that once the manual pulse generator knob is turned to set axis and speed, the speed and axis motion is reflected in an output signal and shown on the UI. I would like the HAL file to output the correct pulse to the rest of the system to initialize the motor to move the mill into the specified position?
Key Hardware Components:
Motenc Lite PCI card
Ace Manual Pulse Generator (with a knob)
Ubuntu 10.04 LTS software
EMC2 Software
If there are any further questions, feel free to contact me. I will make sure that I do my best to explain or clarify any misunderstandings.
Thank you very much for all of your help in advance.
Sincerely,
Goran Djakovic
I would like to take this opportunity to introduce myself. My name is Goran Djakovic. My interst in Controls has led me to start a project that will include me updating the user interface and some hardware componets for a three axis mill (CNC).
The projects scope is to update the software and some hardware components of a three axis CNC mill. I have been able to install Linux and emc2 software on my machine successfully. I have hardwired the PCI card (motenc-lite) to a manual pulse generator and connected the whole assembly back to the computer. This is where my problem starts.
When I turn the knob on my manual pulse generator, only the x-axis is controlled. In order to make the manual pulse generator work, it is my understanding that I have to make changes to the HAL file. I have spent some time now making changes to the HAL file by following examples that I have been able to obtain from other individuals work. The issue that keeps popping up is that the commands that are entered into the file or exiting in the HAL file before any additions are made fail due to the error pertaining to command not recognized or file location not correct. I have exhausted all possible options and attempts to make the manual pulse generator work.
My question to anyone that can help is, how can I incorporate the manual pulse generator into my software so that once the manual pulse generator knob is turned to set axis and speed, the speed and axis motion is reflected in an output signal and shown on the UI. I would like the HAL file to output the correct pulse to the rest of the system to initialize the motor to move the mill into the specified position?
Key Hardware Components:
Motenc Lite PCI card
Ace Manual Pulse Generator (with a knob)
Ubuntu 10.04 LTS software
EMC2 Software
If there are any further questions, feel free to contact me. I will make sure that I do my best to explain or clarify any misunderstandings.
Thank you very much for all of your help in advance.
Sincerely,
Goran Djakovic
Please Log in or Create an account to join the conversation.
02 May 2012 18:17 #19741
by andypugh
Replied by andypugh on topic Re:Manual Pulse Generator Implementation
Goran0780 wrote:
Does this help at all?
linuxcnc.org/index.php/english/component...=19620&limit=6#19620
My question to anyone that can help is, how can I incorporate the manual pulse generator into my software so that once the manual pulse generator knob is turned to set axis and speed, the speed and axis motion is reflected in an output signal and shown on the UI.
Does this help at all?
linuxcnc.org/index.php/english/component...=19620&limit=6#19620
Please Log in or Create an account to join the conversation.
02 May 2012 19:39 #19742
by BigJohnT
Replied by BigJohnT on topic Re:Manual Pulse Generator Implementation
Interestingly enough the manual has an example of connecting a MPG to LinuxCNC does this help?
linuxcnc.org/docview/html/examples/mpg.html
John
linuxcnc.org/docview/html/examples/mpg.html
John
Please Log in or Create an account to join the conversation.
02 May 2012 20:03 #19744
by andypugh
Replied by andypugh on topic Re:Manual Pulse Generator Implementation
andypugh wrote:
For MPG jogging you use the axis.N.jog-enable and axis.N.jog-counts pins.
Assuming that the MPG is connected to motenc.0.encoder.00
net jog-all motenc.0.encoder.00.counts => axis.N.jog-counts
net x-jog-enable motenc.0.in.00 => axis.N.jog-enable
net y-jog-enable motenc.0.in.01 => axis.N.jog-enable
net z-jog-enable motenc.0.in.02 => axis.N.jog-enable
Or similar.
If you don't have physical axis-select switches then you can use the ones from the gui: halui.joint.0.is-selected for the X axis, for example.
Thinking about it, that is for analogue-input jogging.linuxcnc.org/index.php/english/component...=19620&limit=6#19620
For MPG jogging you use the axis.N.jog-enable and axis.N.jog-counts pins.
Assuming that the MPG is connected to motenc.0.encoder.00
net jog-all motenc.0.encoder.00.counts => axis.N.jog-counts
net x-jog-enable motenc.0.in.00 => axis.N.jog-enable
net y-jog-enable motenc.0.in.01 => axis.N.jog-enable
net z-jog-enable motenc.0.in.02 => axis.N.jog-enable
Or similar.
If you don't have physical axis-select switches then you can use the ones from the gui: halui.joint.0.is-selected for the X axis, for example.
Please Log in or Create an account to join the conversation.
Time to create page: 0.075 seconds