atmel controller mit 12Bit ADC min. 1000 Messungen/s

Gast #1702861
Lesenswert?

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
Gast #2091776
Lesenswert?

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
#2091810
Lesenswert?

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
Gast #2092395
Lesenswert?

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.
(Firma: TravelRec.) Persönliche Seite #2092429
Lesenswert?

Über den Algorithmus des Oversampling mit Decimation verringert sich 
auch der Fehler. Aus der AppNote:
1
To increase the resolution by one bit, four samples from the same ‘neighborhood’ are 
2
added. These samples have values that differ from each other by a few LSB, because 
3
of  the  noise.  These  four  samples  are  added:  508  +  507  +  505  +  505  =  2025. 
4
According to the decimation principle the answer now need to be scaled back to 11-
5
bit. It needs to be right shifted n times, where n is the desired extra number of bits. 
6
The result is 1012. After increasing the resolution, it suddenly is possible to achieve 
7
samples  between  the  original  quantization  steps.  Still,  the  signal  is  oversampled 
8
enough  to  increase  the  resolution  further,  to  12  bit.  Adding  16  10-bit  samples  and 
9
right-shifting the result 2 times will do this. The result is 2025. This number is more 
10
reliable,  since  the  error  margin  is  reduced  to  ~1.22mV  using  a  12  bit  result.  This 
11
example shows that the user who started off with a slow varying signal, sampled 3800 
12
times  per  second,  with  a  voltage  accuracy  of    ~5mV,  now  has  240  samples  per 
13
second with a 12-bit resolution, and a voltage accuracy of ~1.22mV.
#2092645
Lesenswert?

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.
Gast #2092706
Lesenswert?

Sieh Dir diese beiden Typen an:
ADC
http://www.reichelt.de/ICs-M-MN-/MCP-3201-CI-P/index.html?;ACTION=3;LA=444;GROUP=A217;GROUPID=2914;ARTICLE=90070;START=0;SORT=artnr;OFFSET=500;SID=15w3FueawQAQ8AADzoXi06b09c48df5367744f214a125e8560bc9

und DAC
http://www.reichelt.de/ICs-M-MN-/MCP-4921-E-P/index.html?;ACTION=3;LA=3;GROUP=A217;GROUPID=2914;ARTICLE=90088;START=0;SORT=artnr;OFFSET=500;SID=15w3FueawQAQ8AADzoXi06b09c48df5367744f214a125e8560bc9

Für das Geld bekommst Du keine speziellen AVRs, hast 12 Bit mit hoher 
Geschwindigkeit und mußt keine Klimmzüge programmieren. 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.
(Firma: TravelRec.) Persönliche Seite #2092711
Lesenswert?

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.
#2093050
Lesenswert?

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.
(Firma: TravelRec.) Persönliche Seite #2093211
Lesenswert?

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 ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren