PD of PID in a balancing robot

I combine output of accelerometer and gyroscope to get a clean angle, as the gyro is fast but has a drift and accelerometer is slow on changes. This is the theory I learned: use not one of them (gyro or angle) but both of them and call it IMU, then filter output to get the angle.

gyro gives me the rate of change, but from accelerometer I receive the angle, knowing that it changes from -g to g.

I also submit the datasheet of both of my sensors so you have full information about them,

new_ADXL203.pdf (438 KB)

new_ADXRS401_0.pdf (404 KB)