View previous topic :: View next topic |
Author |
Message |
young
Joined: 24 Jun 2004 Posts: 285
|
D/A analog output |
Posted: Tue Jul 13, 2004 8:04 am |
|
|
I need to out put analog signal on one of the pins of 16f877a, how to do that? |
|
|
rwyoung
Joined: 12 Nov 2003 Posts: 563 Location: Lawrence, KS USA
|
|
Posted: Tue Jul 13, 2004 8:06 am |
|
|
Google for "PWM" and "PIC" together. Otherwise you need to add a DAC to your circuit. _________________ Rob Young
The Screw-Up Fairy may just visit you but he has crashed on my couch for the last month! |
|
|
young
Joined: 24 Jun 2004 Posts: 285
|
|
Posted: Tue Jul 13, 2004 8:40 am |
|
|
Thank you:
As you said, I already google the internet for sample program and tutorials and circuits by using PWM, does anybody has these already or know some place to go. |
|
|
rwyoung
Joined: 12 Nov 2003 Posts: 563 Location: Lawrence, KS USA
|
|
Posted: Tue Jul 13, 2004 9:55 am |
|
|
There is one with all the other CCS example programs. _________________ Rob Young
The Screw-Up Fairy may just visit you but he has crashed on my couch for the last month! |
|
|
young
Joined: 24 Jun 2004 Posts: 285
|
|
Posted: Tue Jul 13, 2004 9:58 am |
|
|
where is it?
Thanks |
|
|
valemike Guest
|
|
Posted: Tue Jul 13, 2004 10:28 am |
|
|
Look at Microchip's application notes for "Tips N' Tricks" |
|
|
young
Joined: 24 Jun 2004 Posts: 285
|
|
Posted: Tue Jul 13, 2004 11:48 am |
|
|
I may ask too much, but , are there any specific sample program for me to look? sorry, that is a newbie's question! |
|
|
dyeatman
Joined: 06 Sep 2003 Posts: 1934 Location: Norman, OK
|
Which type of output do you need? |
Posted: Tue Jul 13, 2004 12:29 pm |
|
|
What do you want? PWM or true analog output?
If it is analog you must use an external DAC and the one you choose will determine what code is needed whether it is SPI, I2C or parallel etc.
If you want PWM there is lots of PWM code on this site all you have to do is search.... |
|
|
rwyoung
Joined: 12 Nov 2003 Posts: 563 Location: Lawrence, KS USA
|
|
Posted: Tue Jul 13, 2004 12:53 pm |
|
|
young wrote: | where is it?
Thanks |
The on-line help for CCS has an entry for example / sample programs. There they explain what each one does. They should have been installed in the same directory tree as your compiler.
The CCS website has some additional information about example programs.
Google is filthy with examples on how PWM works (although not all are PIC specific). The Microchip web page search will give you several hits if you search it for "PWM". This fourm will give you several hits if you search it for "PWM". The CCS on-line help will give you a few hits if you search it for "PWM".
I understand that you are a "newbie" but you will find that most people here would rather give you a hint and a shove in the right direction rather than try and write your code for you. Mostly because we know (from past and sometimes painful) experience you learn more doing it yourself.
Your extra-credit homework for today is to find out what "RTFM" stands for... And for a few more points, learn how to use the advanced search features in Google, both these things will carry you a very long way. _________________ Rob Young
The Screw-Up Fairy may just visit you but he has crashed on my couch for the last month! |
|
|
young
Joined: 24 Jun 2004 Posts: 285
|
|
Posted: Tue Jul 13, 2004 1:09 pm |
|
|
Thank you Rob and dyeatman:
I already wrote a PWM short program after all these painfull work..., no painful, exactly, I like these work, by talking wth you guys and get hints help me to think, and finally get solutions, at last, it is appreciation!
At the begining, I am looking for an analog output, and by getting direction, I nearly reach one solution to use pwm to output a PWM signal, but how to change this PWM to analog, this is my first question, the second, if I need real analog signal, I have to use a DAC right? so what kinds of convert is good selection? |
|
|
dyeatman
Joined: 06 Sep 2003 Posts: 1934 Location: Norman, OK
|
PWM to analog output |
Posted: Tue Jul 13, 2004 1:38 pm |
|
|
It depends on how accurate you need the analog output to be. If it doesn't have to be real accurate you can use an integrator circuit on the PWM output to convert the pulse to an averaged voltage.
The integrator circuit consists of basically a resistor on the PWM output pin followed by a capacitor.
What are you going to use the output for? How accurate and stable does the analog volatge have to be?
The answers to these questions will determine what values are needed, or if this method will work, or a DAc is needed.... |
|
|
young
Joined: 24 Jun 2004 Posts: 285
|
|
Posted: Tue Jul 13, 2004 1:51 pm |
|
|
Thank you dyeatman:
I am going to control the power of lighting and make dimming effect, I guess a 0.05-0.01 voltage resoultion is good.
I would be glad to test both way, using PWM and DAC. arew their any such circuit I could have a look? |
|
|
valemike Guest
|
|
Posted: Tue Jul 13, 2004 2:14 pm |
|
|
I can't believe i looked for this!
Look at National Semiconductor's LM331.
It is a frequency to voltage converter. Shoot out any PWM frequency, and you'll see the voltage output go up and down from 0 to Vcc. No ripple either.
Doesn't cost too much to buy the components at Digikey.
-Mike |
|
|
SherpaDoug
Joined: 07 Sep 2003 Posts: 1640 Location: Cape Cod Mass USA
|
|
Posted: Tue Jul 13, 2004 3:04 pm |
|
|
young wrote: | Thank you dyeatman:
I am going to control the power of lighting and make dimming effect, I guess a 0.05-0.01 voltage resoultion is good.
I would be glad to test both way, using PWM and DAC. arew their any such circuit I could have a look? |
For dimming room lighting you can probably make do with 16 levels. 64 levels will certainly be enough for any human eye. If it is some photographic or scientific use you might have to use more that 8 bits. If you keep your PWM frequency well above the 60Hz (50Hz) line frequency you won't "see" any effect of the PWM noise. _________________ The search for better is endless. Instead simply find very good and get the job done. |
|
|
rwyoung
Joined: 12 Nov 2003 Posts: 563 Location: Lawrence, KS USA
|
|
Posted: Tue Jul 13, 2004 4:09 pm |
|
|
young wrote: | At the begining, I am looking for an analog output, and by getting direction, I nearly reach one solution to use pwm to output a PWM signal, but how to change this PWM to analog, this is my first question, the second, if I need real analog signal, I have to use a DAC right? so what kinds of convert is good selection? |
You could benefit from reading "The Art of Electronics" by Horowitz and Hill. Check amazon.com for a used 2nd edition. It is getting a little dated but the fundamentals never change.
Changing a PWM to a DC level requires a low pass filter. The filter can be as simple as a single RC time constant. You can get pretty decent results with a Sallen and Key single op-amp configuration.
You mention you are wanting to dim lights. Are these DC or AC? How are you planning to chop the power? If you are going to use a triac (AC lights) then PWM may not be the simplest. You may want to look at a zero-crossing detection scheme where you delay turn on of the triac based on a delay from the AC line zero crossing. Simple to do but has limitations. In some countries, the regulating authorities frown on this method as it tends to spray EMI. _________________ Rob Young
The Screw-Up Fairy may just visit you but he has crashed on my couch for the last month! |
|
|
|