cancel
Showing results for 
Search instead for 
Did you mean: 

E-Stop by resetting

Adar70
Associate II

I'm using Nucleo32-F303K8. I'm running low on pins and can't upgrade to a bigger MCU. I was thinking of using NRST pin as an E-Stop. Would that be a good idea? The GPIO pins would be externally driven low or high while under and after the reset, especially on UART2. Looking at the diagrams in the reference manual I think it'd be ok, but I'm still unsure.

1 ACCEPTED SOLUTION

Accepted Solutions

If this is for some machine like CNC machines (lathes, milling machines, etc.) or other things that can cause bodily harm, your ESTOP needs to cut power to whatever motors or high-voltage elements exist, independently from any signals from your MCU.  Basic safety regulation require the EStop to happen without software intervention.  Typically EStop cuts power to a relay that then cuts power to the motors.  It may also send a signal to the MCU, but you cannot rely solely on the MCU to halt the machine.  For example, if somehow the clock into the STM32 were to fail (damaged part, flaky solder joint,etc.) , I don't know that NRST will actually reset the chip.

Also keep in mind that SOME of the STM32 pins are driven low or high on reset, not tri-stated.

 

View solution in original post

4 REPLIES 4
Andrew Neil
Evangelist III

What do you mean by, "an E-Stop" ?

 

Have you already repurposed the SWD lines?

E-Stop means emergency stop, a big red normally closed button that when pressed has to stop a device from operating. I've already accounted for the internall pull-up on NRST and the need for external pull-down, the siulation showed that everything is fine.

I'm using Nucleo32 board and SWD lines are not on the goldpin connectors, so I can't get to them.

If this is for some machine like CNC machines (lathes, milling machines, etc.) or other things that can cause bodily harm, your ESTOP needs to cut power to whatever motors or high-voltage elements exist, independently from any signals from your MCU.  Basic safety regulation require the EStop to happen without software intervention.  Typically EStop cuts power to a relay that then cuts power to the motors.  It may also send a signal to the MCU, but you cannot rely solely on the MCU to halt the machine.  For example, if somehow the clock into the STM32 were to fail (damaged part, flaky solder joint,etc.) , I don't know that NRST will actually reset the chip.

Also keep in mind that SOME of the STM32 pins are driven low or high on reset, not tri-stated.

 

It's a college project with thin budget, but you're completely right. There's no way around it, and a false stop could be even worse that no stop