I appreciate all of your replies. As a short term solution I will be
implementing the PWM in a PIC microcontroller and interfacing that with the SBC
but I will investigate the methods suggested by Walter, Mike and Jesse as soon
as I get some time. Thank you very much for a highly responsive thread.
Komal Rauf
--- In "jesseoff" <> wrote:
>
>
>
>
>
> --- In Jim Ham <jimham@> wrote:
> >
> > I wonder if different people have different ideas of what motor control
> > really is. If you have one PWM connected to a drive that is feeding
> > current to a motor, I'll bet a real-time Linux kernel could work fine.
> > If, however, you have several PWMs connected directly to FETs that are
> > feeding current to the motor (no external drive), it will be a real
> > stretch to use Linux directly. These are two completely different
> > topologies.
>
> Using Linux like a microcontroller is really not its strength and a $1.00
> 4Mhz PIC a lot of times ends up easier to program, debug, and has better and
> more consistent realtime behavior. Bit-banging PWM using a general purpose
> CPU like an ARM9 running a general purpose OS like Linux one has to be very
> careful to design around all the latencies. Not to mention theres always a
> chance, for example, somebody did something stupid programming the ethernet
> driver that completely screws up your worst case latency.
>
> The paper below has measured Linux's IRQ latency with a completely tricked
> out realtime Linux running a 520Mhz ARM processor at 70uS. 70uS is a heck of
> a long time compared to even a 8Mhz micro. The article also mentions under
> load the IRQ dispatch latency varies by up to another 80uS. This randomness
> has to be taken into account to calculate just what precision a software
> bit-bang PWM algorithm has in its target duty-cycle. For example, if you
> wanted a honest 12-bit precision duty cycle PWM output (your jitter should be
> less than 1LSB), so you could only reliably do a max PWM frequency of 3Hz in
> realtime Linux on a 520Mhz ARM. Most raw motor control (excluding servos)
> prefers PWM >10Khz to keep the motor and power electronics inaudible.
>
> http://www.linuxfordevices.com/files/article081/Bauer.pdf
>
> We wrote a general purpose PWM Verilog core last year that can do 7 PWMs with
> 250LUTs (approx 5% of the TS7500 Lattice XP2 FPGA size). It can also serve
> as a 3-phase VFD (1-120Hz) with 12-bit precision PWM at 12Khz with
> programmable deadtimes and its only ~470 lines of verilog. More documentation
> is in the comment block at the top of the source code I'm linking below:
>
> http://dl.dropbox.com/u/52796058/wb_pwm.v
>
> This source is free to use and modify by anybody using it on a TS product.
>
> //Jesse Off
>
>
>
> >
> > The PIC processors I referred to earlier have multi-output PMW modules
> > built in that handle dead time and other issues associated with driving
> > motor bridges. Other manufacturers then Microchip have other solutions,
> > I'm just more familiar with the PIC line.
> >
> > Jim
> >
> > jesseoff wrote:
> > >
> > >
> > > --- In Jim Ham<jimham@> wrote:
> > >
> > >> Of course, if Techologic offers a motor control core that works out of
> > >> the box the whole cost equation changes... This is a big IF.
> > >>
> > >
> > > We have several we have implemented for customers, regular brushless DC
> > > motor control core with quadrature feedback, stepper controllers with
> > > auto-acceleration/deceleration, and even 3-phase sinusoidal PWM (or
> > > quasi-sinusoidal) variable frequency drive controllers for AC induction
> > > or permanent magnet types.
> > >
> > > The main thing the prevents creating a general purpose product is always
> > > how the customer wants the motors connections terminated or which power
> > > FETs to use or how many to control on one board. Every product is unique.
> > >
> > > //Jesse Off
> > >
> > >
> > >
> > > ------------------------------------
> > >
> > > Yahoo! Groups Links
> > >
> > >
> > >
> > >
> > >
> > > -----
> > > No virus found in this message.
> > > Checked by AVG - www.avg.com
> > > Version: 2012.0.1913 / Virus Database: 2411/4925 - Release Date: 04/09/12
> > >
> > >
> >
> > --
> > Porcine Associates LLC
> > 244 O'Connor St.
> > Menlo Park, CA 94025
> > USA
> > +1(650)326-2669 fax +1(650)326-1071
> >
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|