Forum: Platinen Schaltplandesign für Propelleruhr mit 8051 - soweit ok?


von Clemens Z. (icefire)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

Ich bin noch recht neu auf dem Gebiet der Microcontrollerprogrammierung. 
Zu dem Thema bin ich eigentlich nur durch eine Vorlesung an der 
Hochschule gekommen - dort haben wir den 8051-Controller erlernt.
Jetzt habe ich mir in den Kopf gesetzt, eine Propelleruhr mit dem 8051 
zu bauen.
Die Uhr soll 10 RGB-LEDs besitzen (T66C), angesteuert werden sollen 
diese durch den PCA9634 mittels I2C - vorher hatte ich mir die Schaltung 
mit einem PCA9532 überlegt, da hatte ich allerdings Bedenken mit der 
Geschwindigkeit des I2C-Bus.
Da ich mich mit den Netzteilen nicht auskenne, habe ich mich da an einem 
Entwurf aus dem Internet (von der Propelleruhr auf 
www.robotikhardware.de) und den Datenblättern orientiert, mit den 
Kapazitäten der Kondensatoren bin ich mir daher noch absolut nicht 
sicher. Gewisse Vorstellungen, dass die Stromversorgung über 
Induktionsspulen funktionieren soll, habe ich aber bereits. Ich bin da 
auch bereits am experimentieren, da will ich noch eine 
Vollbrückenschaltung bauen, um die Primärspule richtig bestromen zu 
können.
Der Microcontroller sitzt auf einem Daughterboard, dass über einen 
Stecker und ein paar Haltehülsen mit meiner Platine verbunden werden 
soll.

Insgesamt ist dies meine erste richtige Platine, daher bin ich mir bei 
dem Aufbau noch sehr unsicher und würde gerne fragen, ob Euch etwas 
auffällt oder Ihr Verbesserungsvorschläge habt?
Für Eure Hilfe bin ich Euch sehr dankbar.

Mit freundlichen Grüßen,
Clemens

von Falk B. (falk)


Lesenswert?

@  Clemens Z. (icefire)

>Die Uhr soll 10 RGB-LEDs besitzen (T66C), angesteuert werden sollen
>diese durch den PCA9634 mittels I2C - vorher hatte ich mir die Schaltung
>mit einem PCA9532 überlegt, da hatte ich allerdings Bedenken mit der
>Geschwindigkeit des I2C-Bus.

Naja, I2C ist dafür nicht so das glebe vom Ei. Nimm lieber SPI, das ist 
deutlich schneller und einfacher.

>sicher. Gewisse Vorstellungen, dass die Stromversorgung über
>Induktionsspulen funktionieren soll, habe ich aber bereits. Ich bin da
>auch bereits am experimentieren, da will ich noch eine
>Vollbrückenschaltung bauen, um die Primärspule richtig bestromen zu
>können.

Jaja, immer fest pulsen ;-)

Schau dir mal den Royer Converter an.

>auffällt oder Ihr Verbesserungsvorschläge habt?

Du hast sooo viele freie Pins, warum steuerst du dann die popeligen 30 
LEDs nicht direkt an? GGf über kleine Treiber. Ist zehnmal einfacher und 
schneller.

MFG
Falk

von Clemens Z. (icefire)


Lesenswert?

Vielen Dank für die Info mit dem Royal Converter, genau so etwas habe 
ich gebraucht, die Sache klingt sehr spannend!
Mit dem SPI-Bussystem kenne ich mich nicht aus, aber er klingt in der 
Tat sehr interessant. Leider kenne ich mich mit dem I2C auch nicht 
besonders aus, aber irgendwo muss man ja anfangen. Ich denke, ich werde 
das in der ersten Version mal beim I2C belassen.

Ich habe die LEDs nicht direkt an dem Microcontroller angeklemmt, weil 
ich etwas lernen möchte :) Direktes Anschließen der LEDs wäre wesentlich 
wirtschaftlicher, aber Bussysteme fand ich schon immer faszinierend und 
diese Treiberbausteine mit ihren vielen Möglichkeiten machen mich 
neugierig.
Ich hatte mir auch mal überlegt, ob man die LEDs direkt anschließen und 
dann im Multiplexbetrieb leuchten lassen könnte, aber für das erste 
größere Projekt ist mir das erstmal zu aufwendig und der Gedanke der 
hohen Ströme im Multiplex-Modus schmeckt mir auch nicht.

Ich möchte mit diesem Projekt zunächst hauptsächlich Erfahrungen 
sammeln, aber auch daraus lernen, um dann in der Zukunft bessere 
Platinen zu bauen :)

Aber ansonsten, gibt es an der Schaltung funktionstechnisch etwas 
auszusetzen?
Etwas Sorgen macht mit der CNY70, den ich direkt an den uC angeschlossen 
habe: Da möchte ich den internen Komperator mit Schmitt-Trigger nutzen, 
ich hoffe, dass das so funktioniert.

Ansonsten werde ich mich auf den Weg machen, das Platinenlayout zu 
erstellen.

von Clemens Z. (icefire)


Lesenswert?

Ich habe mir heute die Platine nochmals angeschaut, da sie demnächst 
gefertigt werden soll, und habe noch ein paar Fehler korrigiert.
Ich habe alle OE-Pins nun mit einem Pullup-Widerstand von 4.7kOhm 
versehen und die high-Adressbits der Treiberbausteine alle direkt mit 
der Versorgungsspannung verbunden.
Ich weiß nicht, was mich auf die Idee brachte, die mit einem Pullup zu 
versehen. Naja, das ist meine erste Platine :D
Als Adressen habe ich jetzt
000 000 # LED-Treiber 1
000 001 # LED-Treiber 2
000 010 # LED-Treiber 3
000 011 # LED-Treiber 4
festgelegt.
Da mir die Funktion des OE-Pins nicht ganz klar ist, wollte ich da 
nochmals nachhaken: Wenn der Pin auf Masse geschaltet ist, sind die 
LEDs, wie über I2C programmiert, eingeschaltet, wenn der Pin auf high 
ist, dann sind alle LEDs je nach Zustand von OUTNE0 und OUTNE1 ein- oder 
ausgeschalet.
Habe ich das so richtig verstanden?
Demnach würde sich bei meiner obigen Verschaltung vermutlich rein gar 
nichts tun, vermute ich.
Wie gesagt, habe ich für den OE-Pin nun noch einen Pin am 
Microcontroller verwendet. Zwar fällt mir bisher kein Anwendungsfall an, 
wann ich alle PCA-Einheiten gleichzeitig abschalten möchte, aber man 
weiß ja nie.

Ansonsten habe ich die Vollbrücke für die Spulen mal gebaut, ich habe 
vier IRF530-n-Kanal-MOSFet genommen und eine Bootstrap-Treiberschaltung 
verwendet.
Mit zwei selbstgewickelten Spulen hat die Sache nach sehr viel Gemurkse 
auch ganz prima funktioniert. Nachdem ich an der Sekundärspule eine 
Gleichrichterbrückenschaltung angebracht habe und mittels einem 7805 auf 
5V reguliert habe, hat ein kleiner 5V-Lüfter nach dem Anschließen gleich 
losgerattert :) Diesen Schaltungsaufbau will ich aber mit einer 
Lochrasterplatine realisieren.

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
Noch kein Account? Hier anmelden.