mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Attiny25 PWM Tiefpass


Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag.
Ich habe hier eine Gerätschaft, welche ein einstellbares(70%-100% in 5% 
Schritten) PWM-Signal ausgibt.
Das Herz der Schaltung ist ein Attiny25.
Jetzt möchte ich diese Schaltung erweitern um eine Anzeige der aktuellen 
Einstellung. Da ich allerdings nur 2 Ausgänge am Attiny habe und ein 
Zähler ja immer resettet werden will, möchte ich das PWM-Signal 
abgreifen, via Tiefpass glätten, über ein Schmitt-trigger "aufpeppeln" 
und als invertierten Reset verwenden.
Ich bin nur leider zu unwissend um die passende Dimensionierung des 
Tiefpasses zu wählen.
Könnt Ihr mir bitte Weiterhelfen?

Ich hatte mir das so in etwa vorgestelle(nur beim eingang noch 
irgendeine diode):
http://img268.imageshack.us/i/tiefpass.jpg/

Betrieben wird die Schaltung mit einem 3,7V Akku.

Auszüge aus der Source:
...
$crystal = 1000000
...
Config Timer0 = Pwm , Prescale = 8 , Compare B Pwm = Clear Down
...


Ich hoffe das sind die relevanten Infos.
Ich dank euch schonmal für jegliche Hilfe.


Gruß
BuG

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Tiefpass lässt sich leicht berechnen, wenn man weiß, welche obere 
Grenzfrequenz des PWM-Modulierten Signals gilt.
1/(2*Pi*R*C)
Siehe http://de.wikipedia.org/wiki/Tiefpass

Du überlegst Dir also einen plausiblen Widerstand, löst Die Formel nach 
C auf, setzt Deine Grenzfrequenz und Deinen Widerstand ein, und schaust, 
welcher Wert für C herauskommt.

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
Das würde ich ja machen, nur weiß ich die Grenzfrequenz nicht.
Und wie komme ich auf einen plausiblen Wiederstand?

Danke

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um was für ein Signal geht es denn?
Ein plausibler Widerstand könnte etwas zwischen 4,7K (ggf. weniger) und 
56K sein.
Ach ja, was macht der zweite (untere) Widerstand?

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein PWM-Signal,oder was meinst du?
Die Schaltung hatte ich irgendwo so gefunden unter dem Thema pwm 
glätten, mein ich.  Deruntere wiederstand stellt glaube ich einen 
pulldown dar.

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schubs

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Da ich allerdings nur 2 Ausgänge am Attiny habe
Dann hast Du ja noch einen frei um die Information seriell auszugeben...

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...seriell auszugeben...
und könntest das PWM-Signal als Takt nehmen...

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sven schrieb:
> und könntest das PWM-Signal als Takt nehmen...

Solange kein Extremwert (z.B. 0 oder 255, je nach Bereich) ausgegeben 
wird. Ansonsten coole Idee!

BuG schrieb:
> Ein PWM-Signal,oder was meinst du?

Ja. Welcher Natur ist das Signal? Eher langsam, wie die Soll-Füllhöhe 
eine Aquariums oder eher schnell, wie ein Audio-Signal?

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie in post 1 zu lesen ist, ist das Signal bis 100%(255) einstellbar.
Das Signal ist, denke ich recht schnell. Es wird vom tiny erzeugt und 
lässt einen heizdraht erwärmen. Die Frequenz des signales sollte sich 
doch aus dem source ablesen lassen, oder? Nur ich kenn mich da leider 
zuwenig mit aus, weswegen ich ja auch Source-Schnipsel gepostet habe.
Dank euch schonmal

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Die Frequenz des signales sollte sich doch aus dem source ablesen lassen
Ich denke wir reden hier von ca. 600Hz :
10MHz/8(ich gehe mal davon aus das die Fuse original ist)/8/256 = 610Hz 
PWM-Frequenz.

>Nur ich kenn mich da leider zuwenig mit aus
Und wie soll es dann weitergehen ?

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
BuG schrieb:
> Das Signal ist, denke ich recht schnell. Es wird vom tiny erzeugt und
> lässt einen heizdraht erwärmen.

Dass es vom ATtiny erzeugt wird, ist tatsächlich Deinem Eingangsposting 
zu entnehmen. Wenn das Signal einen Heizdraht erwärmen soll, wird es 
wohl kaum besonders Schnell sein, da ein Heizdraht nicht mehrere Tausend 
mal pro Sekunde erhitzt und abgekühlt wird.

Mit Frequenz des Signals meine ich nicht die PWM-Frequenz, sondern die 
Änderungsgeschwindigkeit dessen, was per PWM moduliert wird.

Wahrscheinlich reicht eine Grenzfrequenz von 1Hz locker aus.

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Philipp Klostermann schrieb:
> Mit Frequenz des Signals meine ich nicht die PWM-Frequenz, sondern die
> Änderungsgeschwindigkeit dessen, was per PWM moduliert wird.

oO
Bitte? Also das PWM Signal steuert einen Leistungstransistor, welcher 
dann den Heizdraht steuert.

Welche frequenz nehme ich den jetzt 1Hz oder 610Hz?
und was wäre in dem falle dann ein plausibler Wiederstand?

OT:
Es tut mir leid, wenn ich solche anfängerfragen stelle, das ist zum 
einen meine erste berührung mit einem µC und elektrotechnisch hab ich in 
meiner ausbildung auch nicht so tief behandeln müssen. Aber ich will 
mich ja verbessern hier und noch was von euch lernen.:)

Dank euch

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal von Vorne :
>Jetzt möchte ich diese Schaltung erweitern um eine Anzeige der aktuellen 
Einstellung.
Ich verstehe nicht weshalb Du da einen Zähler brauchst der resetet 
werden will. Oder willst Du die gemittelte Spannung mit so einem 
Einbauinstrument anzeigen lassen ?

Wie werden die 70%-100% eingestellt ? Mit einem Poti ? Dann kannst Du 
doch dort die Spannung abgreifen und entsprechend aufbereitet anzeigen.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Zähler nicht auf die einzelnen Perioden des PWM Signals 
ansprechen soll, sollte die Grenzfrequenz des Tiefpass deutlich (etwa 
Faktor 10) unter der PWM Frequenz bleiben. Ob das jetzt 610 Hz oder 
8*610 Hz sind ist schwer zu sagen - das Hängt von der Fuse Bits ab. 
Eigentlich spricht mehr für die 8*610 Hz, weil man im Programm den Takt 
des µC und nicht die Frequenz des Oszillators eintragen sollte.

Je niedriger die Grenze des Tiefpass, desto langsamer reagiert der 
Schmidt-Trigger.

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, ich glaube ich habe mich falsch ausgedrückt, oder wir reden hier 
aneinander vorbei.
Erstmal zu den Fragen: Die Einstellung erfolgt über Taster(einer für 
plus 5% einer für minus 5%).
Also ich kenne das so, das ein normaler "sagen wir mal" Dezimalzähler, 
einen Eingang(besteht meistens aus Eingang und Tackt) und ein Reset hat.
Da ein Ausgang schon durch das PWN Signal belegt ist, habe ich noch 
einen zur verfügung. Den will ich als Dähler nehmen. Damit der nicht bei 
jeder betätigung des PWM Signales weiterzählt wollte ich das PWM Signal 
als Negativen Reset nehmen. Sprich der zähler IC zählt nur, wenn das PWM 
Signal anliegt.
Wenn der Schmitt trigger etwas länger angesteuert bleibt ist das auch 
nicht so schlimm.. aber länger als 1-2 se wären schon lästig.

Ich will doch nur das PWM Signal zu EINER Logischen 1 machen.

Braucht ihr noch irgendeine Info, um mir zu helfen einen solchen 
passenden Tiefpass zu bauen?


BuG

Autor: (Gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah...
Irgendein Anzeigemodul hängt an einem Zähler-IC, und dieses 
Zähler-Anzeige-Modul missbrauchst Du als Anzeige für die aktuelle 
Einstellung?
Dieses Modul hat ein Zähl- und einen Reset-Eingang, aber Du hast nur 
noch einen Pin frei und möchtest daher ein PWM-Ausgangssignal mit als 
reset benutzen; wenn kein PWM dann Reset?
Die PWM-Frequenz ist 610 Hz(?). mit einem duty von min 70%.

PWM>---R---+--->/reset
           |
           C
           |
          GND

Einfacher Tiefpass, R*C>20ms, also beispielsweise 10kohm, 2µF

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Perfekt. Soetwas hab ich mir gewünscht.
Wenn jetzt noch jemand die 610Hz bestätigt und mir jemand sagt, ob ich 
bipolar oder einen Elko brauche, bin ich glücklich :)
optimal noch wäre noch eine Herleitung, aber nicht so wichtig, den heute 
abend muss ich spätestens wissen, was für elemente ich brauche.

Autor: (Gast) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Elko reicht.

Autor: sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verstehe das alles nicht :
Du gibst also ein Zählsignal an deinem freien Pin aus und willst den 
Zähler mit dem PWM-Signal wieder resetten... Wird das PWM SIgnal denn 
mal ausgeschaltet ? Sonst liegt das Resetsignal ja immer an.
Falls die 600Hz stimmen (ich weiß ja nicht wie die entsprechende Fuse 
gesetzt ist) wird dein Zähler 600 mal pro Sekunde aktualisiert (also 
hochzählen und wieder Reset) d.h. ausser Achten (888) wirst Du auf 
deiner (vermutlich Siebensegment-) Anzeige nichts sehen...

Autor: BuG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das pwm ist nicht die ganze Zeit an. Sobald das pwm( über Taster) 
aktiviert wird, hört der Zähler auf resetet zu werden und der tiny gibt 
am anderen Ausgang der Einstellung entsprechend Signale aus.

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.