EmbeddedRelated.com
Forums
Memfault Beyond the Launch

PID vs MSP430F2013

Started by "Robert J. Wilson" December 6, 2006
Hi Lou,

>>In the past I've been used to PID interrupts of typ. 1 mS, ie. 1000 samples
>>/ second.

> That's pretty quick. I did one product once a long time ago with a 1 mS
> loop time for a tension control application. I never knew what their final
> PID terms were. They were very secretive about everything they did - they
> could tell me but they would have to kill me.

I only really applied PID to motion control, hence using the 1 mS sampling in general.
(once used it for oven heater app to prevent temperature overshoot)
The most memorable using 1 mS PID interrupts was tension control too - or I guess I could
call it that ?
It was for an envelope making machine. Was surprisingly tricky.
These machines were like easily 20-25 meters long and made hundreds of envelopes / min.
They were "fed" by a massive paper roll, IIRC the paper roll was at least 3 meters in diameter.
The feed to the machine went through a mechanism that had a "dancer" in it (a lever that rested on
the paper feed) - and basically its angle represented the tension on the paper feed.
If the feed wasn't predicting/tracking the machine well enough, the "dancer" would actually
dance up and down quite violently. Once tuned, the dancer would almost stay still at full speed.

If the feed was too slack, the paper would wrinkle into the machine or the machine would even
start banging violently (was quite spectacular really :-). If the paper feed was a tad too tight,
it would tear the paper feed off the roll. (paper was about 1/2 meter wide), it then took a lot of
fumbling to "restart" the whole machine, as it needed re-feeding the paper slowly through the
whole frigging thing to the cutting etc. parts.
The machine always started off with major "chugging" up to its full speed. (like a steam train :-)

Ironically, this client was using pre-purchased (and expensive !) big DSP based controllers, ran
about ~ 300 envelopes / min IIRC.
I did a small controller with a PIC16C71 running at 16 MHz. It drove a 110 V brushless DC motor to
turn the massive paper roll and needed _huge_ torque of course.
I used 24 bit signed integer for paper tension error calcs - and since there was no major
trajectory generation to calc it wasn't too cramped really, considering it ran on a little PIC
with 1 mS INTs. (the "dancer" had a special potmeter mounted to it that I/F into the A/D)
My finished little product _easily_ ran 800 envelopes / minute, much faster than the big fat DSP
controller, and ridiculously inexpensive to produce.
Tuning it was a bitch of a thing, but it then worked beautifully.

I haven't done motion control in years, but I loved it.
I now only really use servo loop principles in digital PLL (mostly 2nd order) loop filters for RF
applications...

Best Regards,
Kris

-----Original Message-----
From: m... [mailto:m...] On Behalf Of Lou C
Sent: Tuesday, 12 December 2006 1:09 AM
To: m...
Subject: RE: [msp430] PID vs MSP430F2013

Beginning Microcontrollers with the MSP430


Memfault Beyond the Launch