Results 21 to 30 of 48
-
11-25-2014, 03:31 PM #21
I bought one from the 3dmakerworld seller. Their picture doesn't show a Kysan sticker, but the motor came with one. Although I do have to chuckle - it looked like a label anyone could have printed and stuck on the motor.
These motors all tend to look the same, but one obvious thing about this one I found impressive is the wire gauge. It's marked #22, compared to the #26 wires on the OEM motors from MakerFarm. Heftier wire should mean less resistance, leading to more power being applied directly to the motor. I'm not sure that difference in the motor specs alone would have justified the increase in wire size for the Kysan.Last edited by printbus; 11-25-2014 at 03:42 PM. Reason: picture of 3dmakerworld Kysan motor added
-
11-25-2014, 10:44 PM #22
-
11-25-2014, 10:51 PM #23
Be careful what you ask for! You might get it.... I pulled Marlin_main.cpp into Vi (my favorite editor) and started searching. All of the G and M commands are implemented via switch statements with various case: lables. I searched for 906: It wasn't in there. But pretty much (there are exceptions) the case values are in ascending order. I got up into the 900's and this what is there:
Code:case 907: // M907 Set digital trimpot motor current using axis codes. { #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) digipot_current(i,code_value()); if(code_seen('B')) digipot_current(4,code_value()); if(code_seen('S')) for(int i=0;i<=4;i++) digipot_current(i,code_value()); #endif #ifdef MOTOR_CURRENT_PWM_XY_PIN if(code_seen('X')) digipot_current(0, code_value()); #endif #ifdef MOTOR_CURRENT_PWM_Z_PIN if(code_seen('Z')) digipot_current(1, code_value()); #endif #ifdef MOTOR_CURRENT_PWM_E_PIN if(code_seen('E')) digipot_current(2, code_value()); #endif #ifdef DIGIPOT_I2C // this one uses actual amps in floating point for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) digipot_i2c_set_current(i, code_value()); // for each additional extruder (named B,C,D,E..., channels 4,5,6,7...) for(int i=NUM_AXIS;i<DIGIPOT_I2C_NUM_CHANNELS;i++) if(code_seen('B'+i-NUM_AXIS)) digipot_i2c_set_current(i, code_value()); #endif } break; case 908: // M908 Control digital trimpot directly. { #if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1 uint8_t channel,current; if(code_seen('P')) channel=code_value(); if(code_seen('S')) current=code_value(); digitalPotWrite(channel, current); #endif } break;
Code:case 350: // M350 Set microstepping mode. Warning: Steps per unit remains unchanged. S code sets stepping mode for all drivers. { #if defined(X_MS1_PIN) && X_MS1_PIN > -1 if(code_seen('S')) for(int i=0;i<=4;i++) microstep_mode(i,code_value()); for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) microstep_mode(i,(uint8_t)code_value()); if(code_seen('B')) microstep_mode(4,code_value()); microstep_readings(); #endif } break; case 351: // M351 Toggle MS1 MS2 pins directly, S# determines MS1 or MS2, X# sets the pin high/low. { #if defined(X_MS1_PIN) && X_MS1_PIN > -1 if(code_seen('S')) switch((int)code_value()) { case 1: for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) microstep_ms(i,code_value(),-1); if(code_seen('B')) microstep_ms(4,code_value(),-1); break; case 2: for(int i=0;i<NUM_AXIS;i++) if(code_seen(axis_codes[i])) microstep_ms(i,-1,code_value()); if(code_seen('B')) microstep_ms(4,-1,code_value()); break; } microstep_readings(); #endif
Last edited by Roxy; 11-26-2014 at 08:20 AM.
-
11-26-2014, 04:11 AM #24
Geez! I'm sorry I started this.
Angry emu.jpg (An angry emu)
It shows that to really fiddle about with these Gcodes, you have to be fluent in the programming language.
Got to admit, this old emu can't learn too many new tricks. Forget Veil #2. Just chuck a chaff bag over me and be done with it.
OMELast edited by old man emu; 11-26-2014 at 03:24 PM.
-
11-26-2014, 07:59 AM #25
Great! Thanks printbus, it looks like I'm going to be ordering a few of these. I was finally able to get the print I was having trouble with to complete successfully!
The solution was to set up a fan similar to how AbuMaia suggested. It kept the the motor much cooler in comparison to the extruder. Another thing I think helped was tightening the y belt down as tight as I could. I suspect the heating of the motor was the true culprit of this issue though!
Thank you all! OME I hope these suggestions are helpful for you!
-
11-26-2014, 05:11 PM #26
- Join Date
- Jun 2014
- Posts
- 74
-
11-26-2014, 08:12 PM #27
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
I'm currently printing out the 5th iteration of a redone Y-motor fan mount. I wanted to be able to mount the Y endstop switch on it too, save a T nut. Been tweaking and printing and mounting and tweaking all day.
-
11-26-2014, 08:40 PM #28
I think you blokes have missed something. You are concentrating on the temperature of the Y axis stepper. You forget that at the same time as the Y axis stepper was working flat out, the X axis one was working just as hard, and without error.
The other thing is, if the belt or pulley was loose, then subsequent layers would not be printed accurately on top of the preceding oout of position one.
Old Man Emu
-
11-26-2014, 08:44 PM #29
- Join Date
- Jul 2014
- Location
- Eastern Colorado
- Posts
- 536
The X stepper was also out in open air on three sides, while the Y stepper was in a little box.
-
11-26-2014, 08:46 PM #30
My guess is that the Y motor also has more work to do. Anyone know how the weight of the Y bed, heater, glass, and rolling hardware compares to the X-carriage and extruder parts? Plus, as the print grows, the weight that the Y-motor needs to move around keeps going up...
Last edited by printbus; 11-26-2014 at 08:59 PM.
New member with print issue
06-11-2024, 08:57 AM in Tips, Tricks and Tech Help