Der Beitrag sagt es schon!
Ich bin auf der Suche nach einem AVR, der einen 12Bit ADC onboard hat.
Gerne würde ich mindestens 1000 Messungen je sekunde tätigen. Also eine
hohe Sample-Rate.
Kann mir jemand einen Chip empfehlen? evlt brauche ich noch 4 digitale
I/Os. und eine UART, externen Baudratenquarz.
Danke für Empfehlungen
Ansehen kann man sich in dem Zusammenhang auch mal die "Battery
Management AVR"
ATMega8HVA, ATMega16HVA, ATMega16HVB, ATMega32HVB
Die haben auch 12 Bit Auflösung und Wandlungsraten von > 1500/s bei 1
MHz.
Jörg B. schrieb:> ATMega8HVA, ATMega16HVA, ATMega16HVB, ATMega32HVB> Die haben auch 12 Bit Auflösung und Wandlungsraten von > 1500/s bei 1> MHz.
weiß denn zu diesen Teilen jemand was?
Ich würde gerne damit eine Last betreiben.
Kann jemand etwas dazu sagen zu diesen Teilen?
Matthias
Also 10kHz über mehrere Kanäle ist kein Problem, solange du es nicht mit
dem Rechnen übertreibst. Die Dinger sind cool, allerdings am Anfang sehr
gewöhnungsbedürftig was die Register angeht.
Gruß Knut
Knut schrieb:> Also 10kHz über mehrere Kanäle ist kein Problem, solange du es nicht mit> dem Rechnen übertreibst. Die Dinger sind cool, allerdings am Anfang sehr> gewöhnungsbedürftig was die Register angeht.
Danke Knut. Sind die Register denn so anders?
Kümmert sich da der WINAVR/GCC nicht drum?
Wo bekomm ich so ein Teil am einfachsten her?
PWM ausgeben werden die ja auch können.
Ist da eine gute Auflösung erreichbar
oder sollte besser ein 12bit DAC dran?
Die andere Lösung wäre ein normaler AVR
mit externen Wandlern. Oder ein MSP430.
Da gibt es Typen mit 12bit ADC und DACs.
Matthias
Ein normaler AVR könnte mit Tricks wie Oversampling und gewollte
Rauscheinkopplung auf des Messsignal auch 12Bit erreichen. Schon gerade
bei der niedrigen Samplerate.
Knut Ballhause schrieb:> Ein normaler AVR könnte mit Tricks wie Oversampling und gewollte> Rauscheinkopplung auf des Messsignal auch 12Bit erreichen. Schon gerade> bei der niedrigen Samplerate.
wie gut sind denn die Ergebnisse damit?
Und welche Nachteile hat dies in Bezug
auf Einschwingzeit?
Matthias W. schrieb:> wie gut sind denn die Ergebnisse damit?
Die Auflösung steigt, aber die Genauigkeit bleibt bei max. 10 Bit wie im
Datenblatt angegeben.
Man kann die unteren Bits auch per Zufallsgenerator erzeugen und kommt
so problemlos auf 24Bit bei hoher Messrate.
Knut Ballhause schrieb:> Das ist falsch. Lektüre zum Thema gibt es hier:
Dort wird über höhere Auflösung geschrieben. Mir geht's um die
Genauigkeit.
Ich sehe ins Datenblatt vom ATmega164P/V 09/08, was wohl ein neuerer Typ
ist. Dort finde ich unter ADC Characteristics für die abs. Genauigkeit
Werte zwischen 2,75 und 3,5 LSB und auch noch Angaben über die
Nichtlinearität INL von 1,5 LSB: nicht max. sondern typisch!
Ich sehe nicht, wie man daraus 12Bit Genauigkeit zaubern soll.
Ein 12Bit ADC, der hier wohl gesucht wird, hat bessere Daten.
Beispiele ADS7822 oder MCP3201.
Beitrag "ADC und Fixed-Point Arithmetik"
Probier es aus aber das ko Kriterium sind hier 1000 Messungen pro
Sekunde. Ich sehe nicht wie man dann noch 1000 Messungen hinbekommen
soll.
So wie ich das Thema ADC sehe macht es wohl wenig
Sinn einen ohnehin wohl schon ziemlich ungenauen
10bit-Wandler (2,75..3,5 LSB?) noch auf weitere
2 bit mehr aufzublasen.
Daher kam ja die Idee besser gleich einen
Mikrocontroller zu nehmen, der mehr bit kann
bei entsprechender Genauigkeit.
Die Typen ATMega8HVA und ATMega16HVA klingen
ja grundsätzlich brauchbar. Es stellt sich
die Frage wie einfach man diese als Privatmann
bekommen kann und ob man damit die Aufgabe
lösen kann.
Eine Frage ist dabei ob der GCC diese Derivate
brauchbar unterstützt oder ob man selbst
Anpassungen machen muss.
Eine weitere Frage ist welche Probleme zu
erwarten sind wenn ich eine PWM mit 12bit
Auflösung oder mehr erzeugen möchte. Wenn
dies nicht möglich ist müsste ich einen
externen DAC anschließen.
Bernd N. schrieb:> Probier es aus aber das ko Kriterium sind hier 1000 Messungen pro> Sekunde. Ich sehe nicht wie man dann noch 1000 Messungen hinbekommen> soll.
Der ADC des Mega schafft locker 32kHz Abtastung. Das ganze 32x machen
und durch 8 dividieren. Schon hat man 12Bit bei 1kHz. Externe Bauteile,
die für 12Bit geschaffen sind, sind bestimmt besser, aber wenn es um
Platz, Verfügbarkeit und Preis geht, kann der AVR zur Not mithalten.
>> Das ganze 32x machen und durch 8 dividieren.
Deswegen der Link zum Code, 32x für 12 BIT Oversampling funktioniert
nicht aber du kannst es gerne ausprobieren.
Ernst schrieb:> Sieh Dir diese beiden Typen an:> ADC und DAC
vielen Dank! Die habe ich angesehen.
Sind DIL und leicht zu verarbeiten.
> Für das Geld bekommst Du keine speziellen AVRs,
mag sein. Ich habe ja keine Ahnung was
diese obigen Teile kosten würden. Den
Vorteil sah ich im integrierten Spannungsregler
und den Wandlern. Auch da wäre ja ein DAC
anschließbar.
> hast 12 Bit mit hoher> Geschwindigkeit und mußt keine Klimmzüge programmieren.
es ist halt eine SPI durchzutackern.
Das kostet auch ein paar Taktschritte.
Egal ob es eine ISR ist oder mit im Code
untergebracht ist.
> Die ADCs gibt es> mit bis zu 8 Kanälen und die DACs mit 2 Kanälen, wenn's ein bißchen mehr> kosten darf.
das ist wirklich nett.
Alternativ wäre ein MSP430 denkbar.
Bernd N. schrieb:> 32x für 12 BIT Oversampling funktioniert> nicht aber du kannst es gerne ausprobieren.
Habe ich schon gemacht für eine Temperaturmessung an meinen
Heizungsreglern. Und was soll ich sagen: Es geht!
Edit: aaah.. ich sehe gerade, dass ich nur auf 11 Bit erweitert habe.
Gut, der ADC des Mega kann auch mit 64kHz laufen ;-)