I have received and populated the PCB for the inverted pendulums analog motor driver, see Figure 1 below, today. I have also tested it to make sure that it works properly. Please see the pictures and graphs below for more information.
Figure 1 (Top: Populated PCB for Analog Motor Driver V1)
Figure 2 (Bottom: Populated PCB for Analog Motor Driver V1)
Figure 3 (Top: Unpopulated PCB for Analog Motor Driver V1)
Figure 4 (Bottom: Unpopulated PCB for Analog Motor Driver V1)
Figure 5 (Analog motor controller connected to NI-USB-6211 DAQ and to the inverted pendulum)
Figure 6 (Input vs. Output signal for the Analog Motor Driver. Please note that the output signal has been negated)
It is important to note that the reason for negating the output of the signal in Figure 6 above is because the output will always be 180 deg out of phase with the input because the design uses an inverting opamp for feedback. It is also important to note that the output is off from the input by a mean of 0.55V on average with the minimum deviation of 0.0V, a standard deviation of 0.122V and a maximum deviation of 1V. Please see Figure 7 below for the graph of the error. Please note that because it is a constant error the problem of the offset can probably be fixed by adjusting the reference on the LM741.
Figure 7 (Input vs. Output Signal Error)
I have found that the board does work as designed but there are a few changes that I wish to make. Please the list below for the list of changes that I wish to make on the PCB design.
- Put 1/4” holes on the corners for stand offs.
- Make the holes for the wire connectors wider
- Space the date further from the name on the board to prevent overlap
- Add a LED to state whether it is getting an input voltage.
Because there is a desire to have a system with a source voltage of a single DC value I made the modification below.
Figure 8 (Analog Motor Controller V1 with Ground moved to +10V)
In the schematic above in Figure 8 I changed the ground reference to the motor and the input signal. I did this by using the same setup for the motor as above except I used a non inverting opamp. The input is set to a voltage divider of 50% of Vcc, that way no matter what the input voltage the ground reference will always be in the middle. The input signal will then be in reference to the new ground, Vcc_Bar. I used the two Darlingtons instead of a voltage regulator for the reference because I need the reference to be a good source and a good sink for current. Please see Figure 9 for the plot of the input signal and the output signal with the new ground reference at abtou 10V. Please note that the input has an amplitude of 7.2V, 14.4Vpp, and the input voltage, Vcc, is 20V. Please click here for the PSpice file for the circuit above.
Figure 9 (PSpice Plot of Schematic from Figure 8)
Now that I have the NI-USB-6211 back I will continue working making the inverted pendulum balance. In the event that I do not have any other work to do I will continue my side project of making the power supply, signal generator, and oscilloscope controlled by Labview.
I will also work on getting the power supply for the analog motor driver to work.