looking for UBUNTU HAL docs

More
28 Sep 2011 15:24 #13506 by wyzarddoc
OK. I am easy or that's what my wife says!! / Thinks!!! Let's use Ethernet connections. That should be a universal connection for a while. I am currently developing a set of A.I. based micro-controllers that will do most of the work and be located on the machine. They will execute G-code sent over let's say Ethernet connections by hopefully EMC2 and take care of the limit switches, motor control etc. EMC2 would take care of the operator interface, trajectory planning, displays etc. A distributed system like this will allow maximum flexibility and reliability since micro- controllers are now as powerful as desktop computers of 5-7 years ago. What I plan to work on is a version of EMC2 that sends corrected calculated G-Code to the micro-controllers over Ethernet along with tuning constants. The micro-controllers will then act autonomously and execute the G-Code while monitoring the limit switches etc. and reporting the machine status back to EMC2. Anyone want to help on the EMC2 side?? I can handle the micro-controllers.

On the subject of the serial stepper. I own one and for just plain G-code with mach3 and moderate to speeds it's ok but it also bent my 3D probe using mach3 on the first probe run. It is nothing more than a FPGA that converts usb to parallel.

Doc

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 15:32 #13507 by wyzarddoc
As a follow-up. My micro-controllers will take care of creating the motor pulse trains and feed back from encoders. The tuning parameters will be passed down from EMC2 but will be executed on the micro-controllers. All stop and limit switches, cooling fluid pumps, vacuum pumps etc. will be controlled by the micro-controllers under the direction of EMC2 using G-Codes. The micro-controllers will execute only G-Code so any G-Code macro's will need to be evaluated by EMC2 then sent over Ethernet as G-Codes.
Doc

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 16:12 #13510 by andypugh
EMC2 isn't really set up to send G-code back out again.
What you probably want to look at is the motion control queue commands, which are primitive STRAIGHT_TRAVERSE and CIRCLE commands.

Have a look at the files tc.c and tp.c here:
git.linuxcnc.org/gitweb?p=emc2.git;a=tre...hb=refs/heads/master
Those files run the trajectory planner and trajectory controller respectively.

However, I don't think that is the most promising route to take.
Have a look at the Hostmot2 driver:
git.linuxcnc.org/gitweb?p=emc2.git;a=tre...hb=refs/heads/master
That creates interfaces to a number of HAL components, so you send a position command to a step generator, or ask for an encoder position, and the actual stepping and counting is done in hardware, with numerical values being handled in HAL.

A similar interface exists to the ppmc drivers in which commands are sent to external hardware via the parallel port (using a communications protocol, not ste[/dir pulses)
git.linuxcnc.org/gitweb?p=emc2.git;a=blo...hb=refs/heads/master

Similar hardware that connected to an ethernet port would probably garner enthusiastic support.

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 16:36 #13513 by wyzarddoc
AndyPugh;
Thanks for the great info. I'll take your suggestion and look at the Hostmot2 driver and ppmc drivers they sound like they might work. I thought I saw somewhere on the forums posts on someone else working on drivers for ethernet?? Can't seem to find it again.
Do you know the files associated with ppmc that setup the communications protocol?? might be what I need if the ppmc drivers have full access to HAL bi-directional communication. I have experience with distributed processing systems and CNC seems to be well suited to this approach. I'll be testing the boards and software on my own SharkPro cnc so no innocent CNC machines will be harmed in the process!!!
thanks again for all your help
Doc

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 16:48 #13515 by andypugh
wyzarddoc wrote:

Do you know the files associated with ppmc that setup the communications protocol

I think it is all in ppmc.c, it just accesses the EPP parallel port with inb() and outb() instruction.

Take a look at
linuxcnc.org/docs/html/hal_comp.html
and
git.linuxcnc.org/gitweb?p=emc2.git;a=blo...f166552b955d5dc9fd56
For an example of how simple a HAL driver can be. (In that case, it is an ISA driver.
it is possible that it is equally easy to send data to an ethernet port (but I would be surprised)

Please Log in or Create an account to join the conversation.

Time to create page: 0.145 seconds
Powered by Kunena Forum