There are ionizable groups in the individual amino acids. The rate at which they ionize depends on the group and the pH. A high concentration of hydrogen ions (low pH) will result in more groups being protonated. Carboxyl groups (aspartic acid, glutamic acid, the carboxy terminus) and phenolic groups are uncharged when protonated. The nitrogen groups (amines on lysine, guanidino of arginine, and imidazole in histidine, etc.) are charged when protonated.
Charged groups will tend to move towards the surface of the protein. Uncharged groups tend to move inwards. There may be a region that has an excess of like charges on adjacent chains which repel each other when there were mixed charges at physiological pH.