Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Filament Sensor plus timelapse issue

    Scheduled Pinned Locked Moved
    General Discussion
    5
    20
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • core3d.techundefined
      core3d.tech
      last edited by core3d.tech

      I think I'm running into a problem with my Duet Filament Sensor Laser combined with taking images at every layer change.

      following is my image taking code (executed at every layer):
      G60 S1
      G91
      G1 Z40 F9000
      G90
      G1 X0 Y0 F9000

      ;turn on shutter and wait 800ms
      M42 P60 S255
      G4 P800

      ;turn off remote
      M42 P60 S0
      ;based on bad lighting give time for picture to be taken.
      G4 P2000

      ;return to last stored position
      G1 R1 X0 Y0 Z0 F3600

      Basically I'm taking a 3 second break every layer and I think this messes up the Filament sensor and averages of moved filament. I get filament sensor failed errors.

      Is there anyway to avoid this?

      current M591: M591 D0 P5 C3 R90:120 E6.0 A0 S1

      I tried playing with the A parameter switching from A1 to A0 and changing parameter E from e3 to e6

      Also, error says: Extruder 0 reports sensor not working

      What triggers that error (it's different from the jam/filament out error)

      T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
      • T3P3Tonyundefined
        T3P3Tony administrators @core3d.tech
        last edited by

        @core3d-tech Extruder 0 reports sensor not working imples there is some issue with either the sensor itself or the communications with it.

        How long is the wire from the sensor back to the Duet?

        Also does that error just occur when the timelapse is running?

        www.duet3d.com

        core3d.techundefined 1 Reply Last reply Reply Quote 0
        • core3d.techundefined
          core3d.tech @T3P3Tony
          last edited by

          @t3p3tony the cable is long (about 3 meters) but the problem only occurs when I run the snapshot code. The error must occur between:

          ;turn on shutter and wait 800ms
          M42 P60 S255
          G4 P800

          ;turn off remote
          M42 P60 S0

          as I find the M42 P60 S0 never executed (camera stuck taking pictures).

          The relay controlling the camera is powered by E1 end stop (could it cause a power drop next door?).
          The cable to the sensor is separated from all other cables running to Smart Effector.

          1 Reply Last reply Reply Quote 0
          • core3d.techundefined
            core3d.tech
            last edited by

            So for the many tries with different values, it was always the same story. As M42 P60 S255 was executed (at random layers changes) the filament sensor would error out. I can only conclude a "power spike/drop" when powering a relay (3v) to trigger the camera remote was causing this issue.

            I've now redesigned my remote setup and eliminated the relay. The remote is now directly powered via pin CS5 (P60). It now correctly finishes my print and I tested the sensor for stall and all seems to be working.

            I wonder though if it would be possible to check for multiple consecutive before completely stopping the print. Once the power fluctuation is over all works well again.

            case TypeLaserMessageTypeError:
            lastErrorCode = val & 0x00FF;
            sensorError = true;
            break;

            I'm good for now. Thanks for responding.

            1 Reply Last reply Reply Quote 1
            • T3P3Tonyundefined
              T3P3Tony administrators
              last edited by

              Thanks for the detailed explanation. To confirm, your old camera trigger setup was dropping 3.3V low enough to disrupt the comms with the filament sensor but not low enough to effect the other 3.3V components? That could have taken forever to diagnose, I am glad you found the issue!

              www.duet3d.com

              core3d.techundefined 1 Reply Last reply Reply Quote 0
              • zaptaundefined
                zapta
                last edited by zapta

                Did the relay have a reversed diode connected in parallel to the coil?

                core3d.techundefined 1 Reply Last reply Reply Quote 0
                • core3d.techundefined
                  core3d.tech @T3P3Tony
                  last edited by

                  @t3p3tony I have no scientific equipment to validate this but I did go through some 12 attempts of the same benchy with different parameters and all failed as the exact point in the macro (different layers), right after

                  M42 P60 S255

                  The relay I'm using is this guy: https://www.amazon.com/gp/product/B01M0E6SQM

                  VCC and GND on relay came from E1 end stop, signal came from pin CS5

                  1 Reply Last reply Reply Quote 0
                  • core3d.techundefined
                    core3d.tech @zapta
                    last edited by

                    @zapta Sorry, this goes beyond my expertise. This is the relay I used The relay I'm using is this guy: https://www.amazon.com/gp/product/B01M0E6SQM

                    I did not add anything additional to this. I did just read about the power spike. One would think that when you buy a unit like this it's built in. Then again...

                    zaptaundefined 1 Reply Last reply Reply Quote 0
                    • Danalundefined
                      Danal
                      last edited by

                      Relay? Even a 3V relay, it is entirely possible that the CURRENT (not the voltage) required for the relay exceeded the output current capacity of the pin on the microcontroller in the Duet. This could cause other pins that are in the same "port" on the microcontroller, and/or nearby in the physical architecture of the microcontroller, to change state "falsely".

                      For this reason, it is unusual to directly drive a physical relay with a microcontroller pin (on almost any micro), unless it is a specialized low-current relay. More normally, the pin drives a transistor that drives a relay (or a transistor that drives the load, etc. ).

                      Anyway... you've resolved it, and that's great!

                      Just posting for others reading, in case they are thinking about how to interface cameras and other stuff to Duets (or other micro based controllers).

                      1 Reply Last reply Reply Quote 1
                      • A Former User?
                        A Former User
                        last edited by

                        even a reed relay (as low as 6mA@3.3v) is excessive for some microcontrollers, and would still need the flyback diode.

                        the fan outputs have diodes built in, but not the heaters they're meant for resistive loads.

                        1 Reply Last reply Reply Quote 1
                        • zaptaundefined
                          zapta @core3d.tech
                          last edited by zapta

                          @core3d-tech said in Filament Sensor plus timelapse issue:

                          The relay I'm using is this guy: https://www.amazon.com/gp/product/B01M0E6SQM

                          This relay module looks as a good choice, designed for 3.3V control signal, uses 3.3V supply, and has everything you need, including the flyback diode.

                          Where did you connect the VCC input to? (should be connected to the Duet's 3.3V rail, not to the output pin that controls the relay).

                          core3d.techundefined 1 Reply Last reply Reply Quote 1
                          • Danalundefined
                            Danal
                            last edited by Danal

                            It is about current, not voltage. Per the photo those are Songle SRD-03VDC-SL-C relays. According to their datasheet, the part number specifies the lower current version, which requires 120mA to hold the coil. (The 'regular' relay is 150mA).

                            The processor on a Duet is an SAM4E8E, which per its datasheet can supply 30mA per GPIO pin (see page 1355) and 150mA across all GPIO pins combined (page 1354) as "absolute max" ratings.

                            In short, holding the coil in that relay demands about 4x what a single GPIO pin can supply... you are darn lucky you didn't fry that pin.

                            It also leaves 30mA for every other GPIO pin on the chip, combined, that are "logic high" at that moment. No surprise that some of those other pins couldn't keep themselves in their proper states.

                            To summarize: Quite rare to find a relay that a microprocessor pin can hold, directly, without the help of a transistor. Rule of thumb: Connect micro output pins to other solid-state circuitry (and even there, be aware of the current requirements); don't connect micro pins directly to physical things like relay coils, motors, etc.

                            Danalundefined zaptaundefined 3 Replies Last reply Reply Quote 0
                            • Danalundefined
                              Danal @Danal
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • Danalundefined
                                Danal @Danal
                                last edited by

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • zaptaundefined
                                  zapta @Danal
                                  last edited by zapta

                                  @danal said in Filament Sensor plus timelapse issue:

                                  It is about current

                                  I believe that those modules include an opto coupler and a transistor which drives the coil. You can see the transistor at near the upper left corner of the relay in the pictures.

                                  In other words, the duet's pin is not expected to provide the full current to drive the coil. That current comes from the VCC input which presumably is connected to the duet's 3.3V rail (presumably could also be fed with VCC = 5V).

                                  I am using a similar one for VCC=24V, but removed the opto coupler and transistor and am driving the coil directly from E2 output ( (left the flyback diode on the board) . https://www.amazon.com/gp/product/B00LW2H5GC

                                  Danalundefined 1 Reply Last reply Reply Quote 0
                                  • core3d.techundefined
                                    core3d.tech @zapta
                                    last edited by

                                    @zapta said in Filament Sensor plus timelapse issue:
                                    It was powered by the E0 end stop. I don't know (yet) where the Duet 3.3v rails starts and ends. Only the signal came from the CS5 pin.

                                    1 Reply Last reply Reply Quote 0
                                    • zaptaundefined
                                      zapta
                                      last edited by

                                      @core3d-tech , I think it's supposed to be connected like this

                                      0_1566104088958_2019-08-17_21-53-34.png

                                      You need to make sure though that the duet 3.3V rail can provide sufficient current to drive that relay (~150ma according to https://www.banggood.com/SONGLE-Mini-3V-DC-Power-Relay-SRD3VDCSLC-PCB-Type-p-926636.html?cur_warehouse=CN ). Others may know if it's ok to do it.

                                      1 Reply Last reply Reply Quote 1
                                      • A Former User?
                                        A Former User
                                        last edited by

                                        The 3v3 regulator is good for 500mA (may need to check temperature ratings), but no idea how much of that the Duet needs for itself.

                                        1 Reply Last reply Reply Quote 0
                                        • Danalundefined
                                          Danal @zapta
                                          last edited by Danal

                                          @zapta said in Filament Sensor plus timelapse issue:

                                          I am using a similar one for VCC=24V, but removed the opto coupler and transistor and am driving the coil directly from E2 output ( (left the flyback diode on the board) . https://www.amazon.com/gp/product/B00LW2H5GC

                                          Per the relay datasheet, a 24V version requires only 15mA. Will within the 30mA of which each SAM4E8E pin is capable.

                                          .

                                          Back to the original question, about the 3V version messing up the Filament sensor:

                                          @zapta is correct, if wired like it shows in his post with the hand drawn diagram (and pull the jumper cap on the relay module), that relay module should work fine.

                                          1 Reply Last reply Reply Quote 0
                                          • Danalundefined
                                            Danal
                                            last edited by Danal

                                            0_1566140719400_b4828f8a-757b-454e-a4bf-149564b82bf2-image.png

                                            I'm only about 90% certain about removing the jumper... the documentation for the relay board is confusing.

                                            0_1566140887692_2b4f485f-2b58-4fd7-934d-041d0a796401-image.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA