Controlling PWM on the E1 heater.
-
I am attempting to setup the Berd Air on my Duet WiFi. David suggested that I use the E1 heater because of the startup amps on the Berd pump.
I hooked up the Berd air to the Duet E1 Heater connector being careful about polarity. I added a fly-back diode. I went into the webcontrol app and I still did not see an option for any heater beyond heater1. I am unclear on where I should be able to control this. I went into config.g and modifed by copying the p1 lines to p2 (last two lines below). This was just a shot in the dark.
[code]
; Heaters
M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
[b][u]M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2
M143 H2 S280[/u][/b]
[/code]but still, webcontrol only saw heater 0 and heater 1. I looked for a way to add another heater in the interface, but did not see it.
What am I missing???
-
I'm not sure, but I think this may help: https://duet3d.dozuki.com/Wiki/Using_servos_and_controlling_unused_IO_pins
-
I have a Berd-Air controlled by E1 heater. This is what works for me.
config.g
M307 H2 A-1 C-1 D-1 ; Disable Heater E1 for use with the Berd-Air cooling
M106 P0 A2 S0 F30000 ; Fan 0 (Part Cooler) using Heater E1 MosfetIn config-override I have parameters for the heaters. I had to comment out the settings for E1 so the config.g settings would not be overridden. You may not have to do this step.
config-override.g
;M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0 ;Disabled for Berd-Air coolingThis allows me to use the fan slider to control the Berd-Air.
-
@insertnamehere: I am trying your method. I do not have a config-override.g in my system files, so I am copying config.g to that name and removing everything in it. I saw somewhere about using M500 or M501 in conjuction with the config-override.g file, but not sure how that pays here.
Also, I assume that the only way to create that file is to move the SD card to my computer, back everything up, create the file, and reload the SD card. Does that sound right?
@Phaedrux: what you gave me will take some time to digest, but I plan to go through it all. I'm reasonably sure it will make this whole process much clearer.
-
@phaedrux said in Controlling PWM on the E1 heater.:
https://duet3d.dozuki.com/Wiki/Using_servos_and_controlling_unused_IO_pins
That, and then using M42 to control the PWM frequency.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M42_Switch_I_O_pin
-
@crchisholm said in Controlling PWM on the E1 heater.:
I do not have a config-override.g in my system files, so I am copying config.g to that name and removing everything in it. I saw somewhere about using M500 or M501 in conjuction with the config-override.g file, but not sure how that pays here.
Config-override.g is a system file that gets created when you send M500. It's basically a way of emulating the EEPROM used in 8-bit contriollers to save custom values without recompiling. It's not meant to be a user editable file since it gets overwritten every time M500 is sent. It gets loaded by M501 which typically would go at the end of config.g. Normally it's used to save heater PID tuning results. Hence the M307s. The reason he's commented out the M307 in his config-override is because you want that pin to stay unbound, and the config-override will reset it to be a heater again.
So don't do what you were saying and move your config.g into config-override. That's not what you want to do. If you currently don't have a config-override don't even worry about it.
-
@phaedrux: Great timeing! I was just about to move the modifed SD card back to the Duet. I will instead delete the config-override.g I just created and put it back where it was.
Just to be clear, you are saying not to execute ...
In config-override I have parameters for the heaters. I had to comment out the settings for E1 so the config.g settings would not be overridden. You may not have to do this step.
config-override.g
;M307 H2 A340.0 C140.0 D5.5 S1.00 V0.0 B0 ;Disabled for Berd-Air cooling -
@crchisholm That's right. If you don't have config-override you don't need to do anything.
If you ever run a PID tuning of your heaters in the future it will suggest that you use M500 to save the settings to config-override. If you do so, it will create the config-override file and it will have values for all possible heaters, including the heater that you've unbound with
M307 H2 A-1 C-1 D-1
which would undo it. It's at that point that you would have to go into config-override and comment out that heater line to preserve your unbinding command.It sounds a little complicated, but hopefully you get what I'm saying.
-
Here's where I'm at:
- list itemI have tested the bed and extruder heaters and they work fine (although bed needs calibration)
- The berd power is hooked to the E1 connectors on the Duet
- I have added these lines to the config.g system file: M307 H2 A-1 C-1 D-1 ; Disable Heater E1 for use with the Berd-Air cooling
M106 P0 A2 S0 F30000 ; Fan 0 (Part Cooler) using Heater E1 Mosfet
I am not sure why I now have two Tool sections (see image https://imgur.com/a/erLjr26)
Still can't get any signs of life from the berd. I've tried selecting a higher value in the "active" column of "Heater 2". No joy. I tried putswith the fan 0 slider with no results.
Is there anything that suggests something I am doing wrong? I am pretty sure that all of the electronics are working as advertised, so the problem is my understanding.
-
Can you post your entire config.g?
-
@phaedrux sure can...just so you know, though, that extra header1 line was gone after restart, but still no berd activity. I did make sure the motor worked by connecting to 24v directly to test.
----------------------------------------------------------------.
; Configuration file for Duet WiFi (firmware version 1.21)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2 on Fri Feb 01 2019 16:04:24 GMT-0500 (Eastern Standard Time); General preferences
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder movesM667 S1 ; Select CoreXY mode
; Network
M550 P"Core XY" ; Set machine name
M552 S1 ; Enable network
; M587 S"BHNDVW3201B4B28" P"3c5d116a" ; Configure access point. You can delete this line once connected
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Drives
M569 P0 S0 ; Drive 0 goes backwards
M569 P1 S0 ; Drive 1 goes backwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S0 ; Drive 3 goes backwards
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M92 X80.00 Y99.3639 Z402.6845 E98.00 ; Set steps per mm
M566 X900.00 Y900.00 Z150.00 E120.00 ; Set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y6000.00 Z380.00 E1500.00 ; Set maximum speeds (mm/min)
M201 X3000.00 Y500.00 Z100.00 E10000.00 ; Set accelerations (mm/s^2)
M906 X950.00 Y950.00 Z950.00 E950.00 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 X300 Y270 Z300 S0 ; Set axis maxima; Endstops
M574 X1 Y1 Z1 S0 ; Set active low and disabled endstops; Z-Probe
;M574 Z1 S2 ; Set endstops controlled by probe
;M558 P5 H5 F0 T6000 ; Set Z probe type to switch and the dive height + speeds
;G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
;M557 X15:13 Y15:195 S20 ; Define mesh grid; Heaters
M305 P0 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 0
M143 H0 S120 ; Set temperature limit for heater 0 to 120C
M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H1 S280 ; Set temperature limit for heater 1 to 280C
M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
M143 H2 S280; Fans
M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on; Tools
M563 P0 D0 H1 ; 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; Automatic power saving
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss; Attempt to control heater2
M307 H2 A-1 C-1 D-1 ; Disable Heater E1 for use with the Berd-Air cooling
M106 P0 A2 S0 F30000 ; Fan 0 (Part Cooler) using Heater E1 Mosfet; Custom settings are not configured -
Are you running firmware 2.02?
-
@dc42 It appears that I am running 2.01. Is that a bad thing?
-
@crchisholm might not be a bad idea to update to 2.02
-
@phaedrux I have started trying to understand the process of upgrading the firmware and have determined that I only know enough to get myself into trouble. There is a lot of docs on this, but they are kinda going in many directions at once, and until I get a better handle on this, I am not going to do the upgrade from 2.01 to 2.02.
I ordered a PWM controller from TheMakerHive which should allow me to hook the air pump directly to the p/s and control the speed though that control. It's the cowards way out, but I have gone to very great pains to get as far as I am have and I just not confident enough to make the leap.
I will come back to this when I grow a pair
-
@crchisholm Upgrading to 2.02 should be quite easy. I think all you'll need to do is upload this single zip file through the DWC settings tab upload files button. Don't extract it or anything first, just upload the whole zip file. The system should ask you if you want to update the firmware and restart. It will update the firmware, the wifi firmware, and the DWC all together. Easiest Duet update yet.
https://github.com/dc42/RepRapFirmware/releases/download/2.02/Duet2Firmware-2.02a.zip
-
@phaedrux
Ok, I think this might be one of those cases where the only thing as bad as lack of info is too much info. I just got a little over-whelmed.I will go ahead and do the firmware update tomorrow. Thanks for the encouragement.
-
@crchisholm said in Controlling PWM on the E1 heater.:
@dc42 It appears that I am running 2.01. Is that a bad thing?
In my reply to the very similar question on the RepRap forum (which I assume was also from you) I mentioned that you need to use firmware 2.02 in order to be able to map a fan to a heater output.
-
Please forgive me. I am visually impaired and must use very large fonts, so what might be a half screen of info for someone else might be four screens worth for me. I miss things sometimes. I will try to be more careful.
-
I went and checked, and you are right. I completely missed the part about v2.02. I am very sorry.