Spørgsmål:
Implementering af I2C til analog
Or Goshen
2009-11-11 05:38:21 UTC
view on stackexchange narkive permalink

Hvordan kan jeg implementere (eller måske er der en IC, der allerede gør det) et kort, hvis input ville være I2C og output ville være analog spænding (0V - 5V)?

Til sidst vil jeg gerne tilslut et par af dem til IO-benene på en arduino, og skab effektivt digitale til analoge udgange.

Fem svar:
#1
+11
spiffed
2009-11-11 18:01:09 UTC
view on stackexchange narkive permalink

Overvej Microchip TC1321, det er en I2C digital til analog konverter (DAC) med 10 bit opløsning (4,88 mV / trin), tilgængelig i SOIC8 (du får har brug for et adapterkort til let lodning [f.eks. sparkfun's eller futurlec's) og fungerer fra 5 volt. Hvis du er i orden med kun 8 bit (19,5 mV / trin), skal du overveje TC1320.

Begge chips er tilgængelige fra Mouser eller Microchip Direct til omkring $ 2.

Hvis du kan bruge SPI i stedet for I2C, er dine muligheder lettere, MCP4821 og MCP4822 er single og dual SPI DAC-chips, der kommer i pæne PDIP8-pakker. Igen koster de omkring $ 2 fra de sædvanlige steder (mouser, digikey, mikrochip direkte, farnell).

Hvorfor ikke placere de faktiske webadresser nedenunder, hovedteksten i stil med fodnoter?
@Amos, fordi formateringen gør et godt stykke arbejde med at genkende URL'er i mange formater, og filteret 'ny bruger' rammer antal (links)> 1, uanset deres formatering. Jeg mistede et omfattende svar den første dag af samme grund (jeg sendte det og så ikke fejlmeddelelsen).
Jeg havde ikke forstået det.
Det er en digital-til-analog-konverter, ikke analog-til-digital.
Og du skal være i stand til at redigere dit indlæg og tilføje linkene nu, når du har noget ry.
Indlæg redigeret for at inkludere nogle links - korrigeret også de mindre fejl.
#2
+7
Lou
2009-11-11 20:09:57 UTC
view on stackexchange narkive permalink

Afhængigt af hvad du kører, hvis du har en Arduino, har du allerede tre til seks analoge udgange, da du kan bruge AnalogWrite-funktionen til at indstille PWM-stifternes driftscyklus. Frekvensen er ca. 490 Hz, mere end tilstrækkelig til lysdioder (igen, det afhænger af din applikation). Du kan indstille værdien fra 0 til 255, hvilket giver dig en opløsning på (5v / 256 =) .020V.

Du skal afgøre, om 490 Hz er en tilstrækkelig hastighed, men PWM bruges til at simulere analog spænding til mange applikationer, og det passer muligvis til dig uden ekstra dele eller programmering.

Du kan også overveje at bruge et filter (kondensator-modstandsnetværk) til at udjævne firkantbølgen. Det giver dig mere spillerum i de applikationer, du kan kontrollere, og passive er billige, men afhængigt af din applikation er det måske ikke engang nødvendigt.

http://www.arduino.cc / da / Reference / AnalogWrite

#3
+4
Tim
2009-11-11 06:00:21 UTC
view on stackexchange narkive permalink

Du har brug for en I2C-baseret digital til analog konverter (DAC) af en eller anden type, en hurtig søgning viste følgende:

http://www.sparkfun.com/commerce /product_info.php?products_id=8736

#4
+3
davr
2009-11-11 06:19:50 UTC
view on stackexchange narkive permalink

Bare så du ved, kan en AVR (chippen, der bruges i en Arduino) allerede producere 'analoge' spændinger ved hjælp af PWM + en kondensator til at udjævne bølgeformen (kondensator er ikke engang nødvendig i nogle tilfælde). Det er ikke helt så høj opløsning som en dedikeret DAC-chip, men det er godt nok til mange behov.

#5
+1
Hristos
2009-11-11 06:03:05 UTC
view on stackexchange narkive permalink

Her er en Wikipedia-post om digitale potentiometre. Disse digitale potter kan fungere som analog udgang på arduino. Det ville fungere som et almindeligt potentiometer, der fejer over alle spændinger fra 0 - 5V gennem serielle (af en eller anden slags) kommandoer. Hvis du ikke behøvede at have I2C, kunne du bruge denne digitale pot fra Parralax eller denne chip fra Jameco. De eneste I2C-chips, jeg har set, er alle overflademonterede i stedet for gennemgående hul, det gør dem sværere at arbejde med og. Her er linket til alle Jamecos I2C digitale potentiometre. Jeg håber, dette var nyttigt og held og lykke!

Digitale potter bruges generelt til at indstille forstærkningen eller dæmpningen af ​​et eksternt kredsløb i et par diskrete trin (256). For at få en jævnstrømsspænding ud af det, skal du forbinde dette til en spændingskilde, men det er virkelig ikke den applikation, disse er beregnet til. En DAC udsender derimod en spænding direkte og vil generelt have mange flere trin og mere nøjagtighed. En DAC er, hvad denne plakat leder efter.


Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 2.0-licens, den distribueres under.
Loading...