3HC Documenation
-
https://duet3d.dozuki.com/Wiki/Duet_3_Expansion_Hardware_Overview
https://duet3d.dozuki.com/Wiki/Duet_3_Expansion_3HC_Wiring_Diagram
https://duet3d.dozuki.com/Wiki/CAN_connection
https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3Most information you are looking for isn't specific to the 3HC. The main Duet 3 docs and the canbus docs should get you started.
Using the config tool allows you to add expansion boards and map drives and heaters etc.
-
Phaedrux thank you
I have been looking over that information and was hoping I was missing something.
I don't understand how to get the 3HC board working. I am running 3.1.1 version on the MB6HC. I just pulled the 3HC out of the box and plugged it into the can bus cord and hooked power to it. All I see is a flashing red led with no pause. Both jumpers are installed. Pin one is on and I get no response from the 3HC board.
I have used the online reprap config to aid in the setup so I have that part I think.
Thank you
Darrin -
Post your config.g and the results of sending M122, M122 B1, and M98 P"config.g" please.
-
Please see the following, and thank you.
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956BA-NA3TJ-6JTD0-3SN6S-1BALV
Used output buffers: 1 of 40 (13 max)
=== RTOS ===
Static ram: 154604
Dynamic ram: 163208 of which 72 recycled
Exception stack ram used: 272
Never used ram: 75060
Tasks: NETWORK(ready,1968) HEAT(blocked,1188) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1436) TMC(blocked,192) MAIN(running,4552) IDLE(ready,76)
Owned mutexes:
=== Platform ===
Last reset 00:06:00 ago, cause: power up
Last software reset at 2021-02-09 21:40, reason: User, spinning module LinuxInterface, available RAM 75060 bytes (slot 3)
Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
Error status: 0
MCU temperature: min 29.3, current 29.4, max 29.6
Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.2, current 12.2, max 12.3, under voltage events: 0
Driver 0: standstill, reads 63683, writes 0 timeouts 0, SG min/max not available
Driver 1: standstill, reads 63682, writes 0 timeouts 0, SG min/max not available
Driver 2: standstill, reads 63683, writes 0 timeouts 0, SG min/max not available
Driver 3: standstill, reads 63682, writes 0 timeouts 0, SG min/max not available
Driver 4: standstill, reads 63683, writes 0 timeouts 0, SG min/max not available
Driver 5: standstill, reads 63682, writes 0 timeouts 0, SG min/max not available
Date/time: 2021-02-10 16:22:27
Slowest loop: 3.85ms; fastest: 0.24ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
Bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== AuxDDARing ===
Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
=== Heat ===
Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 1 is on, I-accum = 0.0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is ready with "M122" 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.
=== Network ===
Slowest loop: 0.47ms; fastest: 0.01ms
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: 0 of 8- Ethernet -
State: disabled
Error counts: 0 0 0 0 0
Socket states: 0 0 0 0 0 0 0 0
=== Filament sensors ===
Extruder 0 sensor: no filament
=== CAN ===
Messages sent 52, longest wait 0ms for type 0
=== Linux interface ===
State: 0, failed transfers: 4
Last transfer: 19ms ago
RX/TX seq numbers: 10757/10758
SPI underruns 4, overruns 4
Number of disconnects: 0
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.1.1
Code buffer space: 4096
Configured SPI speed: 8000000 Hz
Full transfers per second: 31.94
M122 B1
Error: M122: Response timeout: CAN addr 1, req type 6024, RID=10M98 P"config.g"
Error: M569: Response timeout: CAN addr 1, req type 6018, RID=11
Error: M569: Response timeout: CAN addr 1, req type 6018, RID=12
Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 277C
Warning: M307: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 602C
Error: M308: Response timeout: CAN addr 1, req type 6011, RID=13
Error: M950: Response timeout: CAN addr 1, req type 6026, RID=14
Error: M307: Heater 2 not found
Error: M143: Heater 2 does not exist
Error: M950: Response timeout: CAN addr 1, req type 6027, RID=16
Error: M106: Fan number 2 not found
Error: M950: Response timeout: CAN addr 1, req type 6027, RID=18
Error: M106: Fan number 3 not found
Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 277CSimple filament sensor on pin io8.in, enabled, output high when no filament, filament present: no
; Configuration file for Duet 3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Wed Nov 04 2020 17:27:13 GMT-0600 (Central Standard Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Duet 3" ; set printer name; Drives
M569 P0.0 S0 ; physical drive 0.0 goes forwards
M569 P0.2 S1 ; physical drive 0.2 goes forwards
M569 P0.3 S0 ; physical drive 0.3 goes backwards
M569 P0.5 S0 ; physical drive 0.5 goes forwards
M569 P0.4 S0 ; physical drive 0.4 goes backwards
M569 P0.1 S0 ; physical drive 0.1 goes forwards
M569 P1.0 S1 ; physical drive 1.0 goes forwards
M569 P1.0 S1 ; physical drive 1.0 goes forwards
M584 X0:1 Y2 Z3:4 E5:0.1:0.4:0.1 ; assign stepper motor channels
M350 X16 Y16 Z16 E16:16:16:16 I1 ; configure microstepping with interpolation
M92 X64.05 Y64.05 Z800.00 E425.00:800.00:65.00:425.00 ; set steps per mm
M566 X300.00 Y300.00 Z24.00 E300.00:24.00:300.00:300.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z300.00 E1200.00:300.00:18000.00:1200.00 ; set maximum speeds (mm/min)
M201 X700.00 Y700.00 Z100.00 E250.00:100.00:700.00:250.00 ; set accelerations (mm/s^2)
M906 X2800 Y2800 Z2800 E800:2800:2800:800 I50 ; 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 X625 Y711 Z515 S0 ; set axis maxima; Endstops
M574 X1 S1 P"io1.in+io2.in" ; configure active-high endstop for low end on X via pin io1.in
M574 Y1 S1 P"io3.in" ; configure active-high endstop for low end on Y via pin io2.in
M574 Z1 S1 P"io4.in+io5.in" ; configure active-high endstop for low end on Z via pin io4.in; Z-Probe
M558 P5 C"!^io7.in" H5 F520 T7200 ; set Z probe type to switch and the dive height + speeds
G31 P1000 X-2 Y50.94 Z0.790 ; set Z probe trigger value, offset and trigger height
M557 X78:550 Y70:600 S40 ; define mesh grid; Heaters
M308 S0 P"temp0" Y"thermistor" T100000 B4700 ; configure sensor 0 as thermistor on pin temp0
M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
;M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 Use PID on bed heater
M307 H0 A252.2 C635.5 D7.0 S1.0 V0.0 B0 ; enable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S150 ; set temperature limit for heater 0 to 150C
M308 S1 P"temp1" Y"thermistor" T500000 B5100 C1.19622e-7 ; configure sensor 1 as thermistor on pin temp1
M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
M307 H1 A577.4 C221.2 D5.8 S1.0 V23.9 B0 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S450 ; set temperature limit for heater 1 to 450C
M308 S2 P"1.temp1" Y"thermistor" T500000 B4723 C1.19622e-7 ; configure sensor 2 as thermistor on pin 1.temp1
M950 H2 C"1.out0" T2 ; create nozzle heater output on 1.out0 and map it to sensor 2
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M143 H2 S500 ; set temperature limit for heater 2 to 500C; Fans
M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
M106 P1 S1 H1 T50 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"1.out6" Q500 ; create fan 2 on pin 1.out6 and set its frequency
M106 P2 S1 H1:2 T45 ; set fan 2 value. Thermostatic control is turned on
M950 F3 C"1.out7" Q500 ; create fan 3 on pin 1.out7 and set its frequency
M106 P3 S1 H1:2 T45 ; set fan 3 value. Thermostatic control is turned on; Tools
M563 P0 S"Left " 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
M563 P1 S"Right" D1 H2 F0 ; define tool 1
G10 P1 X0 Y27.94 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C; Custom settings
M376 H10
; Miscellaneous
M575 P1 S1 B57600 ; enable support for PanelDue
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
M591 D0 P2 C" io8.in" S1 ; filament switch High when filament present
M591 D0 ; display filament sensor parameters for extruder drive 0
T0 ; select first tool - Ethernet -
-
https://duet3d.dozuki.com/Wiki/CAN_connection#Section_Setting_CAN_addresses
You'll need to configure the dip switches on the 3HC to define the address of the board. By default it's 126, but it makes more sense to configure it to 1 if it's your first and only expansion board.
Then in your config.g you need to modify any config commands that target that board.
For example, in M584 to setup a driver as X on the expansion board you would use M584 X1.0
This is automatically done by the config tool if you've chosen to add it and assign things to it. And this seems to be the case because your config already has similar things:
M950 F3 C"1.out7" Q500 ; create fan 3 on pin 1.out7 and set its frequency
1.out7 for instance.
Once you set the dip switches to set the can address to 1 your config shouldn't give so many errors when you send M98 P"config.g"
Hope that makes sense.
-
I have it set that way I think? Pin one is on and pin 2,3,4 are off. Is that not correct?
-
-
@Work-Horse-XL also the Diag LED just flashes rapidly and never pauses.
-
You're using SBC mode, can you please try updating?
sudo apt update && sudo apt full-upgrade
That looks correct in the photo.
-
Is that where you hook a keyboard,mouse and monitor to the pi and use the tremial window after you put the files on the sd card with DWC? I'm powering the pi with the duet3. Will that work for power? I do not really understand the PI process. I just use it for WIFI on the board.
Thank you for the help.
-
You don't have to connect a keyboard, mouse, monitor to the Pi. You can also use remote terminal software (SSH) to connect to the command line terminal and update it that way.
Powering the Pi from the Duet may work for a Pi3, but is not recommended for a Pi4, or if you have any USB peripherals attached to the Pi.
I suggest you review the getting started guides
https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3
https://duet3d.dozuki.com/Wiki/SBC_Setup_for_Duet_3 -
@Phaedrux I have update the main board to 3.2 and put all the 3HC files in the system folder. There is still no can bus communication to the 3HC board.
-
Did the can bus cable come with the Duet or was it procured separately?
-
@Phaedrux The cable did not come with it but that was the problem. It was bad. I found a 15' cable and hooked it up and it is working now. Wow! what a mess. Thank you for helping me.
-
Glad you got it working.