1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Differential IR height sensor, Attemptin' Clone....ain't sure of success...now stage 10

Discussion in 'Mods and Upgrades' started by jim3Dbot, Aug 25, 2015.

  1. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    2211751824
    [​IMG]
    DHL Express
    +1 800 225 5345
    In Transit
    Scheduled: 22 Oct
    • Oct 19, 2015
      10:43 pm
      Departed Facility in SHENZHEN - CHINA, PEOPLES REPUBLICDHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      10:11 pm
      Processed at SHENZHEN - CHINA, PEOPLES REPUBLIC HKGDHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      09:53 pm
      Arrived at Sort Facility SHENZHEN - CHINA, PEOPLES REPUBLICDHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      04:23 pm
      Shipment picked up 602525958DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    DaShenzhen Shuffle Squeaky Wheel Shake-down

    PCBs on their way......
     
  2. jbigler1986

    jbigler1986 Active Member

    Joined:
    Feb 13, 2015
    Messages:
    534
    Likes Received:
    128
    Awesome. Excited. PM sent with address. Great work. What is the price point going to be for these? Just wondering.
     
  3. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Thanks JB.............I may have a few in my ebay store in the future...........but, don't really want to go there..............Appreciate your help in the shoutbox...........
     
  4. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124


    • PCB Panels should arrive Oct 22

    • Oct 21, 2015
      05:58 am
      Departed Facility in CINCINNATI HUB,OH-USA DHL Express
      CINCINNATI HUB,OH - USA
    • Oct 21, 2015
      05:56 am
      Clearance processing complete at CINCINNATI HUB,OH-USA DHL Express
      CINCINNATI HUB,OH - USA
    • Oct 21, 2015
      05:56 am
      Processed at CINCINNATI HUB,OH-USA CLE DHL Express
      CINCINNATI HUB,OH - USA
    • Oct 21, 2015
      04:13 am
      Arrived at Sort Facility CINCINNATI HUB,OH-USA DHL Express
      CINCINNATI HUB,OH - USA
    • Oct 20, 2015
      01:59 pm
      Departed Facility in HONG KONG - HONG KONG DHL Express
      HONG KONG - HONG KONG
    • Oct 20, 2015
      01:30 pm
      Processed at HONG KONG - HONG KONG CVG DHL Express
      HONG KONG - HONG KONG
    • Oct 20, 2015
      02:26 am
      Clearance processing complete at HONG KONG - HONG KONG DHL Express
      HONG KONG - HONG KONG
    • Oct 20, 2015
      02:21 am
      Processed at HONG KONG - HONG KONG DHL Express
      HONG KONG - HONG KONG
    • Oct 20, 2015
      02:14 am
      Arrived at Sort Facility HONG KONG - HONG KONG DHL Express
      HONG KONG - HONG KONG
    • Oct 20, 2015
      01:47 am
      Shipment on hold DHL Express
      HONG KONG - HONG KONG
    • Oct 19, 2015
      10:43 pm
      Departed Facility in SHENZHEN - CHINA, PEOPLES REPUBLIC DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      10:30 pm
      Clearance processing complete at SHENZHEN - CHINA, PEOPLES REPUBLIC DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      10:11 pm
      Processed at SHENZHEN - CHINA, PEOPLES REPUBLIC HKG DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      10:01 pm
      Clearance event DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      09:53 pm
      Arrived at Sort Facility SHENZHEN - CHINA, PEOPLES REPUBLIC DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    • Oct 19, 2015
      04:23 pm
      Shipment picked up 602525958DHL Express
      SHENZHEN - CHINA, PEOPLES REPUBLIC
    Laser cut Stencil from top solder paste file arrived..............Oct 20th.............

    003.JPG 003.JPG

    Further Progress........
    • Oct 21, 2015
      11:50 am
      With delivery courier DHL Express
      STRONGSVILLE,OH - USA
    • Oct 21, 2015
      10:15 am
      Transferred through STRONGSVILLE,OH-USA DHL Express
      STRONGSVILLE,OH - USA
    • Oct 21, 2015
      05:58 am
      Departed Facility in CINCINNATI HUB,OH-USA DHL Express
      CINCINNATI HUB,OH - USA


    PCB 3D Rendition............



    Components arriving...........October 23............program/test fixture....maybe assembly........this weekend..........Take Care
     
    #104 jim3Dbot, Oct 21, 2015
    Last edited: Oct 21, 2015
    WheresWaldo likes this.
  5. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Panels arrives DHL early.......

    006.JPG 008.JPG 009.JPG
    Began work on Test & Program Fixture, imported PCB file mechanicals into mechanical software to aid in test probe alignment..........


    010.JPG
     
    jbigler1986 and Mike Kelly like this.
  6. jbigler1986

    jbigler1986 Active Member

    Joined:
    Feb 13, 2015
    Messages:
    534
    Likes Received:
    128
    Those look really good.
     
  7. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Parts arrived from Mouser a day early.........

    Hand soldered one board for component fit & testing......try that with a chisel tip iron.........

    Began program/test fixture today, printed base on 0.3...a little rough but Pogo spring fit snugly & holes align well. Base will have two other layers..........out of town Friday.........fixture & maybe stencil'ling this weekend...............

    004.JPG
     

    Attached Files:

    • 005.JPG
      005.JPG
      File size:
      1.8 MB
      Views:
      17
    jbigler1986 likes this.
  8. Mowi

    Mowi New Member

    Joined:
    Oct 5, 2015
    Messages:
    5
    Likes Received:
    1
    I have been a bit busy with other projects lately. I also built the differential ir sensor probe but I couldn't get it working quite right.
    In the meantime my pibot sensor arrived so I thought i just give it a quick test so we can compare precision to other contactless sensors. Could one of you do this probe repeatability test with your differential ir sensor?
    to do the test sent this gcode to the printer: M48 n10 V4.

    I tried two:
    the pibot sensor: http://www.pibot.com/pibot-optical-reflection-endstop-rev143.html ($5)
    I get this:
    20:14:52.927 : M48 Z-Probe Repeatability test
    20:14:54.521 : Positioning the probe...
    20:15:05.504 : 1 of 10 z: -2.012000 mean: -2.012000 sigma: 0.000000
    20:15:11.882 : 2 of 10 z: -2.013500 mean: -2.012750 sigma: 0.000750
    20:15:18.181 : 3 of 10 z: -2.037500 mean: -2.021000 sigma: 0.011683
    20:15:24.558 : 4 of 10 z: -2.056500 mean: -2.029875 sigma: 0.018403
    20:15:30.904 : 5 of 10 z: -2.094000 mean: -2.042700 sigma: 0.030477
    20:15:37.256 : 6 of 10 z: -2.098250 mean: -2.051958 sigma: 0.034679
    20:15:43.612 : 7 of 10 z: -2.099500 mean: -2.058750 sigma: 0.036161
    20:15:49.970 : 8 of 10 z: -2.096000 mean: -2.063406 sigma: 0.035999
    20:15:56.347 : 9 of 10 z: -2.114750 mean: -2.069111 sigma: 0.037580
    20:16:02.721 : 10 of 10 z: -2.082000 mean: -2.070400 sigma: 0.035861
    20:16:05.342 : Mean: -2.070400
    20:16:05.343 : Standard Deviation: 0.035861
    I haven't printed with this machine yet so i do not know if this is precise enough

    Inductive Proximity Sensor,LJ8A3-2-Z/BX ,NPN,3-wire NO 8mm (about $2,20), needs a metal to detect so i have a glass printbed with 3 layers of tape on it: bottom aluminum tape,then kaptontape, top painterstape.
    I get this:
    18:36:53.318 : M48 Z-Probe Repeatability test
    18:36:53.909 : Positioning the probe...
    18:37:03.640 : 1 of
    18:37:03.644 : z: 0.350000 mean: 0.350000 sigma: 0.000000
    18:37:08.559 : 2 of
    18:37:08.563 : z: 0.350500 mean: 0.350250 sigma: 0.000250
    18:37:13.474 : 3 of
    18:37:13.478 : z: 0.350750 mean: 0.350417 sigma: 0.000312
    18:37:18.389 : 4 of
    18:37:18.393 : z: 0.351250 mean: 0.350625 sigma: 0.000451
    18:37:23.317 : 5 of
    18:37:23.317 : z: 0.352000 mean: 0.350900 sigma: 0.000682
    18:37:28.281 : 6 of
    18:37:28.285 : z: 0.352250 mean: 0.351125 sigma: 0.000800
    18:37:33.196 : 7 of
    18:37:33.199 : z: 0.352750 mean: 0.351357 sigma: 0.000934
    18:37:38.111 : 8 of
    18:37:38.114 : z: 0.353000 mean: 0.351563 sigma: 0.001029
    18:37:43.034 : 9 of
    18:37:43.034 : z: 0.353000 mean: 0.351722 sigma: 0.001070
    18:37:47.973 : 10 of
    18:37:47.977 : z: 0.353750 mean: 0.351925 sigma: 0.001183
    18:37:49.616 : Mean: 0.351925
    18:37:49.616 : Standard Deviation: 0.001183
    This works good, also for big prints with auto levelling i get nice attachment anywhere on the bed.

    you can find results for other probes in this thread: http://3dprintboard.com/showthread.php?2802-Auto_Bed_Leveling-Z-Probe-Repeatability-code
     
  9. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Printed Program/Test Fixture for Mini-IR Height Sensor, successfully flashed first assembly.........Next install in Robo.......Note: hand-wired version still installed in Robo and has been functioning well...........excuse the bad print quality....old black PLA setting out for months............accuracy of print was excellent...Pogo pins in Bed of Nails fixture, aligned right-on with .025" round vias......was able to view thru fixture with top bracket removed & pressing down on a not populated PCB............

     

    Attached Files:

    • 001.JPG
      001.JPG
      File size:
      1.6 MB
      Views:
      32
    • 003.JPG
      003.JPG
      File size:
      1.8 MB
      Views:
      29
    • 006.JPG
      006.JPG
      File size:
      1.6 MB
      Views:
      31
    #109 jim3Dbot, Oct 29, 2015
    Last edited: Oct 30, 2015
    jbigler1986 and Mike Kelly like this.
  10. jbigler1986

    jbigler1986 Active Member

    Joined:
    Feb 13, 2015
    Messages:
    534
    Likes Received:
    128
    Awesome. Can't wait to get my hands on this little sensor.
     
  11. Puff

    Puff New Member

    Joined:
    Sep 4, 2015
    Messages:
    10
    Likes Received:
    8
    Mowi here is the result of my diy mini-ir on kapton tape ontop of glass:

    01:38:26.968 : M48 Z-Probe Repeatability test. Version 2.00
    01:38:26.968 : Full support at: http://3dprintboard.com/forum.php
    01:38:28.250 : Positioning probe for the test.
    01:38:37.671 : 1 of 10 z: -5.039506 mean: -5.039506 sigma: 0.000000
    01:38:42.750 : 2 of 10 z: -5.034568 mean: -5.037037 sigma: 0.002469
    01:38:47.828 : 3 of 10 z: -5.032099 mean: -5.035391 sigma: 0.003079
    01:38:52.937 : 4 of 10 z: -5.034568 mean: -5.035185 sigma: 0.002691
    01:38:58.015 : 5 of 10 z: -5.039506 mean: -5.036049 sigma: 0.002963
    01:39:03.093 : 6 of 10 z: -5.041975 mean: -5.037036 sigma: 0.003492
    01:39:08.171 : 7 of 10 z: -5.039506 mean: -5.037389 sigma: 0.003346
    01:39:13.296 : 8 of 10 z: -5.019753 mean: -5.035185 sigma: 0.006620
    01:39:18.359 : 9 of 10 z: -5.032099 mean: -5.034842 sigma: 0.006316
    01:39:23.421 : 10 of 10 z: -5.024692 mean: -5.033827 sigma: 0.006721
    01:39:25.703 : Mean: -5.033827
    01:39:25.703 : Standard Deviation: 0.006721
    01:39:25.718 : echo:endstops hit: Z:-5.02
     
  12. Mowi

    Mowi New Member

    Joined:
    Oct 5, 2015
    Messages:
    5
    Likes Received:
    1
    Thanks Puff, that seems like a good score. that should be more than enough. did you allready print something?
     
  13. Puff

    Puff New Member

    Joined:
    Sep 4, 2015
    Messages:
    10
    Likes Received:
    8
    Because the sensor sits on the side of the head I have to callibrate the z-offset everytime something changes on one of the z axis, not sure how often that happens.
    That is why I want to split the unit or go smd so that the sensor is small enough to fit in front under the fan.
    Otherwise pretty good results.
    [​IMG]



    Sent from my iPhone using Tapatalk
     
    mark tomlinson likes this.
  14. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Received some physically smaller IR LED Emitters today, ordered Thursday, arrived today Monday.......Here's the part number........
    First group work fine but are close to 4mm wide.....these are about 2mm......first group a little tight in PCB......sidebar......Dave recommends the 'pink' ones..........I have accounts with Digi-key, Mouser, Newark & Allied........Digi-key & Mouser have the pink ones 'obsolete'..........Newark & Allied are back ordered......The pink ones have a 40 degree viewing............that angle number is large, and the chatter I hear is a lesser angle may be their new production runs.....the new smaller ones I just received have even a lesser angle ~18 degrees.

    The pink ones were chosen to help in side scatter & ambient IR..........the pink epoxy helps to filter the near IR Light from the encapsulated die...so far I have not noticed problems....I'll test further...........

    Mfr. #: SFH 4141
    Desc.: Infrared EmittersInfrared 950nm

    50 $0.238 $11.90
    50 Shipped Oct 30, 2015


    I have had conversations with Puff & Mowi about their M48 tests..........I have spent about two days struggling with that Marlin 'compatible' command.....Now I know why they call it a M Command, its been that....more about that tomorrow & much else...Take Care Robodudes



     
    #114 jim3Dbot, Nov 2, 2015
    Last edited: Nov 4, 2015
  15. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    I'm not sure the repeatability test is in/on for our particular flavor of firmware
     
  16. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Actually, I think M48 is in all flavors of Marlin since 1.0.0 so unless Robo actually did some software modification other than just manipulating configuration.h, then it is there. Hint: We know they didn't 'program' anything different.
     
  17. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    Well then I just couldn't figure out how to enable it if that's the case
     
  18. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    #if ENABLED(AUTO_BED_LEVELING_FEATURE) && ENABLED(Z_MIN_PROBE_REPEATABILITY_TEST)


    Man, I've tried this code & another similar code that stated 'functions with Marlin'....Placed in a few places...could not get to compile...........worked with this for two days......no luck, but I'm not a code-i-phyle person......In most Marlin firmware, the following statements show there-self in Sub-heading: Marlin_main.cpp, not so much in config. h................I was thinking about just running auto level 10x & pluggin' values in the the standard deviation formula with all the averages, sq roots etc. then I threw some cold water on my face and said screw-it.............so for now...........I have set the bench up with the stencil & surface mount oven & will begin building right after lunch.............hang in there robodudes.....we will get this..........

    // This is redundant since the SanityCheck.h already checks for a valid Z_MIN_PROBE_PIN, but here for clarity.
    #if ENABLED(Z_MIN_PROBE_ENDSTOP)
    #if !HAS_Z_PROBE
    #error You must define Z_MIN_PROBE_PIN to enable Z probe repeatability calculation.
    #endif
    #elif !HAS_Z_MIN
    #error You must define Z_MIN_PIN to enable Z probe repeatability calculation.
    #endif

    /**
    * M48: Z probe repeatability measurement function.
    *
    * Usage:
    * M48 <P#> <X#> <Y#> <V#> <E> <L#>
    * P = Number of sampled points (4-50, default 10)
    * X = Sample X position
    * Y = Sample Y position
    * V = Verbose level (0-4, default=1)
    * E = Engage Z probe for each reading
    * L = Number of legs of movement before probe
    *
    * This function assumes the bed has been homed. Specifically, that a G28 command
    * as been issued prior to invoking the M48 Z probe repeatability measurement function.
    * Any information generated by a prior G29 Bed leveling command will be lost and need to be
    * regenerated.
    */
    inline void gcode_M48() {

    double sum = 0.0, mean = 0.0, sigma = 0.0, sample_set[50];
    uint8_t verbose_level = 1, n_samples = 10, n_legs = 0;

    if (code_seen('V')) {
    verbose_level = code_value_short();
    if (verbose_level < 0 || verbose_level > 4 ) {
    SERIAL_PROTOCOLPGM("?Verbose Level not plausible (0-4).\n");
    return;
    }
    }

    if (verbose_level > 0)
    SERIAL_PROTOCOLPGM("M48 Z-Probe Repeatability test\n");

    if (code_seen('P')) {
    n_samples = code_value_short();
    if (n_samples < 4 || n_samples > 50) {
    SERIAL_PROTOCOLPGM("?Sample size not plausible (4-50).\n");
    return;
    }
    }

    double X_current = st_get_position_mm(X_AXIS),
    Y_current = st_get_position_mm(Y_AXIS),
    Z_current = st_get_position_mm(Z_AXIS),
    E_current = st_get_position_mm(E_AXIS),
    X_probe_location = X_current, Y_probe_location = Y_current,
    Z_start_location = Z_current + Z_RAISE_BEFORE_PROBING;

    bool deploy_probe_for_each_reading = code_seen('E');

    if (code_seen('X')) {
    X_probe_location = code_value() - X_PROBE_OFFSET_FROM_EXTRUDER;
    if (X_probe_location < X_MIN_POS || X_probe_location > X_MAX_POS) {
    out_of_range_error(PSTR("X"));
    return;
    }
    }

    if (code_seen('Y')) {
    Y_probe_location = code_value() - Y_PROBE_OFFSET_FROM_EXTRUDER;
    if (Y_probe_location < Y_MIN_POS || Y_probe_location > Y_MAX_POS) {
    out_of_range_error(PSTR("Y"));
    return;
    }
    }

    if (code_seen('L')) {
    n_legs = code_value_short();
    if (n_legs == 1) n_legs = 2;
    if (n_legs < 0 || n_legs > 15) {
    SERIAL_PROTOCOLPGM("?Number of legs in movement not plausible (0-15).\n");
    return;
    }
    }

    //
    // Do all the preliminary setup work. First raise the Z probe.
    //

    st_synchronize();
    plan_bed_level_matrix.set_to_identity();
    plan_buffer_line(X_current, Y_current, Z_start_location, E_current, homing_feedrate[Z_AXIS] / 60, active_extruder);
    st_synchronize();

    //
    // Now get everything to the specified probe point So we can safely do a probe to
    // get us close to the bed. If the Z-Axis is far from the bed, we don't want to
    // use that as a starting point for each probe.
    //
    if (verbose_level > 2)
    SERIAL_PROTOCOLPGM("Positioning the probe...\n");

    plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location,
    E_current,
    homing_feedrate[X_AXIS]/60,
    active_extruder);
    st_synchronize();

    current_position[X_AXIS] = X_current = st_get_position_mm(X_AXIS);
    current_position[Y_AXIS] = Y_current = st_get_position_mm(Y_AXIS);
    current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
    current_position[E_AXIS] = E_current = st_get_position_mm(E_AXIS);

    //
    // OK, do the initial probe to get us close to the bed.
    // Then retrace the right amount and use that in subsequent probes
    //

    deploy_z_probe();

    setup_for_endstop_move();
    run_z_probe();

    current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);
    Z_start_location = st_get_position_mm(Z_AXIS) + Z_RAISE_BEFORE_PROBING;

    plan_buffer_line( X_probe_location, Y_probe_location, Z_start_location,
    E_current,
    homing_feedrate[X_AXIS]/60,
    active_extruder);
    st_synchronize();
    current_position[Z_AXIS] = Z_current = st_get_position_mm(Z_AXIS);

    if (deploy_probe_for_each_reading) stow_z_probe();

    for (uint8_t n=0; n < n_samples; n++) {
    // Make sure we are at the probe location
    do_blocking_move_to(X_probe_location, Y_probe_location, Z_start_location); // this also updates current_position

    if (n_legs) {
    millis_t ms = millis();
    double radius = ms % (X_MAX_LENGTH / 4), // limit how far out to go
    theta = RADIANS(ms % 360L);
    float dir = (ms & 0x0001) ? 1 : -1; // clockwise or counter clockwise

    //SERIAL_ECHOPAIR("starting radius: ",radius);
    //SERIAL_ECHOPAIR(" theta: ",theta);
    //SERIAL_ECHOPAIR(" direction: ",dir);
    //SERIAL_EOL;

    for (uint8_t l = 0; l < n_legs - 1; l++) {
    ms = millis();
    theta += RADIANS(dir * (ms % 20L));
    radius += (ms % 10L) - 5L;
    if (radius < 0.0) radius = -radius;

    X_current = X_probe_location + cos(theta) * radius;
    X_current = constrain(X_current, X_MIN_POS, X_MAX_POS);
    Y_current = Y_probe_location + sin(theta) * radius;
    Y_current = constrain(Y_current, Y_MIN_POS, Y_MAX_POS);

    if (verbose_level > 3) {
    SERIAL_ECHOPAIR("x: ", X_current);
    SERIAL_ECHOPAIR("y: ", Y_current);
    SERIAL_EOL;
    }

    do_blocking_move_to(X_current, Y_current, Z_current); // this also updates current_position

    } // n_legs loop

    // Go back to the probe location
    do_blocking_move_to(X_probe_location, Y_probe_location, Z_start_location); // this also updates current_position

    } // n_legs

    if (deploy_probe_for_each_reading) {
    deploy_z_probe();
    delay(1000);
    }

    setup_for_endstop_move();
    run_z_probe();

    sample_set[n] = current_position[Z_AXIS];

    //
    // Get the current mean for the data points we have so far
    //
    sum = 0.0;
    for (uint8_t j = 0; j <= n; j++) sum += sample_set[j];
    mean = sum / (n + 1);

    //
    // Now, use that mean to calculate the standard deviation for the
    // data points we have so far
    //
    sum = 0.0;
    for (uint8_t j = 0; j <= n; j++) {
    float ss = sample_set[j] - mean;
    sum += ss * ss;
    }
    sigma = sqrt(sum / (n + 1));

    if (verbose_level > 1) {
    SERIAL_PROTOCOL(n+1);
    SERIAL_PROTOCOLPGM(" of ");
    SERIAL_PROTOCOL((int)n_samples);
    SERIAL_PROTOCOLPGM(" z: ");
    SERIAL_PROTOCOL_F(current_position[Z_AXIS], 6);
    if (verbose_level > 2) {
    SERIAL_PROTOCOLPGM(" mean: ");
    SERIAL_PROTOCOL_F(mean,6);
    SERIAL_PROTOCOLPGM(" sigma: ");
    SERIAL_PROTOCOL_F(sigma,6);
    }
    }

    if (verbose_level > 0) SERIAL_EOL;

    plan_buffer_line(X_probe_location, Y_probe_location, Z_start_location, current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
    st_synchronize();

    // Stow between
    if (deploy_probe_for_each_reading) {
    stow_z_probe();
    delay(1000);
    }
    }

    // Stow after
    if (!deploy_probe_for_each_reading) {
    stow_z_probe();
    delay(1000);
    }

    clean_up_after_endstop_move();

    if (verbose_level > 0) {
    SERIAL_PROTOCOLPGM("Mean: ");
    SERIAL_PROTOCOL_F(mean, 6);
    SERIAL_EOL;
    }

    SERIAL_PROTOCOLPGM("Standard Deviation: ");
    SERIAL_PROTOCOL_F(sigma, 6);
    SERIAL_EOL; SERIAL_EOL;
    }

    #endif // AUTO_BED_LEVELING_FEATURE && Z_MIN_PROBE_REPEATABILITY_TEST
     
  19. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    I could be wrong, as I haven't used or looked at Robo's "version" of the firmware in several months.

    Update: I just searched through the Robo firmwares, including the newest for the lead screws and the +PLUS, M48 was not implemented. It is, however, in the 1.1.0 RC2 that Is posted elsewhere in this forum.
     
  20. jim3Dbot

    jim3Dbot Active Member

    Joined:
    Jun 1, 2015
    Messages:
    246
    Likes Received:
    124
    Thanks Here'sssssss Waldo............

    I figured you would be the one that would dig into the code...........I searched & compared versions & located a few firmware's, marlin compatible, ripped out the M48 code, tried it here & there, wouldn't compile.....my firmware is already modded in a dozen places to run on my machine....finally tossed the idea.........I am thinking there may be additional code instructions required proceeding the M48 patch.



    "A new version of Marlin was released just two weeks ago. I had a bunch of time on my hands waiting on a print so I went exploring within the new source code. Let me say first, I am not a programmer, so there is some things I don't fully understand, but I can see the bigger picture, usually. First I compared the current Robo Auto-Level firmware with the same 1.0.0 release, to see what Robo had changed. It is too bad that the Robo guys did such a poor job of adding comments to everything they changed, it would have made it easier. After realizing that this was a futile effort that would just have to be done all over again with 1.0.2-1, I gave up on 1.0.0.

    With two Arduino IDE windows open across two monitors, I then spent the next several hours examining each file, line by line to see what Robo had changed in 1.0.0 compared to what was in 1.0.2. I got most of the stuff all worked out and was able to compile the firmware upload it to my Robo and actually print out the Deprime.STL. Over the next few days I'll go back into the code and document what I changed .

    I think there is only one bug, or it could be that 1.0.2 requires resetting the Z offset. I had to dial in about 200 baby steps to get the first layer correct, it seems to ignore the 'M565 Z-1.0' command I have in my start up G code. Good thing I print 4 loops before the actual print.

    With the first print done, it doesn't look too bad, but that one was printed tethered to the computer, I will try the same print direct from the SD card tomorrow. A couple of pictures are in my printer thread".

    #1 WheresWaldo, Jun 11, 2015

    Appreciate the input.......................jimmy
     

Share This Page