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
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!
Hängt am Ausgang bereits etwas dran? Evtl mal nen Schaltplan posten. Ist einfach besser als es zu beschreiben...
läuft denn dein programm so wie es soll? Aber ich kann mich TACH nur anschließen poste mal code und schaltplan.
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
einfach per Software das Signal während der Zeit kurz nach dem Umschalten ignorieren ...
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?!
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
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.
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
was soll das Ausgangs TTL-Signal darstellen, geht es nur um die Frequenz, Pulsweite oder was willst du daraus genau machen?
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
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.
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).
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.
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...
@Wauschi: Kannst du mal Bilder deines Aufbaus (Ober- und Unterseite) posten?
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...
@ 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.
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.
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.
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!"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.