Lapic error causing real time to stop.

More
19 Jan 2016 16:03 #68761 by Ozcnc
The problem is that I can't drive motors or activate the controller for motion.

Gigabyte P35 computer exact model I will get tonight when I get home.
Linuxcnc 2.7.0.
Latency 8000.
I did get the linuxcnc extract from the computer before I left this afternoon and I have attached it.

I have a High z zero3 controller which was built by Benezan Electronics but does not have any jumpers to disable watchdog.
The charge pump requires a 1kHz pure sine wave on pin 16.
For a current list of pin outs that I have loaded on the Mesa are attached in the archive Zero3.tar.gz

I have also attached the Hal and INI files.
I have disabled the spindle setup as this somehow got configure to run differently.

I have also attached grub, 10_linux, Dmesg, etc....

I have also loaded the parallel printer setup hal file for reference to the pin outs that work.
Let me know if there is anything else.
Attachments:

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

More
19 Jan 2016 16:33 #68766 by andypugh

The charge pump requires a 1kHz pure sine wave on pin 16.

It isn't possible to generate a pure sine wave from a parallel port or from a Mesa card.

I have also loaded the parallel printer setup hal file for reference to the pin outs that work.
Let me know if there is anything else.


You may be able to use the HAL charge_pump component if the system will actually work with a 500Hz square wave.

linuxcnc.org/docs/2.7/html/man/man9/charge_pump.9.html

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

More
19 Jan 2016 16:55 - 19 Jan 2016 17:33 #68767 by ArcEye
What I would do if I were you, is just to jury rig it for now, to get it running

Connect up your BOB you used for the parport configuration to the parport and just use the charge_pump section of that config inside your new 5i25 config.
( You can mix the 2 quite happily, I do it on my mill because my pendant is DB25 wired for a parport connection, I just split the cable and spliced into one of the 5i25 encoders for the MPG so as to use a hardware encoder, the switches still go through the parport)

Connect the charge_pump output to your controller same as you did in the parport setup.

eg (cutting and pasting your 2 config hal files)
# Generated by PNCconf at Tue Jan 19 04:29:40 2016
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt trivkins
####  replace here ========>
##  loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
#### with ===> 
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
#(just make sure to specify base thread in ini file-example below)
#[EMCMOT]
#EMCMOT = motmod
#COMM_TIMEOUT = 1.0
#COMM_WAIT = 0.010
#BASE_PERIOD = 25000
#SERVO_PERIOD = 1000000
###########################

loadrt hostmot2
loadrt hm2_pci config=" num_encoders=0 num_pwmgens=0 num_stepgens=5" 
#setp    hm2_5i25.0.watchdog.timeout_ns 10000000
loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s

## ====> inserted here
loadrt hal_parport cfg="0x378 out"
loadrt charge_pump

net charge-pump <= charge-pump.out

addf parport.0.write base-thread
addf charge-pump base-thread
net charge-pump     => parport.0.pin-16-out
###

addf hm2_5i25.0.read          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread
addf pid.y.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf pid.a.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf hm2_5i25.0.write         servo-thread

Once you get it running, it is down to you what solution you use for the charge_pump enable, stick with that and tidy up the cables or go for one generated from the 5i25

I have not tried running a base-thread with rtai and a 5i25, but do it all the time with rt-preempt and 5i25, because the cache effect of running a fast base-thread actually lowers the latency on the servo-thread.

regards
Last edit: 19 Jan 2016 17:33 by ArcEye.

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

More
19 Jan 2016 17:18 #68768 by andypugh
You forgot to add the parport write to the servo thread.

But if there is only a servo thread then there is no point using the parport, the charge_pump can just connect to the relevant 5i25 GPIO pin.

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

More
19 Jan 2016 17:30 - 19 Jan 2016 17:34 #68770 by ArcEye

You forgot to add the parport write to the servo thread.

But if there is only a servo thread then there is no point using the parport, the charge_pump can just connect to the relevant 5i25 GPIO pin.


Yes first draft, have amended now. :cheer:

My idea was solely to use the resources already available, because it already worked with a charge_pump component and then move to a more optimum solution once proved to work

I don't know if a charge_pump running on a servo thread would work.
Last edit: 19 Jan 2016 17:34 by ArcEye.

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

More
19 Jan 2016 18:14 #68773 by andypugh

My idea was solely to use the resources already available, because it already worked with a charge_pump component and then move to a more optimum solution once proved to work
I don't know if a charge_pump running on a servo thread would work.


If a 500Hz charge-pump will work then a software one generated in HAL is possibly better than a hardware one generated in the FPGA. It provides an extra layer of confidence that everything is OK.

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

More
19 Jan 2016 18:15 #68774 by Ozcnc
Hm,
I wasn't initially wanting to go parallel to pin 16 and the others from 5i25, but if it works I'll do it.

Servo thread should be worth a try.
I like the challenge, just don't have enough knowledge yet.

I will only be able to do this on the weekend but I will report back.

Oz

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

More
19 Jan 2016 21:53 #68781 by Todd Zuercher
I'm pretty sure that you can drive GPIO pins on the 5i25 with software exactly the same way as you would pins on a parallel port.

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

More
20 Jan 2016 07:35 #68800 by ArcEye
I have finally found a manual for what I believe is your controller, my previous searches kept coming up with gantry router machines not controllers

pdf.directindustry.com/pdf/cnc-step-ek-3...ts/64456-626911.html

I think the problem is that you are connecting the 5i25 direct to the DB25 plug on the controller as if it was a parallel port.

Because your controller is an 'all in one', 'our way or the highway' type, there is no BOB and no flexibility.

If you can confirm that is the controller, we will be able to get somewhere.

The simplest solution that springs to mind is to get a 7i76, connect it to the 5i25.
Then cut a DB25 parallel port cable in half, expose the wires and connect up to your controller using that wired into the 7i76.

There will be other solutions, including possibly a bit file similar to the G540 one I think exists.

regards

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

More
20 Jan 2016 09:41 #68802 by Ozcnc
Hi,

Yes, this is the controller.

If I could use a 7i85 or 7i85s that would be my first choice as I want to add 3 encoders and 1 MPG.

oz

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

Time to create page: 0.198 seconds
Powered by Kunena Forum