Join us in Chat. Click link in menu bar to join. Unofficial chat day is every Friday night (US time).
0 Members and 1 Guest are viewing this topic.
I need to generate an analog voltage using a microcontroller (16F877A)
resistors I have access is 5% tolerence.[...] problem is as soon as I connect 2 resistors in series tolerence will become 10%.
it is not a problem if there are resistor values wit R and 2R. like 1k and 2k
Assuming you have two 1k/5% resistors that are say +5%, i.e. 1050 Ohm each and you put them in series, you'd get 2100 Ohm which is still 5%And that's the worst case scenario, the two resistors may just as likely be one +5% and one -5%, in which case the resultant series connection will be 0%Actually, the more resistors you connect together, the more precise the end result.Most 5% tolerance resistors are much closer than 5% (which is the guaranteed limit) and if you use metal film types that all come from the same production batch, they'll all be close in value, probably within better than 1%, so the R-2R will be pretty OK for a discrete build.
1k0 and 2k0 are standard values
If speed isn't important, you can use an on-chip A/D-C together with a cap (plus a digital I/O pin to charge/discharge the cap) and a high impedance buffer, to get an output with the resolution determined by the A/D-C.
Quote1k0 and 2k0 are standard valuesnever seen 2K. only near values I know is 1.8k and 2.2k
QuoteIf speed isn't important, you can use an on-chip A/D-C together with a cap (plus a digital I/O pin to charge/discharge the cap) and a high impedance buffer, to get an output with the resolution determined by the A/D-C.if i understand correctly this will kill lot of CPU time
You probably have access to the E-12 row alone, if you haven't seen 2k0
Not a lot and whether it's usable in a particular app should be determined with basis in what else needs to be done and whether you're able to make it in an interrupt routine.'Most important is to keep leakage low - the more leakage, the more CPU time it needs to keep the voltage.