new build with Mesa 7i76ED and old Dell

More
31 Dec 2018 00:12 #123177 by steveb48
Hi All,

I decided to replace my direct parallel port stepper system with a Mesa board. I've got it all put together but it only works some of the time. When I launch linuxCNC, I see the 4 green LEDs on the Mesa light up. If I turn off the power to the Mesa and launch linuxCNC I do get an error so I'm reasonably sure they are talking when powered normally. Once linuxCNC is up, I press F1 and then F2 and try to jog one of the axis. If it works, they all work. If it doesn't they all don't. I've never see it come back to life once it's in this state. Restarting linuxCNC will bring it back to life maybe 1 time out of 5. The other odd thing is that if I'm in the working state and I take linuxCNC to full screen, I've lost the steppers. I've had this happen twice. In the running state I've also seen moving the jog slider kills the steppers. In all cases the screen continues to update.

Any thoughts where I should look?
thanks,
Steve

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

More
31 Dec 2018 01:05 - 31 Dec 2018 01:46 #123179 by PCW
Can you post your hal and ini files here?

If you can continue to jog when the drives are not working, and you have no error messages (and a standard hal file setup),
this means that communications are working properly with the 7I76E

Is it possible you have a wiring error with the drives or possibly marginal timing?
(double the step time to see if that makes a difference)

Edit:
Having graphic operations cause functional problems at the hal/hardware level sounds suspiciously like latency issues
Did you run a latency test on the system?
Last edit: 31 Dec 2018 01:46 by PCW. Reason: better wording

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

More
31 Dec 2018 01:31 #123181 by steveb48
Hi Peter,

Thanks for the reply. The motors and drivers are Compumotor Series M. They should be able to take 500ns step pulses according to the manual but I did try and set them to 1us and it didn't change the reliability. Each axis has a separate driver so I would have had to make the (an) error 3 times. It does work some time. It's acting like there's a setting that allows linuxCNC to run without moving the motors. I'm not aware of any such setting.

I did run the latency test but I was under the impression that going to an external step generator made the system less susceptible to latency issues. This seem more like a binary thing. It's with working or it's not. Just for giggles, I did try and disable sound and the floppy drive in the BIOS. No difference.

Thanks,
Steve
Attachments:

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

More
31 Dec 2018 01:49 #123182 by PCW
The only thing I can think of that would disable all steppers is a watchdog bite
You might try setting the watchdog timeout longer (its currently 5 ms)

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

More
31 Dec 2018 02:36 #123184 by steveb48
Bingo! I set it to 50ms and I get success 5 out of 5 launches. What's a good value to use? I thought 5ms was the default in PNCconf.

thanks,
Steve

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

More
31 Dec 2018 02:59 - 31 Dec 2018 02:59 #123186 by PCW
I think it is the default but its probably too short for some slower machines

Also a watchdog bite should pop-up a error warning but there are some versions of LinuxCNC that don't do this. I know this is fixed in 2.8 not sure about 2.7
Last edit: 31 Dec 2018 02:59 by PCW.

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

More
31 Dec 2018 19:58 #123232 by tommylight
Go into BIOS and disable everything that you do not need, like floppy drive and floppy controller (disabling just the drive does nothing as the controller is still in use, and since it uses IRQ it will impact latency), modem, power savings, speed step, put it in performance mode etc.
What Dell?

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

More
01 Jan 2019 22:29 - 01 Jan 2019 23:52 #123294 by steveb48
Sorry for the delay but things were working and I was playing!
I had disabled things in the BIOS as you suggested.

I believe I had been seeing latency numbers in the 1 ms range but testing now I'm seeing 7ms. I could be remembering them wrong or something has changed. I'm not sure. I do have 2 ethernet ports. The motherboard is connected to the Mesa board and the PCI ethernet is connected to the home network.

Edit. This is incorrect. Somehow I booted into the non-RT kernel. Servo = 67us Base 102us.

Dell Dimension 2400 series.

New issues.
I hooked up the limit switches but was unable to power the whole board with TB3 and TB1. The field power LED lit but not the main logic section. I was using a single power supply. TB3 22 and 23, with 21 and 24 jumpered to TB1 1 and 8. W1 to the left. I finally gave up and went back to 2 supplies, one 12v for field and 1 5v on P3. I had been using 5V on P3 when things were working.

Limit switches seem to work as I get a message for each axis as I trigger them manually. I do get a new error message.

Edit: This appears to be due to the non-RT kernel as well.
hm2/gm2_7i76e.0: Smart Serial port 0: DoIt not cleared from previous servo thread: Servo rate probably too fast. This message will not be repeated but the hm2_7i76e.0.serial.fault-count pin will indicate it this is happening frequently.

The bad news is my steppers are back to not working. I verified the watchdog is still at 50ms. I tried to go back to the .hal file I posted earlier with the watchdog set up to 50ms but that doesn't work either. This may be a different symptom as before as I can't get it work at all where before it would work sometime.

Is there additional logging I can enable? Could I have killed something when I tried to power the board with 1 supply from TB1 and TB3? P3 was unconnected at this time.

Thanks,
Steve
Last edit: 01 Jan 2019 23:52 by steveb48. Reason: Error in latency measurements

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

More
01 Jan 2019 23:51 #123298 by PCW
TB1 (field power) is completely isolated from TB3 unregulated power unless you use a common power source. There is no problem using a common power for both except that you lose isolation of the field power section (12/24V IO) from the logic section (step/DIR pins, encoder etc)

If you cannot power the logic section of the card via the unregulated input on TB3
with a correct polarity 8 to 35 VDC source, this indicates a card problem ( connection error or damaged switching regulator?)



The sserial errors are typical if you have real time issues.

Did you disable all power management options in the hos PCs BIOS?
If you have a Intel MAC on the host PC did you disable IRQ coalescing
as mentioned in the hm2_eth manual page?

A quick check to see if you have usable Ethernet latency is to ping the 7I76E card
If you get times > 300 usec or so its probably not usable at 1 KHz without some fixes

A better check is to look at all the xxx.tmax parameters after linuxcnc has run for a while (from a terminal when linuxcnc is running):

halcmd show param *.tmax

These are all reported in units of CPU clock cycles

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

More
02 Jan 2019 06:03 #123309 by steveb48
Peter,
Thanks so much for all your guidance. On New Year's Day as well!

I cannot power the logic part of the board from TB3. I noticed with an ohm meter that there is not continuity between TB3 pins 21 and 22. Seems like they would be tied together. Applying + to either doesn't power up the logic part. There is no chance I could have applied too much voltage as my programable power supply only goes to 20v. It is possible that I might have put 6v onto P3 by accident.

The serial error was due to me booting into the wrong kernel. I have both 3.2 and 3.4 installed but only 3.2 has Preempt RT. This also caused my bogus latency measurement. I only had one drink last night!

pinging the board returns values between 100us and 115us.

steve@debian:~$ halcmd show param *tmax
Parameters:
Owner Type Dir Value Name
28 s32 RW 0 hm2_7i76e.0.read-request.tmax
28 s32 RW 1341384 hm2_7i76e.0.read.tmax
28 s32 RW 125472 hm2_7i76e.0.write.tmax
21 s32 RW 16456 motion-command-handler.tmax
21 s32 RW 148448 motion-controller.tmax
31 s32 RW 17992 pid.s.do-pid-calcs.tmax
31 s32 RW 23844 pid.x.do-pid-calcs.tmax
31 s32 RW 18892 pid.y.do-pid-calcs.tmax
31 s32 RW 18192 pid.z.do-pid-calcs.tmax
22 s32 RW 1561436 servo-thread.tmax

steve@debian:~$

This was working. With the limit switches configured, I get messages when I trigger them manually but no steppers. I tried removing them from the config and I have the same problem.

thanks,
Steve

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

Moderators: PCWjmelson
Time to create page: 0.172 seconds
Powered by Kunena Forum