Using a Servo for a Mill spindle 7i76e

More
08 Jul 2020 17:17 #173997 by arvidb
"turn the spindle by hand slowly" - very slowly even, or use an oscilloscope. The transitions are way too fast for a normal voltmeter otherwise. You also won't see anything at zero spindle speed, of course.

What you are looking for is a toggling of voltage levels: if you have a differential encoder I guess they should toggle between similar positive and negative voltages. The levels will toggle thousands of times per revolution. Single ended toggles between ~0 V and some positive value.

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

More
08 Jul 2020 17:23 #173998 by Clive S

You should measure ~+3 or ~-3 across the A,B differential pairs
(and never close to 0) if you wiggle the shaft around to see all
quadrature states


Thanks Peter
So I should see around 3V across a pair but I am only seeing about 17mV with the servo doing 100 rpm but 3V when stopped

Is that correct?

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

More
08 Jul 2020 17:27 #173999 by PCW
That sounds correct (because the signals should alternate between about +3 and -3 so the voltmeter will average this to ~0 when moving)

What firmware in on the 7I76E? (the encoder mapping can change depending on
the installed firmware)

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

More
08 Jul 2020 18:07 - 08 Jul 2020 18:17 #174004 by Clive S

That sounds correct (because the signals should alternate between about +3 and -3 so the voltmeter will average this to ~0 when moving)

What firmware in on the 7I76E? (the encoder mapping can change depending on
the installed firmware)


Ah light bulb moment I was playing with this servo before connected to a 7i85s so I will have flashed it for that card.

Now I am just using the 7i76e using the encoder on TB-3

General configuration information:

  BoardName : MESA7I76
  FPGA Size: 16 KGates
  FPGA Pins: 256
  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: StepGen
  There are 13 of StepGen in configuration
  Version: 2
  Registers: 10
  BaseAddress: 2000
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCount
  There are 10 of MuxedQCount in configuration
  Version: 3
  Registers: 5
  BaseAddress: 3600
  ClockFrequency: 100.000 MHz
  Register Stride: 256 bytes
  Instance Stride: 4 bytes

  Module: MuxedQCountSel
  There are 1 of MuxedQCountSel in configuration
  Version: 0
  Registers: 0
  BaseAddress: 0000
  ClockFrequency: 100.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: 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 on-card
Pin#  I/O   Pri. func    Sec. func       Chan      Pin func        Pin Dir

 1      0   IOPort       StepGen          0        Dir/Table2      (Out)
14      1   IOPort       StepGen          0        Step/Table1     (Out)
 2      2   IOPort       StepGen          1        Dir/Table2      (Out)
15      3   IOPort       StepGen          1        Step/Table1     (Out)
 3      4   IOPort       StepGen          2        Dir/Table2      (Out)
16      5   IOPort       StepGen          2        Step/Table1     (Out)
 4      6   IOPort       StepGen          3        Dir/Table2      (Out)
17      7   IOPort       StepGen          3        Step/Table1     (Out)
 5      8   IOPort       StepGen          4        Dir/Table2      (Out)
 6      9   IOPort       StepGen          4        Step/Table1     (Out)
 7     10   IOPort       SSerial          0        TXData1         (Out)
 8     11   IOPort       SSerial          0        RXData1         (In)
 9     12   IOPort       SSerial          0        TXData2         (Out)
10     13   IOPort       SSerial          0        RXData2         (In)
11     14   IOPort       MuxedQCount      4        MuxQ-IDX        (In)
12     15   IOPort       MuxedQCount      4        MuxQ-B          (In)
13     16   IOPort       MuxedQCount      4        MuxQ-A          (In)

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

 1     17   IOPort       SSerial          0        RXData3         (In)
14     18   IOPort       SSerial          0        TXData3         (Out)
 2     19   IOPort       StepGen          8        Step/Table1     (Out)
15     20   IOPort       StepGen          8        Dir/Table2      (Out)
 3     21   IOPort       StepGen          7        Step/Table1     (Out)
16     22   IOPort       StepGen          7        Dir/Table2      (Out)
 4     23   IOPort       StepGen          6        Step/Table1     (Out)
17     24   IOPort       StepGen          6        Dir/Table2      (Out)
 5     25   IOPort       StepGen          5        Step/Table1     (Out)
 6     26   IOPort       StepGen          5        Dir/Table2      (Out)
 7     27   IOPort       MuxedQCountSel   0        MuxSel0         (Out)
 8     28   IOPort       MuxedQCount      0        MuxQ-A          (In)
 9     29   IOPort       MuxedQCount      0        MuxQ-B          (In)
10     30   IOPort       MuxedQCount      0        MuxQ-IDX        (In)
11     31   IOPort       MuxedQCount      1        MuxQ-A          (In)
12     32   IOPort       MuxedQCount      1        MuxQ-B          (In)
13     33   IOPort       MuxedQCount      1        MuxQ-IDX        (In)

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

 1     34   IOPort       SSerial          0        RXData4         (In)
14     35   IOPort       SSerial          0        TXData4         (Out)
 2     36   IOPort       StepGen         12        Step/Table1     (Out)
15     37   IOPort       StepGen         12        Dir/Table2      (Out)
 3     38   IOPort       StepGen         11        Step/Table1     (Out)
16     39   IOPort       StepGen         11        Dir/Table2      (Out)
 4     40   IOPort       StepGen         10        Step/Table1     (Out)
17     41   IOPort       StepGen         10        Dir/Table2      (Out)
 5     42   IOPort       StepGen          9        Step/Table1     (Out)
 6     43   IOPort       StepGen          9        Dir/Table2      (Out)
 7     44   IOPort       MuxedQCountSel   8        MuxSel0         (Out)
 8     45   IOPort       MuxedQCount      2        MuxQ-A          (In)
 9     46   IOPort       MuxedQCount      2        MuxQ-B          (In)
10     47   IOPort       MuxedQCount      2        MuxQ-IDX        (In)
11     48   IOPort       MuxedQCount      3        MuxQ-A          (In)
12     49   IOPort       MuxedQCount      3        MuxQ-B          (In)
13     50   IOPort       MuxedQCount      3        MuxQ-IDX        (In)
Last edit: 08 Jul 2020 18:17 by Clive S.

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

More
08 Jul 2020 18:48 - 08 Jul 2020 18:49 #174007 by PCW
Right so if you are using that firmware, the 7I76Es local encoder is encoder 4...
Last edit: 08 Jul 2020 18:49 by PCW.
The following user(s) said Thank You: Clive S

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

More
08 Jul 2020 19:04 #174008 by Clive S

Right so if you are using that firmware, the 7I76Es local encoder is encoder 4...


Ok I have not got the 7i85 card plugged in. Also got no field power connected.

Will I have to changed the load line in the hal file to encoders =5 and change all the encoder bits in the hal file from encode.00 etc to encoder.04 etc

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

More
08 Jul 2020 19:07 #174010 by PCW
Either that or re-install the stock firmware

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

More
08 Jul 2020 19:18 #174011 by Clive S

Either that or re-install the stock firmware


Thanks for your patience.

loadrt hm2_eth board_ip="10.10.10.10" config=" num_encoders=5 num_pwmgens=0 num_stepgens=5 sserial_port_0=00xxxx"

# ---Encoder feedback signals/setup---

setp [HMOT](CARD0).encoder.04.counter-mode 0
setp [HMOT](CARD0).encoder.04.filter 1
setp [HMOT](CARD0).encoder.04.index-invert 0
setp [HMOT](CARD0).encoder.04.index-mask 0
setp [HMOT](CARD0).encoder.04.index-mask-invert 0
setp [HMOT](CARD0).encoder.04.scale [SPINDLE_0]ENCODER_SCALE

net spindle-revs <= [HMOT](CARD0).encoder.04.position
net spindle-vel-fb-rps <= [HMOT](CARD0).encoder.04.velocity
net spindle-index-enable <=> [HMOT](CARD0).encoder.04.index-enable

Still no joy. servo is running at 100rpm
Attachments:

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

More
08 Jul 2020 19:20 #174013 by PCW
Sorry the on card encoder is the last one (encoder 8)

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

More
08 Jul 2020 19:40 #174016 by Clive S

Sorry the on card encoder is the last one (encoder 8)


No need to be sorry its a big learning curve but I am getting better.

Success. That was it . What is the name of the standard bit file as it seems wrong to have 8 encoders loaded.

Many thanks.:)

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

Time to create page: 0.160 seconds
Powered by Kunena Forum