Welcher AD-Wandler im Arduino UNO

Guten Abend,

welche AD-Wandler wird im Arduino UNO genutzt?

Gruß Andreas

Das ist kein bestimmter Typ den man auch so kaufen könnte wenn du das meinst.

Das ist ein 10-Bit sukzessiver Approximation ADC. Siehe Datenblatt Seite 250ff und Seite 323

gibt es günstige 16 bit wandler die ich per i2c oder so anbinden könnte?

kennt ihr da was?

z.B.: http://www.reichelt.de/MCP-3426A0-E-SN/3/index.html?&ACTION=3&LA=446&ARTICLE=109742&artnr=MCP+3426A0-E%2FSN&SEARCH=A%2FD+Wandler

Der scheint aber sehr lahm zu sein. Da gibt es wesentlich schnellere, aber die kosten dann auch was.

Wenn du oben "A/D Wandler" eingibst, kannst du schön suchen. Preis, Gehäuse, Auflösung, Anzahl der Kanäle, etc.

woran siehst du das der langsam ist, und was wär langsam? ist das die abtastrate 15 sps?

Ja. Samples per Second. Kommt darauf an was du da machen willst. Vielleicht das reicht das auch.

Hallo,

ja, die 15 SPS (bei 16 Bit) ist die Anzahl der Samples pro Sekunde. Das heißt 1000ms / 15 wäre, dass er eine Conversion Time von 66,7ms hat, heißt aller 66,7ms kann man einen neuen Messwert bekommen. Vorher nicht. Später immer. Nur was heißt schnell oder langsam. Kann man nicht sagen. Für irgendwelche Messungen zu Hause sollte das locker reichen. Wenn 67ms zu langsam sind, möchte ich erstmal die Anforderung der Messung sehen.

Ich selbst nutze den MCP3428, hat I2C. und den MCP3550, hat SPI.

Guck mal bei MCP, Maxim, TI in den Produktübersichten was es da so gibt. Die haben Tabellen mit Filtern. Da bekommt man schnell einen Überblick was vorhanden ist. Ob man dann genau den Typ im Laden nebenan auch kaufen kann, steht allerdings auf einen anderen Blatt.

ja das reicht locker von der geschwindigkeit

was schaffen die standart ADC beim uno / mega /leonardo? aus interesse

Normal sind ca. 125µs pro Wandlung. Es geht auchin bis zu ca. 20µs, aber darunter leidet dann die Genauigkeit.

interessant, wie fix die sachen alle sind :astonished:

Hallo,

is ja alles richtig, man darf jetzt nur nicht Äpfel mit Birnen vergleichen. Je geringer die Auflösung desto drastisch kürzer sind die Wandlungszeiten. ;) Zum Bsp. macht die 3000er Reihe von MCP bei 10Bit 22k Samples/sec. was 45,5µs pro Wandlung bedeutet. Und die Dinger sind wirklich nicht teuer. Da kommt bestimmt ein größerer Programmcode im Atmel µC kaum hinterher so schnell die Werte auszulesen. Deswegen ist schnell, laut meiner Meinung, nicht gleichzusetzen mit notwendig. Dann hat man wieder ein neues Problem. Lohnt es sich dann noch ohne delay den Request zu starten und später auszulesen oder wartet man einfach die paar µs und liest sofort aus. :sweat_smile: :sweat_smile: :sweat_smile:

Es kommt immer drauf an was man machen will. Wenn man nur analoge Sensoren ausliest, dann ist die Geschwindigkeit egal.

Ich habe hier aber auch schon ein paar Anwendung gesehen wo es um die Digitalisierung schnell wechselnder Signale ging und man da mit der Arduino Software kaum was vernünftiges produzieren konnte. Dabei kann man natürlich mit so Dingen wie free running mode und conversion interrupt bei direkter Programmierung der Prozessor Register nochmal einiges an Zeit rausholen. Man hat dann aber auch wieder ein Problem die Werte zu verarbeiten da die serielle Schnittstelle so lahm ist...

Bei 16 Bit ist auch die Frage ob das wirklich absolute Genauigkeit ist, oder ob man da nicht Rauschen oder sonstige Schwankungen misst.

okay :)