This is my first post in a while. Over the past three years haven’t had much spare time to work on this site. I had been working full-time for a company that makes high pole count permanent magnet synchronous motors (PMSM). While there I worked on motor cogging reduction/elimination using active control. This required a deeper dive into motor physics and developed an interest in various motor topologies. One type of motor I find interesting, is the switched reluctance motor (SRM). SRM’s have a simple, low-cost construction which doesn’t require permanent magnets. This allows reliable operation at high speed and high temperature. The challenge with SRMs is, high torque ripple, acoustic noise and vibration. My goal with this project is to build my own SRM, associated drive electronics, firmware and software which will allow experimentation with a variety of control methods.
There are many good references for switched reluctance motor. I find that my go-to reference is;
Switched Reluctance Motor Drives – Fundamentals to Applications, Ed. Berker Bilgen, James Weisheng Jiang &Ali Amadi, CRC Press, Taylor and Frances Group, Boca Raton Fl.
I purchased the Kindle version of the book from Amazon. I found the particular motor topology which I have selected in the Electric Power Applications journal of the Institution of Engineering and Technology (IET).
Hossein Torkaman , Aghil Ghaheri, Ali Keyhani, Axial flux switched reluctance machines: a comprehensive review of design and topologies, IET Electr. Power Appl., 2019, Vol. 13 Iss. 3, pp. 310-321
This paper refers to my selected topology as Single-Phase US-AFSRM. This is short for “U–Shaped stator”–“Axial Flex Synchronous Reluctance Machine” Note the use of “machine” rather than “motor”. This is done to reflect that these machines may be run as motors or generators. Also “synchronous” rather than “switched” to indicate the type of switching used. The initial concept is shown below. This is known as an out-runner motor. The motor’s rotor spins around an interior stator. This single puck (I’m Canadian eh!) is only a single phase motor. Multiple phases can be obtained by stacking multiple pucks. Alignment pins placed in the holes of the rotor shaft permit offsets for up to 12 independently aligned phases. A minimum of one puck is required for each phase. Generally more phases permit the generation not just more torque but smoother torque. The cost of this is adding drive electronics for each phase. Torque can be increased for a fixed number of phases by stacking multiple pucks for each phase at the same alignment and wiring their coils in parallel. Make sure that the power electronics are capable of driving the extra current at the lower resistance and inductance presented by parallel connected coils.
The system supports attaching drive electronics to each puck. A preliminary design is shown below. This is the PCB, which connects to the outside world. There is still some room on the board. I hadn’t planned on adding any power electronics to this PCB. My intent is to put the motor drive power components on a separate PCB(s). These could be swapped in and out depending on the type of motor or number of phases. I could add some bus capacitors for the motor power supply. Logic power comes from a separate 8 to 28 Volt DC supply. Another option is to add an AC/DC converter to this PCB to provide logic power from a single phase AC plugin. This is a prototype design. It may make more sense to add interface options in addition to USB and CAN-FD. WiFi, and wired Ethernet are being considered.
The microcontroller used on the board is the RP2040. It is extremely cheap (< $1US) and easy to get considering current supply-chain issues. Thankfully, these seem to be easing somewhat. The microcontroller does not need to be as powerful as some of the microcontrollers typically used in applications like this (for example STF32x) since computations will be spread across multiple microcontrollers; typically one RP2040 per puck. The clocks of the microcontrollers are synchronized and data is passed used multidrop low voltage differential signalling (M-LVDS). The M-LVDS network is connected with coaxial cable using U.FL connectors on the top an d bottom of each PCB. The programmable IO (PIO) of the RP2040 microcontroller allows passing data between PCBs with almost no load on the dual ARM M0+ processors. This PCB communicates with the outside world with a CAN-FD interface.
In coming posts I will describe some of the software development using breadboarded components including multiple Raspberry PI Pico evaluation boards.