Close



Page 3 of 5 FirstFirst 12345 LastLast
Results 21 to 30 of 48

Hybrid View

  1. #1
    Engineer-in-Training gmay3's Avatar
    Join Date
    Mar 2014
    Location
    USA
    Posts
    388
    Add gmay3 on Thingiverse
    Thanks AbuMaia, I will be printing that soon!

  2. #2
    Engineer-in-Training TopJimmyCooks's Avatar
    Join Date
    Jul 2014
    Posts
    204
    The new makerfarm supplied nema 17's run cool. I expect they are made a lot closer to AUS than they are to the US. just get the model number , order from hong kong, etc. and it's a short boat ride. I can post a pic of the label if needed but i think Clough42 or someone had a post recently about the spec's of the new motors. As Drone suggested, this is a way better solution rather than putting a fan on every stepper. I can understand if you're very isolated the shipping can be crazy though.

  3. #3
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    There isn't an M906 command in Marlin. But there are these two commands:


    case 907: // M907 Set digital trimpot motor current using axis codes.

    case 908: // M908 Control digital trimpot directly.

  4. #4
    Staff Engineer old man emu's Avatar
    Join Date
    Oct 2013
    Location
    Narellan, New South Wales, Australia
    Posts
    912
    Quote Originally Posted by Roxy View Post
    There isn't an M906 command in Marlin. But there are these two commands:


    case 907: // M907 Set digital trimpot motor current using axis codes.

    case 908: // M908 Control digital trimpot directly.
    C'mon! Giving an answer like that is like starting the Dance of the Seven Veils and stopping at Veil #1.

    Please to explain how honourable code work.

    OME

  5. #5
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by old man emu View Post
    C'mon! Giving an answer like that is like starting the Dance of the Seven Veils and stopping at Veil #1.

    Please to explain how honourable code work.

    OME
    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;
    There is also some stuff to control the micro-stepping of the stepper motors:
    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
    There! We are to the Veil #2.
    Last edited by Roxy; 11-26-2014 at 08:20 AM.

  6. #6
    Staff Engineer printbus's Avatar
    Join Date
    May 2014
    Location
    Highlands Ranch, Colorado USA
    Posts
    1,437
    Add printbus on Thingiverse
    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.

  7. #7
    Technician
    Join Date
    Jun 2014
    Posts
    74
    Quote Originally Posted by printbus View Post
    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...
    All very good points Printbus. Keeping that in mind it might make sense to look at the part being printed and the orientation it is being printed in. If the part is much narrower in x than y, for the same reason it might make sense to reorient the print to put the longer direction on the x axis.

  8. #8
    Staff Engineer printbus's Avatar
    Join Date
    May 2014
    Location
    Highlands Ranch, Colorado USA
    Posts
    1,437
    Add printbus on Thingiverse
    Quote Originally Posted by Drone View Post
    All very good points Printbus. Keeping that in mind it might make sense to look at the part being printed and the orientation it is being printed in. If the part is much narrower in x than y, for the same reason it might make sense to reorient the print to put the longer direction on the x axis.
    I was going to argue that it wouldn't make any difference, but I see your point. Putting the bulk of the print in the X axis would minimize how much movement is required in the Y direction. Interesting thought.

    OME - We're just offering you ideas on what could be causing your Y axis issue. You certainly have the right to discard any of the suggestions that are provided.

  9. #9
    Staff Engineer old man emu's Avatar
    Join Date
    Oct 2013
    Location
    Narellan, New South Wales, Australia
    Posts
    912
    Quote Originally Posted by printbus View Post
    OME - We're just offering you ideas on what could be causing your Y axis issue. You certainly have the right to discard any of the suggestions that are provided.
    No problem with that. This is a discussion, after all. We hope to reach a conclusion that explains the situation.

    As to the Mass that the steppers are moving, if you discount the parts common to both X & Y axis units, such as the linear bearings, idler bearings and components, you have to compare the weights of items being moved.

    As an approximation, I'd say that the print board and heater on the Y axis are the same as the extruder gear assembly including the hobbed bolt on the X axis. The extra weights are the extruder itself, its cooling fan and the biggy, the extruder stepper motor. A NEMA 17 weighs approximately 11 oz (~300 gm). So, I'd say that the X-axis stepper has to do more Work ( Mass x Acceleration x Distance) than the Y axis.

    Drone might have hit on a factor. Originally I had the object sliced so that its length in the X axis direction was greater than in the Y axis direction. I had an unrelated issue with that print (uneven bed), so I re-sliced so that the object was longer in the Y direction than the X direction. That meant that the Y axis stepper had more work to do, and that's when the jump happened.

    What I am not satisfied with is that after the jump, the print continued with all subsequent Y positions offset exactly 7 mm from the pre-jump Y positions. The extrusions after the jump were as neat as those before it.

    I'm going to run another print tonight to see if room temperature was a factor. It's cooler tonight than on the afternoon that I encountered the problem.

    Old Man Emu

  10. #10
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by printbus View Post
    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...
    Agreed... There are a couple of corner cases. Like what if the Slicer was pretty much just generating GCode that moved the X Axis. But in general the X & Y movement are going to be similar. The difference is the Y motor is moving much more weight. That is going to factor directly into how much energy is being pumped into the Y motor.

Page 3 of 5 FirstFirst 12345 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •