An update and simplification of the original MC-2100 PWM Circuit
After discussion with Terry in the comments of previous posts, we came to the conclusion that the MC-2100 wasn’t expecting a full 5V signal at the control signal input (blue wire). As shown in the MC-2100 schematic, the optoisolator on the input (U1) has a 22ohm resistor (R2) in series with it. Applying 5V to the blue wire results in 170mA flowing through the optoisolator, higher than its 50mA rating.
This lead to the conclusion that there must be another resistor in the circuit at the dash panel end of the blue wire. Upon inspection, there is a 240ohm resistor in series with the control signal output on the treadmill’s dash panel PCB. With the series resistance at 262ohms, the current through U1 is now 15mA, a much better current level for reliable operation.
Taking things a step further, it’s possible for the circuit to operate on higher voltage if a larger series resistor is used. This allows us to eliminate the 5V regulator from the circuit, as well as the transistor from the output, which was mistakenly added to allow the higher output current the circuit required without the current limiting resistor.
Here’s the resulting circuit (keep reading, not done yet!):
Because the LM393 comparator only sinks current, the current limiting resistors end up acting as pull-up resistors. This also means that the LM393 must sink the full output current, otherwise the optoisolator won’t turn off.
The limiting current of the LM393 is 20mA and the typical voltage drop is 0.15V, so choosing resistors that satisfy the 50mA requirement of the optoisolator may not satisfy the requirement of the LM393. The calculation for current through either component is as follows:
(Supply Voltage – Component Voltage Drop) / (Series Resistance) = Current through component
So for example, a 560ohm + 22 ohm resistor pair would result in (12V – 1.2V)/582ohm = 18.6mA through the optoisolator, an acceptable value. The same 560ohm resistor (with no additional resistor) would result in (12V – 0.15V)/560ohm = 21.1mA through the LM393, higher than the rated current of the comparator. If this value were used, the comparator would try to pull the output to ground, but wouldn’t be able to fully turn off the optoisolator. In fact that’s exactly what I observed after testing the circuit as described, leading to understanding this concept, and revising the circuit.
I ended up just sticking another resistor in the circuit (the flying resistor in the picture at the top) rather than removing and replacing the 560ohm resistor, resulting in the 560+580ohm pair shown above. This combination resulted in 10.3 mA through the LM393, and 9.3mA through the optoisolator when driven at 12V. If I were to start over, I’d replace two resistors (R6 and R7) with a single 1kohm resistor and the circuit would still work fine.
With the current draw of the circuit figured out, the MC-2100 would reliably respond when I’d initially send it a signal. However, it was still susceptible to noise from the motor drive voltage (when the motor would turn on, the motor PWM frequency showed up in the oscilloscope trace of the blue wire signal). This would shut the MC-2100 back down, as noted previously. I ended up adding a low pass filter to the output signal, which seems to have solved the problem.
The final revision is shown here: