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

Re: ADC starkes rauschen ? Kategorie: CC-Pro Unit & Appl.Board (von ThomasJ - 13.02.2009 9:40)
Als Antwort auf Re: ADC starkes rauschen ? von Montelucon - 12.02.2009 13:00
Ich nutze:
C-Control Pro Mega128, CC-Pro 128 Application Board, Pro-Bot128
Hallo Monte,

danke es hat funktioniert.
Das Port hat ohne sich augenscheinlich tatsächlich selbstständig als Eingang initialisiert.

Ich hatte natürlich erwartet das die Definition automatisch bei der Initialisierung des ADC Ports abläuft.

GruĂ?

Thomas



> Hallo Thomas,
>
> hast Du die Ports der ADCs als "Eingang" initialisiert?
>
> Port_DataDirBit(deine Port-Nr, 0)   ' Port als Eingang
> Port_WriteBit(deine Port-Nr, 0)      ' Pullup ausschalten
>
> Eventuell sind die, aus welchen GrĂĽnden auch immer, als Eingang geschaltet.
>
> Allerdings hatte ich jetzt schon zwei Mega32, bei denen ein ADC defekt war.
> Da hatte ich aber andere Effekte.
>
>
>
> GruĂ?
>
> Monte
>
>
>
> > Hallo,
> >
> > wenn ich den ADC mit einem Widerstand gegen GND schaltet bekomme mit dem folgenden Programm
> > Werte zwischen 0 und 43 als Ergebnis.
> > Wenn ich VCC als Referenzspannung wähle bekomme Werte zwischen 0 und 25.
> > Diese ist mit unterschiedlichen Controllern reproduzierbar und ärgert mich auch auf meinem eigenen Board.
> >
> > Spiele ich das gleiche Programm mit AD0/AD1 auf die Mega32
> > erhalte ich mit dem Application Board bzw. eigenen Boards das konstante Ergebniss 0
> >
> > Netzteil etc. sind absolut identisch
> > Das einzige was mir im Datenblatt der ATmega128 auffällt ist die Anordnung des LC Netzwerkes
> > zwischen AVCC und ACC (GND) im Vergleich zu den Application Boards. Aber auch dieser Unterschied
> > ist auf dem Application Board der Mega 32 und Mega128 identisch .
> >
> > Programm:
> >
> >   ADC_Set(ADC_VREF_BG,3);
> > while(1)
> > {
> >
> >
> >    Dow=    ADC_Read();
> >
> >     Zeile1="Status";
> >      LCD_CursorPos(0);                       // LCD Cursor positionieren
> >
> >     LCD_WriteText(Zeile1);                  // String Zeile1 ausgeben
> >
> >     LCD_CursorPos(0x0A);                       // LCD Cursor positionieren
> >     Str_WriteWord(Dow,10,num,0,4);
> >
> >     LCD_WriteText(num);                 //
> >      AbsDelay(500);
> >     }
> >
> > Im voraus vielen Dank fĂĽr eure Hilfe
> > Gruss
> > Thomas
> >


    Antwort schreiben


Antworten: