- Configuring LinuxCNC
- Configuration Tools
- PnCConf Wizard
- Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
10 Sep 2018 16:08 #117296
by tecno
This must be the problem == No output for motor-high
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 bit gear-high;
pin in bit motor-high; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< !!!
pin in bit gear-A;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
pin out unsigned gear-required;
pin out bit message-##[14];
license "gpl";
How can this be solved? Not interested to have a manual switch for this if possible to have it in comp/hal.
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Edited comp file
int speeds[15] = {0, 125, 160,
Deleted 80 so now first gear goes from 0 to 125 (I can live with that )
All gears work up to 1000rpm (not running at correct speeds that I have to tune) with gear settings.
But all gears over 1000rpm involve motor to be set at high speed does not work.
This must be the problem == No output for motor-high
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 bit gear-high;
pin in bit motor-high; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< !!!
pin in bit gear-A;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
pin out unsigned gear-required;
pin out bit message-##[14];
license "gpl";
How can this be solved? Not interested to have a manual switch for this if possible to have it in comp/hal.
Please Log in or Create an account to join the conversation.
10 Sep 2018 18:27 #117305
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
How do I tie motor-high to get output ?
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 out bit motor-high;
pin in bit gear-high;
pin in bit motor-high;
pin in bit gear-A;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
pin out unsigned gear-required;
pin out bit message-##[14];
license "gpl";
function _;
;;
FUNCTION(_){
int actual, message, motor_max_speed;
int i;
// These need to be edited to suit the gearbox
int speeds[15] = {0, 125, 160, 215, 270, 360, 450, 595, 750, 1000, 1191, 1500, 2500, 0x1P30};
int reqd_gear[15] = {0x0, 0x01, 0x21, 0x02, 0x22, 0x04, 0x24, 0x08, 0x28, 0x10, 0x48, 0x68, 0x50, 0x70, 0x0};
if (spindle_speed_in == 0) return;
actual = (motor_high * 0x40 + gear_high * 0x20 + gear_A * 0x10 + gear_B * 0x08 + gear_C * 0x04 + gear_D * 0x02 + gear_E * 0x01);
for (i = 0; spindle_speed_in > speeds && i < 14; i++);
gear_required = reqd_gear;
if (gear_required == actual && gear_required != 0x0){ // We are in the right gear
spindle_enable_out = spindle_enable_in;
if (motor_high)
motor_max_speed = 2500;
else
motor_max_speed = 1850;
motor_speed_out = motor_max_speed * (spindle_speed_in / speeds[i+1]);
message = 0;
} else {
int j;
motor_speed_out = 0;
spindle_enable_out = 0;
for (j = 0; j < 13; j++) { message(j) = 0; }
message(i) = 1;
}
}
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 out bit motor-high;
pin in bit gear-high;
pin in bit motor-high;
pin in bit gear-A;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
pin out unsigned gear-required;
pin out bit message-##[14];
license "gpl";
function _;
;;
FUNCTION(_){
int actual, message, motor_max_speed;
int i;
// These need to be edited to suit the gearbox
int speeds[15] = {0, 125, 160, 215, 270, 360, 450, 595, 750, 1000, 1191, 1500, 2500, 0x1P30};
int reqd_gear[15] = {0x0, 0x01, 0x21, 0x02, 0x22, 0x04, 0x24, 0x08, 0x28, 0x10, 0x48, 0x68, 0x50, 0x70, 0x0};
if (spindle_speed_in == 0) return;
actual = (motor_high * 0x40 + gear_high * 0x20 + gear_A * 0x10 + gear_B * 0x08 + gear_C * 0x04 + gear_D * 0x02 + gear_E * 0x01);
for (i = 0; spindle_speed_in > speeds && i < 14; i++);
gear_required = reqd_gear;
if (gear_required == actual && gear_required != 0x0){ // We are in the right gear
spindle_enable_out = spindle_enable_in;
if (motor_high)
motor_max_speed = 2500;
else
motor_max_speed = 1850;
motor_speed_out = motor_max_speed * (spindle_speed_in / speeds[i+1]);
message = 0;
} else {
int j;
motor_speed_out = 0;
spindle_enable_out = 0;
for (j = 0; j < 13; j++) { message(j) = 0; }
message(i) = 1;
}
}
Please Log in or Create an account to join the conversation.
11 Sep 2018 14:44 #117339
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Have modified comp to this
And this in hal
Will try to test maybe later today or tomorrow, any comments ?
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 out bit motorhighspeed;
pin in bit gear-high;
pin in bit motor-high;
pin in bit gear-A;
pin in bit gear-B;
pin in bit gear-C;
pin in bit gear-D;
pin in bit gear-E;
pin out unsigned gear-required;
pin out bit message-##[14];
license "gpl";
function _;
;;
FUNCTION(_){
int actual, message, motor_max_speed;
int i;
// These need to be edited to suit the gearbox
int speeds[13] = {0, 125, 160, 215, 270, 360, 450, 595, 750, 1000, 1191, 1500, 2500};
int reqd_gear[13] = {0x0, 0x01, 0x21, 0x02, 0x22, 0x04, 0x24, 0x08, 0x28, 0x10, 0x48, 0x68, 0x50, 0x70};
if (spindle_speed_in == 0) return;
actual = (motor_high * 0x40 + gear_high * 0x20 + gear_A * 0x10 + gear_B * 0x08 + gear_C * 0x04 + gear_D * 0x02 + gear_E * 0x01);
for (i = 0; spindle_speed_in > speeds[i] && i < 12; i++);
gear_required = reqd_gear[i];
motorhighspeed = reqd_gear[i] & 0x40 ? 1 : 0;
if (gear_required == actual && gear_required != 0x0){ // We are in the right gear
spindle_enable_out = spindle_enable_in;
if (motor_high)
motor_max_speed = 2500;
else
motor_max_speed = 1850;
motor_speed_out = motor_max_speed * (spindle_speed_in / speeds[i+1]);
message = 0;
} else {
int j;
motor_speed_out = 0;
spindle_enable_out = 0;
for (j = 0; j < 13; j++) { message(j) = 0; }
message(i) = 1;
}
}
And this in hal
# Motor High
net motor-high-signal <= GB-2speed.0.motorhighspeed
net motor-high-signal => hm2_7i76e.0.7i76.0.0.output-10
net motor-high-signal => GB-2speed.0.motor-high
Will try to test maybe later today or tomorrow, any comments ?
Please Log in or Create an account to join the conversation.
11 Sep 2018 14:52 #117340
by andypugh
Replied by andypugh on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
I have explained twice now that I don't think that an _output_ for motor high is a good idea. Instead the comp is written to use an _input_ that shows that motor-high is engaged.
Please Log in or Create an account to join the conversation.
11 Sep 2018 14:57 #117341
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
So what you say is that it should be manually actuated?
If so then it is better to redo all and always have highspeed ON as I have used before. Just a bit worried if I get full torq at low speeds that really concerns me as I have seen the *dark side* of that destroying parts and tools when X and/or Y pushes on with spindle at halt.
If so then it is better to redo all and always have highspeed ON as I have used before. Just a bit worried if I get full torq at low speeds that really concerns me as I have seen the *dark side* of that destroying parts and tools when X and/or Y pushes on with spindle at halt.
Please Log in or Create an account to join the conversation.
11 Sep 2018 16:52 - 12 Sep 2018 09:03 #117353
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
OK, here is a new table and comp file. Can you have look and see if there is any boo boos. Now 10 gears
Last edit: 12 Sep 2018 09:03 by tecno. Reason: added data
Please Log in or Create an account to join the conversation.
12 Sep 2018 09:05 #117383
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Some typos edited but I get nothing out to VFD
Please Log in or Create an account to join the conversation.
14 Sep 2018 12:24 - 14 Sep 2018 12:25 #117518
by andypugh
Replied by andypugh on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
In the screenshot, it is waiting for you to satisfy the conditions specified in message 2 (Gear 33, ie 0x21)
Last edit: 14 Sep 2018 12:25 by andypugh.
Please Log in or Create an account to join the conversation.
14 Sep 2018 12:51 #117524
by tecno
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
It is fulfilled Gear E =1 + High Gear =32 ===total 33, this is how I read it.
Im sure there must be a typo hidden somewhere but I just seem to find it.
Im sure there must be a typo hidden somewhere but I just seem to find it.
Please Log in or Create an account to join the conversation.
14 Sep 2018 13:12 #117526
by tecno
With above I can only run Gear E 0-100rpm, other gear settings/S commands nothing out to VFD.
S100 = runs at 135rpm
S50 66.5rpm
S10 12rpm
E + High gear 101 - 200rpm
S200 123rpm
S150 92rpm
S101 61rpm
There must be some errors in the comp code, but I cannot figure out what.
Replied by tecno on topic Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
With above I can only run Gear E 0-100rpm, other gear settings/S commands nothing out to VFD.
S100 = runs at 135rpm
S50 66.5rpm
S10 12rpm
E + High gear 101 - 200rpm
S200 123rpm
S150 92rpm
S101 61rpm
There must be some errors in the comp code, but I cannot figure out what.
Please Log in or Create an account to join the conversation.
Moderators: cmorley
- Configuring LinuxCNC
- Configuration Tools
- PnCConf Wizard
- Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.
Time to create page: 0.160 seconds