Hallo liebe Experten, ich bin leider kein Elektroniker, entwickle aber seit 30+ Jahren in C/C++. Nun spiele ich ein bisschen mit einem AVR, dabei hat sich folgendes Problem ergeben: Ich habe ein LED-Board mit vier HT1632C (Steuerung einer LED Matrix). Die HT haben OSC und SYNC Pins, so dass ein HT als Master konfiguriert werden kann, und die anderen als Slaves. Das wird erreicht, indem alle OSC Pins der vier HT miteinander verbunden werden, und die SYNC Pins ebenfalls. Nun dachte ich mir, ich kann das gemeinsame SYNC Signal mit einem Port-Eingang meines AVR verbinden, um so eine Art "Vertical Blank Interrupt" zu erhalten, um dann in dem Augenblick ein Update der Speicher der HT Chips vorzunehmen. Daraufhin ist das Board aber scheinbar leider gestorben. Ich verstehe nur leider nicht, warum. Vielleicht kann mir jemand eine Erklärung geben, oder einen Link, um mein Wissen zu erweitern? Mir ist aufgefallen, dass im Datenblatt für SYNC nicht die Einheit Volt angegeben ist, sondern eine Stromstärke in mA. Gleichzeitig wird aber Vlow mit 0.5V und Vhigh mit 4.5V angegeben. Ist das dann kein TTL Pegel? Hätte eine Schaltung dazwischen gemusst, statt SYNC direkt mit einem Port-Pin des AVR zu verbinden? Für eure Hilfe wäre ich dankbar. Grüße Thorsten
Thorsten S. schrieb: > Daraufhin ist das Board aber scheinbar leider gestorben. Welches Board? Wie sieht das "scheinbar" aus? Wie ist das Ganze versorgt und verschaltet, kannst du da mal eine Skizze malen? > Mir ist aufgefallen, dass im Datenblatt für SYNC nicht die Einheit Volt > angegeben ist, sondern eine Stromstärke in mA. Gleichzeitig wird aber > Vlow mit 0.5V und Vhigh mit 4.5V angegeben. Sync kann Eingang oder Ausgang sein. Für beide Betriebsarten werden Daten angegeben. Hast du die richtig programmiert? Schlecht wäre es, wenn alle 4 Ausgang wären. Oder alle Eingang und kein Sync-Impuls kommt...
Das LED Board mit den Holtek HT1632C Chips ist gestorben, d.h. ich bekomme keine LED mehr zum leuchten. ("scheinbar" deshalb, weil man nie Seiteneffekte ausschließen kann) Schade, ich hatte nämlich einen schicken Treiber entwickelt, mit 3 unterschiedlich großen Fonts, 4-Way Scrolling, Linien, Rechtecken und Laufschrift. Das LED Board (ein Sure Electronics 32x16 Bi-Color) hat einen eigenen 5V Eingang zur Stromversorgung. Von meinem STK 600 habe ich PD4 - PD8 mit den 4 Steuerleitungen des Boards verbunden, und zusätzlich GND. (Laienfrage: Ich hatte ganz zu Anfang auch +5V vom STK mit dem Sure-Board verbunden, dann zeigte aber mein gleichzeitig am STK 600 angeschlossenes LCD-Display ein schwaches aufleuchten der Pixel, obwohl das STK noch nicht eingeschaltet war. Ergo ging die Spannung vom Sure Board in das STK. Daraufhin hatte ich die +5V vom STK zum Sure entfernt, war das richtig? Jedenfalls arbeitete das Sure Board danach tagelang völlig korrekt. Ist es richtig, GND vom STK zum Sure zu führen? Ohne Verbindung funktionierte es auch.) Ich habe eben zur Sicherheit meinen PORTD komplett mit den LEDs des STK verbunden, um zu testen ob mein PORTD noch funktioniert. Ich kann alle 8 LEDs noch einzeln ansteuern. PORTD ist also als Ausgang ok. Zur Steuerung des Sure Boards nutze ich nur Ausgänge. Ich möchte noch anfügen, dass das original Sure-Board die OSC und SYNC Pins der vier HT1632C nicht miteinander verbindet. Da ich aber Probleme mit sauberem Scrolling hatte, habe ich mit Kupferlackdraht jeweils die OSC und SYNC Pins miteinander verbunden. Das funktionierte auch. Einen HT1632C hatte ich dabei als Master konfiguriert, und die anderen drei als Slaves. Zur Gegenprobe hatte ich alle 4 HT1632C als Slaves konfiguriert, und alle 4 LED-Gruppen blieben dunkel. Zusätzlich hatte ich noch jeweils einmal den dritten HT1632C als einzigen Master konfiguriert und einmal den vierten. In allen Fällen lief alles korrekt. (An dem unsauberen Scrolling (äußerst unerklärliches Vorauslaufen der unteren beiden LED-Bänke) änderte sich leider nichts - mehr dazu vllt in einem anderen Thread). Erst als ich dann SYNC mit PD2 verband (PD2 als Eingang), blieben alle 4 LED Gruppen dunkel. Ich habe dann die Verbindung wieder entfernt, aber seitdem ist das Board nicht mehr zum Leuchten zu bewegen. :-( Mich würde interessieren, was ich falsch gemacht habe, und wie man es richtig macht. Bisher dachte ich: TTL = alles prima... ist ja fast wie Lego zum Zusammenstecken (mit Pull-Ups/Downs). Aber offensichtlich ist es nicht so. Auch kann ich zB garantieren, dass immer ein HT1632C als Master und die anderen drei als Slaves konfiguriert waren. Mich würde aber rein vom Verständnis her interessieren, ob ich etwas hätte zerstören können, wenn alle vier als Master (und somit alle OSC und SYNC als Ausgänge) konfiguriert worden wären.
Thorsten S. schrieb: > Das LED Board (ein Sure Electronics 32x16 Bi-Color) hat einen eigenen 5V > Eingang zur Stromversorgung. Das ist schlecht. ICs dürfen nie Spannung an den anderen Pins sehen, bevor VCC anliegt. Vermutlich haben also die HT1632C versucht, Dein STK600 über die Ausgänge zu versorgen und sind daran gestorben (Überstrom). Entweder die VCC für alle ICs gleichzeitig zuschalten (ein Netzteil für alles) oder mit Schutzwiderständen (z.B. 1k) entkoppeln.
Vielen Dank für eure Beiträge. D.h. den SYNC Ausgang des HT1632C mit einem Porteingang des AVR zu verbinden ist bei gemeinsamen Netzteil unbedenklich, und ich kann das Signal dann korrekt auslesen? Mich verunsichert die Angabe der Stromstärke statt Spannung im Datenblatt.
Thorsten S. schrieb: > Mich verunsichert die Angabe der > Stromstärke statt Spannung im Datenblatt. Die Strömstärke soll Dir sagen, wie Hoch diese IOs als Quelle bzw. Senke max. betreiben darfst. Wenn Du nur einen ATMega IO da angeschlossen hast. Dann sollte alles gut sein. Wenn aber durch eine fehlende Versorgung mehr Strom aus dem Pin gezogen wird, dann Tschüss. Oder manchmal hat man auch Glück und der Strom wird nur begrenzt.
in alle Digitalen Verbindungen einen Schutzwiderstand einbauen. Dieser verhindert dann, im Falle eines Fehlers, daß durch zu hohe Ströme noch mehr Bauteile kaputt gehen. Dimensionieren muss man sie so, daß einerseits nicht zu viel Strom fließen kann, andererseits sich aber die korrekten Pegel noch einstellen. (vor allem, wenn man mit Pull Ups/ Downs Leitungen auf ein Potential zieht)
Mich würde auch noch mal die grundlegende Vorgehensweise interessieren. Angenommen, man verbindet zB einen AVR mit eigener Stromversorgung mit einem USB-Port an einem PC (ohne sich dort die 5V zu holen). Reicht es dann aus, die Datenleitungen mit 1k zu entkoppeln? Muss dann die Masse durchverbunden werden?
Thorsten S. schrieb: > Reicht es > dann aus, die Datenleitungen mit 1k zu entkoppeln? Muss dann die Masse > durchverbunden werden? Prinzipiell reicht das verbinden der Masse aus, um mit Datenpegeln gekoppelt zu sein. !!ABER VORSICHT!! USB setzt auf den Datenleitungen nur maximal 3.3V ein. Also je nach der Spannung deiner "unabhaengigen Quelle" musst du Regler oder mindestens Zenerdioden einetzen. Seh dir mal diese Schematics an: http://matrixstorm.com/avr/tinyusbboard/#revthreepictures Diese verwenden zwar die +5V vom USB, muessen aber den Pegel anpassen. Zur Erkennung des USB-Standards muss desweiteren ein 1.5k PullUP entweder an D- oder D+. (low-speed vs. high speed). Datenleitungen mit je 1k zum AVR ist zu viel... !!!!!!!!!!!!!!!!! MfG
Ich muss da leider noch mal nachhaken. Peter Dannegger sagt weiter oben: "Entweder die VCC für alle ICs gleichzeitig zuschalten (ein Netzteil für alles) oder mit Schutzwiderständen (z.B. 1k) entkoppeln." Stephan B. sagt: "Prinzipiell reicht das verbinden der Masse aus, um mit Datenpegeln gekoppelt zu sein." Lassen wir das Beispiel mit USB weg, sondern gehen durchgängig von 5V Pegeln aus, aber zwei Stromquellen für zwei Schaltkreise, deren Datenleitungen gekoppelt sind. Welche Aussage ist dann zutreffend?
Thorsten S. schrieb: > Ich muss da leider noch mal nachhaken. > > Peter Dannegger sagt weiter oben: "Entweder die VCC für alle ICs > gleichzeitig zuschalten (ein Netzteil für alles) oder mit > Schutzwiderständen (z.B. 1k) entkoppeln." > > Stephan B. sagt: "Prinzipiell reicht das verbinden der Masse aus, um mit > Datenpegeln gekoppelt zu sein." > > Lassen wir das Beispiel mit USB weg, sondern gehen durchgängig von 5V > Pegeln aus, aber zwei Stromquellen für zwei Schaltkreise, deren > Datenleitungen gekoppelt sind. Welche Aussage ist dann zutreffend? DIe beiden Aussagen haben 0,0 miteinander zu tun. Das eine bezieht sich auf die Versorgung von ICs, das andere bezieht sich auf gemeinsame Schnittstellenpotentiale. ICs müssen immer versorgter werden bevor an anderen Leitungen Potentiale anliegen. Ansonsten ziehen sich die ICs den Versorgungsstrom aus den Datenleitungen. Diese sind natürlich nicht nennenswert belastbar und werden damit zerstört. Ohne einen SCHALTPLAN können wir allerdings nur weiterraten.
Die 1k beziehen sich auf die Datenleitungen zwischen Schaltungen, die nicht an der selben VCC hängen, d.h. zu unterschiedlichen Zeiten angeschaltet werden können.
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.