mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Comparator: Parasitäre Spannung zwischen AIN0 / AIN1


Autor: Tobias Schlegel (Firma: none) (tobimc) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe ein kleines Problem und zwar versuche ich das Signal einer 
Ultraschallkapsel (Vss ca. 0,4V, die Frequenz liegt bei 39.06kHz und die 
Impedanz bei 39kHz bei etwa 10k) mit dem Analog Comparator des Atmega88 
auf zero-crossings hin zu analysieren (Phasenverschiebung). Auf AIN0 
habe ich eine Referenzspannung von 2,5V angelegt und mit dem negativen 
Pol der US-Kapsel verbunden. Das andere Ende der Kapsel hängt auf AIN1.
Problem:
Messe ich die Spannung über AIN0/AIN1 mit meinem Oszi, kann ich einen 
Gleichspannungsanteil von ca. 0,25V auf meinem Signal feststellen, was 
bedeutet dass die Spannung nie 0 wird und so der Comparator nie auslöst.
Diese Gleichspannung scheint immer da zu sein, ohne die Kapsel (mit 
'nackten' AINs) ist sie auch vorhanden.

Ich habe den Code angehängt; sorry das ist ein Experiment daher ist der 
code nicht schön.

Meine Frage ist jetzt: Habe ich im Datenblatt irgendwas übersehen - 
diese Spannung ist also 'normal' und ich bin einfach nur zu doof) oder 
stimmt sonst was nicht?
(übrigens löst der Comparator-Interrupt ohne weiteres aus, wenn man nen 
Kurzschluss baut, so isses ned)

Für 'hints' wäre ich echt dankbar ;)

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Schlegel schrieb:

> Meine Frage ist jetzt: Habe ich im Datenblatt irgendwas übersehen

Schwer zu sagen, da niemand ausser dir weiss, welcher Ultraschallsensor 
das ist, und folglich nicht ins Datasheet reinsehen kann.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Sensor Piezo-Charakteristik hat, dann ist er bzgl. Gleichstrom 
stromfrei, folglich fehlt AIN1 die Nullspannung und der Leckstrom 
bestimmt das gemessene Potential. Da könnte ein (wohl eher hochohmiger) 
Widerstand zwischen AINx helfen.

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt aber schon noch eine Analogschaltung zwischen Sensor und AVR ? 
Einen Verstaerker oder so ?

Autor: Tobias Schlegel (Firma: none) (tobimc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Whoops sorry die US-Kapseln hab ich vergessen; das ist in dem Fall ein 
Piezo-Wandler mit dem Aufdruck "400SR" - Reichelt Bestellnummer UST-40R 
(Receiver).

Es handelt sich dabei tatsächlich um einen Piezo-Typ. Das mit dem 
Widerstand habe ich bereits erfolglos versucht, allerdings werde ich das 
morgen bei klarem Geist nochmal probieren; möglich dass andere Probleme 
einen Erfolg verhindert haben (hatte u.a. massive Probleme mit 
(HF-)Einstrahlung vom Sender und Kontaktprobleme) - Danke für den Tipp 
und die schnelle Hilfe!!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne diesen (Last-)Widerstand wird das nix, und dessen Grössenordnung 
findet sich im Datasheet.

Autor: Tobias Schlegel (Firma: none) (tobimc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@hacky negativ, es ist keine Verstärkerschaltung vorhanden. Das ist auch 
ganz bewusst so gewählt.
Mir ist schon klar, dass ein niederohmigerer (Verstärker-)Ausgang diese 
Probleme einfach wegbügeln würde aber in dem Fall wäre ein Verstärker 
etwas unpraktisch, da ich gedenke diesen (eigentlich zum Empfangen 
gedachten) Wandler auch zum Senden zu benutzen...

@prx wunderherrlich! - ich versuchs mal - danke!

Autor: Yalu X. (yalu) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nur ein Widerstand parallel zum Piezowandler könnte zu wenig wein, da
damit zwar ein Driften der Differenz-, nicht aber der Gleichtaktspannung
verhindert wird.

In der linken Schaltung wird zusätzlich mit einem Spannungteiler die
Gleichtaktspannung auf etwa die halbe Versorgungsspannung gelegt, so
dass garantiert ist, dass der zulässige Eingangsspannungsbereich des
Komparators auch unter ungünstigen Bedingungen nicht verlassen wird.

Wenn die Signalamplitude kleiner als die Offsetspannung des Komparators
(bis zu 40mV) ist, wirst du aber dennoch nichts detektieren können. Die
Schaltung rechts enthält ein Trimmpoti, mit dem der Offset kompensiert
werden kann. Evtl. musst du mit den Widerstandswerten noch etwas experi-
mentieren.

Wahrscheinlich kannst aber mit der einfachen Schaltung ohne Verstärker
und Filter ohnehin nur starke Schallsignale zuverlässig detektieren, so
die Offsetkompensation vielleicht überflüssig ist.

Autor: Tobias Schlegel (Firma: none) (tobimc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi yalu,

meine Schaltung ist (momentan) genau die linke.
Allerdings habe ich die Referenzspannung noch mit je 1µF Elkos und 100n 
Kerkos parallel zu den (10k) Teilerwiderständen entkoppelt.
Dadurch habe jetzt ich einen Gleichspannunganteil von ca 2,5V.

Der Parallel-Widerstand ist jetzt mit 39k dimensioniert. Funzt super.

Wie gesagt die Amplitude liegt bei etwa 400mV VSS, also genug für den 
Comparator. Ich übertrage das Signal ja auch nur ca. 20cm über eine 
Messstrecke, das Signal ist am Empfänger also auch entsprechend stark.

Das Setup funktioniert so recht gut, auch mit dem Input Capture. Jetzt 
wirds halt noch mit den Timings haarig...

Die rechte Schaltung ist ne gute Idee. Das Problem ist dass die 
Referenzspannung gleichzeitig eine virtuelle Masse für den Sender 
darstellt (daher werde ich den Gleichspannungsanteil noch auf ca. 0,5V 
senken).

Danke für eure echt super Hilfe!!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Schlegel schrieb:

> Die rechte Schaltung ist ne gute Idee. Das Problem ist dass die
> Referenzspannung gleichzeitig eine virtuelle Masse für den Sender
> darstellt (daher werde ich den Gleichspannungsanteil noch auf ca. 0,5V
> senken).

Und ihn unsymmetrisch anfahren? Keine Ahnung ob der entstehende 
Gleichspannungsanteil gesund ist.

Aber wenn es die um die Amplitude geht, dann geht das besser. Fahr den 
Transmitter komplementär an, beide Pins gegensinnig, z.B. mit beiden 
Ausgängen eines Timers.

Autor: Tobias Schlegel (Firma: none) (tobimc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das ist so. Ich plane ein Ultraschallanemometer 
(http://de.wikipedia.org/wiki/Anemometer) und dazu muss ich die Laufzeit 
eines US-Signals in 2 Richtungen (vorlaufend und rücklaufend) messen 
(und das dann nochmal 90° zur ersten Messrichtung versetzt). Dazu 
bräuchte ich aber immer einen Sender und einen Empfänger. Ich habe aber 
festgestellt, dass man mit den Receiver-Typen dieser Kapseln fast 
genauso gut "senden" kann wie mit den Transmitter-Typen. Also versuche 
ich gerade die Empfängerkapseln für beides zu verwenden und mir nebenher 
noch eine Rx/Tx Umschaltung zu ersparen...
Im Moment siehts vielversprechend aus.
Daher kann ich die "Sender" nur asymmetrisch anfahren da ich sonst eine 
analog-taugliche Rx/Tx Umschaltung bräuchte und zwar mit 4 Kanälen. Und 
das ist dann wenn ich sehe wie viele Überschwinger ich schon von den 
paar mm zwischen AVR-Pin und der Abschirmung des Koax habe der reinste 
Horror...

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Schlegel schrieb:

> Daher kann ich die "Sender" nur asymmetrisch anfahren da ich sonst eine
> analog-taugliche Rx/Tx Umschaltung bräuchte und zwar mit 4 Kanälen.

Kann ich nicht recht nachvollziehen. Wenn du den gleichen Sensor für 
beide Richtungen verwenden willst, dann kannst das doch völlig ohne 
Umschaltung tun. Im Idealfall nimmt man für den Transmitter ein OCxA/B 
Paar, das man direkt parallel zum AINx Paar anschliesst und im 
Empfangsfall auf Eingang konfiguriert und damit passiviert.

Wenn man das Transmitter-Timing zu Fuss statt mit dem Timer macht, dann 
geht das auch mit den AINx-Pins selbst, auf Ausgang konfiguriert und 
komplementär angesteuert.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liegt das Problem daran, dass du am gleichen Controller mehrere 
Receiver/Transmitter benötigst? Comparator gibt's doch nur einen, wie 
ist das gedacht?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PS: Ich seh grad, dass beim Mega88 AIN0 und OC0A sowieso schon auf den 
gleichen Pins liegen. Gibt einen Timer-basierenden Rx/Tx-Wandler mit 3 
Pins und 10Vss Amplitude.

Autor: Tobias Schlegel (Firma: none) (tobimc) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Richtig, das Problem ist dass ich 4 Wandler ansteuern muss. Und zwar 
muss immer einer senden und ein anderer empfangen.
Ich gedachte dafür den MUX des ADC zu verwenden den man praktischerweise 
auf den AIN1 aufschalten kann. Senden erfolgt dann indem der Pin auf 
Ausgang geschaltet wird und per Soft-PWM ein 39kHz-Signal moduliert 
wird. - Also so ist das mal gedacht, getestet ist das noch nicht.

Die "Masse" der Wandler geht auf die virtuelle Masse (+0,5V absolut). 
Und dann (mit 39k parallel) auf einen der 8 ADn-Eingänge. Dann kann ich 
da nach belieben umschalten. Sendeseitig liegt dann maximal +4,5V und 
minimal -0,5V an, was eine Vss von 5V gibt.
Dirty ich weiß ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.