I needed finer control of Vpp. Since this is an experimental design, I decided to make some calculated guesses to choose the right values.
To start with, I believe that putting a resistor between the emitter and ground of the feedback transistor will limit the gain of the transistor. The voltage of this resistor will rise as the current through it increases limiting the current gain of the circuit. The first guess I tried was calculating the resistor as if the transistor wasn’t there(same as fully saturated) for my max voltage (25 V).
Neither the PCBs or components have arrived yet.
This week I decided to work on the Vpp feedback loop. I am interested to see how well the system can regulate the boosted voltage operating on an interrupt driven control loop.
I needed to see if I could get reliable numbers back from the ADC while generating a given voltage. First step then was to make it so I could change the state of the analog switch from the serial console. I used the keys ‘<‘ and ‘>’ to select which input I would be connected to the ADC. I wasn’t sure which signal would be connected to the ADC, So I made sure I could select each one individually. Typing < into the console sets GPIO15 to low and typing > sets GPIO15 high. While setting this up, I discovered that GPIO2 wasn’t configured correctly like I had thought. I fixed this and added the little bit of code to give me control and tried it. It built and uploaded without a hitch.
The code was running, ready to test. I hooked up my oscilloscope to watch the output of the Vpp pin to compare to the analog readings. When first hooked up, the scope was reading 4.8V and the ADC gave me a result of 15. (ADC should give a result of approximately 230.) I hit the > to see and I got a result of 24. (off by a factor of 10). I decided to see if that would hold. I played with the Sigma delta till I got an output around 10 volts. I landed at 10.8V. At this voltage, the ADC result was 24(no change). This was disappointing. I hit the < key and read out the ADC with result of 20. Not what I was looking for. (expected something either twice the original value of 15 or 512) The results are not what I had expected(fail).