Current turning capabilities status

More
19 Feb 2013 20:21 #30317 by emcPT
My hardware is arriving. I got the VFD today and I installed it.
The motor runs only for a brief period (also with noise) of time and the inverter gets in error mode. For sure a tuning issue that I will try to work out. All this controlled manually = no linuxcnc yet.
I also got a touchscreen that in Windows works great, lets see if I can use it in Linux.
I will keep updating my progress.

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

More
19 Feb 2013 23:30 #30323 by BigJohnT
You might want to start a new topic about your touch screen adventures...

John

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

More
20 Feb 2013 03:26 #30331 by emcPT
Today was a very bad day as I ended up in a non usable motor. This motor could not be used with the VFD.
I tested a lot of settings (vector control, real sensor less control) and no stable control was possible. In the best configuration possible instantly 34A were used by the motor, exceeding the VFD rated current, so the VFD tripped very fast.
I also used the auto tuning capability of the inverter (and the drive was able to finish the auto tuning), but the end configuration was useless.
Motor is probably constructed in a special proprietary way.
My only path is now to use a standard induction motor as I first planned. It will be more safe/straight forward to use. Also I can skip the large transformer as everything will be 400V.

Anyone wants a good new (well, as new as I tested it) Mitsubishi A720 inverter? This series is the best in the Mitsubishi class.

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

More
20 Feb 2013 15:30 #30351 by emcPT
After a very long night I am able to run the motor ;)
Not fully tunned, but I can go to high speeds at will with a nice motor noise. As I am writing this the motor is at 90Hz, 9A and the speed looks to me quite high.
At lower speeds, the amps rise a lot, but still under the capacity of the inverter (that still is not aproprieted for this motor).

It needs tuning for lower speeds as the noise is high.
I will continue to try so that after I can connect to the mesa boards, were I probably need help from the forum.
The following user(s) said Thank You: spesmek

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

More
20 Feb 2013 21:22 - 20 Feb 2013 21:31 #30366 by emcPT
I have tuned the motor as best I could. I can run it from 1Hz up to 100Hz (maybe more but I did not tested).

Now comes the hard part for me as all linuxcnc is new to me. I don't want to damage the mesa hardware so it is better for me to test.

I want to control the spindle using the 7i33 and 7i37 that I have. I read a lot, but I am afraid of doing some mess here, so I need to confirm a few things.
The part in the hal file that have the spindle connected:

*********************************************************************************************************


#*******************
# SPINDLE S
#*******************

# ---PWM Generator signals/setup---

setp hm2_5i20.0.pwmgen.02.output-type 1
setp hm2_5i20.0.pwmgen.02.scale [SPINDLE_9]OUTPUT_SCALE


net spindle-vel-cmd => hm2_5i20.0.pwmgen.02.value
net machine-is-enabled => hm2_5i20.0.pwmgen.02.enable

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

setp hm2_5i20.0.encoder.02.counter-mode 0
setp hm2_5i20.0.encoder.02.filter 1
setp hm2_5i20.0.encoder.02.index-invert 0
setp hm2_5i20.0.encoder.02.index-mask 0
setp hm2_5i20.0.encoder.02.index-mask-invert 0
setp hm2_5i20.0.encoder.02.scale [SPINDLE_9]ENCODER_SCALE

net spindle-revs <= hm2_5i20.0.encoder.02.position
net spindle-vel-fb <= hm2_5i20.0.encoder.02.velocity
net spindle-index-enable <=> hm2_5i20.0.encoder.02.index-enable

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-on <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true



*********************************************************************************************************


So the spindle generator is located in 2 and the spindle encoder should also be connected to nº2 of the 7i33. I think I got this right.

Now the output signals to start the spindle. From the file it seams that motion.spindle-on will start net spindle-on (or the reverse?!), so were this is related with the hardware part? In my case I need that spindle on is ON when spindle reverse or spindle forward gets on. Lets say that I want to the forward signal be the output nº1 in my 7i37 and spindle reverse output nº2.
I am very sorry if this was asked or covered before.

I also added images from the machine, with the inverter installed and also the full hal file.

Thank you
Attachments:
Last edit: 20 Feb 2013 21:31 by emcPT.

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

More
21 Feb 2013 15:32 #30398 by cmorley
spindle-on is true when the spindle is to rotate (either forward or backward)
spindle-forward is true when the spindle is to turn forward
spindle-reverse is true when the spindle is to turn in reverese

so when the spindle is turning forward, spindle on and spindle fwd are true.
You can use either or both if you need to.

I see that you have not actually selected output pins for these signals.
You need to select the output pins on the mesa page in PNCconf.

depending on which connector you have the 7i37 plugged into, you will select either tab 3 or 4 in pncconf.
if tab 3 looks like output pins number 40 and 41 (in pncconf) correspond to 33/34 (OBIT 0) and 35/36 (OBIT 1) on the 7i37.
select spindle > spindle on and spindle > spindle forward

Then I would confirm these pins in an open loop test if you can.

Chris M
The following user(s) said Thank You: emcPT

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

More
21 Feb 2013 16:18 #30400 by emcPT
Thank you,

Can't I/should not I configure manually the output pins rather than use the Pncconfig?

There will be a situation that PNCconfig will not be able to help me, and when I reach there I should be able to deal myself with the configuration, or in your opinion this is too complicated for now and not advisable?

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

More
21 Feb 2013 20:32 #30409 by BigJohnT
It is normal once you get a working configuration with a wizard to have to hand edit the files to get custom things done. Usually you just add to the custom.hal file if you have one.

John

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

More
22 Feb 2013 11:36 #30438 by cmorley
In the beginning it's common to make little changes often.
Invert this input, move that output, adjust this encoder scale...

This is where PNCconf is really good. You don't need to know every file to look at or the complete syntax of HAL, INI and gladeVCP .
I often leave PNCconf running after saving (just because it takes a long time to load), and run linuxcnc to test then change something in PNCconf, save....

If you use the open loop test you can check for obvious problems like servo run-away do to the encoder and analog not not agreeing on direction.
You can add gladevcp options and get an idea how that's done.

When you get to toolchangers, gear changes, odd optional equipment, you need to learn more about linuxcnc and edit by hand.

So keep things easy until you get the basic machine running then go ahead and add things bit by bit to add capability.
Somewhere along the way PNCconf will be holding you back and you will know enough to start making changes without it.
With care, Pncconf can be used with complicated custom HAL files, it just takes a little planning.

If it were me I would use PNCconf to connect as many as the output and inputs as I could.
You can even make custom signal names to connect to a custom HAl file.

Chris M

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

More
26 Feb 2013 03:55 #30579 by emcPT
Things are getting to make sense and I can have the spindle working, set the speed and get the speed back from the encoder that I installed on the spindle.
At this point I correctly have spindle feedback, but I am running a open loop, as the spindle feedback is not being used for control the analog signal, but only for observe the speed at a determined instant.

Now I would like to control the output of my pwmgen.03 output based on the current spindle speed.
My .hal that have the spindle current control is below.
The example that I saw was: wiki.linuxcnc.org/cgi-bin/wiki.pl?Closed...pindle_Speed_Control but it is for the parallel port, and I will probably not get it right for my current set up.
Can some one give me a help here? Maybe an example using a 5i20 + 3i33 would be enough for me to start.
Thank you


#*******************
# SPINDLE S
#*******************

# ---PWM Generator signals/setup---

setp hm2_5i20.0.pwmgen.03.output-type 1
setp hm2_5i20.0.pwmgen.03.scale [SPINDLE_9]OUTPUT_SCALE


# ---I added this to make the output 0-10V
loadrt abs count=2
addf abs.0 servo-thread # analog output
addf abs.1 servo-thread # spindle speed display

net spindle-vel-cmd => abs.0.in
net absolute-spindle-vel-cmd <= abs.0.out
net absolute-spindle-vel-cmd => hm2_5i20.0.pwmgen.03.value



net machine-is-enabled => hm2_5i20.0.pwmgen.03.enable

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

setp hm2_5i20.0.encoder.03.counter-mode 0
setp hm2_5i20.0.encoder.03.filter 1
setp hm2_5i20.0.encoder.03.index-invert 0
setp hm2_5i20.0.encoder.03.index-mask 0
setp hm2_5i20.0.encoder.03.index-mask-invert 0
setp hm2_5i20.0.encoder.03.scale [SPINDLE_9]ENCODER_SCALE

net spindle-revs <= hm2_5i20.0.encoder.03.position
net spindle-vel-fb <= hm2_5i20.0.encoder.03.velocity
net spindle-index-enable <=> hm2_5i20.0.encoder.03.index-enable

# ---setup spindle control signals---

net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-on <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable


net spindle-vel-fb => abs.1.in
loadrt scale count=1
addf scale.0 servo-thread
setp scale.0.gain 60 # spindle fb*60 (rpm)
net absolute-spindle-vel-measured-per_second <= abs.1.out
net absolute-spindle-vel-measured-per_second => scale.0.in
net absolute-spindle-vel-measured <= scale.0.out


# ---Setup spindle at speed signals---
loadrt near
addf near.0 servo-thread

net spindle-vel-cmd-rps => near.0.in1 # commanded
net spindle-vel-fb => near.0.in2 # real
net spindle-at-speed motion.spindle-at-speed <= near.0.out
setp near.0.scale 1.2

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

Moderators: piasdom
Time to create page: 0.192 seconds
Powered by Kunena Forum