I have a very simple issue that's confusing me.
I have 3 ports, all of which share a commond ground, (+,-,signal). The signal is a PWM.
Between (+,-) I get a reading of 4.9v
Between (signal,+) I get 9.6v.
Between (signal,-) I get 10.6v.
Shouldn't the differences add up to zero? Why does the signal show me a 1 volt range between the two ports, while they show 5 volts between each other?
I've quadruple checked the ground, and I'm not sure what else to look for.
You also have to know the internal working of your mutlimeter, to know how it reacts to such signals. They have likely some circuitry inside to filter noise, and PWM is a form of noise.
Digital multimeters can read AC (usually sine waves*) or DC. They don't measure pulses accurately. Depending on the meter's design you may get an average, the peak, or random-unstable readings in-between, etc.
The inertia of an analog meter movement will give you the average which is perfect for PWM!
I assume this is an Arduino I/O pin? If so, you can't have more than 5V. It's odd that you're getting more than 5V but now you know that your particular meter is very erratic with pulses!
An oscilloscope would tell the whole story but the ground probe on a 'scope is usually earth-ground so you'd need to set-up the 'scope to measure differentially if you wanted to us a different reference.
There are some meters that can measure true-RMS for other AC wave shapes.
Sorry I haven't uploaded a schematic, but I managed to functionally solve the problem.
I'm using a Controllino MAXI, which has 12v digital output pins. I ended up using a voltage divider to get a voltage of nearly 5v with the pulse I needed.
I'm still not sure why the readings are weird, but I've shelved the issue in the meantime.
Thanks for the help and info on the pulse readings! That might explain this issue, as otherwise the circuit is working as planned.