Lapic error causing real time to stop.
- Ozcnc
- Offline
- Senior Member
-
- Posts: 60
- Thank you received: 1
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.
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23323
- Thank you received: 4948
It isn't possible to generate a pure sine wave from a parallel port or from a Mesa card.The charge pump requires a 1kHz pure sine wave on pin 16.
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.
- ArcEye
- Offline
- Junior Member
-
- Posts: 24
- Thank you received: 758
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
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23323
- Thank you received: 4948
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.
- ArcEye
- Offline
- Junior Member
-
- Posts: 24
- Thank you received: 758
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.

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.
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
- Posts: 23323
- Thank you received: 4948
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.
- Ozcnc
- Offline
- Senior Member
-
- Posts: 60
- Thank you received: 1
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.
- Todd Zuercher
-
- Away
- Platinum Member
-
- Posts: 4996
- Thank you received: 1458
Please Log in or Create an account to join the conversation.
- ArcEye
- Offline
- Junior Member
-
- Posts: 24
- Thank you received: 758
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.
- Ozcnc
- Offline
- Senior Member
-
- Posts: 60
- Thank you received: 1
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.