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

    1HCL 1.0 closed loop controller

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    7
    54
    2.6k
    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.
    • supertb1undefined
      supertb1 @Phaedrux
      last edited by

      @phaedrux status light.jpg
      No response, and to boot the status light on the main board is dimly lit, the status on the 1HLC boards are flashing red....so at this point is my best coarse of action to connect my computer directly to the Main Board and use BOSSA to flash the firmware? or am I someplace else?
      what is the correct board sequence to flash? What have I done to this thing? so exciting to have messed this thing up and now I get to learn how to fix it😵 😨 😰 😬 🤔 😟

      1 Reply Last reply Reply Quote 0
      • supertb1undefined
        supertb1 @Phaedrux
        last edited by

        @phaedrux one last thing, while using BOSSA what is the correct order to install the software?

        Phaedruxundefined 1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @supertb1
          last edited by

          @supertb1 said in 1HCL 1.0 closed loop controller:

          @phaedrux one last thing, while using BOSSA what is the correct order to install the software?

          I'm not sure what you mean by correct order. Have you looked at this link yet? https://docs.duet3d.com/en/User_manual/RepRapFirmware/Updating_firmware

          Z-Bot CoreXY Build | Thingiverse Profile

          supertb1undefined 1 Reply Last reply Reply Quote 0
          • supertb1undefined
            supertb1 @Phaedrux
            last edited by

            @phaedrux Have you guys made a video someplace demonstrating a BOSSA or other method of erasure through firmware install... this is making me a little nervous never having done this before

            1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator
              last edited by Phaedrux

              It's pretty straightforward.

              https://docs.duet3d.com/en/User_manual/RepRapFirmware/Updating_firmware#fallback-procedure-2

              Fit the erase jumper, power it up, remove the jumper. The firmware is erased and will show up as a bossa port.
              Select the port in Bossa, select the firmware file, select the options to match those shown in the picture and flash and verify.

              You can't damage the board with a firmware update even if it fails in the middle.

              Z-Bot CoreXY Build | Thingiverse Profile

              supertb1undefined 2 Replies Last reply Reply Quote 0
              • supertb1undefined
                supertb1 @Phaedrux
                last edited by

                @phaedrux is the diagnostic light rite next to the micro USB port?

                1 Reply Last reply Reply Quote 0
                • supertb1undefined
                  supertb1 @Phaedrux
                  last edited by

                  @phaedrux positive responce.jpg OK I used BOSSA to install Duet3Firmware_MB6HC... not Duet2and3Firmware-3.4.0 and it worked... I have access to DWC... so is it at this point I can install Duet2and3Firmware-3.4.0 or is there something else I should do to make sure I don't have another system lock up.

                  1 Reply Last reply Reply Quote 0
                  • Phaedruxundefined
                    Phaedrux Moderator
                    last edited by

                    If you now have access to DWC you can upload the full 3.4 zip file to ensure you have all the right files in place for future updates.

                    https://github.com/Duet3D/RepRapFirmware/releases/download/3.4.0/Duet2and3Firmware-3.4.0.zip

                    Upload that zip file as is to the system tab in DWC. Don't extract it first. Once done, check the firmware version again with M115. It may prompt to update any attached expansion boards as well. You can check those with M115 B# where # is the CAN bus address of the expansion board.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    supertb1undefined 3 Replies Last reply Reply Quote 0
                    • supertb1undefined
                      supertb1 @Phaedrux
                      last edited by

                      @phaedrux revision 1.01a.jpg

                      Same errors as before, it is Duet2and3Firmware-3.4.0 causing the system to lock up, I'm going to start over here, this next time I will record and post a youtube video of the update as it happens. Hopefully I can glean some idea as to why or when exactly the fail happens. unless you have a better idea?

                      1 Reply Last reply Reply Quote 0
                      • supertb1undefined
                        supertb1 @Phaedrux
                        last edited by

                        @phaedrux do you think it would help to disconnect everything from the board except the panel Due?

                        1 Reply Last reply Reply Quote 0
                        • supertb1undefined
                          supertb1 @Phaedrux
                          last edited by

                          @phaedrux I erased the board again and then used BOSSA to re-install Duet3Firmware_MB6HC.bin. At startup the first error I get on my panel due is "ERROR Bad model parameters". Then it posts the IP address and then it posts connected.

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @supertb1
                            last edited by

                            @supertb1 said in 1HCL 1.0 closed loop controller:

                            At startup the first error I get on my panel due is "ERROR Bad model parameters".

                            That suggests a problem with one of your M307 commands in config.g, or a missing M307 command.

                            Duet WiFi hardware designer and firmware engineer
                            Please do not ask me for Duet support via PM or email, use the forum
                            http://www.escher3d.com, https://miscsolutions.wordpress.com

                            supertb1undefined 1 Reply Last reply Reply Quote 0
                            • supertb1undefined
                              supertb1 @dc42
                              last edited by

                              @dc42 ; General preferences
                              M575 P1 S1 B57600 ; enable support for PanelDue
                              G90 ; send absolute coordinates...
                              M83 ; ...but relative extruder moves
                              M550 P"Hemera" ; set printer name

                              ; Network
                              M552 P192.168.1.74 S1 ; enable network and acquire dynamic address via DHCP
                              M586 P0 S1 ; enable HTTP
                              M586 P1 S0 ; disable FTP
                              M586 P2 S0 ; disable Telnet

                              ; Drives
                              G4 S1 ;wait for expansion boards to start
                              M569.1 P50.0 T2 C5 E5:10 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
                              M569.1 P51.0 T2 C5 E5:10 ; Configure the 1HCL board at CAN address 51 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
                              M569 P50.0 D4 S1 ; Configure the motor on the 1HCL at can address 50 as being in closed-loop drive mode (D4), Open loop (D2) and not reversed (S1) X axis
                              M569 P51.0 D4 S1 ; Configure the motor on the 1HCL at can address 51 as being in closed-loop drive mode (D4), Open loop (D2) and not reversed (S1) Y axis
                              M569 P0.0 S1 ; physical drive 0.0 goes forwards
                              M569 P0.1 S1 ; physical drive 0.1 goes forwards
                              M584 X50.0 Y51.0 Z0.0 E0.1 ; set drive mapping
                              M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
                              M92 X106.50 Y106.50 Z400.00 E420.00 ; set steps per mm
                              M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
                              M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
                              M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
                              M906 X1000 Y1000 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                              M84 S30 ; Set idle timeout
                              M917 X10 Y10 ; Set the closed loop axes to have a holding current of zero

                              ; Axis Limits
                              M208 X0 Y0 Z0 S1 ; set axis minima
                              M208 X235 Y235 Z235 S0 ; set axis maxima

                              ; Endstops
                              M574 X1 S1 P"io1.in" ; configure active-high endstop for low end on X via pin !^io1.in
                              M574 Y1 S1 P"io2.in" ; configure active-high endstop for low end on Y via pin !^io2.in
                              M574 Z1 S2 ; configure Z-probe endstop for low end on Z
                              M591 D0 P7 C"io5.in" L7 R55:150 E22 S1 ;Bigtree smart filament moniter v2 set to moniter between 55%-150% of 7 counts over a distance of 22mm

                              ; Z-Probe
                              M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
                              M558 P9 C"io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
                              G31 P500 X60 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
                              M557 X15:200 Y15:200 S20 ; define mesh grid

                              ; Heaters
                              M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 Bed Heater
                              M950 H0 C"out1" T0 ; create bed heater output on out1 and map it to sensor 0
                              M307 H0 B1 S5.00 ; enable 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"temp1" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin temp1
                              M950 H1 C"out2" T1 ; create nozzle heater output on out2 and map it to sensor 1
                              M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
                              M143 H1 S280 ; set temperature limit for heater 1 to 280C

                              ; Fans
                              M950 F0 C"out8" Q500 ; create fan 0 on pin out8 and set its frequency
                              M106 P0 C"Tool Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off
                              ;M950 F1 C"out6" Q500 ; create fan 1 on pin out6 and set its frequency
                              M950 F1 C"!out6+out6.tach" ; Fan 1 uses out6, but we are using a PWM fan so the output needs to be inverted, and using out6.tach as a tacho input
                              M950 F2 C"out7" Q500 ; create fan 2 on pin out7 and set its frequency
                              M106 P1 C"Extruder" S1 H1 T50 ; set fan 1 name and 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 are not defined

                              ; Miscellaneous
                              M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

                              dc42undefined 1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @supertb1
                                last edited by

                                @supertb1 looks like you haven't run M303 heater tuning on either of your heaters, so you have incomplete M307 commands.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                supertb1undefined 3 Replies Last reply Reply Quote 0
                                • supertb1undefined
                                  supertb1 @dc42
                                  last edited by

                                  @dc42 OK thanks... I will get that done... any idea why Duet2and3Firmware-3.4.0 is causing the board to lock up? or do you think the heater tune is the answer?

                                  1 Reply Last reply Reply Quote 0
                                  • supertb1undefined
                                    supertb1 @dc42
                                    last edited by

                                    @dc42 This is what I came up with on my heater calibrations:
                                    M307 H0 R0.395 K0.368:0.000 D5.05 E1.35 S1.00 B0
                                    M307 H1 R4.905 K0.241:0.035 D7.64 E1.35 S1.00 B0 V24.0
                                    Do I try and perform Duet2and3Firmware-3.4.0.zip again? or is there something else I need to do?

                                    Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                    • Phaedruxundefined
                                      Phaedrux Moderator @supertb1
                                      last edited by Phaedrux

                                      @supertb1 said in 1HCL 1.0 closed loop controller:

                                      Do I try and perform Duet2and3Firmware-3.4.0.zip again? or is there something else I need to do?

                                      Just to verify, you are uploading the whole zip file to the system tab in DWC? Correct?

                                      Can you send M122 and M98 P"config.g" in the gcode console and copy and paste the results here?

                                      Are you using a raspberry pi?

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      supertb1undefined 1 Reply Last reply Reply Quote 0
                                      • supertb1undefined
                                        supertb1 @Phaedrux
                                        last edited by

                                        @phaedrux
                                        To answer your question I am using the DWC to upload the Zip file as is with out unziping it in any way and no there is no Raspberry Pi or any other kind of USB handler. It is strictly Duet equipment in a stand alone format in the control box. Incedently I did get a good response back on the Y axis in closed loop so I am excited to get to that part. Let me know your thoughts please.
                                        M122
                                        === Diagnostics ===
                                        RepRapFirmware for Duet 3 MB6HC version 3.4.0 (2022-03-15 18:57:24) running on Duet 3 MB6HC v1.01 or later (standalone mode)
                                        Board ID: 08DJM-956BA-NA3TJ-6J9F2-3SD6J-9B9AT
                                        Used output buffers: 1 of 40 (13 max)
                                        === RTOS ===
                                        Static ram: 151000
                                        Dynamic ram: 96256 of which 0 recycled
                                        Never used RAM 103416, free system stack 200 words
                                        Tasks: NETWORK(ready,25.4%,237) ETHERNET(notifyWait,0.0%,184) HEAT(notifyWait,0.0%,321) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,797) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,339) TMC(notifyWait,8.0%,92) MAIN(running,66.4%,1101) IDLE(ready,0.1%,30), total 100.0%
                                        Owned mutexes:
                                        === Platform ===
                                        Last reset 00:01:45 ago, cause: power up
                                        Last software reset at 2022-04-19 16:25, reason: User, GCodes spinning, available RAM 103216, slot 2
                                        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a
                                        Error status: 0x00
                                        Aux0 errors 0,0,0
                                        Step timer max interval 127
                                        MCU temperature: min 19.7, current 30.8, max 31.0
                                        Supply voltage: min 24.2, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
                                        12V rail voltage: min 12.0, current 12.1, max 12.2, under voltage events: 0
                                        Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
                                        Events: 0 queued, 0 completed
                                        Driver 0: standstill, SG min 0, mspos 8, reads 59917, writes 14 timeouts 0
                                        Driver 1: standstill, SG min 0, mspos 8, reads 59917, writes 14 timeouts 0
                                        Driver 2: standstill, SG min 0, mspos 8, reads 59920, writes 11 timeouts 0
                                        Driver 3: standstill, SG min 0, mspos 8, reads 59920, writes 11 timeouts 0
                                        Driver 4: standstill, SG min 0, mspos 8, reads 59920, writes 11 timeouts 0
                                        Driver 5: standstill, SG min 0, mspos 8, reads 59921, writes 11 timeouts 0
                                        Date/time: 2022-04-19 20:48:29
                                        Slowest loop: 2.39ms; fastest: 0.05ms
                                        === Storage ===
                                        Free file entries: 10
                                        SD card 0 detected, interface speed: 25.0MBytes/sec
                                        SD card longest read time 1.5ms, write time 0.0ms, max retries 0
                                        === Move ===
                                        DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
                                        === MainDDARing ===
                                        Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                        === AuxDDARing ===
                                        Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                                        === Heat ===
                                        Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                                        === GCodes ===
                                        Segments left: 0
                                        Movement lock held by null
                                        HTTP is idle in state(s) 0
                                        Telnet is idle in state(s) 0
                                        File is idle in state(s) 0
                                        USB is idle in state(s) 0
                                        Aux is idle in state(s) 0
                                        Trigger is idle in state(s) 0
                                        Queue is idle in state(s) 0
                                        LCD is idle in state(s) 0
                                        SBC is idle in state(s) 0
                                        Daemon is idle in state(s) 0
                                        Aux2 is idle in state(s) 0
                                        Autopause is idle in state(s) 0
                                        Code queue is empty
                                        === Filament sensors ===
                                        Extruder 0 sensor: no data received
                                        === CAN ===
                                        Messages queued 957, received 1698, lost 0, boc 0
                                        Longest wait 6ms for reply type 6018, peak Tx sync delay 6, free buffers 50 (min 49), ts 526/525/0
                                        Tx timeouts 0,0,0,0,0,0
                                        === Network ===
                                        Slowest loop: 4.39ms; fastest: 0.02ms
                                        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
                                        HTTP sessions: 1 of 8

                                        • Ethernet -
                                          State: active
                                          Error counts: 0 0 1 0 0
                                          Socket states: 5 2 2 2 2 0 0 0

                                          M98 P"config.g"
                                          HTTP is enabled on port 80
                                          FTP is disabled
                                          TELNET is disabled

                                        M122 B50.0
                                        Diagnostics for board 50:
                                        Duet EXP1HCL firmware version 3.4.0 (2022-03-15 08:58:59)
                                        Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
                                        All averaging filters OK
                                        Never used RAM 52288, free system stack 192 words
                                        Tasks: Move(notifyWait,0.0%,152) HEAT(notifyWait,0.0%,88) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,72) TMC(notifyWait,34.6%,360) CLSend(notifyWait,0.0%,152) MAIN(running,63.7%,407) IDLE(ready,0.0%,30) AIN(notifyWait,1.7%,265), total 100.0%
                                        Last reset 00:04:37 ago, cause: power up
                                        Last software reset data not available
                                        Closed loop enabled: yes, pre-error threshold: 5.00, error threshold: 10.00, encoder type rotaryQuadrature, reverse polarity: no, position 1, raw count = 0, tuning mode: 0, tuning error: 0x1, collecting data: no
                                        Control loop runtime (ms): min=0.003, max=0.012, frequency (Hz): min=11364, max=17045
                                        Driver 0: pos 0, 106.5 steps/mm,not tuned, SG min 0, mspos 8, reads 2343, writes 34 timeouts 0, steps req 0 done 0
                                        Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
                                        Peak sync jitter -7/7, peak Rx sync delay 195, resyncs 0/0, no step interrupt scheduled
                                        VIN voltage: min 24.3, current 24.3, max 24.4
                                        V12 voltage: min 12.1, current 12.1, max 12.1
                                        MCU temperature: min 22.7C, current 25.6C, max 25.8C
                                        Last sensors broadcast 0x00000000 found 0 45 ticks ago, 0 ordering errs, loop time 0
                                        CAN messages queued 2258, send timeouts 0, received 2511, lost 0, free buffers 37, min 37, error reg 0
                                        dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0

                                        M122 B51.0
                                        Diagnostics for board 51:
                                        Duet EXP1HCL firmware version 3.4.0 (2022-03-15 08:58:59)
                                        Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
                                        All averaging filters OK
                                        Never used RAM 52288, free system stack 182 words
                                        Tasks: Move(notifyWait,0.0%,152) HEAT(notifyWait,0.0%,88) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,72) TMC(notifyWait,34.6%,360) CLSend(notifyWait,0.0%,152) MAIN(running,63.7%,417) IDLE(ready,0.0%,30) AIN(notifyWait,1.7%,265), total 100.0%
                                        Last reset 00:05:21 ago, cause: power up
                                        Last software reset data not available
                                        Closed loop enabled: yes, pre-error threshold: 5.00, error threshold: 10.00, encoder type rotaryQuadrature, reverse polarity: no, position 1, raw count = 0, tuning mode: 0, tuning error: 0x1, collecting data: no
                                        Control loop runtime (ms): min=0.003, max=0.011, frequency (Hz): min=11364, max=17442
                                        Driver 0: pos 0, 106.5 steps/mm,not tuned, SG min 0, mspos 8, reads 655, writes 34 timeouts 0, steps req 0 done 0
                                        Moves scheduled 0, completed 0, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
                                        Peak sync jitter -4/4, peak Rx sync delay 195, resyncs 0/0, no step interrupt scheduled
                                        VIN voltage: min 24.3, current 24.3, max 24.4
                                        V12 voltage: min 12.2, current 12.2, max 12.2
                                        MCU temperature: min 22.1C, current 25.8C, max 25.8C
                                        Last sensors broadcast 0x00000000 found 0 140 ticks ago, 0 ordering errs, loop time 0
                                        CAN messages queued 2610, send timeouts 0, received 2909, lost 0, free buffers 37, min 37, error reg 0
                                        dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0

                                        1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator
                                          last edited by

                                          At least it looks like all of the boards are up to date now, so it did apply the firmware.

                                          It may help to see a video of the entire firmware zip file upload process so we can see what it's doing along the way.

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          supertb1undefined 2 Replies Last reply Reply Quote 0
                                          • supertb1undefined
                                            supertb1 @Phaedrux
                                            last edited by

                                            @phaedrux https://www.youtube.com/watch?v=N9KXrUuBpnk
                                            It took this time... thank god... ok so I tried to home my "X" axis in closed loop and it failed to home properly. The console reports:
                                            4/20/2022, 3:31:42 PM Error: Driver 50.0 error: failed to maintain position
                                            4/20/2022, 3:31:41 PM Warning: Driver 50.0 warning: tuning failed
                                            Warning: Driver 50.0 new tuning error(s): The measured motion was inconsistent.
                                            4/20/2022, 3:31:40 PM Error: Driver 50.0 error: failed to maintain position
                                            4/20/2022, 3:31:37 PM Error: Driver 50.0 error: failed to maintain position
                                            Error: Driver 50.0 error: failed to maintain position

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