Forum: Mikrocontroller und Digitale Elektronik µC Ausgang stört Eingangsingal.


von Wauschi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

habe da ein Problem dem ich nicht Herr werde.

Ich möchte mit einem ATtiny85 ein kleines, ca. 150mVpp, 2kHz Sinussignal 
am Eingang des Komparators in ein Rechtecksignal TTL-Signal an einem 
Portausgang umwandeln. Bei einer Rising-Edge am Komparatoreingang toggle 
ich im Interrupt einfach den Portpin, das funktioniert grundsätzlich.

Leider stört das Schalten am Ausgang das Eingangsignal. Das gestörte 
Eingangsignal löst dann wieder einen Interrupt aus, was die ganze 
Umwandlung unbrauchbar macht.

Als ersten Lösungsansatz habe ich einen 10kHz Tiefpass (1,6k und 10nF) 
am Ausgang probiert. Dieser hat die Störung verbessert, aber nicht 
behoben.

Das Bild zeigt den, durch Schalten am Ausgang, gestörten Sinus am 
Eingang.

Wie sollte ich den Ausgang beschalten damit ich diese Störungen in Griff 
bekomme? (Habe wirklich schon viel probiert, noch nichts hat 
funktioniert.)

Lg,
Wauschi

von F. F. (foldi)


Lesenswert?

Sicher kann ich dir nicht besonders helfen, aber da ich gerade das 
Datenblatt des Tiny 13 durch ackere, hab ich da etwas gelesen, das man 
da genau auf die "noises" eingeht, die du nicht weg bekommst. Man kann 
da irgendwas auf der Softwareseite machen.
Kanns gerade nicht mehr raussuchen, weil ich zur Arbeit muss, aber 
vielleicht ist das ein Ansatz für dich das von der Softwareseite in den 
Griff zu kriegen!

von Tach (Gast)


Lesenswert?

Hängt am Ausgang bereits etwas dran?
Evtl mal nen Schaltplan posten.
Ist einfach besser als es zu beschreiben...

von chris (Gast)


Lesenswert?

läuft denn dein programm so wie es soll?

Aber ich kann mich TACH nur anschließen poste mal code und schaltplan.

von Wauschi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

danke für die ersten Hinweise.

Im Anhang die Schaltung.
Der ATtiny ist nicht eingezeichnet, aber AIN0 und AIN1 gehen an den 
Komparator und AUDIO_OUT ist direkt mit PB5 verbunden, fertig, das ganze 
bei 3V3.

Beim Tiefpass habe ich schon verschiedene Werte probiert.
Wie gesagt, die Eingangsbeschaltung funktioniert. Das Problem kommt 
erste wenn ich den PB5 schalte und sich das Eingangsignal mitändert.

In der Comparator-ISR steht nur eine Zeile:
1
ISR(ANA_COMP_vect)
2
{
3
PORTB ^= _BV(PB5);
4
}

Bin schon gespannt auf die Lösungsvorschläge!

Wauschi

von Bernd (Gast)


Lesenswert?

einfach per Software das Signal während der Zeit kurz nach dem 
Umschalten ignorieren ...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Einen/mehrere Pufferkondensatoren direkt an VCC und GND des ATTiny hast 
Du natürlich dran?

Könnte es vielleicht sein, dass Du versehentlich den Pullup des 
Analog-Eingangs mit dem Ausgang zusammen einschaltest?!

von Wauschi (Gast)


Lesenswert?

Zwischen VDD-GND habe ich 100nF, mehr nicht.
Das könnte ich definitiv noch probieren.

Nach dem Schalten des Ausgangs den Comparator für 500ns zu deaktivieren 
ist zwar nicht sauber, aber vielleicht auch eine Lösung, Danke.

Wauschi

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

PB5 ist aber beim Tiny25/45/85 gleichzeitig der Reset? Bist du sicher, 
das du den nimmst? Es ist aber natürlich eine gute Idee, als Ausgang 
einen Pin zu nehmen der möglichst weit weg von Pin 5 und 6 ist.
Wie Knut schon sagte, grsszügig abblocken und auch die AIN Referenz 
sauber absieben. Eine Drossel (100uH-330uH) zwischen VDD und AIN0 kann 
hier nicht schaden.

von Wauschi (Gast)


Lesenswert?

PB5 ist umkonfiguriert und kein Reset mehr.

An das Sieben des Eingangsignal habe ich nicht gedacht, da ich dachte, 
dass die Störung vom µC kommt und nicht von extern.

Sollte man die Drossel parallel zum Kondensator auf AIN0 legen?

Wauschi

von Thomas (kosmos)


Lesenswert?

was soll das Ausgangs TTL-Signal darstellen, geht es nur um die 
Frequenz, Pulsweite oder was willst du daraus genau machen?

von Wauschi (Gast)


Lesenswert?

Es geht nur um die Frequenz.
Am Ende wird ein Sensor die Frequenz am Ausgang ändern. (z.B.: 20°C = 
2kHz, 30°C = 3kHz,...)

Das Signal am Eingang hat eigentlich mit dem Ausgang nichts zu tun. Das 
Eingangsignal wird zum Schalten verwendet. (z.B. 1kHz Licht1 ein, 2kHz 
Licht1 aus, 3kHz Licht2 ein,...). Wenn aber durch die Pulse(Messwerte) 
am Ausgang der Eingang unbrauchbar wird, ist das ein Problem. (Dann 
schaltet der µC unmotiviert wie verrückt.)

Daher suche ich eine Möglichkeit die zwei Signale zu entkoppeln.

Wauschi

von Schnurpsel (Gast)


Lesenswert?

Wauschi schrieb:
> PB5 ist umkonfiguriert und kein Reset mehr.
>
> An das Sieben des Eingangsignal habe ich nicht gedacht, da ich dachte,
> dass die Störung vom µC kommt und nicht von extern.
>
> Sollte man die Drossel parallel zum Kondensator auf AIN0 legen?
>
> Wauschi

Nein, in Reihe zu R3.

von Jens M. (Gast)


Lesenswert?

Du könntest die Eingangsbeschaltung um einen kleinen OP als Verstärker 
erweitern und alles möglichst nah an deinen Sensor legen weil:

- IMHO an SV1 Pin 4 ein sehr hochohmiges Eingangssignal anliegt. Da 
wundert es mich nicht das Schaltvorgänge am Ausgang das beeinflussen. 
Vermutlich  strahlt da auch jedes Handy etc. rein.

- das ohne Signalverstärkung schwer wegzubekommen ist. µC's schalten 
hart zwischen high und low. Damit fangen die Probleme schon auf dem Chip 
an (weit vor den Bonddrähten).

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wauschi schrieb:
> Zwischen VDD-GND habe ich 100nF, mehr nicht.
> Das könnte ich definitiv noch probieren.

Nimm da ruhig noch einen netten Elko mit dazu, 47-100uF sorgen dafür, 
das der MC mit seinen Umschaltspitzen nicht Vdd verseucht. Übrigens 
spielt auch die Last am Ausgang eine Rolle, wer direkt 20mA da raus 
zieht, muss dafür sorgen, das die Versorgung die auch liefern kann, ohne 
zusammenzubrechen.

von Tach (Gast)


Lesenswert?

Matthias Sch. schrieb:
> Übrigens spielt auch die Last am Ausgang eine Rolle,

Das dachte ich am Anfang auch. Dass evtl. zu viel Strom bzw. etwas 
induktives am Ausgang hängt und deshalb der uC spinnt.
Wenn er allerdings wie im Schaltplan mehr als 10k in Reihe hat, dann 
dürfte da nicht mehr all zu viel ankommen...zusätzlich noch der 
Filter...

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

@Wauschi:

Kannst du mal Bilder deines Aufbaus (Ober- und Unterseite) posten?

von Wauschi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

jetzt konnte ich auch ein Bild machen.
Im Anhang die kleine PCB und auch die Schaltung.

Wie gesagt kommt über AUDIO_L_IN an AIN0 und AIN1 ein Sinussignal 
welches die Schaltung steuert. (Das Signal oben wurde an AIN1 gemessen)
Über AUDIO_OUT PB5 kommt das Feedback von einem Gas-Sensor an eine 
Mikrofonbuchse als Frequenz zurück.

In dem Moment wo ich über PB5 beginne das Feedback, in Form eines TTL 
Signals, zu schicken, ist es aus mit der Kommunikation, weil der 
Komparator verrrücktspielt, siehe Eingangsignal im ersten Postings. 
(Eigentlich spielt der Komparator nicht verrück, sondern arbeitet genau 
nach dem Eingangsinal, welche aber durch das Schalten an PB5 gestört 
wird).

Wie könnte ich also das Ausgangsignal an PB5 gestalten damit es keine 
Störungen am AIN0/1 gibt?

Wie ihr sehen könnt habe ich schon viel Energie in diese kleine 
Schaltung gesteckt, HW u. SW ist eigentlich fertig.
Wäre schade wenn ich an so einer blöden Störung mit dem fertigen Projekt 
jetzt scheitere.

Danke für eure Meinung.
Wauschi

P.S.: Kurze Beschreibung zum PCB:
- Rechts die Leitungen zum Sensor
- Unten ist der Ausgangsfilter 1nF und 4k7 zu sehen
- Links die Versorgung und das Ausgangsignal
- Der Jumper oben ist der Ein-Schalter
- Der Jumper ist zum Programmieren notwendig...

von Wauschi (Gast)


Lesenswert?

@ Magnus,
Sorry, ein Bild der Unterseite habe ich jetzt vergessen. Kann ich aber 
wenn nötig Morgen nachreichen.
Unten sind keine Teile, nur geschlossene Ground-Plane und 4 Pins (im 
Schaltplan SV2) zur IS-Programmierung.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wauschi schrieb:
> In dem Moment wo ich über PB5 beginne das Feedback

Hey, immer noch PB5! Das ist der Reset Pin, der, selbst wenn er als Port 
gefused ist, andere elektrische Charakteristika hat als jeder andere 
Port. Und ich seh da immer noch keinen Elko an der Betriebsspannung, 
direkt nahe am MC.
Mach das erstmal und dann sehen wir weiter. Normalerweise funktioniert 
der Komparator nämlich ganz gut. Wenn alle Stricke reissen, musst du 
halt einen Opamp spendieren,um den Eingang am MC niederohmiger zu 
gestalten.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Ausserdem stimmt der Schaltplan nicht mit dem Bild der Platine überein.

Beitrag "Re: µC Ausgang stört Eingangsingal."

Matthias Sch. schrieb:
> Wenn alle Stricke reissen, musst du
> halt einen Opamp spendieren,um den Eingang am MC niederohmiger zu
> gestalten.

Das bring alles nix, so lange das Ausgangssignal sich im Kabel auf dem 
Eingangssignal verewigt.

von F. F. (foldi)


Lesenswert?

Der ResetPin wir ja als "schwacher" Port beschrieben.
Dann gibt es doch noch die Option, "Alles Schnauze halten, ich lese, 
danach dürft ihr weiter machen!"

von Wauschi (Gast)


Lesenswert?

Vielen Dank für euer Feedback.

Das Wochenende naht und ich werde Zeit haben eure Anmerkungen 
einzuarbeiten.

@Matthias, ich werde mir die PB5 Spec nochmal ansehen und den 
Kondensator wirklich direkt auf die Versorgungspins löten!

@Magnus, ja die Eingangsschaltung mit der Brücke ist besser gebalanced 
und funktioniert (wenn ich keine Störungen einbringe) wesentlich besser!
Das mit dem Kabel ist schon schwieriger umzusetzten. Wenn ich die 
Schaltung an ein Telefon anschließe sind immer Audio und Mic in einer 
Leitung.

@Frank, ja, das ist ein Fallback. Wenn die anderen Maßnahmen nicht 
greifen werde ich natürlich eine SW-Lösung machen müssen. Das finde ich 
aber nicht so sauber...

DANKE :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.