0-10v Servo Control with 7i76E
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
15 Mar 2023 19:50 #266779
by besriworld
Replied by besriworld on topic 0-10v Servo Control with 7i76E
I forgot to add this line in the first picture.
Am I messing up somewhere?
(InMuxTag, x"00", ClockLowTag, x"01", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),
One more question/problem. . . is it possible to set the pins that will be outputs to have a high level when the board is first powered.
Am I messing up somewhere?
(InMuxTag, x"00", ClockLowTag, x"01", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),
One more question/problem. . . is it possible to set the pins that will be outputs to have a high level when the board is first powered.
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
10 Apr 2023 22:03 - 10 Apr 2023 22:07 #268786
by besriworld
Replied by besriworld on topic 0-10v Servo Control with 7i76E
Hello again . I think there is a problem with my bit file. Smart serial does not work. I look at the TX-pin output with an oscilloscope. Only one pulse is sent when LinuxCNC is started. I also have a 7i76e with the same setup, I see a few pulses when starting linux.
I have two 7i98 cards and the problem is not in the PCB. Can anyone help? What's wrong with the bit file? In a p3 connector, all pins have IOPortTag & x"00" & NullTag & NullPin,
I have two 7i98 cards and the problem is not in the PCB. Can anyone help? What's wrong with the bit file? In a p3 connector, all pins have IOPortTag & x"00" & NullTag & NullPin,
Last edit: 10 Apr 2023 22:07 by besriworld.
Please Log in or Create an account to join the conversation.
10 Apr 2023 22:30 #268789
by PCW
Replied by PCW on topic 0-10v Servo Control with 7i76E
The 7I98 has the option of pullup/pulldown resistors on the I/O pins
so the I/O pins can be HIGH or LOW until the are controlled by LinuxCNC
If sserial does not work its likely a connection or polarity issue
so the I/O pins can be HIGH or LOW until the are controlled by LinuxCNC
If sserial does not work its likely a connection or polarity issue
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
11 Apr 2023 03:57 #268803
by besriworld
Replied by besriworld on topic 0-10v Servo Control with 7i76E
I spend several days in tests. Now I look at the oscilloscope what it shows on the 7i98 board (my board is not connected). if the jumper is set pull-down low voltage - the voltage is low and when linuxcnc starts , it goes one pulse high (as shown in the picture) and goes back to 0 and stays there. if the jumper is set pull-up high level - the voltage is high and when linuxcnc start it goes one pulse low and goes back to 3.3v and stays there. Where could be the problem?
At 7i76e I have a series of pulses.
Thanks!
At 7i76e I have a series of pulses.
Thanks!
Please Log in or Create an account to join the conversation.
11 Apr 2023 16:41 #268831
by PCW
Replied by PCW on topic 0-10v Servo Control with 7i76E
Not sure, the one pulse just looks like the driver enabling the output to send data
but nothing is sent (the interface should send a 0xDF and a CRC character and wait for a response)
but nothing is sent (the interface should send a 0xDF and a CRC character and wait for a response)
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
12 Apr 2023 15:39 #268903
by besriworld
Replied by besriworld on topic 0-10v Servo Control with 7i76E
Thanks for the reply! I can't fix the problem. I put in a new bit file that uses the p2 connector for tx pin . I look at the signal on the oscilloscope and a series of pulses is visible. After turning linuxcnc on and off several times, only one pulse is visible again. I formatted the disk and installed debian again. On the oscilloscope I could see the series of pulses but I had no connection with the 7i73, now I have only one pulse again. I use this controller : max3490csa
is there a command to run again and again trying to connect with 7i73
Could it be a problem that I don't have a pin TXEn0 ?
is there a command to run again and again trying to connect with 7i73
Could it be a problem that I don't have a pin TXEn0 ?
Please Log in or Create an account to join the conversation.
12 Apr 2023 16:38 #268909
by PCW
Replied by PCW on topic 0-10v Servo Control with 7i76E
TXen is not needed unless connected to the driver chip
Did your bitfile meet timing?
You can start/stop SSLBP with simple register operations (using mesaflash's WPO function for example)
Basically setup the DDR/AltSource registers then issue a startall/stopall
command to the SSLBP command register
Did your bitfile meet timing?
You can start/stop SSLBP with simple register operations (using mesaflash's WPO function for example)
Basically setup the DDR/AltSource registers then issue a startall/stopall
command to the SSLBP command register
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
12 Apr 2023 18:05 - 14 Apr 2023 17:45 #268917
by besriworld
Replied by besriworld on topic 0-10v Servo Control with 7i76E
PWM works well. I'm uploading a "readhmid "
moriseiki@debian:~$ mesaflash --device 7i98 --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I98
FPGA Size: 9 KGates
FPGA Pins: 144
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 5 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 4 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: PWM
There are 1 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 200.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: InMux
There are 1 of InMux in configuration
Version: 0
Registers: 5
BaseAddress: 8000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort QCount 3 Quad-A (In)
14 1 IOPort QCount 3 Quad-IDX (In)
2 2 IOPort QCount 3 Quad-B (In)
15 3 IOPort QCount 4 Quad-IDX (In)
3 4 IOPort SSerial 0 RXData0 (In)
16 5 IOPort QCount 4 Quad-B (In)
4 6 IOPort SSerial 0 TXData0 (Out)
17 7 IOPort QCount 4 Quad-A (In)
5 8 IOPort QCount 2 Quad-A (In)
6 9 IOPort QCount 2 Quad-B (In)
7 10 IOPort QCount 2 Quad-IDX (In)
8 11 IOPort QCount 1 Quad-IDX (In)
9 12 IOPort QCount 1 Quad-B (In)
10 13 IOPort QCount 1 Quad-A (In)
11 14 IOPort QCount 0 Quad-IDX (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-A (In)
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort PWM 0 PWM (Out)
14 18 IOPort PWM 0 Dir (Out)
2 19 IOPort StepGen 0 Step/Table1 (Out)
15 20 IOPort StepGen 0 Dir/Table2 (Out)
3 21 IOPort StepGen 1 Step/Table1 (Out)
16 22 IOPort StepGen 1 Dir/Table2 (Out)
4 23 IOPort StepGen 2 Step/Table1 (Out)
17 24 IOPort StepGen 2 Dir/Table2 (Out)
5 25 IOPort StepGen 3 Step/Table1 (Out)
6 26 IOPort StepGen 3 Dir/Table2 (Out)
7 27 IOPort InMux 0 Addr0 (Out)
8 28 IOPort InMux 0 Addr1 (Out)
9 29 IOPort InMux 0 Addr2 (Out)
10 30 IOPort InMux 0 Addr3 (Out)
11 31 IOPort InMux 0 Addr4 (Out)
12 32 IOPort InMux 0 Data0 (In)
13 33 IOPort None
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 34 IOPort None
14 35 IOPort None
2 36 IOPort None
15 37 IOPort None
3 38 IOPort None
16 39 IOPort None
4 40 IOPort None
17 41 IOPort None
5 42 IOPort None
6 43 IOPort None
7 44 IOPort None
8 45 IOPort None
9 46 IOPort None
10 47 IOPort None
11 48 IOPort None
12 49 IOPort None
13 50 IOPort None
moriseiki@debian:~$
Can you upload a link ... I'm just very new to the linuxcnc world
PS:
I upload this firmware. 7i98_7i77_7i74d.bit
I am trying to read it with command $ sudo mesaflash --device 7i98 --addr 10.10.10.10 --sserial
There is no change, only one impulse comes (when I look with the oscilloscope).
$ sudo mesaflash --device 7i98 --addr 10.10.10.10 --sserial
SSLBP port 0:
SSLBP Version: 1.43
SSLBP Channels: 1
SSLBP Baud Rate: 2500000
PS It's working fine now
Warning: Spoiler!
moriseiki@debian:~$ mesaflash --device 7i98 --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I98
FPGA Size: 9 KGates
FPGA Pins: 144
Number of IO Ports: 3
Width of one I/O port: 17
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256
Modules in configuration:
Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: QCount
There are 5 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: StepGen
There are 4 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: PWM
There are 1 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 200.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes
Module: InMux
There are 1 of InMux in configuration
Version: 0
Registers: 5
BaseAddress: 8000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes
Configuration pin-out:
IO Connections for P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 0 IOPort QCount 3 Quad-A (In)
14 1 IOPort QCount 3 Quad-IDX (In)
2 2 IOPort QCount 3 Quad-B (In)
15 3 IOPort QCount 4 Quad-IDX (In)
3 4 IOPort SSerial 0 RXData0 (In)
16 5 IOPort QCount 4 Quad-B (In)
4 6 IOPort SSerial 0 TXData0 (Out)
17 7 IOPort QCount 4 Quad-A (In)
5 8 IOPort QCount 2 Quad-A (In)
6 9 IOPort QCount 2 Quad-B (In)
7 10 IOPort QCount 2 Quad-IDX (In)
8 11 IOPort QCount 1 Quad-IDX (In)
9 12 IOPort QCount 1 Quad-B (In)
10 13 IOPort QCount 1 Quad-A (In)
11 14 IOPort QCount 0 Quad-IDX (In)
12 15 IOPort QCount 0 Quad-B (In)
13 16 IOPort QCount 0 Quad-A (In)
IO Connections for P2
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 17 IOPort PWM 0 PWM (Out)
14 18 IOPort PWM 0 Dir (Out)
2 19 IOPort StepGen 0 Step/Table1 (Out)
15 20 IOPort StepGen 0 Dir/Table2 (Out)
3 21 IOPort StepGen 1 Step/Table1 (Out)
16 22 IOPort StepGen 1 Dir/Table2 (Out)
4 23 IOPort StepGen 2 Step/Table1 (Out)
17 24 IOPort StepGen 2 Dir/Table2 (Out)
5 25 IOPort StepGen 3 Step/Table1 (Out)
6 26 IOPort StepGen 3 Dir/Table2 (Out)
7 27 IOPort InMux 0 Addr0 (Out)
8 28 IOPort InMux 0 Addr1 (Out)
9 29 IOPort InMux 0 Addr2 (Out)
10 30 IOPort InMux 0 Addr3 (Out)
11 31 IOPort InMux 0 Addr4 (Out)
12 32 IOPort InMux 0 Data0 (In)
13 33 IOPort None
IO Connections for P3
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
1 34 IOPort None
14 35 IOPort None
2 36 IOPort None
15 37 IOPort None
3 38 IOPort None
16 39 IOPort None
4 40 IOPort None
17 41 IOPort None
5 42 IOPort None
6 43 IOPort None
7 44 IOPort None
8 45 IOPort None
9 46 IOPort None
10 47 IOPort None
11 48 IOPort None
12 49 IOPort None
13 50 IOPort None
moriseiki@debian:~$
Can you upload a link ... I'm just very new to the linuxcnc world
PS:
I upload this firmware. 7i98_7i77_7i74d.bit
I am trying to read it with command $ sudo mesaflash --device 7i98 --addr 10.10.10.10 --sserial
There is no change, only one impulse comes (when I look with the oscilloscope).
$ sudo mesaflash --device 7i98 --addr 10.10.10.10 --sserial
SSLBP port 0:
SSLBP Version: 1.43
SSLBP Channels: 1
SSLBP Baud Rate: 2500000
PS It's working fine now
Last edit: 14 Apr 2023 17:45 by besriworld.
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
02 Aug 2023 19:17 #276792
by besriworld
Replied by besriworld on topic 0-10v Servo Control with 7i76E
I have a problem with the setup. I am uploading the configuration.I have a servo spindle on a lathe. I want to close the feedback in linuxcnc. When changing P 0.1, the motor increases speed. Seems pid, doesn't follow feedback.
Board 7i98
Board 7i98
#*******************
# SPINDLE
#*******************
setp pid.s.Pgain [SPINDLE_0]P
setp pid.s.Igain [SPINDLE_0]I
setp pid.s.Dgain [SPINDLE_0]D
setp pid.s.bias [SPINDLE_0]BIAS
setp pid.s.FF0 [SPINDLE_0]FF0
setp pid.s.FF1 [SPINDLE_0]FF1
setp pid.s.FF2 [SPINDLE_0]FF2
setp pid.s.deadband [SPINDLE_0]DEADBAND
setp pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT
setp pid.s.error-previous-target true
net spindle-index-enable => pid.s.index-enable
net spindle-enable => pid.s.enable
net spindle-vel-cmd-rpm => pid.s.command
net spindle-vel-fb-rpm-abs => pid.s.feedback
net spindle-output <= pid.s.output
# ---PWM Generator signals/setup---
setp hm2_7i98.0.pwmgen.00.output-type 1
setp hm2_7i98.0.pwmgen.00.scale [SPINDLE_0]OUTPUT_SCALE
net spindle-output => hm2_7i98.0.pwmgen.00.value
net spindle-enable => hm2_7i98.0.pwmgen.00.enable
# ---Encoder feedback signals/setup---
setp hm2_7i98.0.encoder.02.counter-mode 0
setp hm2_7i98.0.encoder.02.filter 1
setp hm2_7i98.0.encoder.02.index-invert 0
setp hm2_7i98.0.encoder.02.index-mask 0
setp hm2_7i98.0.encoder.02.index-mask-invert 0
setp hm2_7i98.0.encoder.02.scale [SPINDLE_0]ENCODER_SCALE
net spindle-revs <= hm2_7i98.0.encoder.02.position
net spindle-vel-fb-rps-abs <= hm2_7i98.0.encoder.02.velocity
net spindle-vel-fb-rpm-abs <= hm2_7i98.0.encoder.02.velocity-rpm
net spindle-index-enable <=> hm2_7i98.0.encoder.02.index-enable
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm <= spindle.0.speed-out
net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-enable <= spindle.0.on
net spindle-cw <= spindle.0.forward
net spindle-ccw <= spindle.0.reverse
net spindle-brake <= spindle.0.brake
net spindle-revs => spindle.0.revs
net spindle-at-speed => spindle.0.at-speed
net spindle-vel-fb-rps => spindle.0.speed-in
net spindle-index-enable <=> spindle.0.index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true
Attachments:
Please Log in or Create an account to join the conversation.
02 Aug 2023 19:57 #276793
by PCW
Replied by PCW on topic 0-10v Servo Control with 7i76E
if you set P to 0 and command say 1000 RPM, what
are the values of
spindle-vel-cmd-rpm
and
spindle-vel-fb-rpm-abs
?
are the values of
spindle-vel-cmd-rpm
and
spindle-vel-fb-rpm-abs
?
Please Log in or Create an account to join the conversation.
Time to create page: 0.220 seconds