- Posts: 11
- Thank you received: 0
[Solved] Mesa 7i96 Spindle PWM
- dubstar_04
- Topic Author
- Offline
- New Member
-
Less
More
1 year 3 months ago #331228
by dubstar_04
[Solved] Mesa 7i96 Spindle PWM was created by dubstar_04
I'm converting a lathe to run LinuxCNC, everything is working but the spindle.
I have flashed firmware: 7i96d_1pwm
Mesa flash output:
mesaflash --device 7i96 --addr 10.10.10.10 --readhmid
I have flashed firmware: 7i96d_1pwm
Mesa flash output:
mesaflash --device 7i96 --addr 10.10.10.10 --readhmid
Code:
Configuration Name: HOSTMOT2
General configuration information:
BoardName : MESA7I96
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: 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: 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: QCount
There are 1 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
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: SSR
There are 1 of SSR in configuration
Version: 0
Registers: 2
BaseAddress: 7D00
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 TB3 -> 7I96_0
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
TB3-1 0 IOPort None
TB3-2 1 IOPort None
TB3-3 2 IOPort None
TB3-4 3 IOPort None
TB3-5 4 IOPort None
TB3-6 5 IOPort None
TB3-7 6 IOPort None
TB3-8 7 IOPort None
TB3-9 8 IOPort None
TB3-10 9 IOPort None
TB3-11 10 IOPort None
TB3-13,14 11 IOPort SSR 0 Out-00 (Out)
TB3-15,16 12 IOPort SSR 0 Out-01 (Out)
TB3-17,18 13 IOPort SSR 0 Out-02 (Out)
TB3-19,20 14 IOPort SSR 0 Out-03 (Out)
TB3-21,22 15 IOPort SSR 0 Out-04 (Out)
TB3-23,24 16 IOPort SSR 0 Out-05 (Out)
IO Connections for TB1/TB2 -> 7I96_1
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
TB1-2,3 17 IOPort StepGen 0 Step/Table1 (Out)
TB1-4,5 18 IOPort StepGen 0 Dir/Table2 (Out)
TB1-8,9 19 IOPort StepGen 1 Step/Table1 (Out)
TB1-10,11 20 IOPort StepGen 1 Dir/Table2 (Out)
TB1-14,15 21 IOPort StepGen 2 Step/Table1 (Out)
TB1-16,17 22 IOPort StepGen 2 Dir/Table2 (Out)
TB1-20,21 23 IOPort StepGen 3 Step/Table1 (Out)
TB1-22,23 24 IOPort StepGen 3 Dir/Table2 (Out)
TB2-2,3 25 IOPort PWM 0 PWM (Out)
TB2-4,5 26 IOPort PWM 0 Dir (Out)
TB2-7,8 27 IOPort QCount 0 Quad-A (In)
TB2-10,11 28 IOPort QCount 0 Quad-B (In)
TB2-13,14 29 IOPort QCount 0 Quad-IDX (In)
TB2-16,17 30 IOPort SSerial 0 RXData0 (In)
TB2-18,19 31 IOPort SSerial 0 TXData0 (Out)
Internal-TXEn 32 IOPort SSerial 0 TXEn0 (Out)
Internal 33 IOPort SSR 0 AC Ref (Out)
IO Connections for P1 -> 7I96_2
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir
P1-01/DB25-01 34 IOPort None
P1-02/DB25-14 35 IOPort None
P1-03/DB25-02 36 IOPort None
P1-04/DB25-15 37 IOPort None
P1-05/DB25-03 38 IOPort None
P1-06/DB25-16 39 IOPort None
P1-07/DB25-04 40 IOPort None
P1-08/DB25-17 41 IOPort None
P1-09/DB25-05 42 IOPort None
P1-11/DB25-06 43 IOPort None
P1-13/DB25-07 44 IOPort None
P1-15/DB25-08 45 IOPort None
P1-17/DB25-09 46 IOPort None
P1-19/DB25-10 47 IOPort None
P1-21/DB25-11 48 IOPort None
P1-23/DB25-12 49 IOPort None
P1-25/DB25-13 50 IOPort None
Connections:
Pin TB2-1 -> GND
Pin TB2-3 > PWM+
I'm not getting anything out of pwm to analog boards. I have tried 5 different convertor boards with the same result. Before I invest in a scope or a new mesa board can anyone spot anything wrong with the config?
Thank you,
Dan
Please Log in to join the conversation.
1 year 3 months ago #331249
by PCW
Replied by PCW on topic Mesa 7i96 Spindle PWM
When LinuxCNC is running and you have the spindle on and set to say 1/2 speed.
what does:
halcmd show all spin*
report?
Also, you can get an idea of PWM operation independent of any add-on cards
with just a voltmeter, as the voltmeter will read the average voltage which will
be proportional to the PWM duty cycle.
what does:
halcmd show all spin*
report?
Also, you can get an idea of PWM operation independent of any add-on cards
with just a voltmeter, as the voltmeter will read the average voltage which will
be proportional to the PWM duty cycle.
Please Log in to join the conversation.
- dubstar_04
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 0
1 year 3 months ago #331251
by dubstar_04
Replied by dubstar_04 on topic Mesa 7i96 Spindle PWM
Hi PCW,
Thank you for the quick response.
halcmd show all spin*
Measuring the pwm pin output shows 1.1v at 50% speed and 2.2v at 100%, 0 volt when the spindle is off.
Thank you,
Dan
Thank you for the quick response.
halcmd show all spin*
Code:
Loaded HAL Components:
ID Type Name PID State
Component Pins:
Owner Type Dir Value Name
29 bit IN FALSE spindle.0.amp-fault-in
29 bit IN TRUE spindle.0.at-speed <== spindle-at-speed
29 bit OUT FALSE spindle.0.brake ==> spindle-brake
29 bit OUT TRUE spindle.0.forward ==> spindle-cw
29 bit I/O FALSE spindle.0.index-enable <=> spindle-index-enable
29 bit IN FALSE spindle.0.inhibit
29 bit IN FALSE spindle.0.is-oriented
29 bit OUT FALSE spindle.0.locked
29 bit OUT TRUE spindle.0.on ==> spindle-enable
29 bit OUT FALSE spindle.0.orient
29 float OUT 0 spindle.0.orient-angle
29 s32 IN 0 spindle.0.orient-fault
29 s32 OUT 0 spindle.0.orient-mode
29 bit OUT FALSE spindle.0.reverse ==> spindle-ccw
29 float IN -0 spindle.0.revs <== spindle-revs
29 float OUT 29.16667 spindle.0.speed-cmd-rps
29 float IN 0 spindle.0.speed-in <== spindle-vel-fb-rps
29 float OUT 1750 spindle.0.speed-out ==> spindle-vel-cmd-rpm
29 float OUT 1750 spindle.0.speed-out-abs ==> spindle-vel-cmd-rpm-abs
29 float OUT 29.16667 spindle.0.speed-out-rps ==> spindle-vel-cmd-rps
29 float OUT 29.16667 spindle.0.speed-out-rps-abs ==> spindle-vel-cmd-rps-abs
Pin Aliases:
Alias Original Name
Signals:
Type Value Name (linked to)
bit TRUE spindle-at-speed
==> gmoccapy.spindle_at_speed_led
==> spindle.0.at-speed
bit FALSE spindle-brake
<== spindle.0.brake
bit FALSE spindle-ccw
<== spindle.0.reverse
bit TRUE spindle-cw
<== spindle.0.forward
bit TRUE spindle-enable
==> hm2_7i96.0.pwmgen.00.enable
==> hm2_7i96.0.ssr.00.out-05
==> pid.s.enable
<== spindle.0.on
bit FALSE spindle-index-enable
<=> hm2_7i96.0.encoder.00.index-enable
==> pid.s.index-enable
<=> spindle.0.index-enable
bit FALSE spindle-manual-ccw
==> halui.spindle.0.reverse
bit FALSE spindle-manual-cw
==> halui.spindle.0.forward
bit FALSE spindle-manual-stop
==> halui.spindle.0.stop
float 1750 spindle-output
==> hm2_7i96.0.pwmgen.00.value
<== pid.s.output
float -0 spindle-revs
<== hm2_7i96.0.encoder.00.position
==> spindle.0.revs
float 1750 spindle-vel-cmd-rpm
<== spindle.0.speed-out
float 1750 spindle-vel-cmd-rpm-abs
==> pid.s.command
<== spindle.0.speed-out-abs
float 29.16667 spindle-vel-cmd-rps
<== spindle.0.speed-out-rps
float 29.16667 spindle-vel-cmd-rps-abs
<== spindle.0.speed-out-rps-abs
float 0 spindle-vel-fb-rpm
<== hm2_7i96.0.encoder.00.velocity-rpm
float 0 spindle-vel-fb-rpm-abs
==> pid.s.feedback
float 0 spindle-vel-fb-rps
<== hm2_7i96.0.encoder.00.velocity
==> spindle.0.speed-in
Parameters:
Owner Type Dir Value Name
Parameter Aliases:
Alias Original Name
Exported Functions:
Owner CodeAddr Arg FP Users Name
Realtime Threads:
Period FP Name ( Time, Max-Time )
Measuring the pwm pin output shows 1.1v at 50% speed and 2.2v at 100%, 0 volt when the spindle is off.
Thank you,
Dan
Please Log in to join the conversation.
1 year 3 months ago #331252
by PCW
Replied by PCW on topic Mesa 7i96 Spindle PWM
If you set the PWM to 0 and invert the PWM output
do you get ~5V?
to invert:
halcmd setp hm2_7i96.0.pwmgen.00.out0.invert_output true
do you get ~5V?
to invert:
halcmd setp hm2_7i96.0.pwmgen.00.out0.invert_output true
Please Log in to join the conversation.
- dubstar_04
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 0
1 year 3 months ago #331253
by dubstar_04
Replied by dubstar_04 on topic Mesa 7i96 Spindle PWM
With the output inverted the pwm output is 2.2v without the spindle running.
Please Log in to join the conversation.
1 year 3 months ago #331254
by PCW
Replied by PCW on topic Mesa 7i96 Spindle PWM
Sounds like the output has been damaged...
You might check the step- output (TB2 pin 2)
(as a sanity check, STEP- should be at ~5V when STEP+ is 0)
You might check the step- output (TB2 pin 2)
(as a sanity check, STEP- should be at ~5V when STEP+ is 0)
Please Log in to join the conversation.
- dubstar_04
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 0
1 year 3 months ago #331258
by dubstar_04
Replied by dubstar_04 on topic Mesa 7i96 Spindle PWM
There is no output at all on TB2-2.
Is it possible to move the PWM to one of the other stepgens? eg. TB1-20/21?
Thanks,
Dan
Is it possible to move the PWM to one of the other stepgens? eg. TB1-20/21?
Thanks,
Dan
Please Log in to join the conversation.
1 year 3 months ago #331262
by PCW
7I96 bitfile with 2 PWMGens
Looks like the 74ACT04 (U17) was damaged
Replied by PCW on topic Mesa 7i96 Spindle PWM
Attachment not found
7I96 bitfile with 2 PWMGens
Looks like the 74ACT04 (U17) was damaged
Please Log in to join the conversation.
- dubstar_04
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 0
1 year 3 months ago #331264
by dubstar_04
Replied by dubstar_04 on topic Mesa 7i96 Spindle PWM
Amazing! Thank you!
I don't know the history of the board. Bought it cheap on eBay many years ago. It would be great if I can manage to use it, if not a 7I96S would probably suit my needs better.
Thanks again,
Dan
I don't know the history of the board. Bought it cheap on eBay many years ago. It would be great if I can manage to use it, if not a 7I96S would probably suit my needs better.
Thanks again,
Dan
Please Log in to join the conversation.
- dubstar_04
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 11
- Thank you received: 0
1 year 3 months ago #331303
by dubstar_04
Replied by dubstar_04 on topic Mesa 7i96 Spindle PWM
Hi Peter,
Is the file you uploaded correct? It is listed as 7I96S and I can't seem to find a .bit file.
Thanks,
Dan
Is the file you uploaded correct? It is listed as 7I96S and I can't seem to find a .bit file.
Thanks,
Dan
Please Log in to join the conversation.
Time to create page: 0.069 seconds
