Final build CMU-1

After trying out different configurations, I have designed a final PCB to finish it into a hopefully reliable build. I decided to use two larger-than-original parallel transistors for the PWM switching, and two diodes to dampen voltage peaks by leaking to either ground or battery. I also employ a large capacitor to dampen voltage ripple.

I noticed that the original design uses the two transistor in series, rather than in parallel. Perhaps this is done out of safety considerations: When one of the transistors fails, the other still prevents the motor to be in a permanent ON state.

Since I was afraid of overheating of the power traces on the PCB, I scratched the top surface to expose the copper, and added a solid copper wire on top of them and soldered them on. As you might see, I have re-used the current shunts. I have left space for an op-amp for the possible current measurement in the future, but I haven’t actually installed it since it doesn’t seem necessary for a decent riding experience. Ideally, I would try to take the time to work with the torque sensor, and get rid of the PAS sensor, but I have too many other projects that I prioritize at the moment.

The Bare PCB, first fitted into the hub
Note that I am using the same cooling plate, only now from both sides.
The populated board, including the Arduino nano (top), the 12V DCDC regulator (bottom left), and the power transistors, diodes and capacitors installed (middle left).
I have installed a capacitor pre-charge (using a separate transistor and three big resistors in series), to prevent an inrush current at startup. This oscilloscope trace shows the charging up of the capacitor over the course of a few seconds, after which the capacitor is directly connected to the battery BUS.

About the torque sensor

I have left space for electronics for the readout of the torque sensor, although so far I have not attempted to use it. Just out of curiosity, I have diagnosed the readout scheme of an original running CMU-3 hub (the one with three internal gears). To my surprise, the PWM frequency of the DC motor drive was set at only 300 Hz (I thought this was typically much higher, and I am driving it at a PWM frequency of about 3 kHz). The torque readout was done at a much higher frequency of about 4kHz. I suspect that the Sanyo software is written such that the torque readout is done separate in time from the PWM switching events.

Motor temperature

Since I have increased the battery voltage from 24 to 48 volts, the motor delivers about 4 times the power, and temperature management can become an issue. Sanyo has built in a thermistor at the motor, and I read it out to determine if the motor should run at half the PWM duty cycle. During use I have encountered a few times that the motor would become warm and fall into this ‘limp home’ mode (for example when I the road ascends over a longer stretch and the outside temperature is high).

BMS and Battery drama

The BMS of the battery attached to this motor has failed on me, causing the battery to slowly deplete. One day I found this 48V Li-ion battery at only a few Volts (!!!!). I was pretty sure I wasted a new battery, but after very slowly charging it using a bench power supply, it came back to life. Increasing the voltage went very fast up to 30 Volts or so, after that the battery took more current and the voltage increase slowed down. I still reach a range of more than 40 km with this battery (78 cells, 13S6P Panasonic NCR18650B 3250mAh – 6.7A). I did notice that the battery voltage dropped much quicker than a healthy battery would, so I programmed in that the PWM duty cycle would decrease when a certain low voltage threshold was reached. This works fine in practice. In short: you can be lucky and bring an an almost-at-0V battery back to life, but not to the original state. Better than nothing!

Final use

I have used the bikes a few times for daily commuting. I have limited the PWM duty cycle to be 70 percent at the most, since that is what I am comfortable with in normal traffic. If I would drive the motor at full ON state, the motor would supply too much power, and also overheat. Reflecting on the battery choice, I think a 36V battery would have been more suitable for this build.

PCB schematics download

Unfortunately I am not allowed to share the entire KiCAD file, but feel free to contact me to ask for the full files.

Arduino software

The software is pretty quick-and-dirty, so bear with me … 🙂

6 responses to “Final build CMU-1”

  1. hello nice work! would you share the kicad file with me? greetings martin

    Like

    1. Hey Martin, I could send you a bare PCB if you want me to, just send me your e-mail address so we can share info.
      Cheers,
      Bart

      Like

  2. Hey Bart,
    Now i read the articles completly 😉 the board you deisgned looks really good. You have spend much time to create this, very professional. If you could send me your cad files or even a board, that would be great. Of course i can pay the delivery, I’m from germany too.

    Like

    1. Hey Marcel, thanks for your message. I got another request for the boards, I have to check whether I got 5 or 2 (unpopulated) boards. This means you would have to build it in yourself. I can send them to you, but it will take a few weeks. Be sure you have CMU 1, not CMU 3. Please send me your e-mail address and I will send you all the documents I have.
      Cheers, Bart

      Like

      1. I checked and I certainly have 5 pieces, so I can send you one. Could you send me your e-mail address, so we can discuss the details?
        Bart

        Like

  3. […] I have received the question whether I could supply the designed PCB (described here), I have decided to write more elaborately what I have modified to build the PCB into the […]

    Like

Leave a comment

Design a site like this with WordPress.com
Get started