Firmware 1.19 provisional feature list
-
With firmware version 1.18 close to release, I am planning the next one. Firmware 1.19 will most likely be a release for the Duet WiFi and Duet Ethernet only, with the following features:
Duet WiFi
- New DuetWiFiServer module with HTTP server functionality moved to the SAM processor.
- WiFi configuration will be done using data held in a protected file on the SD card.
- Option to run as an access point while supporting DWC.
- DuetWebControl files will be held on the SD card as they are for the older Duets and the Duet Ethernet.
- FTP and Telnet will be supported.
- The file download option in DWC will prompt you to save the file, as it does with the other Duets
Duet Ethernet
- FTP support will be completed.
Both
- Continuous monitoring of stepper driver over-temperature warning and error status.
- Increase in maximum motor current, probably to 2.4A. Current will be reduced automatically in response to over-temperature warnings.
- Ability to control fans thermostatically in response to CPU temperature and stepper driver over-temperature warnings.
-
This reads as if the stepper driver temperature monitoring will be limited to over temperature warnings and not actual temperature. Is that the case?
I'm just thinking that it'd be better to have fans come on before the over temperature warning threshold is reached. That's how I currently do it with thermistors stuck to the chips (one on the Duet and one on the Duex5) with epoxy and the fans set to come on at 45deg C which works really well. For info, on my CoreXY with fans configured this way and blowing air onto the back of the board when a stepper driver gets to 45 degC, the CPU never gets above about 35 deg C.
-
I don't believe the stepper drivers have temperature measurements, aside from single bits that get set (driver is hot, driver in thermal shutdown).
But for practical purposes, engaging a fan when the driver is hot bit gets set should do fine.
-
The stepper drivers provide two status bits. One warns that the temperature has exceeded about 100C but normal operation is still being maintained. The other says that temperature has exceeded about 150C and the driver has shut down.
I haven't finalised the details, but what I am considering is:
1. An option to turn the electronics cooling fan full on when any driver reports over temperature warning. The same fan would typically also be configured to turn on if the reported CPU temperature gets too high.
2. Where the over temperature warning continues despite turning a fan on, automatically reduce the corresponding motor current by 100mA. If the over temperature warning persists, reduce it by another 100mA. And so on, with a lower limit of about 1.8A.
-
That sounds like a nice approach. Maybe scale back accelerations as well?
-
- New DuetWiFiServer module with HTTP server functionality moved to the SAM processor.
- WiFi configuration will be done using data held in a protected file on the SD card.
- DuetWebControl files will be held on the SD card as they are for the older Duets and the Duet Ethernet.
Will this affect high microstepping print performance and maximum step pulse rates? I am talking about possible print freezes during accessing Web interface. Or this will run in low-priority modes?
-
Edit. Ref stepper driver temperature.
Sounds good. I guess you'd have to monitor all 5 driver chips and turn the fan on if any one of them gave an over temperature warning, but what about backing off the current if one driver persisted with high temperature but the rest were OK?
It could start to get complicated. If for example you have a CoreXY, I'd guess you wouldn't want to back of just one of the XY motors but would need to do them both? It's quite possible that doing diagonal infill on a large object, a single motor could be doing all the work and get hot but the other could be quite cool. When "normal" printing resumes, you'd need both motors so having one set to a lower current than the other might cause issues? But then if you backed off the current to all the motors, and you have a heavy bed, the Z motor will likely struggle so that ought to be left on full current unless it's too hot (unlikely as it doesn't move much on a CoreXY or Cartesian). As I said, it could get complicated.
I guess the other thing to consider is the Duex expansion board. Would you treat that as a separate entity with it's own fan?
-
- New DuetWiFiServer module with HTTP server functionality moved to the SAM processor.
- WiFi configuration will be done using data held in a protected file on the SD card.
- DuetWebControl files will be held on the SD card as they are for the older Duets and the Duet Ethernet.
Will this affect high microstepping print performance and maximum step pulse rates? I am talking about possible print freezes during accessing Web interface. Or this will run in low-priority modes?
The interrupt used to generate step pulses has a higher priority than everything else except the system tick and the UART. So no. The Duet 085 has always run the entire web server and TCP/IP stack on the main processor, without any problems of this type.
-
Edit. Ref stepper driver temperature.
Sounds good. I guess you'd have to monitor all 5 driver chips and turn the fan on if any one of them gave an over temperature warning, but what about backing off the current if one driver persisted with high temperature but the rest were OK?
It could start to get complicated. If for example you have a CoreXY, I'd guess you wouldn't want to back of just one of the XY motors but would need to do them both? It's quite possible that doing diagonal infill on a large object, a single motor could be doing all the work and get hot but the other could be quite cool. When "normal" printing resumes, you'd need both motors so having one set to a lower current than the other might cause issues? But then if you backed off the current to all the motors, and you have a heavy bed, the Z motor will likely struggle so that ought to be left on full current unless it's too hot (unlikely as it doesn't move much on a CoreXY or Cartesian). As I said, it could get complicated.
I guess the other thing to consider is the Duex expansion board. Would you treat that as a separate entity with it's own fan?
These are all details that need to be considered in the design. I think it is reasonable to accept some reduction in print quality if the motor currents need to be reduced, because if that happens then you really need to reduce motor current setting or improve cooling. At least there is a chance of still getting a completed print, whereas if we let it hit the second limit then you will lose the print (as you do with other types of stepper driver).
I was planning to treat the DueX5 as a separate unit for temperature control purposes.
-
Sounds like a very good target feature list for 1.19.