PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe beim Schaltungsentwurf



Ben Reiley
08.05.2017, 19:46
Hallo an alle,

ich hoffe ihr könnt mir etwas Hilfestellung bei meinem Projekt geben, da ich noch nicht so viel Erfahrung mit Schaltungsentwurf habe ;)
Es geht um die Entwicklung einer R-Dekade. Das Konzept, dass ich mir dafür Überlegt habe sieht es vor, dass es zwei verschiedene Leiterplatten geben wird. Die erste (nennen wir sie LP-A) beinhaltet einen Controller (der die Steuerung übernehmen soll), Strommessung, HMI (Display, Buttons), Sicherung ... . Diese wird es dann nur einmal pro gerät geben. Auf die zweite Leiterplatte (LP-B) soll dann jeweils eine Dekade mit den entsprechenden Widerständen und benötigten Relais untergebracht sein. Möchte man also den Bereich 1k-10k, 10k-100k und 100k-1M abdecken, würden drei dieser LPs (entsprechend bestückt) benötigt werden.
Das Ganze soll beliebig erweiterbar sein.

Nun zu meinen Fragen:
Ursprünglich sollten lediglich Schieberegister zum ansteuern der Relais auf LP-B zum Einsatz kommen. Diese könnten dann beim Kaskadieren von zum Beispiel 3 LPs einfach verbunden werden. Auch wäre des beliebig erweiterbar. Allerdings möchte ich die Software auf LP-A nicht jedes mal anpassen müssen. Somit müsste es möglich sein eine ID der LP-B auslesen zu können. Die IDs stehen dann für einen definierten Widerstandsbereich (zBsp. 1k-10k) und die Software wüsste genau was verbaut ist. Gibt es eine Möglichkeit eine solche Kommunikation aufzubauen ohne der LP-B einen µC verpassen zu müssen? Ansonsten würde ich genau diesen Weg gehen.

Die Versorgungsspannungen für Schieberegister/Controller und Relais sollen alle auf LP-A erzeugt und dann entsprechend auf die LP-Bs verteilt werden. Speziell für die Relais wollte ich einen galvanisch getrennte Spannungsversorgung anlegen. Wenn ich diese nun über einen Treiber schalte, welcher zu beispiel von einem Schieberegister/Controller bedient wird, muss diese Verbindung ebenfalls mit beispielsweise Optokopplern getrennt werden?. Ich möchte verhindern, dass das Schalten der Relais Probleme bei der Kommunikation auf der 5V Seite macht. Hat jemand Erfahrung damit gemacht?

Ich hoffe es ist verständlich und besten Dank schon mal an alle, die sich den Text bis hierhin durchgelesen Haben :)

Siro
08.05.2017, 21:46
Habe folgende Idee:

Jede Karte hat Jumper/Dipschalter zum konfigureiren, davon muss mindestens einer gesetzt sein, so kannst Du theoretisch 255 Karten adressieren.
Nun schiebst Du ein Low hindurch und beobachtest die "Config" Leitung. ist diese High , ist der Jumper nicht gesetzt, geht die Leitung auf Low
dann ist dort ein Jumper gesetzt. Wieviel Karten Du dran hast, merkst Du dann wenn kein Low mehr von der Karte kommt.
Also das erste Schieberegister ist für die Abfrage, die anderen für die Relais. Dann wieder Configbyte und wieder Relais.....

So meine Theorie......;)

bei 3 Karten musst Du aber 24 mal durchgeschoben haben. Da ja nur immer ein Bit der Dipschalter auf Low sein darf
ist etwas mühsam von der Software her, aber realisierbar denke ich.....

Peter(TOO)
08.05.2017, 22:38
Hallo,

Schieberegister gibt es von seriell In nach parallel Out und von parallel In nach seriell Out.

Dann kannst du z.B. pro Modul 8-Bit einlesen und die Register genau gleich wie diejenigen für die Relais in Serie schalten.

Eine andere Möglichkeit wäre jedem Modul ein Serial-EPROM zu spendieren, und dessen CS mit dem ersten Bit des Ausgangs-Schieberegister anzusteuern.
Dann kannst du ein paar KBit an Beschreibung für jedes Modul hinterlegen.
Also z.B. so etwas:
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8735-SEEPROM-AT93C56B-66B-Datasheet.pdf
Die Dinger gibt es von 1KBit bis etwa 16KBit und sie kosten fast nichts (Selbst Conrad verlangt <1 Euro).

Im EEPROM könnte man dann eine Tabelle anlegen, welche als ersten Eintrag die Anzahl Schieberegister-Bits enthält, damit kannst du dann Module mit unterschiedlicher Auflösung erstellen und weisst nach wie vielen Bits, das nächste Modul anfängt.
Dann für jedes Ausgabe-Bit auf dem Modul, den Widerstandwert ablegen, welcher da angeschlossen ist.

Damit hast du die maximale Flexibilität und kannst auch krumme Reihen und beliebige Abstufungen erstellen. :-)
Was eingestellt werden kann, kann dann der µC einfach Berechnen.

MfG Peter(TOO)

Ben Reiley
09.05.2017, 09:01
Super, danke für die schnellen Antworten.

@Siro: Das ist eine super Idee :D Somit habe ich auch nur einen Typ Schieberegister und bekomme meine Infos.

@Peter: Das mit dem Parallelen einlesen ist natürlich auch nett. Allerdings weiß ich nicht genau, wie kompatibel dann beide Typen Schieberegister sind um sie alle in einer Kette zu betreiben. Notfalls müssten dann je nach Art noch weitere Steuerleitungen durchgereicht oder gar zwei Separate Pfade aufgebaut werden.
Das mit den EEPROMS ist auch ne super Idee. Wie du schon sagst, ist das System somit um einiges Flexibler. Dem entgegen spricht, dass die Erweiterungskarten (LP-B) nicht mehr einfach nur Bestückt, sondern auch entsprechend Programmiert werden müssen.

Die Vor- und Nachteile muss ich jetzt mal abwägen. Aber ihr habt mir sehr weitergeholfen :)

PICture
09.05.2017, 10:09
Hallo!


Das Ganze soll beliebig erweiterbar sein.

Das ist aber nur theoretisch möglich. Ich sehe das als x-Hardwareentwickler wie folgt:

Im mΩ Bereich wird der gesamte Widerstand mit schaltendem Relais in Serie vom Kontaktwiderstand des Relais abhängig und er wird jedesmal immer anders, weil zufällig sein. :confused:

Im MΩ Bereich müssten die schaltbare Widerstände von elektrischen und magnetischen Störfeldern sehr gut abgeschirmt werden um z.B. Netzfrequenzstörungen zu eliminieren. :confused:

Einfache Sachen waren und werden bei Entwicklungen immer am wichtigsten. ;)

Ben Reiley
09.05.2017, 11:42
Hallo PICture,
danke fürs Feedback.
Ok, das stimmt. Was die Abdeckung der untern Ohm-Bereiche betrifft, wird es im wesentlichen davon abhängen, was für Relais zu Einsatz kommen. Vielleicht könnten für einen Höheren Strom und Spannungsbereich "robustere" Relais verwendet werden, die dann aber höhere Übergangswiderstände haben und somit nur ab dem 100 Ohm Bereich mit entsprechenden Toleranzen halbwegs Sinnvoll wären. Eine andre Karte könnten dann für kleinere Ströme und Spannungen mit Rlais mit Goldkontakten bestückt sein. Aber selbst die fangen bei 30 mOhm an. Das muss ich dann mal sehen. Aber offen halten möchte ich es mir trotzdem :)

Meinst du bei den Problemen im M-Ohm Bereich, das sehr kleine Ströme fließen?

PICture
09.05.2017, 12:05
Meine und deine Meinungen sind bei realer Entwicklung egal. Es ist nur wichtig, wo deine R-Dekaden verwendet werden (analog bzw. digital, AC bzw. DC, usw.).