Buoyancy Control is a little bit science and a whole lot of practice. Here are a few tips to help you master the skill. We have monthly classes on Buoyancy.
Note: So many factors affect your buoyancy that are impossible to control. So we do the best we can. Example would be the buoyancy of your suit. At 10 feet deep it is different than at 20 feet. Air in your BCD (even if you think it is empty) changes volume and lift every foot you descend. How deeply you inhale, the layers you have worn, the temperature of the water, the size tank and how full it is or isn't.
Try this in a pool. Adjust your weights to as little as you can and still stay on the bottom. The fin pivot is when your fin tips are touching the bottom and you rise from flat on your belly to about a 45 degree angle just by inhaling. When you exhale you sink back to your belly all the while your fin tips never leave the bottom. Then practice rising and falling under control using only your breathing. Try holding still.
Now, after mastering the fin pivot, try the hover. Cross your legs, grabbing your left fin with your right hand and your right fin with your left hand. Inhale just enough to rise off the bottom. Control your breathing to try and stay in one place off the bottom.
With another diver with you in the pool, practice the hover and pass a weight between you. So, you are hovering just fine and you are handed a 3 lb weight. You adjust by inhaling more deeply to become just buoyant enough to offset the 3 lbs. When you regain your control then you hand it back. Then 4 lbs, then 5 lbs.
Have fun learning.