Laser control via 7i76e - PPI / PPMM / PWM

More
09 Aug 2019 11:29 #141746 by SjCNC
Full output follows, but PWM lines are here at the top

Pin# I/O Pri. func Sec. func Chan
5 25 IOPort PWM 0 PWM (Out)
6 26 IOPort PWM 0 /Enable (Out)
7 27 IOPort PWM 0 Dir (Out)

So would this be pin 5 at the FPGA?

Would I/O 25 be expansion port 1, HDR pin 09?

I'm basing that assumption on the manual, page 7 or 13/86

HDR PIN P1 Func P2 FUNC

9 IO25 IO42



shawn@hptc:~/Documents/7i76eFW$ mesaflash --device 7i76e --addr 10.10.10.10 --readhmid
Configuration Name: HOSTMOT2

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: 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 9 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 2 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: 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 TXData0 (Out)
8 11 IOPort Sserial 0 RXData0 (In)
9 12 IOPort Sserial 0 TXData1 (Out)
10 13 IOPort Sserial 0 RXData1 (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 P1
Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir

1 17 IOPort StepGen 5 Dir/Table2 (Out)
14 18 IOPort StepGen 5 Step/Table1 (Out)
2 19 IOPort StepGen 6 Dir/Table2 (Out)
15 20 IOPort StepGen 6 Step/Table1 (Out)
3 21 IOPort StepGen 7 Dir/Table2 (Out)
16 22 IOPort StepGen 7 Step/Table1 (Out)
4 23 IOPort StepGen 8 Dir/Table2 (Out)
17 24 IOPort StepGen 8 Step/Table1 (Out)
5 25 IOPort PWM 0 PWM (Out)
6 26 IOPort PWM 0 /Enable (Out)
7 27 IOPort PWM 0 Dir (Out)
8 28 IOPort SSerial 0 TXData2 (Out)
9 29 IOPort SSerial 0 TXEn2 (Out)
10 30 IOPort SSerial 0 RXData2 (In)
11 31 IOPort QCount 1 Quad-IDX (In)
12 32 IOPort QCount 1 Quad-B (In)
13 33 IOPort QCount 1 Quad-A (In)









IO Connections for P2
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

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

More
09 Aug 2019 12:27 #141757 by tommylight
That would be pin 5 at the DB25 connector on the P1 header.
The following user(s) said Thank You: SjCNC

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

More
09 Aug 2019 14:14 #141781 by PCW
Yes mesaflash lists DB-25 pins and GPIO bits, not header pins.

I need to add the DB25 pins (in addition to the header pins) in the 7I76E manual
The following user(s) said Thank You: SjCNC

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

More
11 Aug 2019 12:34 - 11 Aug 2019 12:35 #141909 by SjCNC
I think PWM is now functional on P1 expansion port, DB25 pin 5. Running the elizabeth-hurle.ngc file, there is gradient! Some areas are darker, some are lighter, and it resembles a face.

However, there's no true off state.

M67 E0 Q0

And

setp hm2_7i76e.0.gpio.025.out FALSE

both result in the laser still being on.

Is there an easy fix using the standard DB25 Bob? Maybe a scaling issue, or adding a resistor?
Last edit: 11 Aug 2019 12:35 by SjCNC. Reason: Auto correct swapped setp for step

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

More
11 Aug 2019 14:41 #141912 by PCW
Setting the PWM value to 0 will make the output pin 0
I would verify levels after your BOB with a voltmeter
The following user(s) said Thank You: SjCNC

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

More
11 Aug 2019 16:03 #141919 by SjCNC
Correction... the elizabeth-hurle.ngc file I was using ended with M67 E0 Q0.1 which caused the laser to stay active. M67 E0 Q0 does in fact turn off the laser. Simple on/off means the laser is somewhat useful now! I'm pleased to say you've all helped me make progress!

Next on the to do list, the laser is active until LCNC tells it not to be... After that is adjusting the scaling. Oddly enough, all of the Q values in the elizabeth-hurle.ngc file were above scale. The gradient was only due to varied travel speeds. I honed in on that with a hand made 'gradient' file, and found the range in power is between ~ Q0.2 and ~Q0.5.

I'm sure I've seen threads addressing both concerns. Soon, I'll either post a synopsis of issues/solutions, or another question. Hopefully the former :)

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

Moderators: snowgoer540
Time to create page: 0.097 seconds
Powered by Kunena Forum