Help needed to get my 7i76E + 7i85S + 7i73 on my mill going.

More
07 Sep 2018 17:37 - 07 Sep 2018 17:54 #117198 by tecno

As a side note, homed all my axis and suddenly X is out of order.

Power on but not stiff as I can rotate shaft by hand = no error message on driver.


I found the error = SHIT CONNECTORS!!!!!!
From motor there is a fixed cable and ends in 4-pole connector = bad hooks !! So now I have to do something that fixes this this connection SOLID!

Attachments:
Last edit: 07 Sep 2018 17:54 by tecno. Reason: added jpg

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

More
07 Sep 2018 17:40 #117199 by Hakan

I know, but there is no code to set different max speeds when the pin is high or low.
I added that code.


# Motor High
net motor-high-signal <= GB-2speed.0.motor-high
net motor-high-signal => hm2_7i76e.0.7i76.0.0.output-10

Gear setting 10-11-12-13 should activate above as I understood this.


This is not what I call code. These are hal connections.

There is no code in the comp to use anything but 2500 rpm as the max speed.
Add the four lines. Or Andy maybe has an other idea how to do it.

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

More
07 Sep 2018 17:43 - 07 Sep 2018 18:01 #117201 by tecno
Will the 4 lines handle output 10 when needed?
FUNCTION(_){
	int actual, message, double motor_max_speed;
	int i;
	// These need to be edited to suit the gearbox
	int speeds[15]    = {0,     80,  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 = (gear_high * 0x40 + motor_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 < 14; i++);
	gear_required = reqd_gear[i];
	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 = 1450;
		motor_speed_out = speeds[13] * (spindle_speed_in / speeds[i+1]);
Last edit: 07 Sep 2018 18:01 by tecno. Reason: added text

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

More
08 Sep 2018 07:40 #117212 by Hakan
Almost, the "speed[13]" on the last line needs to be replaced as well.

Check forum.linuxcnc.org/39-pncconf/33069-help...ing?start=640#117193

If you have a different max speed than 1450 you can just change to whatever is the max speed.

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

More
08 Sep 2018 09:09 #117214 by tecno
Compiles but will not install
bengt@CombiMll ~/linuxcnc/configs/GB_2speed $ sudo halcompile  --install GB_2speed.comp
Compiling realtime GB_2speed.c
GB_2speed.comp: In function ‘_’:
GB_2speed.comp:25:23: error: expected identifier or ‘(’ before ‘double’
GB_2speed.comp:38:20: error: ‘motor_max_speed’ undeclared (first use in this function)
GB_2speed.comp:38:20: note: each undeclared identifier is reported only once for each function it appears in
/usr/share/linuxcnc/Makefile.modinc:113: receptet för målet ”GB_2speed.o” misslyckades
make: *** [GB_2speed.o] Fel 1

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

More
08 Sep 2018 10:05 #117216 by tecno
FUNCTION(_){
int actual, message, motor_max_speed;

deleted word double and now it installs.

S80 now spinning at 63rpm

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

More
08 Sep 2018 10:36 - 08 Sep 2018 11:38 #117217 by tecno


I have no rpm fb only rps fb, that explaines why gmoccapy does not show rpm meter.


edit//
net spindle-vel-cmd-rpm-abs => gmoccapy.spindle_feedback_bar

Above line only gives numer correct but nothing on colored bar.
Attachments:
Last edit: 08 Sep 2018 11:38 by tecno. Reason: added text

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

More
08 Sep 2018 11:52 #117219 by tecno
I noticed one thing that must be addressed and that is to implement a delay before spindle to start.

If I command S80 and have the correct gear the spindle starts = OK
If I have wrong gear I get prompted to change gear but as soon as I get that gear close or near it starts to spin with the risk of damaging gears within the gearbox. It is in this situation a delay is a must.

How can this be done?

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

More
09 Sep 2018 15:32 #117240 by tecno
Changed value 1450 to 1875 = S80 is very close to 80rpm with a few tenths over.
if (motor_high)
motor_max_speed = 2500;
else
motor_max_speed = 1875;

But there is other problems, see picture below



Commanded S100
suggestion is wrong gear setting
No output to VFD when High-Gear is involved
Attachments:

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

More
09 Sep 2018 16:54 #117243 by tecno
Maybe this is the right medicine to get gear ranges in place?

// These need to be edited to suit the gearbox
int speeds[13] = {80, 125, 160, 215, 270, 360, 450, 595, 750, 1000, 1190, 1500, 2500};
int reqd_gear[13] = {0x01, 0x21, 0x02, 0x22, 0x04, 0x24, 0x08, 0x28, 0x10, 0x48, 0x68, 0x50, 0x70};

for (i = 0; spindle_speed_in > speeds && i < 12; i++);

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

Moderators: cmorley
Time to create page: 0.223 seconds
Powered by Kunena Forum