> So assuming an electric motor is "un-governed" (in terms of maximum rpm), if I lifted the bike off the ground and held it in place (ie no wind/rolling resistance) and put the throttle at full, the wheel should be able to spin at incredibly high speed - it would be limited only by its own internal mechanical resistance. Is this correct?
no.
sorry, I need equations to explain. assume an open loop controller in which the throttle directly controls the modulation width of the PWMed FETs (valid for my 2006 GM controller). ignoring transients, the steady state is something like this:
call the actual rotational speed of the wheel "w".
there's also a rotational speed target "wt" that linearly depends on battery voltage "vbat" and modulation index "x" (0 to 1, controlled by throttle position):
wt=k1*(x*vbat)
(the proportionality constant k1 is a parameter of the motor.) think of it as if the throttle regulated the batt voltage from 0 to max batt voltage. so the throttle regulates target speed from 0 to max target speed (if vbat is constant).
the torque exerted by the motor depends on the difference between target and actual speed:
tu=k2*(wt-w) ("unlimited" version of torque)
t=tmin, if tu<tmin
t=tmax, if tu>tmax
t=tu, if tmin<tu<tmax
this means that the torque is proportional to the speed difference, but within limits. the motor current is proportional to torque:
imotor=k3*t
and so tmax and tmin are implemented as simple motor current limits (except tmin in nonregen mode, which is zero and is implemented by FET diodes that come to bare due to the noncomplementary PWM switching strategy used). FYI, the batt current is:
ibat=x*imotor (so ibat<=imotor)
note that k1, k2, k3, tmin and tmax are constants depending on motor and controller. (actually if you idealize vbat as constant, k2 also depends on the batt's internal resistance, which you could consider constant on your setup.)
so, back to your question, full throttle with wheel lifted up means:
-t=0 (zero torque on wheel)
-thus w=wt
-wt is the max speed attainable (since x=1)
-wt depends only on vbatt (linearly)
-imotor=0 and ibatt=0
of course there are various losses (electronic, magnetic, friction and drag) and the currents are not really zero, but they are low. this situation corresponds to the origin of the torque graph in the pdf published at GM's website. this graph corresponds to full throttle (x=1), so:
-you can verify the low ibat at the origin
-you can compute k1 from max speed and vbatt
-you can compute k2 from how the increase in torque results in a decreasing real speed "w" (wt is constant and is the max speed, since vbatt and x are (mostly) constants).
-you can compute k3 from the total current "ibat" (since x=1, imotor=ibat)
-with k3 and the controller current limit you can calculate tmax (in my controller, imotormax is around 22A or 23A).
so,
> I would like to know how electric bike motors work in conjunction with pedaling.
pedaling reduces the torque requested from the motor
> Say I start with the throttle at half-power without pedaling- so I would get up to 16km/hr. Then I start to pedal such that I bring the bike up to 20 km/hr, keeping the throttle at half. Would the motor then "speed up" to match its RPM to 20km/hr?
of course, otherwise the tire would be burning rubber and neither you nor the motor have enough power to do that.
> Or would the motor itself continue to spin at an RPM that matched 16km/hr? (i.e. the 4km/hr increase from 16 to 20 was completely my own power).
neither of these sentences make sense.
since you're reducing the difference between w and wt, the torque output of the motor will be reduced. if the current angular speed target wt (according to batt and throttle) corresponds to a bicycle linear speed target higher than 20kph, then the motor would still be putting in some torque and power.
otherwise torque would be zero and you'd be doing all the work. or in regen mode torque would be negative and you'd be doing all the bicycle work plus you'd also be charging the battery.
> If this is the case, then the power input to drive the bike is really binary - either the motor or myself but not both.
assuming non-regen: no, the transition speed range is governed by k2. (note that k2 decreases with increasing batt internal resistance.)
> In other words, whenever I pedal faster than the throttle speed, I might as well turn the throttle off because it will be all my own pedaling power driving the bike.
this is valid only if you are passed wt, the current target speed, and in non-regen mode.
> my understanding is that in order to be street legal, electric bike motors are designed to have a maximum unassisted speed of 32km/hr.
limiting vbat limits the speed. so a street legal 36V kit ceases to be such if operated at 48V. it seems many kits are underspecified to make them compliant (I suspect there's no difference between the GM 36V and 48V motors, yet they are marked differently).
> I tried out an e-bike recently (Crystalyte, 400W, 36V 10 Ah Battery) and I noticed that at full throttle, after the bike reached its top speed (presumably around 32 km/hr) it "seemed" that when I started to pedal, it was all my own power (I'm hoping I was mistaken).
assuming no feedback loop (my first assumption in this post), then this just means a large k2, which is a good thing for reasons not spelled here.
EDIT: some implementation caveats...
note that if w>k1*vbat, many non-regen controllers effectively start acting as if they were regen (due to the FET diodes changing the effective switching strategy away from noncomplementary). so,
> I noticed that at full throttle, after the bike reached its top speed (presumably around 32 km/hr) it "seemed" that when I started to pedal, it was all my own power
in this case, when past wt (the point at which you provide all the power), you may start to charge the batt even with a non-regen controler.
plus, when entering this "mode" there's really no current limiting in force. so if you short-circuit the power input to the controller when the wheel is turning fast... kaboom!
also, I said:
> tu=k2*(wt-w) ("unlimited" version of torque)
> t=tmin, if tu<tmin
> t=tmax, if tu>tmax
> t=tu, if tmin<tu<tmax
> imotor=k3*t
> and so tmax and tmin are implemented as simple motor current limits
but note that due to limitations in common controller implementations, the controller loses its ability to accurately measure imotor as x approaches zero. in particular, it tends to underestimate it. so when using low modulation indexes (low throttle) it is possible that imotor, and thus torque, both exceed their limits (but not ibat, since x is low). all sorts of problems could arise...