www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR -> PWM -> NE555 -> Infrarotdiode


Autor: ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Habe mich nun schon mindestens eine woche durchs forum und google 
gewült.

Wie man aus meinem Titel unschwer erkennen kann möchte ich das PWM 
Signal eines AVRs mit dem NE555 Baustein per Infrarot versenden. Leider 
finde ich keinen
konkreten Schltplan dazu ich weiss also nicht wo bzw wie ich den AVR mit 
dem NE555
verbinden muss.

Wäre toll wenn mir jdm nen schltplan zur verfügung stellen könnte.

gruß ben

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du denn versenden ?
NE555 und PWM ist irgendwie doppelt, eines von beiden kann man 
weglassen.

Autor: Benedikt Grunwald (ben)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alos ich möchte das PWM dazu nutzen eine modellbahn zu steuern.
also eher mehrere bahnen mit unterschiedlicher geschw. aber auf dem 
selben gleis.

hab überalle immer gesehn das man mit dem NE555 die trägerwelle erzeugt 
und dann das eigentlich datensignal dadrauf legt.

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich hab grad keine Lust, zu rechnen aber ich denke mal, 36 oder 38kHz 
oder was auch immer du als Träger benutzt müssten sich auch noch per PWM 
erzeugen lassen. Wenn du also noch einen Timer mit PWM frei hast (Hört 
sich bei der Projektbeschreibung so an;), dann erzeug doch mit dem einen 
Timer den Träger (PWM mit Tastverhältnis 1:1) und mit dem andern das 
Signal. Meines Wissens musst du für die gängigen Protokolle die beiden 
Signale dann nur noch miteinander "verunden", also Träger immer dann 
senden, wenn Signal=1. Das geht mit nem AND-Gate, das du dir auch aus 2 
Transistoren und 3 Widerständen bauen kannst, wenn du nur eins 
brauchst..
Also brauchst du gar keinen NE555 nebst Hühnerfutter, der sowieso auch 
noch ein AND-gate gebraucht hätte..

Die PWMs werden beide im Hintergrund erzeugt und dein Controller hat 
alle Zeit der Welt, zu rechnen und ab und zu das OCR des Signals 
upzudaten.

Autor: Benedikt Grunwald (ben)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm, also wäre aber die variante mit dem NE555 die programmtechnisch 
einfachere oder?
Ebenfalls hier im forum habe ich gelesen das der NE555 unverzichtbar ist
ausserdem soll der infrarot teil möglichst abgetrennt vom rest aufgebaut 
werden
da ich noch andere funktionen mit einbringen möchte.

Und wegen der Frequenz möchte ich mir auch alle möglichkeiten offen 
halten...

aber wie schon im titel zu erkennen möchte ich es mit dem NE555 machen.
Damit ich das richtig versteh der NE555 erzeugt doch ledeglich das 
trägersignal
oder nicht!?

Wie gesagt bin auf der suche nach nem schaltplan...

gruß ben

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ja wurscht, wie du den Träger erzeugst. Von mir aus dann eben mit 
nem NE555, wenn du unbedingt willst. Programmtechnisch einfacher ist es 
nicht würde ich mal behaupten, da du nur ein einziges mal bei 
Programmstart einen extra Timer für den Träger initialisieren musst. 
Natürlich muss man sich dazu mal kurz überlegen, wie man damit auf die 
Frequenz kommt. Wenn du dir die Frequenz offen halten willst, ist es 
wohl auch viel einfacher, 2 Zeilen Code zu ändern (oder eine Konstante 
bei schöner Programmierung), als ein Bauteil in NE555-Beschaltung zu 
ändern. Sicher kannste beim 555 ein Poti vorsehen aber dann musst du 
schon wahrsagen oder nen Frequenzzähler haben, um das abzustimmen.

Zurück zum Problem Signal+Träger (woher auch immer) -> Diode.
Du brauchst wie gesagt ein Und-Gatter, dass die beiden Signale 
miteinander verknüpft. Den Ausgang dieses Gatters kannste direkt auf die 
Diode geben.

Die Beschaltung des NE555 kannst du dem Datenblatt oder einem von vielen 
Beispielrechnern im Internet entnehmen.

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und wegen der Frequenz möchte ich mir auch alle möglichkeiten offen
>halten...

Und da willst du einen NE555 benutzen, wenn man in der Software einfach 
nur einen Wert ändern muß?

>versteh der NE555 erzeugt doch ledeglich das trägersignal
>oder nicht!?

Ja, wird wohl so sein. (auch wenn dessen Verwendung äusserst widersinnig 
ist...)

Die nächste Frage wird dann ja sein: "Wie stelle ich ein symmetrisches 
Signal mit dieser Frequenz her?"

Autor: Benedikt Grunwald (ben)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry bin echt dankbar für euer intresse und hilfe aber
ne einfach antwort wie man des macht würde mir schon reichen.
Sprich Schltplan...

Ich meine immerhin ist ja meine sache wie ich das mache,
bin schon total durcheinander jetzt weil überall was anderes steht.

Ihr sagt immer nur wie man es auch machen könnte und dann nur in ein 
paar worten und so unklar das ist nicht grade leicht zu verstehen finde 
ich....

(bitte nicht falsch/negativ verstehen)

Also vllt könte ihr ja mal ne eindeutige antwort für eine lösung mit und 
eine ohne NE555 posten???

bei dem NE555 hab ich irgendwo gelesen das man das signal auch an eine 
der kontakt
des bausteins anschliesen könne. Ich glaub der 5 (voltage Control)

trotzdem danke und schönen gruß ben

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Sprich Schltplan...

Wie wärs mal mit etwas Google-Recherche.
Ohne jetzt nachgeschaut zu haben bin ich mir sicher dass
ein Suchergebnis nach "555 Multivibrator" mindestens 10000
Treffer bringt, von denen auf den ersten 20 mindestens 5 Schaltungen
des 555 als Multivibrator zu finden sind. Komplett inklusive
Dimensionierung auf die gewünschte Frequenz.

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich glaub

Wenn du schon nur glaubst, zu wissen, wie der beschaltet werden soll, 
was sollen wir dann machen? Raten? Heilige Geister anrufen?
^
Den NE555 kann man ziemlich einfach zum schwingen bringen (Müsste sogar 
n dessen Datenblatt beschrieben sein...)

Und dann kann man ihn wohl durch Pin 5 auch steuern.
Such doch einfach mal die Internet-Seiten, wo du das gesehen hast.
Ohne die wird es ein interessantes Unterfangen...

Autor: Benedikt Grunwald (ben)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also nochmal habe midestens ein woche gegoogelt und
auch hier im forum geguckt, aber etwas eindeutig benutzbares hab ich 
nicht gefunde
sonst hätte ich nicht geschrieben, und das mit dem glaube hab ich 
geschrieben
wil wie vorher auch schon erwähnt es überall anders steht.

Vllt hab ich mich nicht deutlich genug ausgedrück aber ich suche einfach 
einen
universellen infrarot sender, d<s signal wollte ich dann mit einem der 
TSOP17.. bausteine wieder aufnehmen....

mit pin 5 ist aus dem datenblatt (seite 7) :

>>
PULSEWIDTHMODULATOR
When the timer is connected in the monostable
mode and triggered with a continuous pulse train,
the output pulse width can be modulated by a signal
applied to pin 5. Figure 16 shows the circuit.
<<

das eigentlich problem ist das zusammenfügen...


Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was bringt es dir, wenn du den Ne555 als monostabile Kippstufe 
beschaltest? Du weißt schon, was ne Monostabile Kippstufe ist?
Der NE555 muss als Astabile Kippstufe/Multivibrator beschaltet werden.

Ich schlage vor, dass du mal wo ganz anders anfängst, nämlich im 
Datenblatt des TSOP, mit dem du dein Signal empfangen willst. Dann 
siehst du, dass das Signal, dass so ein TSOP empfängt, wie folgt 
aussehen muss:

|||||_____||||||||||_____|||||_____ (|| soll ein Rechteck darstellen, bin nicht so 
gut im ASCII-Zeichnen)
Der TSOP macht daraus dann dieses Signal, das er am Ausgang 
bereitstellt:

_____-----__________-----_____-----

Willst du mit diesem Signal einem Controller im Zug sagen, was er zu 
machen hat, oder soll es direkt geglättet und verstärkt an die Motoren 
gehen?

Im ersten Fall brauchst du gar keine PWM im Sender, obwohl auch da eine 
PWM nützlich sein kann.

Im zweiten Fall brauchst du mindestens eine PWM und einen Träger, wobei 
der Träger entweder in Software oder durch eine hardware-PWM oder durch 
einen NE555 oder sonstwas erzeugt werden kann. Hier gibt es unzählige 
Möglichkeiten, das zu bewerkstelligen.

Fall 1.1 (digitale Übertragung an Controller im Zug ohne PWM)
Du schreibst dein Programm so, dass es für jedes zu übertragende Bit 
eine Routine aufruft, die bei bit=0 für eine zeit deltat nichts tut oder 
bei bit=1 für die zeit deltat lang den träger erzeugt (Schleife mit 
toggle_pin;delay;)

Fall 1.2 (digitale Übertragung an Controller mit PWM und UART)
Du initialisierst einmalig einen Timer so, dass am Ausgang 
kontinuierlich der Träger erzeugt wird. Dann initialisierst du den UART 
des Controllers. Ab jetzt musst du nur noch die zu übertragenden Zeichen 
an den UART übergeben, den Rest macht der Controller automatisch für 
dich. Die beiden Ausgangssignale musst du nur noch miteinander 
ver"und"en.

Fall 2.1 (PWM als Analogsignal-Ersatz mit Träger von sonstwo)
Du initialisierst die PWM.
Du baust dir nen Träger, von mir aus aus nem NE555.
Du ver"und"est dein PWM-Signal mit dem Träger. Nein, der hat keinen 
Eingang dazu, zumindest kenn ich keinen.

Fall 2.2 (PWM als Analogsignal-Ersatz mit Träger aus Controller ohne 
Hardware-PWM)
Programmablauf entweder komplett analog zu 1.1 oder du nimmst einen 
Hardware-PWM und erzeugst den Träger durch die Schleife aus 1.1. Dann 
musst du wieder Träger und Signal ver"und"en.

Fall 2.3 (PWM als Analogsignalersatz und Träger aus PWM)
Du initialisierst die PWM für den Träger.
Du initialisierst die PWM für das Signal.
Du ver"und"est die beiden extern miteinander.

Die Fälle 1.2 bzw. 2.3 sind nicht nur die elegantesten und 
effizientesten, sondern auch noch am Schnellsten umzusetzen, da du wenig 
hardware bauen musst und wenig programmieren musst. Lediglich 1-2 
Kapitel des Datenblatts musst du dafür lesen und verstehen. Sobald die 
Timer initialisiert sind, schreibst du ja einfach nur noch den neuen 
Wert ins jeweilige Compare-Register und fertig.

Einen Schaltplan für ein AND-Gate gibts zB hier:
http://hyperphysics.phy-astr.gsu.edu/Hbase/electro...
oder du nimmst ein integriertes Gate, zB den Baustein 7400 (Ist zwar 
NAND aber er hat auch gleich noch freie Gatter zum Invertieren)
Beschaltung des AVR aus dem Datenblat oder unzähligen Beispielen im 
Netz.
Dass ne LED nen Vorwiderstand braucht, solltest du wissen.
Das war's schon an Schaltplänen auf der Senderseite.

Jetzt frag bitte nicht mehr, wie du den NE555 beschalten musst, das 
Datenblatt hast du ja gefunden..
Es wäre aber geradezu Verschwendung an Zeit, Geld und Nerven, die 
vorhandene Peripherie des Controllers nicht zu nutzen und was drum herum 
zu bauen..

Autor: Benedikt Grunwald (ben)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Endlich mal nen beitrag mit dem ich was anfangen kann dir nicht nur so 
ein zwei sätze beinhaltet wodurch man nuroch mehr verwirrt wurde.

Danke danke

p.s mit dem NE555 steht trotzdem im datenblatt das der eingang verwendet 
werden kann.

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich dein angehängtes Datenblatt öffne und auf Seite 7 geht, steht 
dort rechts unten folgender Absatz:

PULSE WIDTH MODULATOR
When the timer is connected in the monostable
mode and triggered with a continuous pulse train,
the output pulse width can be modulated by a signal
applied to pin 5. Figure 16 shows the circuit.

Das heißt auf deutsch:
PULSBREITENMODULATION
Wenn der timer im monostabilen Modus angeschlossen ist
und mit einer kontinuierlichen Pulsfolge getriggert wird,
dann kann die Pulsbreite mit einem Signal an Pin 5 moduliert werden.

D.h. der NE555 macht dir in dieser Konfiguration aus einem Analogsignal 
eine PWM.
Das ist also nicht das, was du willst.

Wenn ich mir allerdings das Blockdiagramm auf Seite 2 anschaue, fällt 
auf, dass der Pin eventuell doch nützlich sein kann. Wenn du nämlich 
Control Voltage auf GND legst, dann wird der Komparator niemals 
schalten, weil Treshold immer größer als Control Voltage ist.
Du kannst also den Träger mit etwas zeitlicher Abweichung ausschalten, 
indem du Control Voltage auf GND ziehst. Du darfst aber Control-Voltage 
nie auf +5V ziehen, da der Komparator sonst immer 1 ausgeben würde und 
das zu einem verbotenen Eingangssignal für das RS-Flipflop führen kann.
Also muss ein Transistor her. Wie der beschaltet wird, kannst du zB im 
elektronik-kompendium nachlesen. Du musst aber drauf achten, dass dein 
Transistor die Control-Voltage negativer ziehen kann als der 
discharge-Transistor im NE555. Germanium oder FET ist also angesagt.

Du brauchst also in deiner Schaltung jetzt neben dem AVR und 
Hühnerfutter und dem NE555 und Hühnerfutter auch noch einen Transistor, 
um den AVR an den NE555 zu klemmen. Warum nicht 2 Transistoren nehmen 
und die potentielle Fehlerquelle NE555 eliminieren? Hast du solche Angst 
vor'm Programmieren? Ich glaube ehrlich gesagt nicht, dass du den NE555 
zum Rennen bringst, wenn du nicht in der Lage bist, diesen 10-Zeiler zu 
schreiben..

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Du brauchst natürlich nicht unbedingt einen Transistor. Du 
kannst schließlich auch den Pin vom AVR hochohmig machen. Aber du hast 
ja Angst vor'm Programmieren ;)

//edit: Hab mich noch gar nicht an die Editierfunktion gewöhnt ;)

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber mal ganz ehrlich. Wenn wir mal von der Existenz des 555
ausgehen (was ich auch nicht für besonders schlau halte, wenn im AVR
die Resource für ein Trägersignal sowiso vorhanden ist, dann ist doch
das Steuern des 555 ziemlicher Mist mit all den Nebenbedingungen.

555 dauernd schwingen lassen. 555 Ausgang und Modulationssignal auf ein
UND-Gatter zusammenführen und gut ists. Wenn der Platz für einen 555
da ist, dann wirds für einen 7400 wohl auch noch reichen.

Autor: Benedikt Grunwald (ben)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ jens peter überheblich/eingebildet bist du aber ganz und garnicht ;)

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt: Kann sein, dass ich überheblich bin, hör ich sogar öfter. 
Allerdings kann ich dein Problem lösen, nach dem du gefragt hast. Ich 
hab mich sogar hingesetzt und versucht, alle Aspekte des Problems zu 
beleuchten inklusive der Fragestellung, wo genau das Problem überhaupt 
liegt. Dazu hab ich dir zwei kleinere Aufsätze geschrieben, die neben 
ein paar Informationen, die du wohl nicht brauchst, denk ich auch mal 
alle Informationen enthalten, die du brauchst. Ich hab versucht, mich in 
dich reinzuversetzen (mit dem Pin5) und dir deinen Irrtum aufgezeigt und 
somit u.U. sehr viel Versuchszeit erspart. Ich bin auch darauf 
eingegangen, dass du unbedingt nen 555 benutzen willst und habe dir 2 
Möglichkeiten aufgezählt und detailliert beschrieben, wie du dein Signal 
mit dem Träger mischen kannst. Der ersten davon stimmt auch Karl-Heinz 
Buchegger zu. Der hat, wie ich aus anderen Beiträgen in Erinnerung habe, 
immerhin beruflich mit solchen und viel komplexeren Aufgaben zu tun.
Jetzt kommst du und sagst ich bin überheblich und eingebildet. Wie 
gesagt stimmt das wohl auch aber ich finde, dass ich vor allem sehr nett 
bin, meine Zeit in dein Problem zu investieren, das mir eigentlich am 
Arsch vorbeigehen könnte. Liegt es daran, dass ich zwei mal vermutet 
habe, dass du Angst vor'm Programmieren hast? Dann erklär mir doch mal 
bitte, was sonst der Grund ist, nicht den kürzesten Weg zu gehen. Ich 
glaube, du wirst einsehen, dass man nach 4 Erklärungen ruhig mal ne 
kleine Stippelei einstecken können muss..
Ich hab mich übrigens vor allem deshalb nochmal hingesetzt und 
geantwortet, weil du auf meinen ersten Text mit Lob und Dank geantwortet 
hast. Das ist nämlich das einzige, was ich davon habe, dein Problem zu 
lösen.

Autor: Benedikt Grunwald (ben)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe dir ja auch gedankt dafür das du so umfangreich geantwortet hast ,
war einer der wenigen beiträge womit ich konkret was anfangen konnte.

Was mich bei dir nur gestört hat war diese Zeile :

"Aber du hast
ja Angst vor'm Programmieren ;)"

Sowas muss einfach nicht sein, programmierung ist für mich kein problem
programmiere vorwiegend und habe es deswegen nicht so mit der 
elektronik.
deswegen auch meine fragen.

gruß und nochmal danke für deine ausführlich antwort

benedikt

Autor: Jens P. (jmoney)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo kein thema. Mit den Smilies mein ich "nicht so ernst nehmen" ;)

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.