PWM IC question

Hi all,

I was wondering if someone could answer why not many people use PWM IC's in their designs. Why is that? It seems that IC's like the DS1050 would be beneficial in that it would relieve the processor of the PWM timing.

For those not familiar with the DS1050 IC, it is an IC that outputs PWM with a two-wire I2C interface to your processor.

I have incorporated the DS1050-25 IC in my current design and it seems to work wonderfully. The PWM is 25KHz, well beyond audiable threshold. The motos do not whine much but there is an audiable tone similar to the sound a radio makes when changing stations. Kinda strange but cool for a robot. ;-)

Anyway, thanks in advance.

Keith

Reply to
Lifer
Loading thread data ...

I don;t use it because findchips.com shows no one carrying that part.

If Newark, Furure, Mouser and DigiKey don't carry it, I'm unlikely to use it.

The Dallas datasheet is dated 7/2001 so either it didn't take off, and is due to get discontinued, or ........

Reply to
Alan Kilian

Why not just use the PWM output from a micro? 8 or 10 bits instead of

5 and (the micro I'm working on at the moment has 5 of them), which ought to be enough for most purposes. Then there is the M*x*m issue.

Best regards, Spehro Pefhany

Reply to
Spehro Pefhany

Reply to
Chris S.

The micronctroller's I've used were tied up completely when running a PWM channel, and only offered a couple of them.

I'm envisioning a project that will require simultaneous control of four independent motors, along with a fair number of other activities, and for that, I'm going to take a serious look at a dedicated PWM chip.

Reply to
Jeffrey C. Dege

Then you probably weren't doing something right. I've made an eight-channel servo controller out of a atmega32. It managed 8 PWM channels, 8 A2D channels, and responded quickly to i2c bus commands without skipping a beat. As long as your chip is fast enough and the interrupts are configured correctly, PWM should never be too much of a load. Only when you need a serious number of channels, in the dozens, should a separate chip be needed.

Reply to
Chris S.

If you use an atmel 8051F??? with a PCA (programmable counter array) you can use 5 channels PWM without it costing you any cycles.

Good luck,

Peter

Reply to
Peter van der Vos

Thanks for all of your responses. It all makes sense. I did have a tough time finding these chips too. I ended up ordering them from Dallas/Maxim themselves.

These IC's do cost money too. Where as PWM in a processor would be "free". Just would take a bit of configuration code.

I guess I prefer the ease of use factor. The IC is very small(MSOP-8) an d I have I2C available anyway. I am only using two of these PWM IC's but I can add up to six more later if needed.

I am using a PIC 16F877A processor. While the '877 does have PWM, I felt it would be a better use of the on-chip resources to take the PWM off chip. This way I have full use of all of the IO pins on the processor as well as all of the timers and such. Addtionally, I find the PWM on this part to be too low of a frequency which causes the motors to emit a whining noise.

I will look into the processors you have mentioned. I am interested in trying some different microcontrollers and learning to program them.

Thanks aga> Hi all,

Reply to
Lifer

At 20MHz you can get 10 bit resolution with a 19.53kHz PWM frequency. If 8 bits is okay, you can get 78.12kHz, or with a 4MHz clock, 15kHz. You can get 31.26kHz even with a slow 4MHz clock by going down to 7 bits resolution. See the midrange reference manual for details.

At 5.5 bits & 20MHz clock you could do a 200kHz+ PWM!

If you can handle SMT, the PIC18F series has some members with 5 PWM channels and loads of other goodies in an 80 pin TQFP, and not that expensive. They run at 40MHz.

Best regards, Spehro Pefhany

Reply to
Spehro Pefhany

If it means buying a $50 microcontroller instead of a $6 microcontroller, it's not "free".

Reply to
Jeffrey C. Dege

Many micros have dedicated PWM that is done in hardware. After you configure it for the clock rate, period, etc, you just set your duty cycle value in a register and the hardware does the rest in the background. No processor cycles are consumed handling the PWM at that point. For example, my MAVRIC-II board that uses an Atmel ATmega128 (see the URL in my sig for more info) has 6 of these channels that can be run at pretty high resolution depending on how they are configured. Most of the smaller AVRs have 2 or 3 of these channels. I'm sure PICs have them too, but I'm not so familiar with those.

-Brian

Reply to
Brian Dean

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.