Probe stopped triggering, 4 flashes.



  • So I've had this IR probe for a while. The printer hasn't changed much in months, and it's been working perfectly fine.

    My only change to the config is I sometimes have to make small adjustments to the trigger height. I figured that this is because of small changes in the location of the sensor mount, since it's mounted to the fan shroud on an E3D v6 style nozzle, and I believe that vibration or stray plastic touching the sensor moves it a little.

    I finished an overnight print, and could see the sensor light flashing, and the DWC was showing modulation on the sensor output as it passed over parts of the print. Today, I went to home the axes, and it crashed into the bed. No reaction from the probe at all. It does not react when I put a white object under it. I power cycled the printer, and after a brief delay, I get 4 flashes.

    Documention says to be sure that it's connected to a proper input with a pullup resistor. It's connected to the Duet in exactly the same way it was before. I checked the wiring, unplugged it and plugged it all back in, same result.

    So did something kill the pullup resistor? Or is it the IR probe? What's my next step in troubleshooting?

    I was going to check that the probe pin is at 3.3V, and check it's resistance to the +3.3V rail on the Duet. Will that damage anything? Is there another way to check the IR sensor?



  • Ugh. Sorry, basic info:

    Duet Wifi v 1.4(?) Firmware is 3.3(?) Current as of 5/19/2020
    DWC 3.1.1

    Config.g:

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Sep 23 2020 15:26:21 GMT-0600 (Mountain Daylight Time)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"DMG3D01"                                ; set printer name
    
    ; Network
    M552 S1                                        ; enable network
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S1                                     ; physical drive 0 goes forwards
    M569 P1 S1                                     ; physical drive 1 goes forwards
    M569 P2 S1                                     ; physical drive 2 goes forwards
    M569 P3 S1                                     ; physical drive 3 goes forwards
    M569 P4 S1                                     ; physical drive 4 goes forwards
    M584 X0 Y1 Z2:4 E3                             ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
    M92 X400.00 Y400.00 Z400.00 E102.80            ; set steps per mm
    M566 X750.00 Y750.00 Z24.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
    M203 X6600.00 Y6600.00 Z180.00 E1200.00        ; set maximum speeds (mm/min)
    M201 X650.00 Y450.00 Z36.00 E250.00            ; set accelerations (mm/s^2)
    M906 X1200 Y1200 Z800 E800 I30                 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                        ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                               ; set axis minima
    M208 X240 Y285 Z200 S0                         ; set axis maxima
    
    ; Endstops
    M574 X2 S1 P"xstop"                            ; configure active-high endstop for high end on X via pin xstop
    M574 Y2 S1 P"!ystop"                           ; configure active-high endstop for high end on Y via pin !ystop
    M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
    
    ; Z-Probe
    M558 P1 C"zprobe.in" H5 F600 T9000 A4 S0.15    ; set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X-17 Y0 Z1.95                         ; set Z probe trigger value, offset and trigger height
    M557 X40:190 Y25:225 S25                       ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B0 S1.00                               ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                        ; map heated bed to heater 0
    M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"pt1000" R4700              ; configure sensor 1 as PT1000 on pin e0temp
    M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                              ; set fan 1 value. Thermostatic control is turned on
    
    ; Tools
    M563 P0 D0 H1 F0                               ; define tool 0
    G10 P0 X0 Y0 Z0                                ; set tool 0 axis offsets
    G10 P0 R0 S0                                   ; set initial tool 0 active and standby temperatures to 0C
    
    ; Custom settings
    M671 X-70.0:290.0 Y137.5:137.5 S2.5            ; Set the Z motor relative locations DMG 08/30/2018
    M572 D0 S0.14                                  ; Set Pressure Advance
    
    ; Miscellaneous
    M575 P1 S1 B57600                              ; enable support for PanelDue
    M501                                           ; load config-override.g
    
    
    111

  • administrators

    When used with a Duet WiFi/Ethernet, the IR sensor is normally used in analog mode. Use P1 in your M558 command,P500 in your G31 command, and expect 4 flashes at power up. That's exactly what I see in your config.g file; but check that your config-override.g file doesn't set a different G31 P parameter.

    If you want to use it in digital mode, then in the M558 command you must use P5 and enable the pullup resistor:

    M558 P5 C"^zprobe.in" H5 F600 T9000 A4 S0.15

    Then expect 2 flashes at power up.

    I suggest you run through the commissioning tests, to see whether in analog mode you get the expected readings of about 0, 465 and 535. It may be that the output wire has become disconnected.



  • Well, I've checked the physical connection, and it seems ok. I only get zero from the output, plus I get no LED indicator when I place a light colour object under the sensor.

    So the 4 flashes is normal. I only quickly skimmed the documentation when it failed, so I didn't realize that I was reading for digital mode (Which isn't really what I want anyway.)

    config-override.g is a blank file. Also, I changed the M558 command to P0 so that I could get some printing done, and that took, so nothing else is setting the probe type.

    Anyway, I'll re-check the output wire, though with no LED reaction I don't think that's the case.


  • administrators

    @SupraGuy said in Probe stopped triggering, 4 flashes.:

    Well, I've checked the physical connection, and it seems ok. I only get zero from the output, plus I get no LED indicator when I place a light colour object under the sensor.

    That indicates a failure of the optical system. Are the two IR diodes and the phototransistor still in place? Sometimes they get knocked off if the sensor collides with something.



  • IR Sensor.png
    Well, that's the answer. I didn't think that the sensor hit anything during that print. Chances are that the LED is buried somewhere in the infill of the part on the printer, since it's nowhere around the printer as far as I can see. I was printing 5 parts with a total of 74mm height and low infill, so if it fell off during printing, it could have fallen right in and I'd never notice.

    I'm not very confident with SMD soldering. I do lots of PCBs with through-hole though. I guess I need to get used to it. Through hole components are getting harder to find.


  • Moderator

    If you have a thin tip for your iron it's not too hard. Flux is your friend.


Log in to reply