Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Space Vector PWM application

2005-08-29 by Thomas Keller

For those pof you who may not know, Spave Vector Pulse Width
Modulation is the premiere means of controlling the speed of AC
induction motorts (specifically, three phase motors).  The primary
reason for this is that they switch the power waveforms 33% less often,
thereby inurring 33% fewer switching losses, which makes for a much more
efficient speed control system, with less expensive components (less
expensive, lower-spec switching devices, smaller or no heat sinks,
etc.).

  The alogorithm used for SVPWM is, quite naturally, complex and
difficult to understand, being based heavily on vector algebra.  I have
located an example of a Space vectro control package for the AVR, at
avrFreaks.net.  Unfortunately, in analyzing the code, it has become
obvious that whomoever wrote the code is not a very good programmer (at
least, with the AVR).  This brings into question the correctness of the
algorithm they have coded, as well as the correctnes of the code itself.

  All this having been said, my question:  Has anyone out there ever
coded and used SCPWM, and could either provide sample code, or would be
willing to work wiht me to further analyze and "certify" the code I have
found?  My math skills are not strong enough to code this myself (I
know, I know, but I am being honest here), and I have need of the
algorithm for a personal project (which I may turn into a D-I-Y article
for "Home Shop Machinist Magazine" if it works out well).

   This project is in persuit of my personal dream of building a machine
shop in which I can build a variety of different descriptions of steam
engines, including scale models of classic steam locomotives,as well as
usable modela of Tesla Boundary Layer Turbines, etc..  Please help me
persue my dream?


Tom Keller

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.