A generator for an internal combustion engine which employs an induction motor as an alternator and enables generation of specified power regardless of the number of rotations of the internal combustion engine. The generated energy P of an alternator (1) is limited to a value not more than an upper limit value Pmax (Figure 5) and not less than a lower limit value Pmin (Figure 6) or to a target value Pc (Figure 7), regardless of the mechanical rotational speed N1 of a rotor 1R. Such control of the generated energy is realized by controlling the speed N2 of a rotating magnetic field electrically generated on a three-phase winding of the rotor 1R in response to the mechanical rotational speed N1 of the rotor 1R, so that the relative speed N of the rotating magnetic field generated by the rotor with respect to a stator coil is maintained at a speed not higher than an upper limit speed Nmax and not lower than a lower limit speed Nmin or at a target relative speed Nc.