- Posts: 1850
- Thank you received: 0
Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
8 years 2 months ago #116476
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Hmmm, I sent a reply to this but something must gone wrong.
Anyways I am not 100% sure it is a Dahlander wound motor but I can`t find any details on this motor. So I am assuming it is.
Anyways I am not 100% sure it is a Dahlander wound motor but I can`t find any details on this motor. So I am assuming it is.
Attachment not found
Attachment not found
Please Log in to join the conversation.
8 years 2 months ago #116477
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
This is what I think will be the solution to get most out of speed range without too many gears/switches to handle.
Motor in Hi only for A and B in Hi/Lo gear ~1001 to 2500rpm
Motor in Lo for B to E in Hi/Lo gear ~80 to 1000rpm
Attachment not found
Motor in Hi only for A and B in Hi/Lo gear ~1001 to 2500rpm
Motor in Lo for B to E in Hi/Lo gear ~80 to 1000rpm
Please Log in to join the conversation.
8 years 2 months ago #116485
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Andy
Is this close to a working comp with the new arrangement of gears and motorspeed + part of hal??
Is this close to a working comp with the new arrangement of gears and motorspeed + part of hal??
Code:
component gearblocker;
pin in bit spindle-enable-in;
pin out bit spindle-enable-out;
pin in float spindle-speed-in;
pin out float motor-speed-out;
pin in float gear.#.min-speed[12];
pin in float gear.#.max-speed[12];
pin in float gear.#.ratio[12]; >>>>>>>>>>> is this needed as motor goes H/L and small adjusts via VFD within min/max of gear?
pin in bit high-gear;
pin in bit gear-AH;
pin in bit gear-BH;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
license "gpl";
function _;
;;
FUNCTION(_){
int i;
int gear;
if (spindle_speed_in == 0) return;
switch (gear_AH + gear_BH * 2 + gear_B * 4 + gear_C * 8 + gear_D * 16 + gear_E *32) {
case 1: // Gear AH
gear = (high_gear != 0) ? 1 : 7;
break;
case 2: // Gear BH
gear = (high_gear != 0) ? 2 : 8;
break;
case 4: // Gear B
gear = (high_gear != 0) ? 3 : 9;
break;
case 1: // Gear C
gear = (high_gear != 0) ? 4 : 10;
break;
case 1: // Gear D
gear = (high_gear != 0) ? 5 : 11;
break;
case 1: // Gear E
gear = (high_gear != 0) ? 6 : 12;
break;
case else: // gear selection is bitmasked to be able to spot double-engagement
gear = 0;
}
if (spindle_speed_in >= min_speed(gear) && spindle_speed_in <= max_speed(gear)) {
motor_speed_out = spindle_speed_ * gear_ratio(gear);
spindle_enable_out = spindle_enable_in;
} else {
motor_speed_out = 0;
spindle_enable_out = 0;
}
}
hal
net input-ah-signal => gearblocker.0.input-ah <= hm2_7i76e.0.7i76.0.0.input-09
net input-bh-signal => gearblocker.0.input-bh <= hm2_7i76e.0.7i76.0.0.input-10
net input-ah-signal => hm2_7i76e.0.7i76.0.0.output-10
net input-bh-signal => hm2_7i76e.0.7i76.0.0.output-10
net input-b-signal => gearblocker.0.input-b <= hm2_7i76e.0.7i76.0.0.input-10
net input-c-signal => gearblocker.0.input-c <= hm2_7i76e.0.7i76.0.0.input-11
net input-d-signal => gearblocker.0.input-d <= hm2_7i76e.0.7i76.0.0.input-12
net input-e-signal => gearblocker.0.input-e <= hm2_7i76e.0.7i76.0.0.input-13
Please Log in to join the conversation.
8 years 2 months ago #116532
by andypugh
Replied by andypugh on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Well, the repeated case 1: is a definite fault. Didn't I post an updated version?
Please Log in to join the conversation.
8 years 2 months ago #116533
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Oboy that´s a typo from my part as I did copy and paste.
No I have not seen any updated version.
No I have not seen any updated version.
Please Log in to join the conversation.
8 years 2 months ago #116534
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Hope this part is more OK
Code:
FUNCTION(_){
int i;
int gear;
if (spindle_speed_in == 0) return;
switch (gear_AH + gear_BH * 2 + gear_B * 4 + gear_C * 8 + gear_D * 16 + gear_E *32) {
case 1: // Gear AH
gear = (high_gear != 0) ? 1 : 7;
break;
case 2: // Gear BH
gear = (high_gear != 0) ? 2 : 8;
break;
case 3: // Gear B
gear = (high_gear != 0) ? 3 : 9;
break;
case 4: // Gear C
gear = (high_gear != 0) ? 4 : 10;
break;
case 5: // Gear D
gear = (high_gear != 0) ? 5 : 11;
break;
case 6: // Gear E
gear = (high_gear != 0) ? 6 : 12;
break;
case else: // gear selection is bitmasked to be able to spot double-engagement
gear = 0;
}
if (spindle_speed_in >= min_speed(gear) && spindle_speed_in <= max_speed(gear)) {
motor_speed_out = spindle_speed_ * gear_ratio(gear);
spindle_enable_out = spindle_enable_in;
} else {
motor_speed_out = 0;
spindle_enable_out = 0;
}
}
Please Log in to join the conversation.
8 years 2 months ago #116535
by andypugh
Replied by andypugh on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
The version here:
forum.linuxcnc.org/39-pncconf/33069-help...ing?start=460#116030
Should work better.
But doesn't actually disallow high speed in low gears.
But the other component does a better job of suggesting which gear should be used.
forum.linuxcnc.org/39-pncconf/33069-help...ing?start=460#116030
Should work better.
But doesn't actually disallow high speed in low gears.
But the other component does a better job of suggesting which gear should be used.
Please Log in to join the conversation.
8 years 2 months ago #116537
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Same same but different mine is.
I have yours as a base but now motor speeds HI and LO needs to be implemented.
Have a closer look at
forum.linuxcnc.org/39-pncconf/33069-help...ing?start=560#116477
I have yours as a base but now motor speeds HI and LO needs to be implemented.
Have a closer look at
forum.linuxcnc.org/39-pncconf/33069-help...ing?start=560#116477
Please Log in to join the conversation.
8 years 2 months ago #116645
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
This compiles, but I would like to know what following lines actually does (as I think it is wrong).
pin in float gear.#.ratio[12];
motor_speed_out = spindle_speed_in * gear_ratio(gear);
As the spindle should go max at HI/LO motorspeed on each gear max and only adjust to min speed of that gear via VFD.
pin in float gear.#.ratio[12];
motor_speed_out = spindle_speed_in * gear_ratio(gear);
As the spindle should go max at HI/LO motorspeed on each gear max and only adjust to min speed of that gear via VFD.
Code:
component GB_2speed;
pin in bit spindle-enable-in;
pin out bit spindle-enable-out;
pin in float spindle-speed-in;
pin out float motor-speed-out;
pin in float gear.#.min-speed[12];
pin in float gear.#.max-speed[12];
pin in float gear.#.ratio[12];
pin in bit high-gear;
pin in bit gear-AH;
pin in bit gear-BH;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
license "gpl";
function _;
;;
FUNCTION(_){
int gear;
if (spindle_speed_in == 0) return;
switch (gear_AH + gear_BH * 2 + gear_B * 4 + gear_C * 8 + gear_D * 16 + gear_E *32) {
case 1: // Gear AH
gear = (high_gear != 0) ? 1 : 7;
break;
case 2: // Gear BH
gear = (high_gear != 0) ? 2 : 8;
break;
case 3: // Gear B
gear = (high_gear != 0) ? 3 : 9;
break;
case 4: // Gear C
gear = (high_gear != 0) ? 4 : 10;
break;
case 5: // Gear D
gear = (high_gear != 0) ? 5 : 11;
break;
case 6: // Gear E
gear = (high_gear != 0) ? 6 : 12;
break;
default: // gear selection is bitmasked to be able to spot double-engagement
gear = 0;
}
if (gear >= 0 && spindle_speed_in >= gear_min_speed(gear) && spindle_speed_in <= gear_max_speed(gear)) {
motor_speed_out = spindle_speed_in * gear_ratio(gear);
spindle_enable_out = spindle_enable_in;
} else {
motor_speed_out = 0;
spindle_enable_out = 0;
}
}
Please Log in to join the conversation.
8 years 2 months ago #116704
by andypugh
Replied by andypugh on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
The cases need to be 1, 2, 4, 8, 16 etc.
(Like the updated version that I posted, and gave you a link to).
Are you saying that you want to always run the VFD at 50 Hz?
The code that you have highlighted is intended to calculate the motor speed for the current spindle speed. as input it has a HAL pin where you need to set the ratio for each gear.
(Like the updated version that I posted, and gave you a link to).
Are you saying that you want to always run the VFD at 50 Hz?
The code that you have highlighted is intended to calculate the motor speed for the current spindle speed. as input it has a HAL pin where you need to set the ratio for each gear.
Please Log in to join the conversation.
Time to create page: 0.103 seconds
