My latest self balancing project using a hard disk drive, a VTI inclinometer sensor, a servo controlled counterweight and three potentiometers to control the PID parameters. Works great. Even better now that I added a little weight to the top of the gimbal/gyro.
I discovered the following: if the gyro weight is far below the gimbal, it takes very little movement to make corrections but it is also almost impossible for the computer to make such small corrections – the higher you raise the gyro, the better the computer can control. Optimum is where the motor is on the gimbal axis and the gyro below. If we keep moving the gyro up to the top heavy configuration, we have the most balance – that is until it exceeds a certain angle and then we lose control. Seems the best place is just having the gyro slightly bottom heavy which makes it easiest for the computer to control and allows total control without fear of the gyroscope flipping over. My gyro was balancing , but just barely (rpm of 4000 is too slow, waiting for new ESC) so I added a little weight to the top which simulates moving the gyro up to where the motor is on the axis, and it balanced much better. That seems to be the sweet spot for PID computer control.
New ESC / add wheels / may be try controlling gimbal directly