←back to thread

55 points transpute | 2 comments | | HN request time: 0.497s | source
Show context
fxtentacle ◴[] No.44374012[source]
Are there any affordable open source projects in the opposite direction?

I’ve built a rather complex robot with Nema steppers. Now something is messing with the control board and causing the CPU to glitch. Physically apart from the robot, the CPU board works fine for weeks. It also has a completely separate power circuit with optocouplers. So my guess is that it might be the power supply or one of the motors emitting electromagnetic interference. But how would I measure that?

replies(3): >>44374194 #>>44379027 #>>44382919 #
colechristensen ◴[] No.44374194[source]
First step is an oscilloscope so you can actually look at what's happening on data lines.
replies(1): >>44374480 #
fxtentacle ◴[] No.44374480[source]
I have one and the power supply lines (to the glitching CPU) seem stable with minimal noise. The CPU-integrated USB2 PHY also retains its connection even during the CPU glitch. A connected Linux workstation will not log any USB connection or disconnection events. And a CDC serial connection will remain open. The power levels to the stepper driver chips also remain stable during the glitch.

So to me, it looks like the glitching happens exclusively inside the CPU. It appears that I’m randomly experiencing the exact same issue that the PicoEMP in the original article can induce.

replies(3): >>44374742 #>>44375399 #>>44376978 #
nicman23 ◴[] No.44374742[source]
are you sure it is not just the nemas causing a under voltage situation?
replies(1): >>44375409 #
fxtentacle ◴[] No.44375409[source]
Yes.

1. Stepper and CPU use separate power supplies and are optically decoupled.

2. I’ve monitored min max voltage on the CPU caps and they are fine the entire time, even during glitches.

replies(1): >>44379435 #
1. nicman23 ◴[] No.44379435[source]
optical decoupled uart?
replies(1): >>44384867 #
2. fxtentacle ◴[] No.44384867[source]
No UART at all: Control flow is through USB directly into the CPU, so the serial interface there is purely virtual. And then from CPU to stepper drivers it's Enable, Direction, and Step pins, all of them optically decoupled. The stepper drivers then have their own power supply and caps so that they can't interfere with the CPU power circuitry.