GetADC geht nicht mehr

pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1343
Dabei seit: 02 / 2009
Betreff:

GetADC geht nicht mehr

 · 
Gepostet: 04.06.2011 - 00:41 Uhr  ·  #1
Hallo Leute.

Ich habe vor einigen Monaten meine Testschaltung mit den ADC-Ports des 1280 getestet, da lief noch alles ohne Probleme. Jetzt habe ich mein Board hier mit genau dieser Schaltung und es läuft nicht.

Klar ich dachte als erstes Mist, irgendwo ein Fehler auf den Board also zuerst mit der (feinen) Prüfspitze vom Oszi an den PortPIN und siehe da, wenn meine ADC-Linie offen ist, habe ich 0V, im 2. Zustand habe ich 1,85V und im 3. Zustand 2,54V

Aber selbst das einfache TestADC-Programm (siehe Unten) bringt immer nur den selben Wert 1022.

Mein AREF Pin habe ich mit einem NoiseFilter verschaltet. Und ich bin mir eigentlich sicher das genau diese Abfrage mit einer älteren Version von AVRco ohne Probleme lief.

Oder habe ich im Programm doch einen Denkfehler?

Code

program TestADC;

{$NOSHADOW}
{ $WG}                     {global Warnings off}

Device = mega1280, VCC=5;
{ $BOOTRST $0F000}         {Reset Jump to $0F000}

Define_Fuses
  Override_Fuses;
  NoteBook       =  E;
  COMport        = USB;
  LockBits0      =  [];
  FuseBits0      =  [];
  FuseBits1      = [SPIEN, JTAGEN, OCDEN];
  ProgMode       =  JTAG;


Import SysTick, SerPort, ADCPort;

//From System Import LongWord, LongInt;


Define
  ProcClock        = 16000000;       {Hertz}
  SysTick          = 10;             {msec}
  StackSize        = $0200, iData;
  FrameSize        = $0200, iData;
  SerPort          = 57600, Stop1;    {Baud, StopBits|Parity}
  RxBuffer         = 8, iData;
  TxBuffer         = 8, iData;
// Analog Input
  ADCchans       = 8, iData, int2;        // = [n], iData; = [m,n], iData;
  ADCpresc       = 128;

Implementation

{$IDATA}

{--------------------------------------------------------------}
{ Type Declarations }

{--------------------------------------------------------------}
{ Const Declarations }

{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}

VAR
// Allgemeine Vars
   TempInt              :   Integer;
   TempWord             :   Word;

{--------------------------------------------------------------}
{ functions }

{--------------------------------------------------------------}
{ Main Program }
{$IDATA}

begin

  EnableInts;
  // Warte kurz...
  mDelay(400);

// Start-Meldung
WriteLn(serout, 'DEGUG; System gestartet....');

// Ab hier Zyklus start...
 loop

 mDelay( 1000 );
  TempWord:= GetAdc( 1 );
 WriteLn(serout, 'Zustand ADC 1: '+ IntToStr( TempWord ) );

 endloop;
end TestADC.


Achso, diesen Zustand habe ich bei allen ADC-Ports!
Gruß
Thorsten
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Merlin
Administrator
Avatar
Geschlecht:
Alter: 25
Beiträge: 1473
Dabei seit: 03 / 2005
Betreff:

Re: GetADC geht nicht mehr

 · 
Gepostet: 05.06.2011 - 19:32 Uhr  ·  #2
I have had similar problems with a MEGA1280 - it was the ADC port destroyed, perhaps by static. A different chip worked fine.

Regards

Merlin.
pvs-deck
PowerUser
Avatar
Geschlecht:
Alter: 54
Beiträge: 1343
Dabei seit: 02 / 2009
Betreff:

Re: GetADC geht nicht mehr

 · 
Gepostet: 06.06.2011 - 01:05 Uhr  ·  #3
Hello Merlin.
Zitat geschrieben von Merlin

I have had similar problems with a MEGA1280 - it was the ADC port destroyed, perhaps by static. A different chip worked fine.


Which you mean are ESD, or?
I thought actually I enough protection would have planned (see picture).
The two protection diodes for fast ESD-Save.

I try a new ATMEGA. But the ATMEGA-ADC-Ports is really so sensitive?

Greeting
Thorsten
Der an diesem Beitrag angefügte Anhang ist entweder nur im eingeloggten Zustand sichtbar oder die Berechtigung Deiner Benutzergruppe ist nicht ausreichend.
Merlin
Administrator
Avatar
Geschlecht:
Alter: 25
Beiträge: 1473
Dabei seit: 03 / 2005
Betreff:

Re: GetADC geht nicht mehr

 · 
Gepostet: 06.06.2011 - 10:04 Uhr  ·  #4
Hello Thorsten.

I don't really know the cause, but the effect was very similar to your description.

Regards

Merlin.
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   79   93 · Page-Gen-Time: 0.022635s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI