ADC und Interrupt vertragen sich nicht

Gast #1590239
Hallo,

angehängter C-Code ist eine Ansteuerung eines ADC AD7792 zur 
Temperaturmessung und Frequenzmessung. ADC funktioniert(e) soweit recht 
gut bis die Frequenzmessung ins Spiel kam. Diese wird durch einen 
Interrupt realisiert. Dadurch "spinnt" der ADC wie blöd. Sobald eine 
Frequenz gemessen wird. Beschaltung der Frequenzmessung wie folgt:

VCC
|
10k
|
|------- ICP1 (PB0) Atmega8
|
|-- Anschluss Impulsgeber

|-- Anschluss Impulsgeber
|
|
GND

Lasse ich die Beschaltung, wie oben gezeichnet, weg, beruhigt sich der 
ADC zwar wieder aber die gemessen Frequenz stimmen nicht.

Was habe ich falsch gemacht? Hat jemand Tips?
Danke!
Angehängte Dateien:
Persönliche Seite #1591232
Den externen 16-Bit ADC AD7792 mit SPI-Anbindung an den µC habe ich 
gefunden 
(http://www.analog.com/en/analog-to-digital-converters/ad-converters/AD7792/products/product.html) 
aber den Impulsgeber nicht.

Manche Leute machen ja bei externem ADC auf dem Board riesige Klimmzüge 
mit dem Platinenlayout. Bloss damit der Digitalteil den Analogteil nicht 
stört. Bist du auch so einer?-)

Eine reine Störung durch Software, d.h. den Interrupt würde ich mit 
einem Testprogramm abklopfen. Statt ICP1 würde ich einen freien Timer im 
Interrupt mit ähnlicher Frequenz wie das Signal (Impulsgeber) laufen 
lassen. Impulsgeber natürlich erstmal abgeklemmt.
Gast #1591283
Stefan B. schrieb:
> Manche Leute machen ja bei externem ADC auf dem Board riesige Klimmzüge
> mit dem Platinenlayout. Bloss damit der Digitalteil den Analogteil nicht
> stört. Bist du auch so einer?-)

Ich sag mal jein. Aktuell is das ganze noch ein "offener" Aufbau auf 
Lochraster. Komisch finde ich halt nur das halt vorher der ADC super 
funktioniert hat und seit einbinden der Interruptfunktionen misst er 
einfach nur mist.

Impulsgeber ist aus einem Gauszähler der Firma Aerzner. Wird in der 
Indurstrie verwendet. Also im Endeffekt ein einfacher Schalter.

Stefan B. schrieb:
> Eine reine Störung durch Software, d.h. den Interrupt würde ich mit
> einem Testprogramm abklopfen. Statt ICP1 würde ich einen freien Timer im
> Interrupt mit ähnlicher Frequenz wie das Signal (Impulsgeber) laufen
> lassen. Impulsgeber natürlich erstmal abgeklemmt.

Werd ich morgen mal testen!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.