www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 mit Transitor Verstärken??


Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Bin neu im Bereich uC und hab auch schon viele Infos aus dem Forum 
bekommen.
Da ich erst vor kurzem zum entwickeln / uC Programmieren angefangen 
habe, tu ich mir noch etwas schwer...

Ich hab vollgendes Projekt gestartet:

Ich möchte mir einen Sternenhimmel mit ca. 100 weißen 12 Volt LED´s 
bauen die ich über die serielle einzeln mit PWM dimmen kann. Ich habe 
für die kommunikation zum PC einen ATMega 162 genommen. Die eine RS232 
hängt über nen MAX232 an ner Sub-D, die andere geht über RJ45 zu meine 7 
"Slaves" (ATTiny 2313). Die Slaves senden nicht sondern empfangen nur 
und hängen alle paralell an der RS232. Da doch ein paar Meter zwischen 
den Dingern sind wollte ich fragen ob ich TxD einfach mit einem 
Transistor (pro Slave) verstärken kann??

Ich wollte mit 19,2 kBaud "fahren", das is aber noch flexibel

Oder is das etwas komplexer??

Danke im voraus für die bemühungen, schönen Abend noch,

MFG
Christoph

Autor: ccc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wuerd RS485 anstelle von RS232 verwenden.  Das kann ja nach Treiber 
bis zu 128 Slaves ansteuern.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab mal ne frage

>Die Slaves

was oder wer ist das? ein weiter µC oder ein "scharzer" der Dir
das Licht in kurzen Abständen ein/ausschaltet?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, ich hab daneben gegriffen es steht im Text.

Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind auch uC, genauer gesagt ATTiny 2313. Auf der Seriellen werden 
folgende Daten übertragen:

Led-ID
Dimmstufe (0-255)
Dimmgeschwindigkeit

Der ATMega sendet die Daten und die Tiny haben jeweils einen Bereich von 
Led-ID´s. Wenns Slave nummer 1 was angeht stellt er die PWM um ansonsten 
verwirft er die Daten, so ist zumindest die Theorie....

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du keine weitere Hardware einsetzen willst,
könnte es mit dieser oder einer evtl. kleineren Taktfreq. funktionieren.

Bei dieser Beleuchtungsgeschichte ist doch bestimmt, die 
Übertragungszeit",
Dein kleinstes Problem.

Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, das größte Problem ist das ich von der Sprache C noch fast keine 
Ahnung hab und in Assembler wirds schwierig werden....

Würde das mit einen Wald und Wiesen Transistor denn funzen?

Autor: Peter Kaiser (opa-peter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich sehe da kein Problem, die Spezifikation des MAX232 ist an der Stelle 
sehr genau, was Ströme und Spannungen angeht. Datenblatt bei maxim-ic 
oder TI, oder woher dein max232 auch her ist...

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christoph Baumgartner,

>Stimmt, das größte Problem ist das ich von der Sprache C noch fast keine
>Ahnung hab und in Assembler wirds schwierig werden....

meist Du mich?

Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Klaus

Nein war allgemein gemeint

@Peter
Der "Kreis" hat mit dem MAX232 nix zu tun, die Kommunikation geht über 
die zweite Serielle des ATMege 162, da hab ich das Problem...

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn es unbeding sein soll:

    +5V
     |
     R 240R
     |-------  out
-    / < pnp zb BC 557 b..c
in   \
     |
     |
    GND

Spannungsfolger.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann würde ich beim Master und jedem Slave nen MAX488/490 hinsetzen.

http://datasheets.maxim-ic.com/en/ds/MAX1487E-MAX491E.pdf

Master sendet DI -> Y+Z

Slave rein A+B -> RO --- DI -> Y+Z raus
                      |
                    Abgriff Slave

Ist einfach und bei langen Leitungen sicher.

GND der platinen muß nicht verbunden sein.

gruß hans

Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Hans

Gefällt mir echt gut!

Doofe Frage muß ich A+B und X+Y kurzschließen?

Danke für die Info

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein!!

Die Verbindung besteht aus 2 (meist verdrillten) Adern.

Schau dir mal das Datenblatt und die Schnittstellenbeschreibung

http://de.wikipedia.org/wiki/EIA-485

an.

gruß hans

Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaub jetzt hab ichs, hab das so verstanden:

Zwischen RO und DI wird ne brücke gemacht, auf der Brücke greif ich mir 
meine RxD leitung für den Slave ab. A + B gehen zum vorherigen Slave 
(oder Master) X + Y zum nächsten. ist es so korrekt?

Autor: JensM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wenn in den Slaves ein MAX232 vorhanden ist,
so kann die Loesung von hans (Gast) auch mit diesem realisiert werden.
Somit macht jeder Slave eine Signalaufbereitung fuer den naechsten 
Slave.


Vorteil:
Keine 12V Versorgung.
Billiger.

Nachteil:
Nicht so Stoersicher wie RS485.

Bei den geplanten Uebertragungsraten sollte das aber bei einigen Metern 
noch kein Problem sein.

Bei RS485 ist die Masseverbindung aber auch noetig.
Die Bausteine halten wohl einiges an Stoerspannung aus,
fuer den Betrieb ist es aber Notwendig, dass die Eingaenge im Bereich
von -8V bis +12,5V liegen. Dies kann nur mit einer Masseverbindung 
garantiert werden.

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt past es.

Wenn du mehrere Slaves der gleichen Art baust, mach doch die
Adresse mit Dipschalter und lese diesen beim Programmstart
(bei Pinmangel mit einem 74HC165).

Dann ist das Programm wirklich gleich bei allen.

Und eine Universaladresse um Alle anzusprechen (z.B. für alle ein/aus)
nicht vergessen!

gruß hans

Autor: Christoph Baumgartner (elgigo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin jetzt etwas verwirrt denn im Datenblatt der Max488 steht das sie 
eine versorgung von 5 Volt benötigen. Die GND Verbindung habe ich 
sowieso über die Spannungsversorung der LED´s (12 Volt Sitop). Denn 
größten Nachteil den ich beim MAX232 sehe ist der Platzbedarf. Hab zur 
zeit noch ne Eagle Freeware und die Boards sind jetzt schon sehr voll

Autor: Sentinel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verträgt RS485 nicht maximal 32 Busteilnehmer wg. Eingangsimpedanz der 
Empfänger?

Ich würde als Empfänger ein CMOS-Gatter einsetzen (niedrige 
Busbelastung). Warum nicht direkt auf den RxD des µC gehen?

Nachdem die Daten eh zyklisch versendet werden, können 
Übertragungsfehler toleriert werden.

Auf eine busförmige Verdrahtung mit Leitungsabschluss achten.

Autor: JensM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sentinel

Bei der Verdrahtung die hans vorgeschlagen hat ist jewels nur 1 
Teilnehmer
am vorherigen Slave angeschlossen.

Geplant sind auch nur 7 Slaves (nicht fuer jede LED einer).
Wenn man den Eingang eines µC verwendet, so hat man alle Vorteile des
MAX488 wieder zunichte gemacht.

@Christoph Baumgartner
Unter diesen Voraussetzungen ist der MAX488 dem MAX232 vorzuziehen.
Die 12V waren ein Fehler von mir. Ich habe die ABSOLUTE MAXIMUM RATINGS
auf VCC im Datenblatt gesehen.

Gruss JensM

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar können an eine RS485 mehrere Empfänger angeschlossen werden.
Aber dann braucht man T-Stücke in der Leitung. Wenn man die
Schnittstelle wie oben beschrieben durchschleift ist das T-Stück
auf der Leiterplatte und man braucht auch keine Terminierung.


@Christoph

Der Max ist ein normaler IC mit 8 Pin, die Versorgung 5V.
Der 3,3V -Typ heist MAX3488. Versorgung also wie dein Tiny2313.
Keine Kondensatoren wie beim 232 (nur evtl. der übliche 100nF in der
versorgung).

Das mit der Adressierung war bloß für den Tiny gedacht!

gruß hans

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.