- Posts: 2
- Thank you received: 0
5i25+7i76 Spindle and Encoder Setup
- Bad_German
- Topic Author
- Offline
- New Member
-
1. The spindle analogue output (0-10V) works with Sxxx M3 command but not with a M4, CCW.
The enable and direction optocoupler outputs work, I just don't get any analogue output on SPINDLE OUT pin with an M4 command.
2. I have no feedback from the encoder, it is a 360ppr + index, non-quadrature encoder which I don't know how to setup.
PNCConf has already set "setp hm2_5i25.0.encoder.00.counter-mode 1", and I can't figure out what to change, to show the speed in the PYVCP.
In halscope "spindle-vel-fb" is also always zero.
Can you please point me in the right direction, to fix these 2 problems?
My Setup:
meas 5i25+7i76
Linuxcnc 2.5.3
Spindle Control: 0-10V, direction, enable
Encoder: 5V 360ppr (channel A) + index.
Hall:
Ini:
Please Log in to join the conversation.
min output limit of the spindle to 0
max limit to 2000
ans scale to 2000
That means you can have a range of 0 to 2000.
Notice how there is no negative range - negative is reverse rotation.
set min limit to -2000
oh wait you can't have negative voltage...so don't change it
I think you need to add an abs component to make sure the voltage is always positive.
you would need to change:
loadrt abs names=abs.spindle
to:
loadrt abs names=abs.spindle,abs,spindle_output
add line
addf abs.spindle_output servo-thread
after line
addf abs.spindle servo-thread
it needs to go between:
net spindle-vel-cmd => hm2_5i25.0.7i76.0.0.spinout
so change it to:
net spindle-vel-cmd => abs.spindle_output.in
net spindle-vel-cmd-abs abs.spindle_output => hm2_5i25.0.7i76.0.0.spinout
I've not tested this but that should do it.
looking at the encoder part ....
Chris M
Please Log in to join the conversation.
Please check wiring, if the encoder is producing signals and that you are connected to encoder 0
Chris M
Please Log in to join the conversation.
to the 'A' input on the 7I76 and jumper the 7I76 encoder input for TTL type signals
Its probably arguable that motion should have both a signed spindle
velocity pin (as it does now) and a unsigned spindle speed pin
(since it already has the direction signals) To avoid the common
requirement of the absolute component here.
Please Log in to join the conversation.
- Bad_German
- Topic Author
- Offline
- New Member
-
- Posts: 2
- Thank you received: 0
both parts are working now.
fixed two typos, just for future reference...
Please Log in to join the conversation.
PCW wrote: Also for the encoder to work in count mode you must connect the encoder output
to the 'A' input on the 7I76 and jumper the 7I76 encoder input for TTL type signals
Its probably arguable that motion should have both a signed spindle
velocity pin (as it does now) and a unsigned spindle speed pin
(since it already has the direction signals) To avoid the common
requirement of the absolute component here.
Yes I agree - working on a patch now.
It would be nice if hostmot has encoder/resolver velocity as an absolute as well.
its common to filter and absolute it for spindle readout display...
Chris M
Please Log in to join the conversation.
Linuxcnc 2.5.0, live cd installed on hd running on older dell. I have the same Meas cards, the 5i25 with the 7i76 daughter card, as above. I have been trying for several days to get Pncconf to configure my spindle via variable voltage output from 7i76 TB4. I want to use the analog 10v variable voltage output on 7i76 TB4 to vary the voltage to my spindle VFD in the usual manner. I don't think I have a problem with the physical connections. My issue is errors in Pncconf.
I do NOT have an encoder for the spindle, it is a chinese 1500 watt water cooled spindle controlled by VFD, simple er11 collett.
For testing I have a digital voltmeter hooked up to the output pin TB4 Pin 2 on the actual 7i76 card, with 13 volts to pin 3 and common to pin 1. So I should see the meter change in relation to commands, but no results with this so far.
My main question has become, can I do this spindle control config in Pncconf (I get errors on "Apply") or do I have to type in the settings manually? Should I simply copy the spindle and abs related lines from the above example?
It would be nice to see Pncconf work the way it should for my no-encoder spindle setup, without resorting to the hal file editing. If I need to manually edit, no problem, but hey, this is a very nice piece of software with a minor issue that can be fixed. I will put in the time and test any fixes you need for this hardware setup.
So far, my attempts in Pncconf pops errors when I get to the final step and hit "Apply". Maybe I am doing it all wrong. To activate the spindle output, I was using the "5i25 firmware: 7i76x1", Tab "Smart Serial 0", sub-tab "7i76 Mode 9 I/O Card", and set the first drop-down item function to "Spindle Output". I click "Foward" to the end and click "Apply" and the error below pops. I do see a Spindle screen and maybe my settings there are screwy, but I have gotten the error for various settings there.
The error says
" PNCconf encountered an error. The following information may be useful in troubleshooting:
Traceback (most recent call last):
File "/usr/bin/pncconf", line 8104, in on_complete_finish
self.data.save()
File "/usr/bin/pncconf", line 3337, in save
self.write_inifile(base)
File "/usr/bin/pncconf", line 1557, in write_inifile
self.write_one_axis(file,9,"s","null",all_homes)
File "/usr/bin/pncconf" line 1618, in write_one_axis
If "analog" in pwmpinname or potoutput:
TypeError: argument type 'NoneType' is not iterable
That's it.
Thanks in advance, Chris. That Pncconf is one complex app. Let me know what can be done, and if you need me to test a fix, no problem. I am not a linux guru, but I can follow directions. If I fix this manually, is the code above appropriate for my no-encoder spindle control, or if not what do I need to change or add? Generally, I want 10 volts to make the spindle do top speed of 24,000 RPM, and zero volts to be zero rpm, with tweaking to follow of course to match reality better.
Thanks in Advance. I am impressed with Linuxcnc and Pncconf, and I am willing to help test new fixes for the 5i25 / 7i76 boards.
Please Log in to join the conversation.
I see you said you are using 2.5.0 from the live CD. Did you update to 2.5.3?
I tried setting the spindle with no encoder and I get no error. (2.5.3)
What I am saying is I think this is fixed on the newer version.
It is unfortunate that we don't upgrade the image on the CD.
Thanks for the informative bug report and if there are still problems please let me know.
Also as it sounds you are new to using Pncconf , any other suggestions are welcome.
Chris M
Please Log in to join the conversation.
I had a little challenge to get updated because my box is offline.
For benefit of others, what follows is the procedure I followed to update Linuxcnc 2.5.0 (as installed from live cd) to the latest 2.5.3 version.
I went here, the official home of the binaries I suppose:
buildbot.linuxcnc.org/dists/lucid/v2.5_branch-rt/binary-i386/
and downloaded the very last file on that list, which was
linuxcnc_2.5.3.78.g5901d68_i386.deb
there are also debs containing updated doc files.
like
linuxcnc-doc-en_2.5.3.78.g5901d68_all.deb
Good idea to grab that too.
Copy to usb dongle memory device.
paste into the home directory on the target Linuxcnc computer.
and install the update simply by right-clicking the deb file and left clicking "Open with GDebi Package Manager" and installing from there. I got confused because some of the debs were document files, and I was like why did it not update after seeing the same version number. But the real update deb worked fine. This was
linuxcnc_2.5.3.78.g5901d68_i386.deb
for me, but make sure you grab the most recent one appropriate for your system.
After running the installs for the app and the docs, reboot I suppose and check the version numbers. Just run Axis and examine the splash screen at the beginning or click help/about to see the version number.
There is my first lame docmentation attempt for Linuxcnc.
Thanks Chris for your help.
Please Log in to join the conversation.
external 10 or 12VDC must be supplied. This power source needs to be isolated when used with low cost speed controllers
A 12VDC wall adapter is a possible source.
To set the 7I76 I/O section into mode 2 you change the sserial_port_0=000xxx
token in the hal file to sserial_port_0=200xxx
Please Log in to join the conversation.
