Electric Two-Wheeler

The goal of the project is to design a controller for an alternator being used as a motor. As proof of concept, the entire system will be mounted on a bicycle to assess its performance in the rolling terrain of the Palouse.

=Problem Definition= Design a motor controller that will test the limits of an alternator as a motor; compare its motor capabilities to its generator capabilities.

The first proof of concept is a DC generator load for fine control of steady state power output. The second proof of concept is an Electric Vehicle load to test our controller under heavy transients.

=Specifications= Alternators have good power density and cost-effectiveness as generators. These power values will give us the specifications for our performance standards when running our alternator as a motor. The controller design will have to be determined through capable modeling and experimentation.

However, the only initial requirement is that the system performs. That is, by any means available the controller should be able to start and reliably power the alternator under load. From here, we will be able to improve our design, bringing the performance values closer to those of the generator.

=Project Learning= Implementation in c Scheduling, fastest to slowest: Fixed point multiplication
 * PWM counter (〖𝑓𝑟𝑒𝑞〗_𝑠𝑤=80𝑀𝐻𝑧/(𝑐𝑜𝑢𝑛𝑡𝑠 𝑝𝑒𝑟 𝑑𝑢𝑡𝑦 𝑐𝑦𝑐𝑙𝑒))
 * Space Vector PWM updater (𝑓𝑢𝑛𝑑𝑎𝑚𝑒𝑛𝑡𝑎𝑙/𝑟𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛) 𝑟𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛=(𝑠𝑚𝑎𝑙𝑙𝑒𝑠𝑡 𝑠𝑡𝑒𝑝 𝑖𝑛 𝑑𝑒𝑔𝑟𝑒𝑒𝑠)/360 Example: 50Hz fundamental (1500 RPM), 3 degree smallest step, 6 kHz updates
 * Frequency updater Change the fundamental frequency Change the fundamental frequency Example: 50 Hz to 60 Hz using a push-button
 * Example: divide 50 by pi
 * First, express 𝜋^(−1) as a multiple of 2^(−11) 1/𝜋≅652∗2^(−11) 50/𝜋≅50∗652∗2^(−11)=(50∗652)≫11=15.918 Actual answer: 50/𝜋=15.9155 Dividing by powers of 2 is simply a right shift
 * Maximizing resolution 16-bit architecture Q-number format Moving the point to where as many fractional bits are assigned as possible but no more

=Final Design=

=Validation= {| width="100%" border="2" ! Method !! Result
 * Python SVM Simulation
 * Python SVM Simulation

145degrees
 * verification3.pngrees
 * MPLAB
 * MPLAB

145degrees
 * verification5.jpgrees
 * Oscilloscope
 * Oscilloscope

145degrees
 * verification7.pngrees

=Team Members=

=Additional Documentation=

Meeting Minutes



Snapshot