Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: AVR32 Analogwerterfassung Kategorie: Programmierung C (von EMK - 27.01.2017 9:17)
Als Antwort auf Re: AVR32 Analogwerterfassung von EMK - 17.01.2017 17:03

> > > > > Wollte sieben Analogwerte (ADC0 bis 6) bezogen auf einen Referenzeingang (ADC7) mit 1,024V
> > > > > erfassen. Mit Eingangsspannungen von 0 bis 2,048V auf den Eingängen 0 bis 6 sollte somit ein Wert
> > > > > von -2048 bis 2047 gemessen werden. leider nicht, der Wert ändert sich von ca. -180 bis +1900.
> > > > >
> > > > > ADC_SetInput(0, 0, 7, ADC_SHG_1);
> > > > > ADC_SetInput(1, 1, 7, ADC_SHG_1);
> > > > > ADC_SetInput(2, 2, 7, ADC_SHG_1);
> > > > > ADC_SetInput(3, 3, 7, ADC_SHG_1);
> > > > > ADC_SetInput(4, 4, 7, ADC_SHG_1);
> > > > > ADC_SetInput(5, 5, 7, ADC_SHG_1);  
> > > > > ADC_SetInput(6, 6, 7, ADC_SHG_1);  
> > > > >
> > > > > ADC_Enable(ADC_MODE_12BIT|ADC_MODE_FREE_RUN, 1000000, ADC_ADCREF0, 7, 0);
> > > > >
> > > > > Wenn z.B. ADC_SetInput(0, 0, 7, ADC_SHG_1); in ADC_SetInput(0, 0, ADC_GND, ADC_SHG_1); geändert
> > > > > wird erhalte ich Messwerte von -19 bis 2048 !?
> > > > > Wo liegt der Fehler
> > > >
> > > > Hallo EMK,
> > > >
> > > > hast Du denn am Port PA16 (Pin X1.16) eine Referenz von 2,048V?
> > > >
> > > > VG, Tobias
> > >
> > > An PA16 ist eine Spannung von 2,048V ; an PA11 hingegen 1,024V
> > > An den Analogen Eingängen PA4 bis PA10 kann sich die Spannung von 0 bis 2,048V ändern
> > >
> > > Habe auch den Versuch gemacht auf PA4 eine Spannung von 1,024V zu legen und die Spannung an PA11
> > > zu verändern -> Messwertänderung von 180-Punkte wenn Spannung an PA11 sich von 0 bis 2,048V ändert
> > > (für Messwert von ADC_SetInput(0, 0, 7, ADC_SHG_1);.
> > > Kann das Problem bei der Version der AVR32 liegen? Bootloader & Interpreter = 1.00 ; Hardware 10
> > > VG Michael
> >
> > Hallo Michael,
> >
> > das mit der Version kann ich mir nicht vorstellen. Bei mir ist
> >
> > Bootloader Version: 1.00   Interpreter Version: 1.10
> > Hardware:C-Control AVR32Bit   Hardware Rev:01
> >
> > auf einer nicht all zu alten AVR32. Das scheint schon ok zu sein.
> >
> > Irgendein Gedankenfehler ist da drin, ich komme nur noch nicht drauf. Deine Auffassung mit
> > -2048 bis 2047 digit ist m.E. schon mal falsch. Der AD-Wandler bekommt ja eine Referenz von
> > 2048mV. Da Du differentiell messen möchtest, hättest Du bei einer Differenzspannung zwischen
> > bspw. Port 0 und 7 von +2048mV -> 2047 digit.Bei einer Differenzspannung von -2048mV -> -2047 digit.
> >
> > Du hast aber immer nur eine Differenz von 1024mV, egal ob + oder -.
> >
> > Ich bin leider unterwegs und habe nichts zum testen dabei. Kann auch sein das ich jetzt einen
> > Gedankenfehler mache.
> > Sende doch bitte mal Dein ganzes Programm, dann kann man evtl. mehr sehen.
> > Und versuche doch erstmal auf einen Kanal abzuspecken.
> >
> > VG, Tobias
>
> Habe ein Demoproject abgeändert um eine Differenzmessung zwischen ADC0 und ADC1 zu erhalten (siehe
> Anhang)
> Referenzspannung 2,048V ; an ADC1 1,024V ; an ADC0 Spannung die zwischen 0 und 2,048V variieren
> kann ; somit müsste die Differenz Messung von -1,024 bis +1,024V gehen.
> Mit ADC_SetInput(0, 0, ADC_GND, ADC_SHG_1); erhalte ich einen Messwert von 0 bis 2047.
> Mit ADC_SetInput(0, 0, 1, ADC_SHG_1); erhalte ich einen Messwert von -30 bis 1360 unabhängig
> von der Spannung an ADC1. (ADC1 auf Masse, auf 1,024V oder 2,048V)
> jetzt taucht die Frage auf ob ADC0 nur eine Differenz zu einen bestimmten ADCx messen kann
>
> leider benötige ich unbedingt diese Funktion da ich Wechselspannungen und Ströme erfassen muss.
> Andere Frage: Ist die AVR32 ein Auslauf Modell oder wird sie weiterhin hergestellt?
>
> VG. Michael

Problem gelöst! C-Control Geräte zum Elektroschrott und anderen Controller gekauft
VG. Michael


    Antwort schreiben


Antworten: