GetADC geht nicht mehr

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

GetADC geht nicht mehr

 · 
Posted: 04.06.2011 - 00:41  ·  #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
Attachments
Schaltung NoiseFilter
Filename: ArefNoiseFilter.jpg
Filesize: 115.25 KB
Title: Schaltung NoiseFilter
Information: Schaltung NoiseFilter
Download counter: 76
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1373
Registered: 03 / 2005
Subject:

Re: GetADC geht nicht mehr

 · 
Posted: 05.06.2011 - 19:32  ·  #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
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1340
Registered: 02 / 2009
Subject:

Re: GetADC geht nicht mehr

 · 
Posted: 06.06.2011 - 01:05  ·  #3
Hello Merlin.
Quote by 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
Attachments
ADC Input Schutz
Filename: ADC_Input.jpg
Filesize: 73.67 KB
Title: ADC Input Schutz
Download counter: 53
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1373
Registered: 03 / 2005
Subject:

Re: GetADC geht nicht mehr

 · 
Posted: 06.06.2011 - 10:04  ·  #4
Hello Thorsten.

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

Regards

Merlin.
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 17 · Cache Hits: 15   82   97 · Page-Gen-Time: 0.022631s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI