Welcome! Log In Create A New Profile

Advanced

Warning (knowledge): Arduino DUE for 3D printers

Posted by lanserge 
Warning (knowledge): Arduino DUE for 3D printers
January 31, 2019 02:13PM
Arduino DUE is good board but it has different behaviour at some points comparing to Mega.
I am writing this to those who design electronics for DUE.

I am using DUE in two of my printers with my own board and after one dangerous fail I am happy to share the knowledge.

Basically the most dangerous part is default state of the pins on DUE when the board fails to load (this happened to me just once).
They all will go high after reset. And most interesting part is the 100k pull-down resistors will not help.
With 100k pull-down resistor (same as on RAMPS board) the voltage on pins will stay at about 1.6V.
For logic MOSFET that switch above 1V this will still result in fire.
Looks like internally the default state has 100k pull-ups to 3.3v.
The solution is to use 10k pull-downs they will put voltage to about 0.3v (and this what I measured).

Basically I discovered all this after I put not properly flashed DUE into my printer.
It obviously not loaded and default pin states became HIGH and all my heaters became switched ON.
The smoke came really fast.

The same problem should exist for RAMPS+DUE.
I just checked schematics for RAMPS-FD and they use transistors that inverts logic with 10k pull-ups inputs so should be double-safe.
Re: Warning (knowledge): Arduino DUE for 3D printers
January 31, 2019 02:34PM
Who ever designed the board you put on the Due, didn't design the board correctly.
Re: Warning (knowledge): Arduino DUE for 3D printers
January 31, 2019 03:03PM
This is exactly why all Duet boards use active-low outputs from the microcontroller to control the heaters. But you are right, the internal pullup resistors (nominally 100K, minimum 50K AFAIR) can be defeated using pulldown resistors.

The other design issue that people often get wrong is that the 3.3V output voltage level is insufficient to guarantee that the heater mosfets will turn on sufficiently, if they are driven directly from the microcontroller. Note the word guarantee - you can't assume that all mosfets will obey the "typical" curves published by the manufacturer.

The ATSAM3X8E processor used by the Arduino Due is old by modern standards (although not as old as the ATMEGA2560) and it costs way more than better, more modern processors - such as the ATSAM4E8E processor that we use on the Duet WiFi and Duet Ethernet.

Edited 4 time(s). Last edit at 01/31/2019 03:09PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
VDX
Re: Warning (knowledge): Arduino DUE for 3D printers
January 31, 2019 03:31PM
... we too designed an own Due-shield fo our CNC-controllers - all security relevant circuitry is controlled by "safety guards", which are triggered by missing watchdog frequency, which is set while boot ... and stopped with any software stall or panic button ...


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Sorry, only registered users may post in this forum.

Click here to login