Need help in biasing TIP31 in common collector mode- edited
Assuming you are using multiple Arduino outputs to drive the ladder, the ladder output is attempting to drive a current into the LM358. This ensures that the - input will always be larger than ground, and the op amp output will always be zero, or whatever your - supply is (I'm assuming you're powering the LM358 from ground and +5). Your amplifier is faithfully trying to drive the load to ground as a result.

In addition to this, you have no feedback around the opamp, so there is no way for the load to follow the ladder in any proportional manner.

Since you have an op amp, there is no need to try to bias your output transistor. Instead, add another op amp and do something like 







simulate this circuit &ndash; Schematic created using CircuitLab

And yes, this requires that you add a second, negative power supply.

Also, an opamp like an LM358 will not work well at +/- 5 volts, as it is only guaranteed to drive something like +/-2 volts on the output. You need to get some rail-to-rail op amps.