Tuesday, 29 September 2020

Electronics design project - Bicycle Dynamo maximum power and battery charging manager

Changed; 16-05-2021, 15-05-2021 

This electronics design exercise to optimise the power taken from the dynamo above the quoted power to run bicycle lighting and battery charging.  Including USB charger output or charging input, data outputs, controls, and settings.  These additional features require the development of phone, tablet and desktop computer applications.  This project will show how much more of the available power output from the dynamo can be obtained. 

There is also a no-microcontroller solution.  The design includes controls for calibration made available, that would have been carried out in software otherwise.  This is a good solution with just a speedometer, power out, and a few controls. 

This blog goes into much greater depth than would occur in a real design project, in a real design project many avenues would not be explored and developed in such detail.   This blog has been written going back and developing earlier ideas put aside a little more which is a realistic way to carry out design work. 

1970's Eveready front light, Pifco rear light, unknown age Eveready rear light. The Eveready lamps are 

fitted with 2.7V 420mA bulbs that could be wired in series and run from the dynamo. The Pifco lamp's 

bulb is 2.5V 300mA so this lamp could not be used with the dynamo without expecting bulbs to fail 

occasionally.  Eveready lamps are clean and corrosion-free inside so wires could be soldered to the 

brass contacts.  The switches wired to short the lamp out in case a bulb fails so that the other lamp 

will operate. 

Although Sturmey-Archer trademark is dynOhub a bicycle dynamo does not have a commutator and brushes so it does not output direct current, to be correct is not a dynamo.  More correctly called a permanent magnet alternating current generator, a single-phase permanent magnet generator or a magneto.  The symbol is a sine-wave generator or signal source. 

LED lighting set such as Bikemate branded (pictured right) front and rear lighting will function when powered from a USB charger.  
  • Aldi product ref. 086287232202700 (discontinued)
  • Rear 3.7V 300mAH and Front 1050mAH lithium cell,
  • Specified to run 3-5 hours (<100mA and <350mA),
  • Found to run perhaps 20 hours flashing low intensity (15mA and 50mA), 
  • Charge 3-4 Hrs and 4-5 Hrs (<100mA and <350mA). 
That is <2.5W lights, lights and charging <4.5W.  Lights set low intensity flashing mode; 800mW.  No figure for losses is included and I have not examined what is inside each unit but 20% to 50% is likely. 

The AC component from the dynamo regulated to 5V, may not affect the battery charging function.  But if there is an AC component in the supply with the light on will cause lots of small battery discharge and charge cycles shortening the batteries life.  Waterproofing, when mated around the USB connector, is required.  A disadvantage with this plan is that the lights will probably not dim in a useful way when the power is low but will turn off and remain turned off until the cyclist switches the light on again. 

This bicycle lights set have a good light level, provide the power required figures for this project but are not well suited for use with a bicycle dynamo. 

Estimated capability
LED lighting similar to Bikemate units above but suitable for operating from a bicycle dynamo (permanent magnet generator).  With no battery and no power switch preferably. 

Expected of this project, that a slow cyclist could run lights on a low-intensity setting. A regular cyclist could run and charge lights on a high-intensity setting and a fast cyclist could also run a USB device. With a vintage 6V, 8V or 12V dynamo, more light and power to spare with modern dynamo. 

By comparison, the simple regulator (AL-0035-01?) near the bottom of this page would run lighting similar to Bikemate lighting in a low-intensity mode with a vintage dynamo (GH6, GH8 or GH12).  More light with modern dynamo. 

Plan for a bicycle dynamo lights and battery manager

Microcontroller based bicycle dynamo light and battery manager with a speedometer.  Design idea and exercise with STM32 microcontroller.   With interface by USB cable to a tablet or any computer.

The dynamo (such as a Sturmey-Archer GH6, made 1944-1983) is rated at 6V 1.8W, will output up to 20V when the bike is ridden fast I understand.  If we assume the dynamo will deliver 300mA then the output power up to 6W.  To get the maximum power from the dynamo, the current taken needs to be limited so that voltage does not drop severely.

I also understand that modern bicycle hub-generators work from 2 MPH, produce up to 30V out and are rated 3W at 6V (0.5A).  That is up to 15W.  The firmware should include calibration of its measurements as well as optimising the generator's maximum power transfer and storing these calibration constants.

  • Manage two cell NiMH battery charging using a coulomb counting method.  Other circuit variants for Lithium-Fe-PO cell is also developed.  It is best not to remove the battery's to retain the battery state of charge and capacity.  Therefore use the USB port charging input preferably to taking the battery out for charging. 
  • Recalibration of the battery state of charge and capacity if the battery is removed.  The coulomb counting system with voltage sensing of a high state charge and discharged limits.  An assumption is made that a replaced battery is charged and is of a high capacity.  
  • The USB port can also provide dynamo power output. 
  • On PCB bootloader switch for fast programming via USB port plus software debug connector. 
  • Software functions; 
    • Switches to set Dynamo output power or USB battery changing power input.
    • Switch to turn the lights off/on/flashing. 
    • Battery charge status LED. 
    • USB connected status LED.

The tilt sensor used to reduce the power taken from the dynamo using parameters set by the cyclist, such as a USB connected tablet computer.

LED lighting is much brighter than incandescent lights, such as pictured.  These lights do work in the dark if placed low down to light the curb, but the lighting law changed and this is not done now I guess because the light could be mistaken for a tail light?  In any case, a light should be placed higher so the cyclist can be seen.  Red rear lamps are difficult to attach to the rear rack if you have pannier bags fitted. 

Software note;
LED dimming or intensity programming to be handled using a pulse width modulator (PWM) running at about 100Hz.

The first proposal for the dynamo power input

Could be based on an industrial motor control system similar to that found in factories but also used to manage power from a wind turbine.  In this case without a power dump of excess power from slowing machine motors generating power.  These circuits will only start operating when the dynamo's output voltage is 10V (about 6.5Vrms) with no current drawn, which is a little under the rated speed.  The input boost section from the dynamo should be very efficient and ensures that the unit will continue to run at a lower bike speed once started up.  These solutions are software-driven;

AL-0036-01F Power diagram based on motor control to operate at low-frequency boost 

switch-mode using the inductance of the motor.  Most function blocks and parts are not 

shown and part values are not correct.  Expect the dynamo to whistle when running in

the same way that the inverters and motors in some modern electric trains whistle.  

CAD used: OrCAD cadence. 

A dynamo power management based on an industrial motor control system but scaled-down looks promising but a solution based on standard IC type power supplies will probably be cheaper. 

Note the additional 0V screen cable bonded to the bike on both ends, the controller, and to the dynamo to minimise electrical emissions.  This measure is fairly essential, with the above strategy. 

It turns out that the dynamo's inductance is too high for this configuration to output any significant power when the voltage is boosted.  That is because the period of the chopping oscillator needs to be about a second to reach full current but the period of the AC output is much shorter 10mS at a reasonable speed consequently the power output would be very low.  Alternatively boost to a few thousand volts at a very low current in a millisecond would be impractical, and the losses would be too high. 

The Generator model is not simple - The series inductance is so high but the open-circuit voltage not so high, that very little power should transfer.   A modern motor drive and permanent magnet motor/generator are usually wound for lower voltage, high current, so consequently lower inductance.  The motor drive supply or output voltage is high, the current regulating chopping frequency lower, for lower losses and higher current.  The high inductance of the bike dynamo does not suit working with a chopping current motor drive. 

A GH6 dynamo has 5 ohms series resistance consequently at 6V, 300mA output that is 7.5V = 6V + (5R * 300mA) with no load.  The peak voltage no-load be 10.5V = 1.4 * 7.5V, at rated 6V minimum cycling speed ??.   For maximum power transfer, the maximum current drawn is <=300mA and the load presented be >5R.

The above diagram is a 2-phase boost converter with a polarity switch (electronic commutation) 
AL-0036-02E driven by two PWMs 180' out of phase.  This is a lower input/output noise and 
ripple current voltage step up.  PWM mode is less efficient under lightly load conditions.  
Another pulse-width-modulator (PWM) is used to step the high voltage down to 2-5V (Vdd).   
At start-up, all drivers are switched off and the substrate diodes act as input rectifier providing 
start-up power.  The component values are not correct or complete

Motor driver IC's are comparatively more expensive, lower frequency operating and therefore require larger inductors.  The benefit is the main source of electromagnetic emissions is reduced to <50% for this 2 phase design compared to the other strategies below at the same operating frequency.  For a 3-phase boost, the RF emissions drop to <33%.  There are other sources of radio-frequency emissions, such as the switching transitions of the power supplies that need to be addressed.

There are advantages in using a buck regulator IC rather than software above, they are self-starting, self-protection, efficient, good regulation, good value for money.  The diagram below does not have to be a three-phase boost one inductor need not be fitted if cost-saving and lower switching losses of running one less phase are more optimal.  

The diagram AL-0036-03D, is a 3 phase multiphase boost pre-regulator.  Multiphase regulators 

have lower radio frequency emissions.  Changing the driver IC to DRV8955 will operate down 

to a lower voltage of 4.5V which works out that it will start up <50% of dynamo rated voltage/

speed.  Both drivers are rated at 100KHz maximum so the inductors would need to be large.

The bridge driver proposed would be operating at maximum speed so are likely to have high losses.  By comparison, the buck converter IC is optimised for high-frequency operation so is a more efficient function block compared to the previous diagram.  It should not be necessary to use screen cable bonded on both ends a paired cable should be adequate to minimise radio frequency emissions.


These multiphase converters should be more efficient than the motor driver ICs they use external transistors - but may be unnecessary cost and complication;

LTC3871-1 may do 5-30V and possibly 1.2-100V (4.5V) two or more phases boost.  

LM5170 8.5V to 100V two-phase boost. 

ISL78227/9 5V to 55V two-phase boost.

ADI, Renesas, STM and On-Semi make several multiphase buck controllers (NCP4200, NCP81143,  PM6773, ISL6312) inverting the outputs and many other changes still do not look promising.

Comparison of motor drive or gate drive ICs;

  • L6201 ST 1-4A Motor drive bridge driver - 12V minimum, Operates up to 100KHz. This driver can only hold an output high briefly so it may not be suitable.
  • L6205, L6206, L6207  ST 8-52V (8-52V) 100KHz 2.8A dual bridge motor driver with various protection and current control options. These operate down to DC due to the Vboost charge pump.
  • L6225, L6226, L6227  ST 8-52V (7-52V) 100KHz 1.4A dual bridge motor driver with various protection and current control options. These operate down to DC due to the Vboost charge pump.
  • TLE9201SG Infineon 6A half-bridge motor driver - only operates to 20KHz, 8 - 28V.
  • L99MOD51XP, L99MOD54XP ST motor drive 3x half-bridge drivers 6A, 7-28V. 
  • BTN8962TA Infineon Half-Bridge motor driver - 30A, 8-18V or 5.5V-40V de-rated current.  The maximum frequency is unknown and is oversized.
  • DRV8844 TI, 8-60V, 2.5A dual half-bridge motor driver.  The maximum frequency is not specified but is probably 100KHz?
  • DRV8955 TI, 4.5-48V, 2.5A, dual half-bridge, <100KHz. --- This is a reasonable solution because of the lower starting up voltage possible but the over-voltage protection would operate often with so a newer type dynamo.
  • DRV8412 TI, 11-50V, 6A, dual half-bridge, <500KHz. But for the high start-up voltage, this driver has a good operating frequency.
  • DGD05463 Diodes Ltd. ISL6208, ISL6208B Renesas - Gate driver and discrete transistors. No significant frequency limit (500KHz) but requires more parts and is an expensive option. 

For Vbatt (1.8V - 3.5V) to 5V bidirectional - TC78H653FTG Toshiba dual half-bridge up to 2A, 1.8V - 7.5V, 500KHz.  Provides the option for a better power path with shortest paths to and from the battery.  Unfortunately, the IC can not be configured as simple half or full bridge drivers but only as a motor driver or use just use two of the four drivers. 


Improved dynamo input power supply;

Putting aside a motor drive IC solution, but boost pre-regulator is drafted further below in AL-0002-02 to -05.  These solutions do not use PWM mode synchronous rectifier but use a simpler boost and rectifier in software.  Beneficially these circuits startup at a lower bike speed and take all the available power from the dynamo.  

Another variation is investigated - this circuit is efficient but does not take the maximum power available from the dynamo but does take more of the available power than would be taken wired to traditional bicycle incandescent lights.   An efficient input bridge-rectifier is considered, using transistor switches plus many discrete parts and IC's is possible.  A boost stage is not included and the risk of producing electrical interference, with care is low.

Simplified power diagram AL-0038-01E.  This design features no large step-up and smaller

 step-down voltages.  The micro-controller is powered directly from two rechargeable NiMh 

cells.  The rectified dynamo output ripple voltage will cause the LEDs to flicker slightly that 

may be perceivable at low speed.  CAD used CADSTAR.

This solution is similar to AL-0002-01? below, in that design Vgen capacitor is much smaller and the current taken is varied with the alternating current input so that more of the available dynamo power is taken.  That is because the power factor is better.

The first buck regulator could be replaced by a buck-boost regulator to improve the operating voltage range.  The power is taken from the dynamo also needs to be optimised under software.  A transformer-based flyback convert is investigated in AL-0038-02? further below.

Buck-boost configuration; https://www.ijedr.org/papers/IJEDRCP1401022.pdf

One magnetic part is saved but cost many other parts.  The buck-boost configuration is an efficient solution that seems possible but difficult to implemented using microcontroller timers, software and half-bridge drivers but likely to be more costly and turn out not to be so efficient.  Here are some buck-boost controller IC's;


LT1810, ADI               4.5V to 100V (2.8V)
MAX20048, Maxim    4.5V to 36V (2V)
LM5176-Q1, TI          4.2V to 55V (2.5V) 
LTC3779, ADI            4.5V to 150V (1.2V)
ISL81601, Renasas    4.5V to 60V (0.8V)
ISL81801, Renasas    4.5V to 80V (0.8V)

Software for power input;
The dynamo current control software is likely to be difficult with a switch-mode power supply IC.  
  •  The power used must be adjusted continually with the AC input so that;
    • When the power reduces then the USB power output should be turned off,
    • The battery charging rate reduced and turned off without current being drawn from the battery,
    • The LED drive reduced and turned off when there is adequate average dynamo power,
    • At all time enough power must be provided for the microcontroller.
Versions that use a PWM boost supply should be a lot more straightforward because changes can be made more slowly.  The control of the boost voltage should be straightforward.  Measure boost rail voltage if;
  • Hardware over-voltage protection occurs at >55V, may cause electrical noise?  Will return surplus power to the dynamo.
  • Software over-voltage >50V then turn on both boost transistor, to return surplus power to the dynamo.  This software may not be required but the power factor should be overridden to prevent over-voltage from occurring.
  • An efficient low side of a bridge rectifier is implemented by turning on the low side transistor alternately synchronously with the dynamo AC input.  This reduces voltage drop in the bridge rectifier low-side diode.   The other PWM drives the other transistor boost regulator.
  • The boost voltage be set so that at minimum the troughs are above 10V, say?
  • PWM for boost voltage creation is set proportionally with voltage.  This carried on steps to minimise the processor's workload.
  • If the current taken from the dynamo is above the optimum, its voltage will fall sharply, then reduce the current taken by setting the buck regulator power clamp DAC lower. 
    • Intelligent nudge up and down control - That is do not nudge the set-point if no more power is available but do nudge down to find out if more power can be taken.  That is take care to prevent set-point runaway.  Use indicators such as Pgood output.
    • If necessary, ask a support question to find out the voltage sensitivity and voltage range of the compensation pin.  Note that the simple transistor clamp circuit has a temperature coefficient.
  • The power priority is the same as the non-boost above but the adjustment and switching off does not need to be done quickly because power is stored in the boost rail reservoir capacitor that tide over AC voltage ripple.
  • The dynamo current is:  = I_out * V_boost / V_dynamo

Implementing a low loss rectifier;

The high side rectifier is implemented using Schottky diodes or more efficiently using ICs such as; TAE1993TS, TAE1999TS, UCC24612 or SRK1001.  But with the boost, pre-regulator options further below the voltages are higher and the benefit is small and not worth implementing.

Dual synchronous rectifier ICs; TEA2095T, TEA2095TE.

Low side and bridge rectifier controller ICs; TEA2206T, TEA2208T, TEA2209T.  These parts are new and fairly expensive but would save one boost inductor.

The low voltage drop rectifier on the low side could be implemented using a cross-coupled, bistable-multi-vibrator. This feature would save 200mW compared to using a schottky diode bridge rectifier.  Alternatively, this is implemented in software.

Diagram right SiMetrix model; AL-0034-01B - dynamo battery lights manager Synchronous rectifier controller - outputs inverted to drive MOSFET gates (small Red and Green waveforms).  Unlike a diode rectifier, this circuit ensures that one of the two transistors is nearly always on.

Design output files


Maximum power transfer;

Software and electronics combined diagram with a mixture of flow diagram symbols, electronic symbols and wires. The resistor-capacitor (RC) average is a simplification to show function but it is not correct but a sliding average of half or one cycle should be used.  Other signals are not shown such as Pgood signal low can be used to indicate whether the main regulator is limiting due to high dynamo current. The proportional part of the loop gain due to the amplifiers as a guide should be < 50, that is a 2% change in any signal should result in less than 100% change in the output voltage. 

Below 1.5V the dynamo's power output substantial looks like a voltage generator with series resistance in this case of 5 ohms.  The power obtained by implementing this would be largely lost in other losses such as diode voltage drop loss.  This feature to be added to the diagram. 
Maximum power transfer strategy diagram AL-0043-01A.  Potentiometers set the maximum dynamo 
current and the output voltage limit, for battery charging.  The dynamo maximum current 
potentiometer should only be increased when the main power supply is limiting by that control to 
prevent set-point from running away. Similarly, the voltage output control is only effective when the 
power supply is limited by that control.  The potentiometers represent controls from other software 

Intelligent nudge - Calibration at the maximum power output;

  • At a steady speed test by increasing the current taken to see if the power increase or decreases - then adjust the maximum power accordingly.
  • The test can be carried out under varying speed conditions by testing using power x frequency or voltage.
  • A dummy load may need to be added.  Alternatively, keep the calibration strategy simple under variable speed and loading conditions available. 
  • The normal operation requires that the power factor be good when maximum power required and that not too much current being drawn from the dynamo.
I have drawn this diagram after developing circuits because I can now see more clearly how to show in a diagram what I am aiming for.   Consequently, the diagram is clear than my earlier abandoned attempts but also more closely fits with the circuits variants below.  It is also part of cross-checking those circuits AL-0002-???

Next step - build test rigs and test some of the functions

http://minisystem.blogspot.com/2011/11/ has carried out some of these tests with dynamo LEDs and discovered that the dynamo will produce at least 5V peak operating down to 12KPH the current is low though because much of the output will be under 5V. The circuit above and circuits AL-0002-01? should operate down to <3V and <10KPH although with very poor efficiency.

The graph right does not belong to me, so I have asked if I can use it? The green line is relevant so disregard the blue line.   I have cropped the graph.

The current was presumably measured in series with the  LED with a 5V drop so increases as the on-to-off duty cycle increase with the higher voltage generated by the dynamo.

User Interface and refinements;

The diagrams below are mostly worked through but for a software assessment of their viability.  The low-speed crystal oscillator is not used so four port pins including 2* 0V screen pins were made available.  Each PCB could be calibrated for temperature change using the on-chip temperature sensor, oscillator and microcontroller's oscillator trimming registers. 

Some basic functions are provided but more controls and features such as distance travelled log requires a tablet or other computer to be connected to access those features.  

Smiths BL/BMC (1960s-1970s) Mini speedometer, 

odometer, fuel gauge with other indicator lights 

Thank you for the photo https://www.digital-speedos.co.uk/

  • Battery charge rate and surplus power for USB power output control,
    • The tilt sensor senses the bikes inclination to determine if the bike is moving up or downhill so change the strategy between taking maximum or minimum power from the dynamo.  Programmed using:
    • When the battery's charge is very low the inclination control be overridden and the battery be charged at a higher rate.   
    • Learn mode to program the dynamo power taken strategy.
    • Control switches, LEDs and speedometer proposed;
      • Switch Dynamo power;
        • ON 1 Minimum dynamo power and minimal charging current.
        • OFF 2 Managed dynamo power for lights, managed battery charging and surplus for USB.
        • ON 3 Maximum dynamo power with the surplus to USB (out). 
      • Switch to turn on USB charging/Learn/Set 
        • ON 1 USB (in) to provide charging current.
        • OFF 2 USB (not in), Learn dynamo use strategy.
        • ON 3 USB (not in), Use learnt dynamo use strategy.
      • Switch to turn the lights on. 
        • Lights off
        • Lights on
        • Lights high or flashing.
      • Red/Yellow/Green - battery charge status LED.   
        • Steady indicates charging or dynamo power,
        • Flashing indicates discharging.
        • Cycling Red - Yellow - Green; Fault USB and dynamo charging or battery.
      • Blue - USB connected status LED.
        • Steady indicates charging and connected,
        • Flashing indicates connected.
      • Speedometer and possibly an odometer LCD display.
  • Alternatively;
    • LCD display and push buttons.

Display types;
  • LCD Transflective, 25x50mm (128x64 dots),  LED backlight 60mA 3.2V (switched off in good daylight), 64128K Display Tech systems.
  • OLED 55x27mm (128x64 dots),   20mA 13V,  I2C bus, W12864XA Electronic Assemblies. 
  • EPD 27.5x27.5mm (152x152), 2mA 3V, I2C bus, MT-DEPG0154BNS800F5 Microtips technology - no illumination.
  • 2x Seven segment LED displays plus bar graph and LEDs <100mA 2V.
Alternatively, use a traditional needle-type meter, a moving coil meter could be used.  Fitted with a shunt resistor or large capacitor to damp the movement would only require 50-500uW (10uW for the movement). Eddy current and Air damper types are more robust.  These are not robust but the type in the car fuel gauge, above, is a hot wire type they are robust but they consume too much power.  Taut band types and also with damping are more robust.

Speedometer circuits AL-0041-01C. 
1-3. Simple a series resistor with the meter from PWM output to VDD - the PWM will need to be set according to speed and measure VDD.

2-6. Have a damping resistor or capacitor.  A damped meter is a better option.

4-6. With regulators so do not require measurement and calibration for fluctuations in Vdd.

1-4. A buffer transistor may be required because the open-drain output of the microcontroller is fairly high resistance and may introduce a significant temperature coefficient when driving a higher current or shunt damped meter from a low voltage.

The switches selected are three positions on off on and they are red by;
  • Turn on pull-up and testing the port pin for a low state. 
  • Turn on pull-down and testing for pin high state. 
  • If neither of those then the switch is in the open state. But if the microcontrollers port pin can not be configured with pull-down on the port output low drive be used instead.
  • The LEDs be driven from a high drive.  The blue LEDs from an open-drain configured port.
STM32 Cube MX software project files; 
  • Some of the meter drivers above require that the PWM be output from a high drive open-drain port but the project files do not seem to allow this to be done?
    • Options requiring a high current open-drain port (6).
    • Options requiring the output port be set high drive; all except for (4) and (5).

The variants of the detailed circuits to choose between

It took a long time to find these parts for what I wanted to do originally and the solution based on power supply ICs is good and was found more quickly.  Most of the ICs can not be configured as simple drivers instead of motor drivers.


The final design is likely to be based on a high frequency, inaudible, input boost power rail but using a bridge Power factor correction and power supplies will do the job well.  The dynamo's output could be boosted to 7W when cycling fast.  But the non-boost variant similar to AL-0002-01? would work well although testing needs to be carried out before a final decision is made.  AL-0002-02? can be modified to work without the boost pre-regulator and is the best first design option.  In this case, there is little reason to have more than one of the variants priced and made.

Picture right Sturmey-Archer, AG - 3-speed dyno-hub, dated July 1953;  3-speed wide variable gear hub and 6V, 2W generator.  40 spoke.
Anticipated behaviour based on a voltage limited current source in series with a 5-ohm resistance but discounting the 5.5H inductance in the case of a GH6 type dynamo. The test should also be carried out by the unit to characterise the dynamo fitted.  USB power input be considered and battery power be used, the over-voltage clamp (version -02? to -05?) could be used. Therefore monitor the frequency, light or no-load measure voltage and short out the dynamo to measure the maximum current. 
Software implications;
No pre-regulator solution requires fast power management (see AL-0002-01? and -02?).  The buck regulator compensation pin clamp voltage needs to increase and reduce with dynamo voltage increase and reduces to ensure that the limit of current is optimal but it must change continually.  A temperature coefficient is expected of (-01?) and a continual calibration process needs to be carried out under varying output condition consequently but  (-02? configured without the boost pre-regulator) has an additional circuit function that partly takes care of this.
The drawing right, Rectified sine-wave input half-cycle - optimum power take controlled by managing the power demand.  The white regions are where power is unavailable, an increasing angle/area of power that is unavailable as the speed and voltage drops.  From 2V power for the lights and the microcontroller, 3.5V is a high enough voltage to fully charge the battery.  The graph shows that the dynamo output maximum current by phase angle or proportion of the average voltage;  420mA at 90', 270' and 300mA at 45', 135', 225', 315' but the voltage increases with bike speed.

This solution is the most efficient but takes less of the available power from the dynamo at low bike speed.

Analogue solution for power limiting necessary to achieve maximum power transfer (see AL-0038-02?).  No microcontroller is required if a manual calibration system is provided.  Uses a fly-back converter but there is a trade-off with transformer inductance selected; 
  • Fitting low-value inductance with high current pulses and better power factor could have high electromagnetic emissions and higher losses (4.7uH, 270KHz), works from less than 6VAC, 500mA to 20VAC, 300mA but the Power factor begins to deteriorate at 30VAC, 500mA,  Or 
  • Higher-value larger inductance (as a conventional fly-back design) but the power transfer would not be the highest would be more efficient (22uH, 270KHz).    Alternatively, the pulse width would need to change continually to correct the power factor, achieving more modest losses and lower electromagnetic emissions.
  • This simulation shows that with a low-value inductor (4.7uH, 270KHz) a good power transfer efficiency at rated voltage with any bicycle dynamo.  At higher bike speeds or with a higher value inductor (10uH, 270KHz) less than maximal power can be taken from the dynamo.  10uH was a calculated value was a good starting assumption that 5V peak in and 5V output would be the worst case.
It is probably best to stop with a less optimal solution. Alternatively, a higher inductor value could be used incorporate with the Power Factor current limiter section of circuit AL-0002-02n below. This control system sets the maximum dynamo current to; dynamo current <= dynamo voltage/regulator output current and consequently, is roughly constant average current at peak load, as required. That is the power limit increases arithmetically with dynamo voltage input. 

The diagram right; AL-0042-01D power simulation (LTspice).  Slowly varying PWM drive gives good Power Factor.  
The transistors alternate between switch mode power supply or synchronous rectifier function to save power.  Sharing the input rectifier function with D3 and D4


The simulation above; AL-0042-01D (LTspice) of a transformer-coupled flyback converter. - Slowly varying PWM drive and a low-value inductor gives a good Power Factor except when the bike speed is higher then less than maximum power available would be taken. The power factor is good with the first graph even with a higher power dynamo (4.7uH, 270KHz, up to 30VAC, 300mA or 20VAC, 500mA). The second graph (4.7uH, 270KHz, 30VAC, 500mA) shows when the power used is high that the inductor transitions from pulses of current to continuously carrying current as the voltage x current input increases. In the third graph, the inductance (22uH, 270KHz) is much too high in this case but would be correct for a conventional flyback switch mode power supply. The requirement is not necessarily for the power factor to be good but that the current is taken to be always below the optimum maximum.

The transformer chosen inductance of 4.7uH but the part selected works well but a different size part could be used optimised for low losses at lower bike speeds. The manufacturers, Wurth, Murata, TDK, Vishay, CoilCraft have good part selection tools and models. CoilCraft also has web tools that create efficiency graphs for comparison of parts. Either of the two transformers selected is close enough and we can stop there.


Boost pre-regulator 
variants AL-0002-02? to 05? with a microcontroller control of boost transistors.  If the pulse width modulator (PWM) were varied slowly then in a boost configuration most of the current will be drawn at peak voltage input.  This is efficient but less power will be available.  Consequently, the microcontroller should continually adjust the pulse width and period.  Adjustments are made in steps perhaps once a millisecond or so;

Simulation AL-0042-03B (right) shows a higher current transistor than is likely to be optimally efficient for the boost configuration but are suitable for the SEPIC design.  The gate drive is particularly fast and these Toshiba MOSFET'S gate threshold is a little higher, requires 5V and is well suited.  For the boost design, the other On-semî transistors listed may suit better? 

Simulation graph left - of a boost pre-regulator driven by a fixed PWM shows the pre-regulator's current peaks (light blue, averaged) more sharply compared to the input voltage waveform so the power factor is poor. The other waveforms are two dynamo inputs, transistor drain's, Vcc and the polarity detector.

Boost regulator inductor only carries a proportion of the power, the inductor operates in the continuous current mode so the peak current is lower.  Consequently, this regulator is more efficient than the flyback converter above.  Conversely, the high boost voltage followed by a large step-down buck is less efficient but overall should be quite good. 


In all variants, the maximum current take is a sine-wave matching the voltage waveform.  A compromised control by changing the PWM's period and mark-space ratio in steps and power take management are proposed.  The power limiting needs to change quickly say at 1mS intervals.

The diagram right AL-0042-02A LTspice XVII simulation boost input pre-regulator LT1812 IC.  To show approximately what is to be implemented in software instead of this ic.   This solution can draw too much current and does not limit current taken as required.
This simulation shows that an input filter, similar to the input inductor shown but using capacitors followed by two inductors, needs to be added to all of these circuits.

This power factor controller IC does not limit the current (light blue) in the way required but the diagram shows, approximately, how the current should follow the input voltage (Green and blue) for the most efficient power transfer from the dynamo. The right-hand side of the graph shows the pre-regulator has settled and the power taken from the dynamo is optimal.

Graph left lower; Would be driven by microcontroller PWM outputs in a series of steps rather than in a smooth transition shown.  The simulation shows that this type of IC responds slowly and is unlikely to respond quickly enough in this bicycle case to be useful.  The output voltage (red) fluctuates after the switch on. This simulation is not very useful.

The left top graph; is of the two transistor drains showing that they are driven alternately continually but if you were to magnify the time (X-axis) you would see the pulse width varies continually.


Control of the buck regulator compensation pin is likely to be difficult in AL-0002-??? because of its voltage feed-forward feature.  Consequently, the power limiting mechanism is likely to be unstable when the current drawn is near the optimum maximum.  This is because the regulator with feed-forward or current mode will tend to take more current as the input voltage drops before software or other control have had time to react to restore and reduce the current taken.  If more current is drawn from the dynamo when the current taken is maximum then the dynamos output voltage will drop severely and could cycle on-off.  This instability may be negated if the control is fast, which the additional circuit below is intended to provide.

The right above; Power Factor current limiter section of circuit AL-0002-02n.  Is designed to save software load, difficulty and potentially take the maximum dynamo current more smoothly.  This circuit is only required when the boost pre-regulator is not used and is an option.  The output current from the rectifier is limited but the limit must be adjusted according to the measured Vgen+ peak as measure and the current output by the microcontroller.  A resistor between Vgen- and 0V, not shown, monitors the output current from the pre-regulator before the reservoir capacitor.  The key component is the matched transistor which forms a voltage-controlled potentiometer.

Variants with the boost pre-regulator in which the buck regulators output and power take would be managed more slowly consequently instability should not be an issue.  The Power Factor current limiter function above is not required.

Design files for all variants;

  • AL-0039-01E Op-amp Ibatt resistor and LED PSU resistor networks.ods spreadsheets.
  • AL-0040-01B  Dynamo Battery Manager - Microcontroller select - Software.odt  --- Updated document to follow.
  • AL-0042-03B LTspice power simulation for all circuits -- improved transistor switching circuits with graphs generated LTspice simulation.   The changes have not been incorporated into the circuits below.  More functions are included in this simulation so consequently, the simulation runs more slowly. Usually, the simulation would be better to break into smaller models but the purpose of the diagram is to put the refinements together but this larger simulation tests important functions operating together as well.
  • List of files; There is a spreadsheet list of files.


The decoupling strategy is to place 100nF ceramic decoupling capacitor's close the each IC power pins, internal power planes 0V and Vdd for the microcontroller.  I/O has 1 - 10nF COG/NPO capacitor's near the connector pins.  The 0V power plane provides screening for good EMC performance.


There are no thermal reliefs in the power and thermal planes. This also provides better electrical conductivity.

The part libraries are to an old standard that changed more than 25 years ago so many footprints should have the index in the centre but CADSTAR libraries have many parts with the index at pin 1. It is necessary to fix this before using the footprint or creating a footing. PCB assemblers can correct small discrepancies they have too but they can not correct for this error necessarily.

--- AL-0002-01 Basic bicycle dynamo battery and lights manager - Draft ---

  • AL-0002-01M Circuit and PCB's - draft.  The design should fit in under 100 x 100mm.
  • AL-0033-01F.ioc Micro-controller selector and configuration project file draft. ---
  • STM32L072C - 48 pin one test point and one spare pin.
This type of moving coil of meter pictured right is clear to see 
100-0-100uA, but a left hand zero type is required as a speed-o-meter.

Advantages and Disadvantages of this design; 
  • The input capacitor should be small (1uF) for good power factor therefore efficient power transfer but options to fit higher value capacitors in case electromagnetic emissions turn out to be high or it turns out that the buck regulator becomes unstable.  If a higher value capacitor is used then the power factor will be poorer and less power can be taken from the dynamo that is the trade-off. 
  • A large capacitor is fitted to VCC, the main power to ensure that the microcontroller's power is not interrupted almost regardless of the batteries state of charge or whether a battery is fitted.
    • After providing power for the microcontroller software is required to manage the modulation of the LED current next priority, then USB output current if there is the power to spare.  The LED flicker may not be very noticeable but care needs to be taken to ensure that the brightness modulation frequency does not beat with 2x dynamo output frequency.  That is led brightness modulation frequency be set to a multiple of two times dynamo frequency or be a much higher frequency.
    • The battery will provide lighting power when the dynamo speed is low thereby allowing the light's to dim a little but preventing the lights from flickering severely at frequency's that are a health issue.  Perhaps dimming the light's but do not allow the lights to be off for more than say 10mS?
  • This is an efficient solution with basic functions.
  • There is no input boost supply rail and so the circuit will not operate at as low bike speeds as other versions below do.  
  • The switch-mode power supply IC includes feed-forward compensation could cause a problem to occur with more current attempted to be drawn when the dynamo's output voltage is lowest and the least current is available.   
    • The main regulator's power is controlled by DAC and a transistor AND-ing the soft-start function.  This circuit is very simple and low cost consequently has a large temperature coefficient that must be continually corrected for in software.  Alternatively, the main regulator's output voltage is set using a PWM output be used.   
  • Speed-o-meter output - will drive a 0-50uA moving coil meter.   Scale illumination output needs to be developed. 
    • This is driven from an open drain PWM port pin will be compromised a little by the temperature and VDD coefficients of the port pins on-resistance (~50 ohms).

---  AL-0002-??? As above (01?) But with a different main regulator --- not developed --
  • Changed the main regular to lm76002-q1 TI, this is a more expensive IC,
  • Start-up down to >3.5V rather than > 4.3V with better external bias supply or-ing for lower start-up voltage.
  •  Also, the compensation pin can be over-driven to reduce the power output similarly to driving the soft-start pin in version -01?

--- AL-0002-02?  Software-driven boost input can be PFC for boost supply for lower voltage operation --- PCB size under 120x100mm 4 layer components on one side.  -- Draft ---

  • AL-0002-02N Circuit and PCB
  • AL-0033-02F CubeMX software project file. 
  • Vgen is boosted by PWM so that power is stored in the capacitor long enough to ensure that the LEDs do not flicker at 2x dynamo frequency.  The current drawn should be controlled approximately be proportional to the percentage of output peak voltage output.  That is to maximise the power transfer with some power factor correction.
  • There is a risk of electrical interference generation with the boost pre-regulator configuration particularly with home fitted and wired unit.  Precautions such as using a paired wire should be mandated.  A screened pair bond on both ends need not be required but recommended if a vintage AM radio be used nearby consequently better than to CE mark is required.
  • The circuit can also be operated without the boost pre-regulator and included a power factor limiting circuit to save processing power and software work.  This function can be disabled by shorting the comp driving transistor E to B if the boost-pre-regulator is used.
  • STM32L052C6Tx 48 pin, microcontroller.  With one test point and one spare pin.
  • The meter driver is for the highest current type with a 240' movement.   The movement is 500uA so the power taken is ~8mW = 2.5mA * 3.3V.
  • This design and layout to be refined after software review. 

Advantages and disadvantages;
  • Power Factor Correction is approximated by the software-driven varying Pulse Width Modulator boost supply.  But the drawback is that boosting to a high voltage then dropping to low voltage is less efficient.
  • Current regulators for LED drive instead of voltage regulators to improve efficiency has not been implemented.  This could be implemented in the lamp units from the 2-3V lights output, with addition of PWM outputs. 
  • An earlier version of this design used the ucc29910A PFC IC, which only requires a 5V power supply, but this design looked unnecessarily expensive and was abandoned.
  • This version is suited for evaluating both with or without a boost pre-regulator strategies, whereas version -03 is more efficient.  This version -02 but without boost pre-regulator is more efficient than version -01.
  • To be refined after software review.
  • Add buck-boost SMP LED current drivers.  
  • Change the microcontroller to a larger;  STM32L072R - 64 pins with two DACs.
  • Implement the modifications provided to remove the input boost pre-regulator and thereby the circuit to become an improved version of -01? (above). 
    • The circuit may not operate to as low voltage but the risk of EMC non-compliance is reduced.
    • The input rectifier low side software-driven transistors have lower losses than diodes used in version -01?. 
    • The two input inductors can be changed to a smaller input filtering function only, and the two low side input diodes removed. 

-- AL-0002-03 This variant uses a better low side battery power switch. -- Draft ---
  • AL-0002-03o circuit and PCB. - This variant is similar to version -02?.
  • STM32L052C - 48 pin.  There is one spare pin and one test pin.
  • This variant has a more efficient battery charge/discharge sense power switch because an n-channel MOSFET is used and also the MOSFET is driven from the boost 3-5V supply.  But has a higher battery current when switched off although this should not be too significant.
  • This variant will operate if the battery cells become shorted (I do not know if this is such a serious issue with NiMH cells compared to the older NiCd type).   Software is required to turn off outputs when Vcc voltage is low to keep the microcontroller powered from the reservoir capacitor.
    • This variant can directly control the main power supply to limit the maximum current but this feature has not been fully developed.  
      • The amplifier does not switch gain and current range for charge rating measuring but is suitable for measuring current and coulomb counting. 
    • VCC power supply is turned off when there is no dynamo or USB power.   USB power out is switchable to further save power.
    • The meter driver is simple but the most expensive variant or the most efficient.   The movement is 100uA but would work with a 30 or 50uA movement with better damping and lower voltage VDD.
    • This can circuit operate like version -01? but has more software demands.  That is because the microcontroller is powered by Vdd capacitor in which software must manage the loads to retain enough power for the microcontroller during the zero voltage part of the ac input from the dynamo. 
    • This design may offer a small improvement on version -02 in handling higher battery charging current and more straightforward trickle charging.
      • The battery switch transistor can be turned off to partially work and indicate a battery short circuit.


        -- AL-0002-04 this variant uses Lithium rechargeable (LiFePo4). Uses the micro-controller op-amp which is good enough but must be turned off when the unit is inactive to save power. -- Draft ---

        • AL-0002-04J  PCB and circuit. 
        • AL-0033-04C  MXcube microcontroller project. -- To be updated
        • Uses STM32L052C 48 pin. - One test pin and one spare pin.  
        • Lithium protection is less demanding than for a laptop because the cell is a safer LiFePo4 type.
        • In this case, the uC be permanently connected to the battery and software manage the battery protection.
        • The power path is more efficient because the voltage is high so the step down from the dynamo is smaller.
        • The battery is more efficient only requiring charging 110% more power put back rather than 150% that a NiMH requires.
          • Rapid charging LiFePO4 is not possible but they charge at 0.3C, 0.5C or 1C (1-3 Hrs) depending on the type chosen.  By comparison, NiMh cells can be charged at up to 0.4C (2.4Hrs) or NiCD 2C to 4C (15 or 30 minutes) depending on the type chosen.
        The Moving coil meter pictured right above is not so 
        clear to see 0-1mA is not ideal as a speed-o-meter.
        • VCC power supply is disabled to save power when there is no USB power in or dynamo AC input.
        • Speed-o-meter output - to drive a 0-30uA moving coil meter.  There is also a scale illumination output but this needs to be developed.
          • This is driven from an open drain PWM port pin will be compromised a little by the port pins' on-resistance temperature coefficient.
        Advantage and disadvantages;
        • Lithium-ion Phosphate (LiFePo4) - is slightly lower capacity Li-ion, less raw materials used. 1.2Ah or higher.  Fewer safety precautions required eg a lead-acid like battery charging.
        • Does not support Lithium-ion (Li-ion) - these require additional safety circuits within the battery that disconnects the battery if the supply voltage is too high or the cell voltage drops too low.  
        • The second lights regulator provides up to 500mA at 1.2V to 5V and is efficient because no series resistor should be fitted with the LED and the voltage is never too high to damage an LED if it were reverse connected. 
        • Using an STBB3JCC buck-boost switch-mode current regulator
        • STBB3JCC - 100mV Feedback +-10mV --- the part used.
        • The current is set by Pulse-width-modulation
        • This regulator's current output could be re-configured by changing the programming resistor (Resistor = 100mV / Current_required). 
        • Resistor = 100mV / (Current_required - 50mA) this has a maximum output voltage of 5V.  The LED lamp is connected between Lamp- and Lamp+
        • Alternatively, a regulated 5.2V can be taken from Lamp+ and 0V.


        -- AL-0002-05 this variant uses Lithium rechargeable (LiFePo4).  Uses the on-micro-controller op-amp and another more accurate op-amp which is good enough but must be turned off when the unit is inactive to save power. -- Draft ---

        • AL-0002-05G circuit and PCB
        • AL-0033-05D.....ioc  STM32L151RCTx 64pin microcontroller project file -  has unresolved clock issues.
        • This variant is similar to -04?
        • Uses STM32L151R - 64 pin microcontroller.
        • This version is compromised because the microcontroller op-amps are used.
          • There could be a cost-saving.
          • Small signals are tracked across the PCB rather than amplified at the source then large tracked across the PCB.  This may not be an issue.
          • The op-amps are therefore not optimal and the input current is quite high.
        • A speed-o-meter moving coil meter output is provided.  The LED illumination drive needs to be developed.
          Pulse counter for mileage counting with set and reset. This counter
          is heavy, requires 24V pulses, counts down and so is unsuitable.
        -- AL-0038-02 no battery, no microcontroller. 5V outputs for lights, USB power output plus a speedometer. --
        A combination of above versions AL-0002-01? and -02? to -05? but using two transformer-coupled two boost regulators (SEPIC).
        • Circuit and PCB AL-0038-02C
        • The output capacitor is of a lower value consequently Vcc will have a high ripple voltage similarly to AL-0002-01?.
        • There is an extra voltage regulator to start up the circuit.
        • A boost voltage mode type switch mode power supply controller that has no feed-forward and is not current mode control would be the most manageable for optimum power transfer.
          • Buck controllers but using the high side driver to form a boost regulator, NCP1589A, NCP3020, NCP5269B, A6727, L6726A may work in this off application way - that manufacturers confirm.
        • The synchronous rectifier at the output to save power would make this an efficient solution. Because this option would not have the SEPIC capacitor so therefore requires a snubber network that will use some power.
        • Therefore the dynamo current is calculated from the output current to limit the average dynamo current.
        Consequently, the dynamo input may be simplified and the power path may be more efficient?

        This design idea could be developed using evaluation boards and Veroboard prototyping.  Alternatively, a PCB be made by completing the design idea below with or without connectors to mount a microcontroller evaluation board.

        Circuit diagram and incomplete PCB AL-0038-02C (CADSTAR).  Starting to place the parts by function.
        • The design is incomplete, component values and footprints are wrong.  The PCB shows an early design step of grouping functions together placing those groups and some routing to help to improve the placement.  Some footprints need to be defined to replace the temporary single inline connectors place holders.
        • The optimum current limit is set using a voltage clamp on the boost regulator compensation pin programmed with a potentiometer.  The output current is set as a proportion of input voltage, up to 2A.
        • The speedometer uses a capacitor in series with the dynamo output rectified to drive the meter. Alternatively, a switch allows the meter to be used to calibrate maximum power transfer. 
        • The circuit includes a dummy load to set the optimum power;
          • With the dummy load switched on keep the wheel spinning steady speed to keep the meter needle mid-scale.
          • Adjust the potentiometer for maximum meter deflection which is maximum power.  The potentiometer should then be reduced slightly.
          • You will observe that the power will increase or reduce with wheel speed.  The power will drop severely at very low speeds.  This poorer low-speed performance may be improved by reducing the potentiometer a little if required.
        The Speed-o-meter section of AL-0038-02B shows a trimmer potentiometer to calibrate the speed-o-meter for wheel diameter.  A jumper and several resistors for different wheel diameters could be provided instead. 
        The alternative switch position is for optimising the dynamo power, there is another potentiometer for this.  This shows some of the extra cost and complication is added in this case by not including a microcontroller.
        • Many of the analogue functions are likely to be unstable and some circuit modifications may be necessary if this is a problem.
        Improvements and outstanding changes;
        • Define missing PCB footprints, which have SIL connectors as placeholders.
        • Complete PCB layout, including adding more decoupling capacitors.
        • Select a suitable SEPIC transformer. 
        • The circuit does not slightly increase the current taken with dynamo voltage increase.  This would have contributed little extra power output.
        • The circuit does not ensure the load is >5 ohms.  Consequently, not all available power will be gathered at low dynamo speed.
        • Lithium cell and L6924U, L6924D and probably other ic battery charging controller will work with AC ripple on the power input.
        • The switching transistor may be increased in current handling and have a higher VGth but still a low threshold and a high power gate drive.
        • The two-transistor multivibrator type rectifier controller be modified to the circuit model AL-0042-03? (best) below or AL-0034-01? above.
        • The high voltage power transistors need to be changed to higher current, higher VGth types.  The gate drive buffer with a driver transistor stage added.
        • Alternatively, remove the microcontroller from AL-0002-02?, merge that with AL-00038-03? and use a lower starting up voltage buck regulator lm76002-q1 TI, or L6981 ST.
        Design output files

        ToDo - list all variants of AL-0002-??? and AL-0038-02?;

        • The microcontroller may need to be changed to a 64 or more pin device.  To provide function or design revision flexibility.
        • Add backlight power for the speedometer. 
        • Consider using smaller batteries. Therefore change the battery holders.
        • Main power supply compensation needs to be calculated. It is roughly based on the data-sheet examples. 
        • Input filter stage needs to be added, for the dynamo power input.  A screened cable would also resolve the issue, this is catered for but could not rely on to be connected properly.
        • Select suitable boost inductors to replace the placeholder parts used.
        • Consider adding buck-boost LED current source for all lights or at least for the front light for all AL-0002-xxx variants.  As AL-0002-04? or AL-0002-05?.  Alternatively add a PWM output for the power supply to be located in the light unit to form a 2-5V input light unit, instead of the PWM driven power output.
        • Change buck-boost LED supply to 350mA that is Rsens to 270mR and recalculate the inductor value.

          Right above; From Dynamo Maintenance blog  AL-0035-01C (4) Simple Dynamo to 5V DC a regulated power supply such as USB power output.  The design returns surplus power back to the dynamo and therefore back to moving the wheel forward.  By comparison, the maximum power output is only; 1.5W = 300mA x 5V.  ST.COM recommend that an over-voltage transient absorber (TSV) such as SMBJ13A be added to this circuit.  I should say I think the issue is addressed well without the addition of a TSV.  

          This simple regulator would run Bikemate lighting pictured near the top of this page in low-intensity mode.

          Which design to go forward with;

          The cost and benefit of using a more expensive microcontroller with more functions on-chip some people cost things on 5p per pin used whereas other high volume users tend to simply avoid integrated circuits where cheap discrete parts can be used.   It is not clear cut without asking a PCB maker and assembler to price some variants in the volumes you are likely to use.

          STM32L072R or STM32L052R are probably a good choice along with using an external dual operational amplifier.  For the Ibatt monitoring, it will be necessary to periodically turn off all major current inputs to calibrate the battery current measurement.   The A-to-D converter reference is VCC with a 1.25V internal reference connected to one channel so the VDD can be measured. This works over the entire voltage range of a two-cell NiMH battery.


          STM32L0??? And STM32L0??? Do not have op-amps which means much better optimised external op-amps are used.  STM32L151, by comparison, is more expensive has two op-amps but the cost of the extra parts saved may break even.


          STM32F303 (four op-amps) or STM32F072 (no op-amps) are lower cost, without the low power features but are low enough power but the higher minimum voltage will operate with the lithium cell variants.  Alternatively could be used with any variant if the boost regulator is used to also provide VDD via a regulator,  this is beneficial in providing an easier to manage stable supply voltage reference for the A/D.

          The op-amp PGA feature is only a simple 0V referenced set of fixed gain settings for the op-amps.

          STM32L433 some variants with 64 or more pins have a buffered reference output so the A to D converter can be referenced to that instead of VDD which is in any case varying.  In addition, there is an op-amp that can be used for better Dynamo current monitoring and being AC does not require a low offset voltage.  All variants of ST32L552 have two op-amps, a buffered reference output but in both cases, if the buffered reference is used it is only accurate with high VDD otherwise it reverts to tracking VDD.

          Another possibility is to have several variants developed and made.  Then have one or two of each variant on a panel of PCBs and putting as many different PCBs on a panel as possible. But this may not be worthwhile PCB makers now put as many different jobs together on  One panel in any case so  It is necessary to check?

          Have at least two PCBs made but not assembled but the cost difference of assembling just one or all may now be comparatively small.   That depends on if pick-and-place or manual assembly is chosen. It is necessary to ask each PCB supplier/assembler the same combination of questions?

          PCBs that are not assembled can be stored for up to 18 months and be assembled successfully.

          Prototyping with an STM32L433 (one op-amp) STM32L475 (two op-amps) variant with an on-chip reference buffer might be the best option.  Plus use an op-amp for better quality battery current measurement, which is compromised in any case by requiring ~100mV offset which has a significant temperature coefficient. 

          The multiphase two or three-phase boost pre-regulator (AL-0036-03?) has the merit of lower electrical emissions which are likely to be an issue.  The issue of emissions conducted out being more severe in a single-phase converter can be observed in simulations such as AL-0042-*.
          The SEPIC transformer's inductance needs to be lower than normal for the PFC function to work.  This makes the current pulses high, the transformer ring, so RFI becomes more of an issue and efficiency a little less.

          Prototype and ad-hoc development;
          Is now more common than, plan, model and build right first time as above.  Taking the design process in smaller steps shows something working early.  The disadvantage is that you are not necessarily testing the nearest to final version early particularly the PCB layout.   Also if a design is not fully understood then why it works then fails later is not predicted.

          The all analogue solution AL-0038-02A could be developed or combined with a microcontroller and avoids a lot of software work.  Software developers often ask for more hardware to save work.  A less optimal power transfer bridge rectifier, large input capacitor and SEPIC regulator instead of AL-0042-02? pre-regulator would reduce the risk of electrical interference.  It may not be much more than expensive but makes development possible in easy compromised steps for example.   Lithium cell and charge bq25017 or L6924u also be added with very little software work required.



          LED power supply for one or many identical LED's connected in parallel.   An LED running at 100mA is very bright and the maximum current available probably could be reduced.  White LED's voltage drop is 2.8V - 3.2V or <3.5V - 4.2V depending on the type but Red LEDs voltage drop is about 1.7V.

          Average current limited set by pulse width modulator up to 450mA at 1.2-5V out suitable for white or any other not-pulsed LED.  The LEDs used if connected in parallel in the same assembly and from the same manufactures batch.  Alternatively lower voltage drop red LED's can be paired in series then multiple pairs connected in parallel.

          This current regulator could be duplicated and situated in the lamp.  2V - 5V input, 450mA set by R15.

          AL-0002-04D sheet 5 is the small red square near the centre of the PCB.

          The 2V to 3.5V output is suitable for a red LED + series resistor but the brightness will change depending on the state of battery charge and dynamo output. That brightness can be managed in software by Pulse Width modulating the output alternatively the programmable current in the data-sheet below BCR421U Diodes Ltd. will keep the current more stable over the voltage range.

          Data-sheet right; A single red LED will drop 1.7V consequently the LED current will reduce below 2.7V but not so severely as if a simple series resistor were fitted.  In any case, a simple resistor would be fine a 7:1 current changed would be noticed but would not be severe but 2:1 current changed would not be noticed.  BCR421U's current should be programmed by fitting a suitable external resistor between 10mA and 100mA but can be set to a higher current.

          LED lights; - see section of Bicycle-hub-dynamo-maintenance-project




          I have used this project as a design exercise to learn and formularise myself with some of the STM32 series microcontrollers and keep myself up to speed using CADSTAR 18.  I have not got paid for support just now on that circuit and PCB CAD tool because I am not working. For example, there is a feature to click on a net and move promptly to other locations where it is used that I would like to use.


          I have not explored is whether I have chosen the best combinations of the microcontroller's peripherals for the functions required, particularly timers.  This is partly why the design options are marked draft, they require software review and some testing of some function blocks.

          I have also considered software solutions by drawing a solution in electronics, which software engineers tend to call hardware. A hardware model in springs, levers and wheels is good but the software solution could be very different.  A springy Reynolds steel sportbike frame can be applied in inductors capacitors and resistors but electronics works better with the stiffness of bonding 0V everywhere for screening but uses springiness as well, both giving immunity to road vibration or electrical interference and efficiency of power transmission.  Transmission line theory applies to electronics. Maths such as averaging a signal over one cycle of the dynamo output is easy in software. 


          Technical discussion on the electronics community.st.com/s

          Related blog Bicycle-hub-dynamo-maintenance-project



          Power for a low power wireless long-range device.


          For smaller Internet of Things a D-Cell lithium primary cell may last up to a decade,  alternatively, an energy harvesting strategy can be used.  Depending on the power required.

          A much smaller sized variation of the above design could be developed.   http://www.rotalink.com/ http://www.rotalink.com/our-products/10/ac-motors-optional-gearboxes.html make geared motors with strong ball-bearing bearings.  For example;

          • 4116 synchronous motor (48V or 24V) + 227 gearbox (25:2) with ball bearings.
          • SB2513 bipolar 24V stepper motor + 222 gearbox (~7:1) with ball bearings.

          The bearing is strong enough to stand having a pendulum and weight fitted to create up to say 1W.

          A lower power, power supply based on a higher voltage say 24V 48V  motor based on the circuit AL0002-01? above may be suitable using a low power switch mode power supply.

          • 60V input, 50mA output switch mode power supply such as ADP2360 may be suitable?