Request 7i92 custom firmware to drive xy2-100 galvo

More
30 Jun 2021 06:03 #213310 by HotCat
Dear PCW,
Just heard that 7i96 can drive digital galvo using custom firmware. I would love
to try. But I only got 7i92 + 7i76, could you please compile 7i92 custom firmware
for me, so that I could use halstreamer to stream the Openlase output to xy2mod. Thanks
 

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

More
30 Jun 2021 16:14 - 30 Jun 2021 16:15 #213353 by PCW
 

File Attachment:

File Name: 7i92_7i76x1xymd.zip
File Size:114 KB


This puts the XY2-100 interface on the 7I76 stepgen 3,4 pins:



Configuration pin-out:

IO Connections for P2
Pin#                  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

TB2-4,5                 0   IOPort       StepGen          0        Dir/Table2      (Out)
TB2-2,3                 1   IOPort       StepGen          0        Step/Table1     (Out)
TB2-10,11               2   IOPort       StepGen          1        Dir/Table2      (Out)
TB2-8,9                 3   IOPort       StepGen          1        Step/Table1     (Out)
TB2-16,17               4   IOPort       StepGen          2        Dir/Table2      (Out)
TB2-14,15               5   IOPort       StepGen          2        Step/Table1     (Out)
TB2-22,23               6   IOPort       XYMod            0        XData           (Out)
TB2-20,21               7   IOPort       XYMod            0        YData           (Out)
TB3-4,5                 8   IOPort       XYMod            0        Clk             (Out)
TB3-2,3                 9   IOPort       XYMod            0        Sync            (Out)
Internal-Field-IO      10   IOPort       SSerial          0        TXData0         (Out)
Internal-Field-IO      11   IOPort       SSerial          0        RXData0         (In)
TB3-18,19              12   IOPort       SSerial          0        TXData1         (Out)
TB3-16,17              13   IOPort       SSerial          0        RXData1         (In)
TB3-13,14              14   IOPort       QCount           0        Quad-IDX        (In)
TB3-10,11              15   IOPort       QCount           0        Quad-B          (In)
TB3-7,8                16   IOPort       QCount           0        Quad-A          (In)

 
Attachments:
Last edit: 30 Jun 2021 16:15 by PCW.

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

More
02 Jul 2021 03:53 #213477 by HotCat
Thanks for your quick reply, I just flash your firmware to 7i92 without issues. I could proceed to play with linuxcnc hal file and galvos. Your mesa card is great, it opens my career to robot and trash the mitsubishi plc
 
 
Attachments:

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

More
05 Jul 2021 03:03 #213737 by HotCat
I just use your 7i96 configuration file, only change the board name to 7i92 and ip address to 192.168.1.121. I use linuxcnc 2.9 master branch code. Linuxcnc reports error finishing read! iter=26, I also found the galvo's mirror flaps a bit

linuxcnc
LINUXCNC - 2.9.0~pre0
Machine configuration directory is '/home/test/linuxcnc/configs/7i96_xy'
Machine configuration file is '7i96masterpexy100.ini'
Starting LinuxCNC...
emc/iotask/ioControl.cc 769: can't load tool table.
Found file(REL): ./hm2-pidstepper-master-pexy100.hal
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: INFO: Hardware address (MAC): 00:60:1b:13:04:c6
hm2_eth: discovered 7I92
hm2/hm2_7i92.0: Low Level init 0.15
hm2/hm2_7i92.0: Smart Serial Firmware Version 43
Board hm2_7i92.0.7i76.0.0 Hardware Mode 0 = standard
Board hm2_7i92.0.7i76.0.0 Software Mode 0 = io_spin
Board hm2_7i92.0.7i76.0.0 Software Mode 1 = io_ana_spin
Board hm2_7i92.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv
hm2/hm2_7i92.0: 34 I/O Pins used:
hm2/hm2_7i92.0:     IO Pin 000 (P2-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 001 (P2-14): StepGen #0, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 002 (P2-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 003 (P2-15): StepGen #1, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 004 (P2-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 005 (P2-16): StepGen #2, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 006 (P2-04): xy2mod Galvo interface #0, pin datax (Output)
hm2/hm2_7i92.0:     IO Pin 007 (P2-17): xy2mod Galvo interface #0, pin datay (Output)
hm2/hm2_7i92.0:     IO Pin 008 (P2-05): xy2mod Galvo interface #0, pin clk (Output)
hm2/hm2_7i92.0:     IO Pin 009 (P2-06): xy2mod Galvo interface #0, pin sync (Output)
hm2/hm2_7i92.0:     IO Pin 010 (P2-07): Smart Serial Interface #0, pin tx0 (Output)
hm2/hm2_7i92.0:     IO Pin 011 (P2-08): Smart Serial Interface #0, pin rx0 (Input)
hm2/hm2_7i92.0:     IO Pin 012 (P2-09): IOPort
hm2/hm2_7i92.0:     IO Pin 013 (P2-10): IOPort
hm2/hm2_7i92.0:     IO Pin 014 (P2-11): Encoder #0, pin Index (Input)
hm2/hm2_7i92.0:     IO Pin 015 (P2-12): Encoder #0, pin B (Input)
hm2/hm2_7i92.0:     IO Pin 016 (P2-13): Encoder #0, pin A (Input)
hm2/hm2_7i92.0:     IO Pin 017 (P1-01): IOPort
hm2/hm2_7i92.0:     IO Pin 018 (P1-14): IOPort
hm2/hm2_7i92.0:     IO Pin 019 (P1-02): IOPort
hm2/hm2_7i92.0:     IO Pin 020 (P1-15): IOPort
hm2/hm2_7i92.0:     IO Pin 021 (P1-03): IOPort
hm2/hm2_7i92.0:     IO Pin 022 (P1-16): IOPort
hm2/hm2_7i92.0:     IO Pin 023 (P1-04): IOPort
hm2/hm2_7i92.0:     IO Pin 024 (P1-17): IOPort
hm2/hm2_7i92.0:     IO Pin 025 (P1-05): IOPort
hm2/hm2_7i92.0:     IO Pin 026 (P1-06): IOPort
hm2/hm2_7i92.0:     IO Pin 027 (P1-07): IOPort
hm2/hm2_7i92.0:     IO Pin 028 (P1-08): IOPort
hm2/hm2_7i92.0:     IO Pin 029 (P1-09): IOPort
hm2/hm2_7i92.0:     IO Pin 030 (P1-10): IOPort
hm2/hm2_7i92.0:     IO Pin 031 (P1-11): IOPort
hm2/hm2_7i92.0:     IO Pin 032 (P1-12): IOPort
hm2/hm2_7i92.0:     IO Pin 033 (P1-13): IOPort
hm2/hm2_7i92.0: registered

hm2/hm2_7i92.0: error finishing read! iter=26
hm2/hm2_7i92.0: error finishing read! iter=26

note: MAXV     max: 350.000 units/sec 21000.000 units/min
note: LJOG     max: 350.000 units/sec 21000.000 units/min
note: LJOG default: 350.000 units/sec 21000.000 units/min
note: jog_order='XYZ'
note: jog_invert=set([])
 

The 7i92's INT light asserts and linuxcnc shows packages error limits exceed
 
Attachments:

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

More
05 Jul 2021 03:17 #213738 by PCW
Sounds like a real time issue on the host
Have you run a latency test?
Also what are the ping times? (pinging the 7I92)

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

More
06 Jul 2021 01:23 - 06 Jul 2021 01:44 #213814 by HotCat
This is my latency test and 7i92 ping time. I use stress command to stress the CPU and IO。Intel i5-7500 CPU @ 3.40GHz,No Hyper Threading Technology. Intel I219-V ethernet card with hardware-irq-coalesce-rx-usecs = 0. This type of PC was used to control the delta robot using 7i92/7i76 comb, works great. But recently I add a nvidia GTX1080 card and install it's proprietary driver to accelerate the SIFT vision algorithm. I also got 6i25 as candidate if 7i92 is still not working
 
Attachments:
Last edit: 06 Jul 2021 01:44 by HotCat.

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

More
06 Jul 2021 02:32 #213819 by PCW
Those ping times are pretty bad, I would expect 80..120 usec
That will be a problem with a 1 KHz servo thread

Is there any power management on the Ethernet?
Is any Intel Ethernet snooping enabled like AMT mode?

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

More
06 Jul 2021 09:59 - 06 Jul 2021 10:38 #213837 by HotCat
Just check the ping time again without stress test, but the time is still not good, around 0.560ms. The ehternet card was integrated on motherboard and the BIOS doesn't provide any extra tweak options.

So I migrant to another old PC(Dell OPTIPLEX 3020) with Intel i3-4150 and RTL 8168 Gigabit Ethernet Controller. Got ping time 0.125ms, run linuxCNC and read error went away. Now I can jog the two galvo mirror respectively.

I still strive to figure out how to setup scale, determine the x, y rotation limits and tune the PID. According to the vendors spec, the mirror flaps +-20 deg and the small signal step response is 0.2ms. I am learning a lot from this thread, RPi4 & 7i96 XY2-100 Following Error at High Velocities , hope I can all score out
Last edit: 06 Jul 2021 10:38 by HotCat.

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

More
06 Jul 2021 21:27 #213897 by andypugh
Unrelated, but you should probably run the latency test without a base thread, as you won't be using one with a Mesa config.

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

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