Forum: Mikrocontroller und Digitale Elektronik Mit 3.3V Mikrocontroller 5V schalten


von Uli A. (schnuppi44)


Lesenswert?

Hallo zusammen !

Ich vermute, dass sowas hier schon häufiger Thema war, aber ich bin 
nicht so richtig fündig geworden im "Bestand", daher dieser Thread:

Ich möchte mit einem 144er STM32 ARM (L5) auf einem Nucleo Board die 
Schaltung von 54 5V Relais mit je zwei Wechslern realisieren. Diese 
sollen dann je eine 24V Steuerspannung schalten und eine 5V LED, das ist 
jetzt nicht wichtig, nur als kleine Zusatzinfo. Ggfs. könnten auch die 
5V LED und das 5V Relais gemeinsam geschaltet werden und nur die externe 
Steuerspannung 24V über das 5V Relais. Die 5V sollen sinnvollerweise von 
einer externen Stromversorgung kommen (, die ggfs. auch gleich den STM32 
mitversorgt)

Kann ich das mit möglichst wenig (Zusatz-)Bauteilen über irgendeine Art 
4-fach Switch-IC für 4er Packs von Schaltpins lösen ?

Habe einen TI Chip gefunden, der wiederum scheint aber die zu schaltende 
Spannung nur in einem Toleranzbereich von +/- 0.5V relativ zur 
Versorgungsspannung zu ermöglichen....da kommt man also nicht hin bei 
VSS=5V und Schaltspannung = 3.3V....;-(

Und noch ne allgemeine Frage an die "Kenner": Lese ich das richtig aus 
dem Datenblatt des STM32, dass da pro I/O pin nur 20mA fließen dürfen, 
und insgesamt nur 100mA ????? (s.Seite 143, Table 25, Current 
characteristics)
Scheint mir so wenig zu sein....

Freue mich über Anregungen....

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Du nimmst an einfachsten das hier:

https://www.ti.com/lit/ds/slis142d/slis142d.pdf

Das ist ein  Schieberegister mit 8 Ausgängen. Dieses IC wird mit 3.3V 
betrieben. Die Daten kommen bitweise an SER_IN (Pin 2) an, und ein Puls 
auf SRCLK (Pin 15) liest das Bit ein so das Du das nächste am Eingang 
anlegen kannst. Wenn Du mehr als 8 Bits hast, fallen die ersten aus 
SER_OUT wieder raus, und Du kannst einen weiteren dieser Chips 
anschließen, indem Du Ser_Out von ersten mit SER_In des zweiten 
verbindest und SRCK und RCK und CLR und G jeweils miteinander 
verbindest. Diese Kette kann prinzipiell beliebig lang werden. Wenn DU 
fertig bist, sendest Du einen Puls auf RCK, und die Bits erscheinen an 
den Ausgängen.

Die Ausgänge können nur gegen GND schalten. Du schließt den Minuspol 
Deiner Last an einen Ausgang und den Pluspol der Last an seine 
Versorgungsspannung, die bis zu 40V hoch sein kann. Der Chip kann das 
ab. Jeder Ausgangspin kann 50mA ab.

So kannst Du mit maximal 5 Pins fast beliebig viele Ausgänge schalten. 
Wenn Du einen SPI-Port frei hast, kannst Du den für das Bitschieben 
verwenden. Da musst Du nur den abschließenden Puls auf RCK selber 
machen.

> Und noch ne allgemeine Frage an die "Kenner": Lese ich das richtig aus
> dem Datenblatt des STM32, dass da pro I/O pin nur 20mA fließen dürfen,
> und insgesamt nur 100mA ????? (s.Seite 143, Table 25, Current
> characteristics)
> Scheint mir so wenig zu sein...

Ist richtig so, wobei 20mA auch schon viel sind. Oft sind es nur 4 oder 
8mA pro Pin. Aber IO-Pins sind weder dafür vorgesehen noch dafür 
geeignet, um Lasten zu schalten. Dafür gibts Treiberbausteine wie den, 
den ich Dir gezeigt habe, die deutlich mehr Wumms haben.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Hallo Frank !

Wow ! Danke für die interessante Idee mit dem Schieberegister ! Die 
hatte ich bisher nur als reine I/O-Port-Erweiterung auf dem Schirm und 
wollte eh damit mal experimentieren, aber dass man dadurch dann auch 
mehr Dampf auf diesen Ports haben kann, ist mir neu - super !

Die Variante hätte auch den Vorteil, dass ich nicht so einen großen / 
mit so vielen Ports ausgestatteten Controller brauche...;-)

Brauche ich für die Verwendung mit dem TI denn da noch irgendwelche 
weiteren Peripheriebauteile wie z.B. Vorwiderstände, Blockkondensatoren 
o.ä. ? Oder kann ich das direkt so wie von Dir oben beschrieben 
verdrahten ?

von Christopher J. (christopher_j23)


Lesenswert?

Uli A. schrieb:
> Kann ich das mit möglichst wenig (Zusatz-)Bauteilen über irgendeine Art
> 4-fach Switch-IC für 4er Packs von Schaltpins lösen ?

Ja, gibt es. Je nachdem wie viel Strom deine Relais jeweils verlangen 
ULN2003 (den gibts von verschiedenen Herstellern in Shenzhen an jeder 
Straßenecke, unter anderem auch im DIP-Gehäuse) oder pinkompatibel aber 
mit mehr "Wumms" den TPL7407 von TI. Beides sind 7-Kanal Treiber, der 
ULN als Darlington-Array und der TPL auf Mosfet-Basis (nur SMD-Gehäuse). 
Der TPL bringt auch gleich noch eine Freilaufdiode mit, die du bei 
induktiven Lasten sowieso unbedingt benötigst (es sei denn, du willst 
eine Unterbrecherzündung für einen Benzinmotor bauen). Auch die Diode 
muss entsprechend bemessen sein. Beim TPL7407 sind es 500mA absolutes 
Maximum zusammen für alle Kanäle. Je nachdem wie dick deine Relais sind, 
kann das bei sieben Stück schnell eng werden, wenn du alle auf einmal 
abschaltest. Eine weitere Alternative zum ULN2003 wäre der TBD62003 von 
Toshiba (gibts auch als DIP). Hat auch sieben Kanäle und kann sogar noch 
etwas mehr Strom pro Kanal liefern. Wichtig bei der ganzen Sache ist 
auch noch der Spannungsabfall über dem Treiberbaustein. Wenn du 
(vereinfacht gesagt) vorne 5V reinsteckst kommen am Relais keine 5V an, 
sondern je nach Treiber und je nach Stromaufnahme des Relais, vielleicht 
auch nur 4,5V oder auch noch weniger. Da musst du halt noch abklären ob 
die von dir gewählten Relais dann noch sauber schalten (was in gewissen 
Grenzen aber meistens der Fall ist). Generell ist die Frage ob 5V-Relais 
überhaupt Sinn machen, weil eben solche Treiberbausteine problemlos 24V 
schalten können (die von Frank empfohlenen Schieberegister etwa bis 40V) 
und bei einem 24V-Relais der Strom typischerweise nur ca. ein Fünftel 
von einem vergleichbaren 5V-Relais beträgt und darüber hinaus wesentlich 
unanfälliger für kleine Offsetspannungen, also etwa 0,5V ist.

von Uli A. (schnuppi44)


Lesenswert?

Danke Christopher !

Guter Hinweis mit dem 24V-Relais (die brauchen dann nur ca. 20mA)! Ich 
komme gedanklich noch von einer Vorstufe der Idee, bei der ich die 
5V-Relais mit einem Mega 2560 direkt mit den 5V-Ports geschaltet habe.

Aber mit dem TI von Frank wäre das natürlich kein Problem, die 
24V-Versionen der Relais zu nehmen....cool.

Deine Vorschläge finde ich auch interessant, allerdings scheinen sowohl 
der ULN als auch der 7407 recht hohe Eingangsspannungen zu benötigen 
(ULN: 30V)...schaue ich mir aber morgen nochmal in Ruhe an....!

von Uli A. (schnuppi44)


Lesenswert?

@Frank:
Hast Du auch ein vergleichbares Modell in DIP-Bauform "auf Lager" ?

Wäre schlicht netter zum Experimentieren....

LG

von Hack S. (hackspider)


Lesenswert?


von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:

> Brauche ich für die Verwendung mit dem TI denn da noch irgendwelche
> weiteren Peripheriebauteile wie z.B. Vorwiderstände, Blockkondensatoren
> o.ä. ? Oder kann ich das direkt so wie von Dir oben beschrieben
> verdrahten ?

100n zwischen VCC und GND an jedem IC sind eh selbstverständlich, das 
muss man gar nicht extra erwähnen. Ansonsten: !CLR auf HIGH und !G auf 
Low (!G aktiviert die Ausgänge, wenn high sind die abgeschaltet).

In DIL gibts die nicht. Es gibt TPIC6A595 und TPIC6B595 als DIL, aber 
das sind 5V-ICs.

https://www.ti.com/lit/ds/symlink/tpic6a595.pdf

Der kann sogar 350mA treiben, aber Du brauchst einen Pegelwandler für 
die Steuersignale, z.B 74HCT08. Das ist ein 4*UND Gatter, wo Du jeweils 
beide Eingänge eines jeden Gatters verbindest und den Chip mit 5V 
betreibst. Das T in HCT sagt aus, dass es eine niedrigere Schaltschwelle 
hat, so dass Du da auch mit 3.3V Signalen drangehen kannst.

fchk

von Frank K. (fchk)


Lesenswert?

Hack S. schrieb:
> 
https://www.reichelt.de/shift-register-3-state-ausgang-2-6-v-dil-16-74hc-595-p3269.html?&trstct=pos_0&nbc=1

Der hat nicht genug Power, da müsste dann noch ein extra Treiberbaustein 
dahinter.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Hack S. schrieb:
> 
https://www.reichelt.de/shift-register-3-state-ausgang-2-6-v-dil-16-74hc-595-p3269.html?&trstct=pos_0&nbc=1

Genau. Nicht genug Power.....die ganzen Modelle bei Reichelt hatte ich 
auch schon durchgesehen....

von Uli A. (schnuppi44)


Lesenswert?

Uli A. schrieb:
> Guter Hinweis mit dem 24V-Relais (die brauchen dann nur ca. 20mA)!

Für die 5v Relais spricht allerdings, dass ich da direkt eine 
durchgehend gleich hohe Spannung für alle beteiligten Komponenten habe:

- Nucleo-Board
- 5V Relais
- 5V LEDs

Sonst muss ich wieder mit Spannungsreglern rumkaspern, um z.B. das Board 
von den 24v zu speisen....

Ich denke aber, 12V-Relais wären ein guter Kompromiss, oder ?

Das Board kann bei "externer Stromversorgung" von 7V bis 12V arbeiten, 
und die 5V LEDs kann ich dann ja einfach mit entsprechenden 
Vorwiderständen anpassen....

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Vielleicht kannst du dir ja die Relais auch komplett sparen und deine 
24V direkt schalten?

von Uli A. (schnuppi44)


Lesenswert?

Nein. Ich will / muss das 24V Schaltsystem komplett kontaktlos zum 
Mikroprozessorkram schalten - geht um Highend Audio Patching in einem 
Mainframe, für das die ganze hier angesprochene Schalterei in einer 
Remote mit eigener Stromversorgung stattfindet...daher sollte das alles 
"frei schwimmend" ohne gemeinsame Masse bleiben...

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> z.B 74HCT08. Das ist ein 4*UND Gatter, wo Du jeweils
> beide Eingänge eines jeden Gatters verbindest und den Chip mit 5V
> betreibst.

Das ist mir zu kompliziert - bei 54 Schaltern wird das ne ganze Menge 
Zusatzaufwand....dann lieber den TLC6C598-Q1...

von Uli A. (schnuppi44)


Angehängte Dateien:

Lesenswert?

Eigentlich müsste das doch so funktionieren (s.Anhangskizze), oder habe 
ich noch was vergessen ?

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Frank K. schrieb:
>> z.B 74HCT08. Das ist ein 4*UND Gatter, wo Du jeweils
>> beide Eingänge eines jeden Gatters verbindest und den Chip mit 5V
>> betreibst.
>
> Das ist mir zu kompliziert - bei 54 Schaltern wird das ne ganze Menge
> Zusatzaufwand....dann lieber den TLC6C598-Q1...

Äh, nein, den 74HCT08 brauchst Du genau einmal. Du verbindest SRCK, RCK, 
SER_IN, und wenn Du magst auch noch !G vom Prozessor (3.3V) mit je einem 
Eingangpaar eines Gatters, und die Ausgänge der Gatter sind die 
5V-Versionen der entsprechenden Signale. Ab da geht alles mit 5V-Pegeln, 
und Du brauchst keine weiteren Levelshifter und dannst die TPICs direkt 
miteinander verbinden.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Kann mir jemand sagen, was für eine Bauform der TLC6C598-Q1 nun 
eigentlich hat ?
Auf Seite 21 "Mechanical Data" sind es 1,27mm Beinchenabstand, und das 
Gehäuse sieht "länglich" aus mit einer Gehäuselänge von 10mm, auf der 
Folgeseite "Package Outline" TSSOP ist das Gehäuse fast quadratisch, nur 
5mm lang und die Abstände 0,65mm.....???

Bei digikey bekomme ich auch nur das kleine TSSOP....das größere Gehäuse 
(etwas einfacher zu verarbeiten) finde ich gar nicht....

von Christian K. (christian_rx7) Benutzerseite


Lesenswert?

Das liegt daran, dass es zwei verschiedene Gehäuse gibt:
16-Pin TSSOP-PWPackage
16-Pin SOIC-DPackage

von Uli A. (schnuppi44)


Lesenswert?

Christian K. schrieb:
> Das liegt daran, dass es zwei verschiedene Gehäuse gibt:
> 16-Pin TSSOP-PWPackage
> 16-Pin SOIC-DPackage

Danke. Hab es just im gleichen Augenblick auch gesehen - war bei digikey 
automatisch mit nem Suchfilter gelandet...;-)

Manchmal könnte man die Datenblätter aber auch ein bisschen 
verständlicher gestalten...;-)

Beitrag #6305607 wurde vom Autor gelöscht.
von Jens G. (jensig)


Lesenswert?

Jens G. (jensig)
16.06.2020 13:01

Bewertung
0

Frank K. (fchk)

>Du nimmst an einfachsten das hier:

>https://www.ti.com/lit/ds/slis142d/slis142d.pdf

Das Ding hat sogar ein 8fach-Storageregister. Da muß man die Relais gar
nicht erst beim Durchschieben "stummschalten", wie es bei einfacheren
Schieberegistern nötig wäre, sondern die Ausgänge behalten während des
Durchschiebens ihren bisherigen Zustand, und kann unmittelbar die neu
durchgeschobenen Infos in die Storageregister übernehmen, und somit auf
die Ausgänge.

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Für die 5v Relais spricht allerdings, dass ich da direkt eine
> durchgehend gleich hohe Spannung für alle beteiligten Komponenten habe

Allerdings liest man hier immer wieder, dass Leute genau damit Probleme 
bekommen und dann die Relais später doch lieber getrennt versorgen - 
trotz 5V.

von Uli A. (schnuppi44)


Lesenswert?

Danke für die Beiträge.

Könntet Ihr bitte noch kurz was zu meiner Skizze oben sagen ?

Damit müsste ich doch fertig sein, oder ?

@Stefan: Da sind auch bereits 12V Relais verbaut ;-)

von Uli A. (schnuppi44)


Angehängte Dateien:

Lesenswert?

Ach ja, und noch eine Frage:
Hab noch nicht viel Erfahrungen mit Masseflächen....im Datenblatt auf 
Seite 16 wird zur Wärmeableitung zur Verwendung von Masseflächen mit 
"thermal vias" geraten....heißt das nun, dass die Fläche(noberfläche) 
"blank" bleiben soll ? Also ohne Lötstoppmaske ? Und wenn ja, nur bzw. 
hauptsächlich unter dem Gehäuse ? Oder komplett und auf beiden Seiten 
der Platine ?

Siehe PCB Layout für eine kleine Experimentierplatine zur Umsetzung vom 
SOIC-Gehäuse auf 2,54 Rasterpins...

: Bearbeitet durch User
von Jens G. (jensig)


Lesenswert?

Uli A. (schnuppi44)

>Könntet Ihr bitte noch kurz was zu meiner Skizze oben sagen ?

Wenn Du mit SPI SerIn + SRCK meinst, dann könnte das schon was werden.

von Jens G. (jensig)


Lesenswert?

>Ach ja, und noch eine Frage:
>Hab noch nicht viel Erfahrungen mit Masseflächen....im Datenblatt auf
>Seite 16 wird zur Wärmeableitung zur Verwendung von Masseflächen mit
>"thermal vias" geraten....heißt das nun, dass die

Kommt jetzt darauf an, wieviel Leistung im IC verbraten wird. Und das 
hängt davon ab, was Relais (alle an) und evtl. Status-LEDs so an Strom 
ziehen.
So rein überschlagsmäßig denke ich, daß bis 8x40mA noch recht unkritisch 
ohne weitere Kühlmaßnahmen sein sollten.

von Uli A. (schnuppi44)


Lesenswert?

Jens G. schrieb:
> Uli A. (schnuppi44)
>
>>Könntet Ihr bitte noch kurz was zu meiner Skizze oben sagen ?
>
> Wenn Du mit SPI SerIn + SRCK meinst, dann könnte das schon was werden.

Ja, damit sind alle neben RCK noch benötigten Leitungen zur "Steuerung" 
und Datenübertragung gemeint (SER_IN, G, SRCK, CLR)

von Uli A. (schnuppi44)


Lesenswert?

> So rein überschlagsmäßig denke ich, daß bis 8x40mA noch recht unkritisch
> ohne weitere Kühlmaßnahmen sein sollten.

Du meinst, da kann ich mir das mit den "Kühlflächen" eh komplett sparen 
?

: Bearbeitet durch User
von Jens G. (jensig)


Lesenswert?

Wenn ich mich nicht verrechnet habe, dann ja.
40mA*20Ohm=0,8V
0,8V*0,04A=0,032W
8*0,032W=0,256W

Sollte selbst im schlimmsten Fall (130K/W lt. DB) gerade mal 33K 
Übertemperatur ergeben.
Also ist noch reichlich Reserve selbst ohne weitere Kühlung drin.

Gut, die Massefläche unter/um den IC kannste ja vorsehen (ist ja kein 
Zusatzaufwand), aber doppelseitige Platine mit Vias sollte grundsätzlich 
bei 8x40mA oder gar 50mA nicht nötig sein

von Uli A. (schnuppi44)


Lesenswert?

> Gut, die Massefläche unter/um den IC kannste ja vorsehen (ist ja kein
> Zusatzaufwand), aber doppelseitige Platine mit Vias sollte grundsätzlich
> bei 8x40mA oder gar 50mA nicht nötig sein

Danke für die Bemühungen. Dann werde ich wohl eher nur die obere Seite 
mit Massefläche unterm Gehäuse entlang verwenden ohne Vias....aber soll 
die Fläche nun grundsätzlich blank sein ?

von Jens G. (jensig)


Lesenswert?

>aber soll
>die Fläche nun grundsätzlich blank sein ?

Wo steht denn da was von blank lassen?
In erster Linie geht es erstmal nur darum, die Wärme vom IC wegzuleiten 
bzw. auf dem PCB zu verteilen zur besseren Kühlung. Das bißchen 
Isolation durch Lötstopp oder so fällt da nicht mehr auf.

: Bearbeitet durch User
von Uli A. (schnuppi44)


Lesenswert?

Jens G. schrieb:
> Wo steht denn da was von blank lassen?

Nirgends. Ich wollte es nur einfach wissen, weil ich noch keine Ahnung 
habe....;-)
Für mein technisches Grundverständnis wirkt eine Lötstopmaske eben ggfs. 
isolierend - sowohl zum IC-Gehäuse hin als auch in der Abstrahlung 
eventueller Wärme von der weiteren umgebenden Fläche....

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Uli A. schrieb:
> Für mein technisches Grundverständnis wirkt eine Lötstopmaske eben ggfs.
> isolierend

Ja, sie ist zwar isolierend, aber es handelt sich im Allgemeinen nicht 
um eine zugesicherte Eigenschaft. Insbesondere an Leiterbahnkanten kann 
Lötstopplack auch sehr dünn sein. Und letztendlich heißt das ganze 
"Lötstopplack" und nicht "Isolierlack". Es gibt, mittlerweile eher 
selten, auch Lötstoppmasken, die als Folien aufgebracht werden und somit 
nicht das Problem ungleichmäßigen Lackauftrags haben.

Wer sich auf die elektrische Isolation verlassen will, muss eben eine 
Isolierschicht verwenden.

> - sowohl zum IC-Gehäuse hin als auch in der Abstrahlung
> eventueller Wärme von der weiteren umgebenden Fläche....

Der Lötstopplack behindert nicht die Wärmeabstrahlung, sondern 
unterstützt sie. Vergleiche einfach mal die Emissionskoeffizienten 
blanker Metalloberfläche und dünner Lacke und Folien.

Bezüglich der Wärmeleitfähigkeit sieht das natürlich anders aus. Da 
schränkt der Lack natürlich gewaltig ein. Wenn man also einen Kühlkörper 
direkt auf einer Leiterplatte anbringen muss, dann auf jeden Fall ohne 
Lackschicht, am Besten sogar direkt aufgelötet.

von Uli A. (schnuppi44)


Lesenswert?

Danke Andreas für die Erklärung.

Aber warum unterstützt der Lack denn die Wärmeabstrahlung ???

von Uli A. (schnuppi44)


Lesenswert?

Noch jemand zur eigentlichen Frage und im Besonderen zu meiner Skizze 
oben von 12:03h ?

Vielleicht Frank ?   ;-)

von Jens G. (jensig)


Lesenswert?

>Aber warum unterstützt der Lack denn die Wärmeabstrahlung ???

Blanke Metalloberflächen strahlen generell weniger ab bzw. nehmen 
weniger Strahlung auf als andere Oberflächen.
Dafür ist Lack eher ein Wärmeisolator, und behindert die Wärmmeabgabe 
via Konvektion.
Aber da wir über Temperaturen von nur wenigen/einigen 10°C sprechen, hat 
Strahlung gegenüber Konvektion ohnehin nur einen geringen Anteil, so daß 
es eher irrelevant ist, was für eine Oberfläche es ist, bzw. man eher 
für Konvektion optimieren sollte (also eher "Lack ab" ;-).
Und da der IC ohnehin die zu erwartende Verlustleistung selbst ohne 
extra Kühlung los wird, ohne die Specs zu verletzen, muß man sich um 
solche Optimierungen eher keinen Kopf machen..

von Uli A. (schnuppi44)


Lesenswert?

Tja....die Weisheit des Internets....und was stimmt nun ?

a) Andreas

b) Jens

oder......c) ?

;o)))))

von Christopher J. (christopher_j23)


Lesenswert?

Uli A. schrieb:
> Deine Vorschläge finde ich auch interessant, allerdings scheinen sowohl
> der ULN als auch der 7407 recht hohe Eingangsspannungen zu benötigen
> (ULN: 30V)...schaue ich mir aber morgen nochmal in Ruhe an....!

Da hast du dich verguckt. Vielleicht hast du das mit der maximalen 
Eingangsspannung verwechselt.

Uli A. schrieb:
> Ich denke aber, 12V-Relais wären ein guter Kompromiss, oder ?

Kann man schon machen, wobei man Buck-Converter Module mittlerweile 
wirklich fast geschenkt bekommt.

Wenn du noch nen ganzen Haufen Peripherie an den 5V-LDO auf deinem 
Nucleoboard hängst, musst du bei 12V Eingangsspannung schon genau 
hinschauen ob der das auch packt, schließlich werden da 7V verheizt, bei 
300mA also schon immerhin 2W. Im Zweifelsfall brauchst du dann halt noch 
einen zusätzlichen LDO oder du machst aus deinen 12 bzw 24V mittels 
Abwärtswandler 7V und der LDO auf dem Nucleo verbrät nur noch ein 
Drittel der (Heiz-)Leistung (gegenüber 12V). Musst du halt mal 
durchrechnen.

Uli A. schrieb:
> Eigentlich müsste das doch so funktionieren (s.Anhangskizze), oder habe
> ich noch was vergessen ?

Sieht für mich auf den ersten Blick stimmig aus.

von Jens G. (jensig)


Lesenswert?

>Tja....die Weisheit des Internets....und was stimmt nun ?

>a) Andreas

>b) Jens

>oder......c) ?

b) ;-)

: Bearbeitet durch User
von Frank K. (fchk)


Angehängte Dateien:

Lesenswert?

Uli A. schrieb:
> Noch jemand zur eigentlichen Frage und im Besonderen zu meiner Skizze
> oben von 12:03h ?
>
> Vielleicht Frank ?   ;-)

Sorry, ich habe nebenbei noch einen Vollzeitjob.

Schau Dir mal den angehängten Plan an. Das ist eine einzelne Stelle 
eines Anzeigemoduls, das ein 14-Segment-LED Modul ansteuert, welches mit 
12V betrieben wird.

Die Transferleistung, das Display durch einen Haufen Relais zu ersetzen 
überlasse ich jetzt Dir. Denke an die in SPerrichtung betriebene 
Freilaufdiode parallel zur Spulenwicklung.

fchk

PS: Wenn Du DIL haben willst:
https://www.ti.com/lit/ds/symlink/tpic6a595.pdf

Da brauchst Du aber 74HCT-Gatter wie oben beschrieben zwischen dem 
Prozessor und dem ersten Schieberegister in der Kette, um die 
Schaltschwellen anzupassen. Was Du da nimmst, ist egal, es kann ein 
HCT08, ein HCT32, ein HCT86, ein HCT125 oder HCT126 sein.

: Bearbeitet durch User
von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Sorry, ich habe nebenbei noch einen Vollzeitjob.

Alles gut !!!!    ;o)

So war die Nachfrage auch nicht gemeint....das bedeutet eher, dass ich 
Dich hier schon oft als sehr ernsthaften und kompetent erscheinenden 
Zeitgenossen wahrgenommen habe...jedenfalls wieder mal danke für Deine 
Zeit und Mühe beim Erklären und Beschäftigen mit solchen trivialen 
Problemchen...;-)

Schau ich mir nachher in Ruhe an !

LG

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Schau Dir mal den angehängten Plan an.

Verstehe ich grundsätzlich. Was mir nicht ganz klar ist:

a) Wozu gehören C1 und C4 (Ich gehe davon aus, dass C2 und C3 die 
Blockkondensatoren für die Pin1 VCCs der beiden Module sind)

b) Warum hast Du an Pin8 (G) PWM anliegen ?

Und zeitlich schon ein bisschen vorgegriffen:

wie passiert das "Reinschieben" der einzelnen Bits programmiertechnisch 
(nur mal grob und grundsätzlich)?

Also wenn ich sozusagen ein 8er LED/Relais Zustandspattern von
ON OFF OFF ON ON ON OFF ON in ein solches Schieberegister reinfüttern 
will, was mache ich dann ?
Ist aber vielleicht auch zu aufwändig zu erklären in einem Forum....

------------

Von dem DIL habe ich mich eigentlich schon verabschiedet, zumal ich 
gesehen habe, dass es das TI Power Shift Register auch in einer 20 pin / 
12 Output Variante gibt, was es noch ein bisschen kompakter macht mit 
den vielen geplanten Schaltern....aber ggfs. ist die Gatterlösung rein 
zum Lernen auch mal eine interessante Alternative. ;-)

LG

von Uli A. (schnuppi44)


Lesenswert?

Christopher J. schrieb:
> Wenn du noch nen ganzen Haufen Peripherie an den 5V-LDO auf deinem
> Nucleoboard hängst, musst du bei 12V Eingangsspannung schon genau
> hinschauen ob der das auch packt,

Hey Christopher,

das verstehe ich nicht ganz. Was meinst Du mit "der" in "ob der das auch 
packt" ?

Und ich habe doch gar nicht viel Peripherie am Nucleo, und schon gar 
keine 5V sondern 3.3V (wenn Du die diskutierten TI-Schieberegister als 
Peripherie meinst...)

Und warum 300mA ?

Wenn ich das im Datenblatt richtig lese auf Seite 8, Figure 4 "Supply 
Current vs Supply Voltage" dann komme ich mit "All Channels ON" bei 3.3V 
auf sowas wie 75 mikroAmpere Supply Current....findet sich so auch auf 
Seite 5, Kapitel 6.5 "Electrical Characteristics" in der Zeile "ICC - 
Logic Supply current wieder (typical 88 microA, bezogen auf 5V)....

----------

Angenommen, ich müsste die (vermutlich ja 6 Stück) Schieberegister 
separat mit LDO von den 12v aus versorgen - welchen LDO würdet Ihr mir 
empfehlen, und (ja, leider wieder ne Anfängerfrage:) wie würde der in 
puncto zusätzlichen Bauteilen in meine bisherige Skizze eingebaut werden 
- nach wie vor ausgehend von 12V "Rails" als Hauptstromversorgung ?

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Frank K. schrieb:
>> Schau Dir mal den angehängten Plan an.
>
> Verstehe ich grundsätzlich. Was mir nicht ganz klar ist:
>
> a) Wozu gehören C1 und C4 (Ich gehe davon aus, dass C2 und C3 die
> Blockkondensatoren für die Pin1 VCCs der beiden Module sind)

Das sind sogenannte Bulk Kondensatoren, die die kleineren 
Abblockkondensatoren unterstützen. Der ganze Aufbau ist etwas größer, 
und es gibt größere Leitungslängen.

> b) Warum hast Du an Pin8 (G) PWM anliegen ?

G schaltet alle Ausgänge ab. Damit kann ich die Anzeigen dimmen. Willst 
Du nicht. Du legst diesen Pin auf GND.

> Und zeitlich schon ein bisschen vorgegriffen:
>
> wie passiert das "Reinschieben" der einzelnen Bits programmiertechnisch
> (nur mal grob und grundsätzlich)?
>
> Also wenn ich sozusagen ein 8er LED/Relais Zustandspattern von
> ON OFF OFF ON ON ON OFF ON in ein solches Schieberegister reinfüttern
> will, was mache ich dann ?

// Init
SCK(0);RCK(0);
//Schieben
SER_Out(1); SCK(1); SCK(0);
SER_Out(0); SCK(1); SCK(0);
SER_Out(0); SCK(1); SCK(0);
SER_Out(1); SCK(1); SCK(0);
SER_Out(1); SCK(1); SCK(0);
SER_Out(1); SCK(1); SCK(0);
SER_Out(0); SCK(1); SCK(0);
SER_Out(1); SCK(1); SCK(0);
//ins Ausgangsregister
RCK(1);RCK(0);

> Von dem DIL habe ich mich eigentlich schon verabschiedet, zumal ich
> gesehen habe, dass es das TI Power Shift Register auch in einer 20 pin /
> 12 Output Variante gibt, was es noch ein bisschen kompakter macht mit
> den vielen geplanten Schaltern....aber ggfs. ist die Gatterlösung rein
> zum Lernen auch mal eine interessante Alternative. ;-)

Das größere Gehäuse mit den vielen PGNDs ist für den höheren STrom 
(jeder Pin kann 350mA) und zur Wärmeableitung. Es gibt auch TPIC6B595 
und TPIC6C595 mit geringeren Leistungsdaten und kleineren Gehäusen.

fchk

: Bearbeitet durch User
von Christopher J. (christopher_j23)


Lesenswert?

Uli A. schrieb:
> das verstehe ich nicht ganz. Was meinst Du mit "der" in "ob der das auch
> packt" ?

Na mit "der" meine ich den Spannungsregler auf dem Nucleo-Board und die 
Frage ist ob der die an ihm abfallende Heizleistung abführen kann.

Uli A. schrieb:
> Und warum 300mA ?

Das war einfach mal nur so ins blaue hinein eine Zahl ab der es so 
manchem LDO bei 7V Spannungsabfall ganz kuschelig warm wird. Ich kenne 
ja deine Gesamtschaltung nicht. Die paar Schieberegister sind jedenfalls 
kein Problem, da kannst du das schon so machen.

Uli A. schrieb:
> Und ich habe doch gar nicht viel Peripherie am Nucleo, und schon gar
> keine 5V sondern 3.3V (wenn Du die diskutierten TI-Schieberegister als
> Peripherie meinst...)

Auf dem Nucleo Board sind zwei LDOs, einer für 5V und dahinter einer für 
3,3V. Bei 7-12V Eingangsspannung bekommt der erste immer das meiste ab.

von Uli A. (schnuppi44)


Lesenswert?

Vielen Dank @Frank & Christopher für die Erläuterungen !

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
>> ON OFF OFF ON ON ON OFF ON in ein solches Schieberegister reinfüttern
>> will, was mache ich dann ?
>
> // Init
> SCK(0);RCK(0);
> //Schieben
> SER_Out(1); SCK(1); SCK(0);
> SER_Out(0); SCK(1); SCK(0);
> SER_Out(0); SCK(1); SCK(0);
> SER_Out(1); SCK(1); SCK(0);
> SER_Out(1); SCK(1); SCK(0);
> SER_Out(1); SCK(1); SCK(0);
> SER_Out(0); SCK(1); SCK(0);
> SER_Out(1); SCK(1); SCK(0);

Hmm.....müsste das die Reihenfolge der ON/OFFs bzw SER_Out 1/0 
betreffend nicht umgekehrt sein ?

Oder anders gefragt...es wird doch immer das vorher eingegebene Bit 
"nach rechts" weitergeschoben (wenn "links" der Eingang und "rechts" der 
Ausgang ist)....dann müsste ich für das obige Beispiel doch eigentlich
in der Reihenfolge reinschieben
ON
OFF
ON
ON
ON
OFF
OFF
ON

oder nicht ?

Vielleicht war aber auch die Fragestellung nicht klar genug:

Meinte jedenfalls auch hier für das Pattern "von links nach rechts" = 
Output 1-8...

: Bearbeitet durch User
von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Das zuerst gefütterte Bit landet an Drain 7 (oder in weiteren, 
kaskadierten Bausteinen).
Das zuletzt gefütterte Bit landet an Drain 0.
Sagt das Datenblatt im Functional Block Diagram auf Seite 11.

von Jens G. (jensig)


Lesenswert?

>Hmm.....müsste das die Reihenfolge der ON/OFFs bzw SER_Out 1/0
>betreffend nicht umgekehrt sein ?

Kommt drauf an, ob Du das als zeitliche Reihenfolge des Durchschiebens 
betrachtest, oder ob das am Ende die Reihenfolge an den Ausgängen 0...7 
darstellen soll.

: Bearbeitet durch User
von Uli A. (schnuppi44)


Lesenswert?

Tilo R. schrieb:
> Das zuerst gefütterte Bit landet an Drain 7 (oder in weiteren,
> kaskadierten Bausteinen).
> Das zuletzt gefütterte Bit landet an Drain 0.
> Sagt das Datenblatt im Functional Block Diagram auf Seite 11.

Hm. Das sieht bei mir genau anders aus...zumindest nach meinem 
Verständnis....der SER IN landet doch nur in der obersten Blockreihe, 
die zuerst zu DRAIN0 führt. Es müsste doch dann so laufen, dass wenn ich 
jetzt mal die Spalten der Registerblocks von links nach rechts A & B 
nenne, die Zeilen 0-7 und die Spalte mit den D-Registern zum "Auswerfen" 
C, dass dann der erste Zustand von SER IN (sagen wir mal HIGH) am 
Eingang von A0 anliegt.

Beim Puls von SRCK landet das gesplittet am Eingang von B0 und A1.
Beim nächsten Puls von SRCK landet der nächste Zustand von SER IN (z.B. 
LOW) ebenfalls auf B0 und A1, während das vorherige HIGH von A1 auf B1 
gecshoben wird.

usw.

Gefüllt bzw. durchgeschoben wird also über 0,1,2 usw bis hin zu 7 bzw. 
danach zu SER OUT...

Richtig ?

Macht bei näherer Betrachtung auch nur so Sinn....warum sollte schon das 
erste Bit direkt an 7 oder im nächsten Baustein landen ? dann käme ja 
schon bei 6 nix mehr an, wenn man weiter reinschiebt. sondern es würde 
jedes neue Bit direkt durchgereicht an Baustein 2

von Uli A. (schnuppi44)


Lesenswert?

Kleines Update zu meinen Überlegungen:

Ich denke, unter dem Leistungsaspekt, den Christopher mit eingebracht 
hat, wäre die beste Lösung, das Ganze mit 5V Relais aber mit 9V zu 
realisieren.
(Die Relais können bis 11V Spulenspannung ab)

Dann hat der LDO auf dem Nucleo-Board weniger zu schwitzen und die 
Relais brauchen trotzdem nur 16mA pro Stück, die LED's brauchen dann 
(eher dunkel gedimmt in meiner Anwendung) nur ca. 10mA - wären also 
gerade einmal 26mA pro Kanal...knorke !

von Stefan F. (Gast)


Lesenswert?

Moment mal:

Wenn die Relais bei 9V nur 16mA aufnehmen, dann müssten sie 560Ω haben.

5V / 560Ω = 9mA  (bzw 45mW)

Ich habe noch nie ein Relais gesehen, dass mit so wenig Energie 
auskommt. Das 10 Fache davon wäre normal.

von Uli A. (schnuppi44)


Lesenswert?

Stimmt aber soweit - auch aus Erfahrung....hab die schon öfter direkt an 
den 5V-I/O des Arduino betrieben....

Spulenwiderstand ist 178 Ohm, Leistung 140mW bei Nennspannung 5V.

Macht dann 28mA bei 5V, bei 9V entsprechend 16mA.

Sind diese hier:

https://www.reichelt.de/subminiatur-relais-na-5-vdc-2-wechsler-2a-na-05w-k-p79349.html?r=1

Sind insgesamt ziemlich cool, auch Preis-Leistungs-mäßig

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Spulenwiderstand ist 178 Ohm, Leistung 140mW bei Nennspannung 5V.
> Macht dann 28mA bei 5V, bei 9V entsprechend 16mA.

Also ich habe anders rechnen gelernt.

9V / 178Ω = 50mA
9V * 50mA = 450mW

von Uli A. (schnuppi44)


Lesenswert?

Stefan ⛄ F. schrieb:
> Also ich habe anders rechnen gelernt.
>
> 9V / 178Ω = 50mA
> 9V * 50mA = 450mW

Hm. Das sieht ja auch richtig aus...
...


Hab den Denkfehler gefunden. Hab's über die Leistung berechnet, und die 
ist natürlich nur für die Nennspannung 5V angegeben und nicht bei 9V 
auch noch konstant....!
Das stimmt dann nur bei
I = P / U = 0,14 / 5 = 28mA

Danke fürs Aufdecken ! Also doch besser 12V ! (die brauchen nur 12mA)
....jetzt aber echt !!!   ;o)))

12V / 1028Ω = 11,6mA
Stimmt dann auch über die Leistung bei 12V von 140mW...

von Uli A. (schnuppi44)


Lesenswert?

Mal noch ne andere Frage:

Wie zuverlässig funktionieren diese Schieberegister eigentlich ?

Wie sind da Eure Erfahrungen ?

Falls die zumindest ab und zu "Aussetzer" haben sollten: Da es sich um 
eine echte Produktentwicklung handelt, wäre dann zu überlegen, ob man 
den tatsächlichen Ausgabestatus der Schieberegister ggfs. auch nochmal 
abfragen und damit gegenchecken könnte, um bei Nicht-Übereinstimmung des 
gesendeten Bit- bzw. LED/Relais-Patterns nochmal komplett alle Bits neu 
durchzuschicken...wie könnte man das lösen ?

Also als grobe Idee bräuchte man quasi sowas wie ein 
"Rückwärts-Schieberegister" (Parallel zu Seriell), das dann analog zum 
TI 8 Inputs hätte und die dort anliegenden Zustände seriell über einen 
SER OUT rausgibt bzw. um bei der Analogie zu bleiben x Bits auch über 
mehrere Module "raussaugbar" macht....;-)

Edit: Eigentlich müsste sowas hier doch gehen, oder ?

https://www.ti.com/lit/ds/symlink/sn74ls165a.pdf?ts=1592424794932&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FSN74LS165A

: Bearbeitet durch User
von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Das sind digital-ICs. Wenn du eine ordentliche Stromversorgung hast und 
mit den Signalen nicht zwischendurch spazieren fährst gibt es da keinen 
Grund für irgendwelche Aussetzer.

von Jens G. (jensig)


Lesenswert?

>Wie zuverlässig funktionieren diese Schieberegister eigentlich ?

>Wie sind da Eure Erfahrungen ?

>Falls die zumindest ab und zu "Aussetzer" haben sollten: Da es sich

Warum sollen unzuverlässiger sein als Dein µC?
Wenn Abblockung und Leiterführung ok sind, und sonstige Maßnahmen den 
EMV-Gegebenheiten entsprechend sind, sollte es doch keine Probleme 
geben.

: Bearbeitet durch User
von John (Gast)


Lesenswert?

Eventuell bin ich völlig bescheuert, aber kann man hier nicht 
stinknormale logic level MOSFETs benutzen? Der MC steuert die Basis, 
Drain und Source gehen zwischen Gound und Output der Relayspule? Input 
an die 5V?

von spess53 (Gast)


Lesenswert?

HI

>Da es sich um eine echte Produktentwicklung handelt,...

Was sind unechte Produktentwicklungen? Glaubst du, das du der richtige 
für eine solche Entwicklung bist?

MfG Spess

von John (Gast)


Lesenswert?

Zum Miltiplexen dann einfach sowas hier nehmen: 
https://www.adafruit.com/product/732

I2C Adresse lässt sich für mehrere individualisieren.

von Jens G. (jensig)


Lesenswert?

John (Gast) schrieb:

>Eventuell bin ich völlig bescheuert, aber kann man hier nicht

Offensichtlich,

>stinknormale logic level MOSFETs benutzen? Der MC steuert die Basis,
>Drain und Source gehen zwischen Gound und Output der Relayspule? Input
>an die 5V?

denn das war nicht die Frage. Auserdem hat ein Mosfet keine Basis. Und 
was Du mit "Input an die 5V" meinst - wer weis.

von Manfred (Gast)


Lesenswert?

John schrieb:
> Eventuell bin ich völlig bescheuert,

Ja!

> stinknormale logic level MOSFETs benutzen? Der MC steuert die Basis,

MOS-FETs haben keine Basis.

> Drain und Source gehen zwischen Gound und Output der Relayspule?

Auf Deutsch heißt das Teil Relais und dessen Spulen habe keinen 
Output.

von Uli A. (schnuppi44)


Lesenswert?

spess53 schrieb:
> HI
>
>>Da es sich um eine echte Produktentwicklung handelt,...
>
> Was sind unechte Produktentwicklungen? Glaubst du, das du der richtige
> für eine solche Entwicklung bist?
>
> MfG Spess

Glaubst Du, Du bist der Richtige um mich zu beurteilen, weil ich in 
einem Post ein überflüssiges Wort verwendet habe ?

Ziemlich dünnes Eis für jemanden der "der richtige" klein schreibt...;-)

Dachte eigentlich, hier gibt es solche bescheuerten Kommentare nicht....

Alle anderen Leute haben bestimmt verstanden, dass es um die Abgrenzung 
zum Hobby-Basteln ging...

von Uli A. (schnuppi44)


Lesenswert?

Zur Sache: Ok, scheint unverhältnismäßige Vorsicht zu sein mit der 
Rückmeldung der Zustände...

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Wie zuverlässig funktionieren diese Schieberegister eigentlich ?
> Wie sind da Eure Erfahrungen ?

100% Vergiss nur nicht die Abblock-Kondensatoren an VCC/GND und halte 
die Taktleitungen entweder kurz oder schließe sie Sender-Seitig mit 100Ω 
ab.

von Uli A. (schnuppi44)


Lesenswert?

Stefan ⛄ F. schrieb:
> schließe sie Sender-Seitig mit 100Ω
> ab.

D.h. 100Ω gegen GND ?

von Joachim B. (jar)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich habe noch nie ein Relais gesehen, dass mit so wenig Energie
> auskommt. Das 10 Fache davon wäre normal.

mit PhotoMOS AQV252g Relais käme man aber hin, 3mA kann rund 1A 
schalten, reicht um echte vernünftige Finder Trennrelais zu schalten.

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
>> schließe sie Sender-Seitig mit 100Ω ab.
> D.h. 100Ω gegen GND ?

Nein so:
1
Taktquelle                Drei Schieberegister
2
µC o--[===]---------------+---------+--------+
3
      100Ω                |         |        |
4
                          o         o        o  
5
                         CLK       CLK      CLK

Der Widerstand reduziert Reflexionen auf der Leitung, die dazu führen 
könnten, dass die Schieberegister mehrere Takte erkennen, wo nur einer 
beabsichtigt war.

Bei Kurzen Leitungen bis ca 10cm brauchst du das nicht.

Manche Leute empfehlen 30Ω. Fallse s zu Probleme kommt, wirst du den 
optimalen Wert wohl ausprobieren müssen. Er hängt vom Layout und den 
Ausgangstreibern des Mikrocontrollers ab, deren Ausgangswiderstand 
wiederum mit der Versorgungsspannung variiert.

von Uli A. (schnuppi44)


Lesenswert?

Joachim B. schrieb:
> mit PhotoMOS AQV252g Relais käme man aber hin

Interessante Idee...aber bei 54 Schaltern x ca. 5 Euro nicht sehr 
wirtschaftlich.....;-)

von Uli A. (schnuppi44)


Lesenswert?

Was für Leiterbahnbreiten und was für Abstände nehmt Ihr für solche PCB 
Layouts ?

von Tilo R. (joey5337) Benutzerseite


Lesenswert?

Stefan ⛄ F. schrieb:
> Der Widerstand reduziert Reflexionen auf der Leitung, die dazu führen
> könnten, dass die Schieberegister mehrere Takte erkennen, wo nur einer
> beabsichtigt war.
>
> Bei Kurzen Leitungen bis ca 10cm brauchst du das nicht.
>
> Manche Leute empfehlen 30Ω. Fallse s zu Probleme kommt, wirst du den
> optimalen Wert wohl ausprobieren müssen. Er hängt vom Layout und den
> Ausgangstreibern des Mikrocontrollers ab, deren Ausgangswiderstand
> wiederum mit der Versorgungsspannung variiert.

Die grundsätzliche Idee dabei ist, dass Innenwiderstand des 
Ausgangstreibers + Serienwiderstand dem Wellenwiderstand der Leiterbahn 
entsprechen.

Die grobe Theorie: Im Moment des Umschaltens entsteht so ein 
Spannungsteiler auf halbes Signallevel. Dieser Pegel breitet sich dann 
entlang der Leitung aus. Am Ende der Leitung gibt es dann "Reflektion am 
offenen Ende". Die zurücklaufende Welle hebt dann das Spannungsniveau 
auf der ganzen Leitung auf den endgültigen Signalpegel. Wieder beim 
Controller angekommen wird die Welle vom Serienwiderstand geschluckt.

Aber mach dir keine Sorgen! Wie Stefan schon schrieb: bei kurzen 
Leitungen brauchst du das nicht.


Uli A. schrieb:
> Was für Leiterbahnbreiten und was für Abstände nehmt Ihr für solche PCB
> Layouts ?
Wo willst du fertigen lassen?
Übliche Leiterbahnbreiten und Abstände, die quasi jeder fertigen kann, 
sind 8 oder 10 mil. Vias mit 0,3 oder 0,35mm.

von Uli A. (schnuppi44)


Angehängte Dateien:

Lesenswert?

Ergänzung: Was für Leiterbahnbreiten und was für Abstände nehmt Ihr für 
solche PCB Layouts ?

Und haltet Ihr es für problematisch, über ein Flachbandkabel die 
Leitungen von den LED's zu den Shift-Register Drains und 3.3V Pullup 
Schaltleitungen direkt zum MCU parallel zu führen ?

Geht um eine Platinenverbindung zwischen "Mainboard" mit MCU, den Relais 
und den Schieberegistern und einer Platine mit beleuchteten Tastern an 
der Frontplatte der Remote (es sind die LEDs der Schalter, die parallel 
zu den Relais geschaltet werden sollen)

Zur Verdeutlichung nochmal die angepasste Skizze...

von Uli A. (schnuppi44)


Lesenswert?

Danke Tilo für die ausführliche Info !!!

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> Interessante Idee...aber bei 54 Schaltern x ca. 5 Euro nicht sehr
> wirtschaftlich.....;-)

für einzele Relais schon, für mehr würde ich die Daten über Optokoppler 
ans galv. getrennte Schieberegister rauschieben und für Relais ULN oder 
UDN anschliessen.

Eine günstige Universallösung gibt es selten

da es aber HIER nicht um Netzspannung geht reichen doch 6 
Schieberegister und 6 ULN für low oder UDN für high an 24V

Uli A. schrieb:
> 54 5V Relais
wozu Relais?

Uli A. schrieb:
> Diese
> sollen dann je eine 24V Steuerspannung schalten
UDN 2981 Leistungstreiber, 8-Kanal, DIL-18
https://www.reichelt.de/leistungstreiber-8-kanal-dil-18-udn-2981-p22008.html

Iout per channel max 500mA
Iges. ist nicht zu erkennen, beim ULN ist Iges 2,5A

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Ergänzung: Was für Leiterbahnbreiten und was für Abstände nehmt Ihr für
> solche PCB Layouts ?

Bei den meisten Herstellern bekommt man 0.15mm Width/0.15mm Clearance 
(6mil) und 0.6mm/0.3mm Vias (Viadruchmesser/Bohrung) als Standard.

Reine Signalleitungen mache ich je nach Dichte meist 0.15, 0.2 oder 
0.25mm (6/8/10 mil) breit, Stromversorgungen je nach Strom 0.25mm bis 
2mm.

> Und haltet Ihr es für problematisch, über ein Flachbandkabel die
> Leitungen von den LED's zu den Shift-Register Drains und 3.3V Pullup
> Schaltleitungen direkt zum MCU parallel zu führen ?

Nicht, wenn Du es richtig machst. Denke daran, dass der Strom auch immer 
einen Rückweg braucht. Und denke daran, das so eine Anordnung auch immer 
eine Induktivität mit einer Wicklung ist. Ein sich zeitlich wechselndes 
Magnetfeld, das durch die Fläche geht, die durch die Leiterschleife 
aufgespannt wird, induziert in der Leiterschleife eine Spannung. Das 
wäre in Deinem Fall eine Störspannung, die Du nicht willst. Du 
vermeidest das, indem Du die Fläche der Leiterschleife minimierst und 
idealerweise zu 0 machst. Bei einem Flachbandkabel heißt das, dass die 
Rückleitung von einer LED oder einem Taster immer direkt neben der 
Hinleitung ist.
Normalerweise könntest Du das so machen, dass Du bei 10 Tastern einen 
GND und 10 Tasterleitungen machst. Wenn Du jedem Taster seinen eigenen 
GND gibst und die GNDs erst auf der Controllerplatine verbindest, hast 
Du weniger Fläche in der Leiterschleife und somit eine größere 
Störsicherheit, brauchst aber auch mehr Adern. Diese reine Lehre läßt 
sich in der Praxis oft nicht durchhalten, aber dann nimm wenigstens 
einen GND für 2 oder 4 Signale.
Bei kritischen Schaltungen arbeitet man mit mehr als zwei Lagen und hat 
dann eine durcheghende Ground-Kupferlage. Auch hier ist es das Ziel, die 
durch die Stromkreise aufgespannten Leiterschleifen flächenmäig so klein 
wie nur irgend möglich zu machen, um die Signalqualität zu verbessern.

In der Handskizze sehe ich, dass die auch viele Schalter hast, die Du 
abfragen willst. Auch das kannst Du mit Schieberegistern abhandeln. 
Schau her:

https://www.ti.com/lit/ds/symlink/sn74hc165.pdf

Da musst Du zuerst SH/!LD von High auf LOW und wieder auf High setzen, 
um die Daten an den parallelen Eingängen in die Schieberegister zu 
laden. Dann kannst Du mit SH/!LD auf High mit jedem Puls auch CLK die 
Bits einzeln rausschieben. Du kannst sogar den gleichen SPI-Port 
verwenden. Für das Ausgangsschieberegister brauchst Du ja nur SCK und 
MOSI, für das Eingangsschieberegister brauchst Du SCK und MISO. Du 
sendest einen negativen Puls auf SH/LD, taktest dann alle Bits durch und 
sendest einen positiven Puls auf RCK. Mit dieser Prozedur hast Du dann 
in einem Durchgang alle Eingangssignale eingelesen und alle Ausgangsbits 
ausgegeben, und Du brauchst für die Eingangsschieberegister nur zwei 
zusätzliche Pins: MISO und SH/LD.

fchk

: Bearbeitet durch User
von Uli A. (schnuppi44)


Angehängte Dateien:

Lesenswert?

Danke Frank !

Ist mir auf den ersten Blick ein bisschen kompliziert....und: Würdest Du 
das auch so machen, wenn Du weißt, dass die "Schalter" in meinem System 
eigentlich Taster sind, also nur kurz gedrückt den Zustand an den MC 
weitergeben und softwaremäßig je drei der 54 eine Einheit bilden, in der 
immer nur einer der drei aktiv ist und ein Druck auf einen anderen 
Taster den eben noch aktiven auslöst ? Ist also eine Art 3er Toggle x 
18...

Auch war meine Idee, die 24V und GND ohnehin separat als 
"Hauptversorgung" zur (Taster-)Unterplatine durch zu legen.

Der grobe Aufbau wäre also wie in der Zeichnung anbei (beispielhaft mit 
nur einem der 54 Taster, Stromversorgung der Shifts weggelassen)....es 
gäbe also nur zwei eher weite Schleifen, diese würden aber jeweils in 
entgegengesetzter Richtung durch das Flachbandkabel laufen und eine 
hätte 12v und die Andere 3.3V...natürlich wären genau da pro 
Flachkabel"brücke" deutlich mehr Leitungen unterwegs...

Da wäre eben genau die Frage, ob ich die beiden Kreise mit 12V in die 
eine und 3.3V in die andere Richtung lieber mit getrennten Flachmännern 
verlegen soll....

: Bearbeitet durch User
von Uli A. (schnuppi44)


Angehängte Dateien:

Lesenswert?

Zum besseren Verständnis hier mal ein Bild der Remote in der früheren 
bzw. noch aktuellen Fassung VOR der Umrüstung auf MCU-Steuerung.
Da sind es noch Schalter statt Tastern, und man muss immer den einen 
Schalter der zusammengehörenden Dreierpacks (von oben nach unten) 
ausschalten und dann den anderen Schalter an.
Das nervt und ist unschön - daher die neue Konzeption...

von Frank K. (fchk)


Lesenswert?

Uli A. schrieb:
> Danke Frank !
>
> Ist mir auf den ersten Blick ein bisschen kompliziert....und: Würdest Du
> das auch so machen, wenn Du weißt, dass die "Schalter" in meinem System
> eigentlich Taster sind, also nur kurz gedrückt den Zustand an den MC
> weitergeben und softwaremäßig je drei der 54 eine Einheit bilden, in der
> immer nur einer der drei aktiv ist und ein Druck auf einen anderen
> Taster den eben noch aktiven auslöst ? Ist also eine Art 3er Toggle x
> 18...

Ja. Das ist eine so grundlegende Designregel, dass es eigentlich egal 
ist, ob die Taster num in Dreier- oder Fünfergruppen sortiert sind.

> Auch war meine Idee, die 24V und GND ohnehin separat als
> "Hauptversorgung" zur (Taster-)Unterplatine durch zu legen.

Das ist ganz übel, weil dann der Strompfades eine sehr große Fläche 
aufspannt, dadurch Platz für ganz viele magnetische Feldlinien bietet 
und damit störanfällig wird.

Halte es besser grundsätzlich so, dass der Strom IMMER möglichst den 
gleichen Weg zurück gehen muss, wie er hingeflossen ist, und dass der 
Rückleiter möglichst dicht beim Hinleiter ist. Dadurch machst Du deine 
Schaltungen störsicherer, weil Du dann keine magnetischen Antennen mehr 
baust. Das ist eine grundlegende Designregel. Lies mal das hier:

https://electronics.stackexchange.com/questions/360472/real-current-return-path

> Da wäre eben genau die Frage, ob ich die beiden Kreise mit 12V in die
> eine und 3.3V in die andere Richtung lieber mit getrennten Flachmännern
> verlegen soll....

Das ist eigentlich egal, solange das Layout vernünftig ist, d.h. den 
üblichen Designregeln folgt. Mach es so, wie es layouttechnisch 
günstiger ist.

fchk

von Uli A. (schnuppi44)


Lesenswert?

Frank K. schrieb:
> Würdest Du
>> das auch so machen, wenn Du weißt, ...
>
> Ja.

Dann muss ich wohl erstmal noch einiges dazulernen - auch auf der 
Programmierseite....;-/

Da ich noch nicht wirklich tiefgehende Programmiererfahrung habe, 
erscheint mir das "normale" Ansteuern des MCU mit den Tastern erstmal 
einfacher und übersichtlicher....mit Schalterabfragen in Schleifen kann 
ich schon okay umgehen, und den 3er Toggle hab ich auch schon 
programmiert.

Die "Outputseite" nun über das Schieberegistersystem zu realisieren, 
finde ich sehr schlüssig und gut nachvollziehbar - auch als sinnhaften 
Block in der späteren Programmierung -> Ich hatte eh in meinen 
Testprogrammen auch eine Speicherstufe mit einem I2C FRAM eingebaut (Du 
erinnerst Dich an meine damalige Frageorgie ;-)), um den jeweiligen 
Status der 54 Relais-Schalter auch nach AUS-/EINschalten des Geräts zu 
erhalten. Und da ist der Gedankenschritt zu "Der Status des gesamten 
Patterns hat sich durch eine Tastereingabe geändert - hau das Ganze als 
Statusupdate über die Schieberegister raus" logisch und einfach.

Das mit dem Input-Schieberegister kann ich mir aber irgendwie noch nicht 
so richtig vorstellen...muss da wohl mal ein paar Tage drüber brüten....

von Jens G. (jensig)


Lesenswert?

>Und haltet Ihr es für problematisch, über ein Flachbandkabel die
>Leitungen von den LED's zu den Shift-Register Drains und 3.3V Pullup
>Schaltleitungen direkt zum MCU parallel zu führen ?

Sagen wir es mal so:
Die LEDs schalten ja sicherlich rel. selten. Erzeugen damit auch rel. 
selten irgendwelche Störungen, und das auch nur auf Befehl des µC.
Die Tasteneingänge sind zwar eigentlich störanfällig, aber eigentlich 
auch nur, wenn gerade im Moment der Störung abgefragt wird. Und das kann 
man ja entschärfen, indem man erstens nicht gerade im Moment des 
LED-Wechsels die Tasten abfragt (hat man ja mit seinem Programm unter 
Kontrolle), und zweiten, indem man ohnehin eine Tastenentprellung 
implementiert haben sollte, die solche Störungen eliminiert (ohne 
Entprellung wird es mit der Tastenabfrage ohnehin nix zuverlässiges 
unabhängig von externen Störungen).
Insofern betrachte ich es eher als unkritisch, Ausgangs- und 
Eingangsleitungen parallel auf einem Band zu haben.
Wenn Du unbedingt willst, kannste ja auch noch eine Ader des Bandkabels 
als Abschirmung zw. Input- und Outputleitungen vorsehen.

von Lutz (Gast)


Angehängte Dateien:

Lesenswert?

Joachim B. schrieb:
> Uli A. schrieb:
>> Diese
>> sollen dann je eine 24V Steuerspannung schalten
> UDN 2981 Leistungstreiber, 8-Kanal, DIL-18
> https://www.reichelt.de/leistungstreiber-8-kanal-dil-18-udn-2981-p22008.html
>
> Iout per channel max 500mA
> Iges. ist nicht zu erkennen, beim ULN ist Iges 2,5A

Wenn ich mich nicht irre (und heute ist ja Freitag... ;-)
dann muß man bei diesen wahnsinnigen Strömen auch die Angaben zum 
Dutycycle im Datenblatt beachten. Daß so kleine Käfer dauerhaft keine 
2,5 A vertragen, sollte einen nicht verwundern.
Also: Es ist auch sehr wichtig, wie lange die Treiber aktiv sind. Und 
wenn ich die Aufgabenstellung des TO richtig verstanden habe, kann man 
da wohl 100 % ansetzen. Und da wird es mit den meisten Treibern schon 
nichts mehr mit den erforderlichen Spulenströmen.
Und das Problem des erforderlichen Mindesteingangspegels für HIGH (damit 
der Treiber diesen überhaupt erkennt), wurde ja schon genannt. Da muß 
man mit den 3.3V schon hinkommen.

von Christopher J. (christopher_j23)


Lesenswert?

Lutz schrieb:
> Also: Es ist auch sehr wichtig, wie lange die Treiber aktiv sind. Und
> wenn ich die Aufgabenstellung des TO richtig verstanden habe, kann man
> da wohl 100 % ansetzen. Und da wird es mit den meisten Treibern schon
> nichts mehr mit den erforderlichen Spulenströmen.

Ja, natürlich muss man 100% ansetzen aber der Ausschnitt aus dem 
Datenblatt gilt für 85°C Umgebungstemperatur. Wenn der TO die Anlage 
nicht gerade in einem Walzwerk aufbaut, dann dürfte das eher 
unrealistisch sein.

von Joachim B. (jar)


Lesenswert?

Lutz schrieb:
> Wenn ich mich nicht irre (und heute ist ja Freitag... ;-)
> dann muß man bei diesen wahnsinnigen Strömen auch die Angaben zum
> Dutycycle im Datenblatt beachten. Daß so kleine Käfer dauerhaft keine
> 2,5 A vertragen, sollte einen nicht verwundern.

die Salamipizza gestern schmeckte gut, die Salamitaktik vom TO leider 
nicht, er schrieb noch nicht was er mit den 24V Schaltspannung treiben 
möchte, bzw. wieviel Strom die liefern müssen.

Uli A. schrieb:
> Diese
> sollen dann je eine 24V Steuerspannung schalten und eine 5V LED, das ist
> jetzt nicht wichtig, nur als kleine Zusatzinfo

Uli A. schrieb:
> Wow ! Danke für die interessante Idee mit dem Schieberegister !.....
> ....Die Variante hätte auch den Vorteil, dass ich nicht so einen großen /
> mit so vielen Ports ausgestatteten Controller brauche...;-)

Uli A. schrieb:
> Aber mit dem TI von Frank wäre das natürlich kein Problem, die
> 24V-Versionen der Relais zu nehmen....cool.

Uli A. schrieb:
> @Stefan: Da sind auch bereits 12V Relais verbaut ;-)

Uli A. schrieb:
> Guter Hinweis mit dem 24V-Relais (die brauchen dann nur ca. 20mA)! Ich
> komme gedanklich noch von einer Vorstufe der Idee,



wenn es so bleibt sehe ich kein Problem

je ULN2803a 20mA für ein 24V Relais = 8x 20mA = 160mA ist für einen 
ULN2803a kein Problem.

: Bearbeitet durch User
von Uli A. (schnuppi44)


Lesenswert?

Joachim B. schrieb:
> die Salamipizza gestern schmeckte gut, die Salamitaktik vom TO leider
> nicht, er schrieb noch nicht was er mit den 24V Schaltspannung treiben
> möchte, bzw. wieviel Strom die liefern müssen.

Leute, kommt bitte mal wieder runter - Ihr habt Euch da ein bisschen 
vergallopiert. Und von wegen Salamitaktik: Thread lesen hilft - Ich 
hatte ziemlich klar gesagt, dass das Thema "die 24V NICHT per Relais 
schalten" für mich durch ist...und dementsprechend war von Chips die 
2.5A schalten können müssen auch nie die Rede...trotzdem danke fürs 
engagierte Mitdiskutieren....;-)

von Uli A. (schnuppi44)


Lesenswert?

Jens G. schrieb:
> und zweiten, indem man ohnehin eine Tastenentprellung
> implementiert haben sollte, die solche Störungen eliminiert (ohne
> Entprellung wird es mit der Tastenabfrage ohnehin nix zuverlässiges
> unabhängig von externen Störungen).

@ Jens:

Meinst Du damit eine hardaremäßige Entprellung auf der PCB-Design Seite 
?

von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> Und von wegen Salamitaktik: Thread lesen hilft

ich hatte genug gelesen, für meinen Geschmack zu viel, an welcher Stelle 
hattest du denn geschrieben WAS du schalten willst?

Ich suche jetzt nicht mehr! bei über 130 Beiträge!

Beitrag #6310098 wurde von einem Moderator gelöscht.
von Jens G. (jensig)


Lesenswert?

Uli A. (schnuppi44) schrieb:

>Jens G. schrieb:
>> und zweiten, indem man ohnehin eine Tastenentprellung
>> implementiert haben sollte, die solche Störungen eliminiert (ohne
>> Entprellung wird es mit der Tastenabfrage ohnehin nix zuverlässiges
>> unabhängig von externen Störungen).

>@ Jens:

>Meinst Du damit eine hardaremäßige Entprellung auf der PCB-Design Seite
>?

Entweder das (also im einfachsten Fall einen RC-Tiefpaß vor die 
Tasteneingänge, solange es nicht gerade eine Tastaturmatrix im Multiplex 
ist).
Eleganter wäre natürlich softwareseitig. Irgendwo hier im Forum hatte 
mal einer eine universell einsetzbare Entprell-Routine dafür geschrieben 
(Rufus?). Musste mal suchen, findet sich sicherlich schnell.

von Christopher J. (christopher_j23)


Lesenswert?

Joachim B. schrieb:
> ich hatte genug gelesen, für meinen Geschmack zu viel, an welcher Stelle
> hattest du denn geschrieben WAS du schalten willst?

5V Relais, steht doch im Eröffnungspost. Dem TO eine "Salamitaktik" 
vorzuwerfen halte ich für ziemlich übertrieben.

von Make the Schniedelwutz great again (Gast)


Lesenswert?

Christopher J. schrieb:
> Joachim B. schrieb:
>> ich hatte genug gelesen, für meinen Geschmack zu viel, an welcher Stelle
>> hattest du denn geschrieben WAS du schalten willst?
>
> 5V Relais, steht doch im Eröffnungspost. Dem TO eine "Salamitaktik"
> vorzuwerfen halte ich für ziemlich übertrieben.

Das ist ein seniles Rindvieh, das in einem Thread alle 10 Beiträge mal 
ein Wort liest und dann wie Phönix aus der Asche auftaucht und nach 
Salami schreit.

Block ihn und Du hast Ruhe.

von Joachim B. (jar)


Lesenswert?

Christopher J. schrieb:
> Joachim B. schrieb:
>> ich hatte genug gelesen, für meinen Geschmack zu viel, an welcher Stelle
>> hattest du denn geschrieben WAS du schalten willst?
>
> 5V Relais, steht doch im Eröffnungspost.

und da steht auch:

Uli A. schrieb:
> Diese
> sollen dann je eine 24V Steuerspannung schalten

also wozu der Umweg über 54 Relais?

Steuerspannungen brauchen keine Relais und eine LED kann auch aus der 
Steuerspannung gespeist werden.

Selbst wenn die LED signalisiert das das 5V Relais Steuerspannung 
bekommt heisst das nicht fas die 24V Steuerspannung vorhanden geschaltet 
ist.

Also darf man doch mal nachfragen ob das nicht "brocken by design" ist.

Christopher J. schrieb:
> Dem TO eine "Salamitaktik"
> vorzuwerfen halte ich für ziemlich übertrieben.Uli A. schrieb:
> Ich
> hatte ziemlich klar gesagt, dass das Thema "die 24V NICHT per Relais
> schalten" für mich durch ist...

unklarer kann man es nicht ausdrücken, ich gestehe ich bin zu blöd für 
deine Texte!

[_] du willst 24V nicht per Relais schalten
[_] du willst 24V per Relais schalten
[_] du willst ganz was anderes
[_] du willst nichts mehr
[_] das Leben ist wie ein Klobrille, man macht viel durch

: Bearbeitet durch User
von Christopher J. (christopher_j23)


Lesenswert?

Joachim B. schrieb:
> Uli A. schrieb:
>> Diese
>> sollen dann je eine 24V Steuerspannung schalten
>
> also wozu der Umweg über 54 Relais?

Wegen galvanischer Trennung zwecks Rauschunterdrückung, weil 
Audio-Equipment. Hat er auch geschrieben, nachdem vorgeschlagen wurde 
die 24V direkt zu schalten.

Joachim B. schrieb:
> Uli A. schrieb:
>> Ich
>> hatte ziemlich klar gesagt, dass das Thema "die 24V NICHT per Relais
>> schalten" für mich durch ist...
>
> unklarer kann man es nicht ausdrücken, ich gestehe ich bin zu blöd für
> deine Texte!

> [_] du willst 24V nicht per Relais schalten

Das will er offensichtlich nicht ("Thema für ihn durch"), d.h. er will 
offensichtlich folgendes:
> [X] du willst 24V per Relais schalten

Was ist da dran so schwer zu verstehen?

von PCB (Gast)


Lesenswert?

Kann von Omron die G6K Relais Serie empfehlen.
Hatte diese Woche erst einen kleinen Testaufbau umgesetzt, wo ich 4 
Relais mit einem 2N7002 geschaltet habe.
Die 4 Relaisspulen zusammen haben sich mit 75mA begnügt, im Datenblatt 
steht eigentlich 21mA pro Relais.

von Joachim B. (jar)


Lesenswert?

Christopher J. schrieb:
> Wegen galvanischer Trennung zwecks Rauschunterdrückung, weil
> Audio-Equipment. Hat er auch geschrieben, nachdem vorgeschlagen wurde
> die 24V direkt zu schalten.

das hatte ich irgendwann auch verstanden, nur warum dann über 5V Relais 
die 24V schalten?

ach egal, OK es fehlt noch der Rückkanal, er hatte ja geeignete Releis 
gefunden die wenig Strom brauchen aber eben in 12V

Uli A. schrieb:
> Ich denke aber, 12V-Relais wären ein guter Kompromiss, oder ?

Uli A. schrieb:
> 12V / 1028Ω = 11,6mA
> Stimmt dann auch über die Leistung bei 12V von 140mW...

also ist das gefundene Ergebnis

12V Relais die 12mA benötigen als Doppelwechsler für den Rückkanal, der 
den Schaltzustand 5V/0V rückmeldet?

also 8 Schieberegister 8 Relaistreiber, 54 Relais?

für das "Einlesen" des Schaltzustandes bieten sich doch 8 PCF8574(a) I2C 
Ports mit 8 Bit und 8 möglichen Adressen, Schieberegister parallel in 
seriell raus ginge zwar auch, scheint mir aber zu aufwändig( weil ich 
das noch nie gemacht habe) aber mit den PCF/PCH 8574(a) schon öfter.

sie sind einfach unkompliziert, Kontaktprellen kann bequem ausgelesen 
werden, sie sind schnell genug um auch "schnelle" Relais zu erkennen mit 
400kHz.

Oder habe ich das mit seinem Rückkanal auch wieder irgendwo überlesen?

von Uli A. (schnuppi44)


Lesenswert?

@Joachim:

Ich werde mich auf so eine bescheuerte Diskussion mit Sicherheit nicht 
einlassen.
Nur kurz ein letztes Statement dazu: Wenn's Dich nervt, wie "unklar" ich 
mich die ganze Zeit angeblich ausdrücke (was ich ehrlich gesagt stark 
anzweifle und was Anderen nicht so zu gehen scheint), dann lass es doch 
einfach gut sein - gibt ja keine "Beitragspflicht" in diesem Forum, oder 
? Anscheinend hast Du aber ein ziemlich ausgeprägtes Sendebedürfnis....
Deine ach so geistreichen Ankreuzspielchen und provokanten Posts tragen 
jedenfalls absolut NICHTS zu einer konstruktiven Diskussion bei und 
vermüllen hier ledglich alles - darauf hat hier keine Bock.

Nuff said. Punkt.

: Bearbeitet durch User
von Uli A. (schnuppi44)


Lesenswert?

PCB schrieb:
> Kann von Omron die G6K Relais Serie empfehlen.

Ich nutze schon länger die Fujitsu NA-Serie - wurden mir von einem High 
End Pro Audio Mischpulthersteller empfohlen...sind auch super sparsam, 
kosten aber nur 1€ !!!  (Omron bei Reichelt 2,45€)....bei 54 Stück sind 
das einige Salamipizzen....;-)

von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> dann lass es doch
> einfach gut sein - gibt ja keine "Beitragspflicht" in diesem Forum

ich hatte gelesen, einiges verstanden und mich damit beschäftigt und 
weiss leider immer noch nicht was nun deine Lösung ist, von daher war 
ich nur neugierig!

Fragtest du nicht nach Rückkanal Zustand auslesen?
Weil ich mich eben damit auch beschäftigt hatte fehlt mir nun deine 
Antwort.

Egal du willst keine Tipps auch gut, du willst mir nicht antworten auch 
OK.
Wenn DU deine Lösung gefunden hast ist ja für DICH alles gut ;)

von Uli A. (schnuppi44)


Lesenswert?

Wie gesagt, Thread lesen hilft:

Uli A. schrieb:
> Zur Sache: Ok, scheint unverhältnismäßige Vorsicht zu sein mit der
> Rückmeldung der Zustände...

Übersetzt: "Dann lasse ich das sein."

von PCB (Gast)


Lesenswert?

Die Omron bestellst du bei der Stückzahl am Besten nicht bei Reichelt, 
sondern woanders, wo es eine Preisstaffelung gibt.
Wir benutzen die Relais seit gut 10 Jahren für alle möglichen 
Audioanwendungen. Aber wenn du dein Relais gefunden hast.

von Joachim B. (jar)


Lesenswert?

Uli A. schrieb:
> Übersetzt: "Dann lasse ich das sein."

deine Entscheidung, ich finde es nicht doof auch eine Rückmeldung zu 
bekommen, aber jeder wie er mag.
Wie gesagt ich wollte hier niemanden ärgern und ohne deine eigene 
"Übersetzung" habe ich das so nicht verstanden.

Wenn man schon keine Rückmeldung bekommt oder will kann man ja 
konstruktiv ungewollte Schaltzustände verhindern, auch durch die Relais 
die dann 24V Schaltspannung nicht weiterleiten als gegenseitige 
Verriegelung.

von Uli A. (schnuppi44)


Lesenswert?

@Frank:

Nochmal kurz zu Deiner Idee, die Schalter durch PISO-Schieberegister 
abzufragen.....bin mir nicht sicher ob Du meine Frage, "ob Du das auch 
dann so machen würdest, wenn es Taster sind und keine Schalter" so 
richtig wahrgenommen hast bzw. sie bewusst in Deine Ja-Antwort mit 
eingeschlossen hattest....

Was mir da noch nicht so klar ist:

Da müsste man doch dann eigentlich andauernd in minimalen 
Zeitintervallen neu den Zustand abfragen und alle 54 Bits (zzgl. ggfs. 2 
"Leer-Bits", um die 7x8 = 56 voll zu machen) für den ganzen 
Schalterblock durchjagen und das "Ergebnis" auswerten, oder ?

Klingt für mich zunächst noch programmierseitig wurstelig...;-)

LG

von Dietrich L. (dietrichl)


Lesenswert?

Uli A. schrieb:
> Da müsste man doch dann eigentlich andauernd in minimalen
> Zeitintervallen neu den Zustand abfragen und alle 54 Bits (zzgl. ggfs. 2
> "Leer-Bits", um die 7x8 = 56 voll zu machen) für den ganzen
> Schalterblock durchjagen und das "Ergebnis" auswerten, oder ?

Ja. Dazu solltest das Timing abschätzen:
- Wie "groß" sind die minimalen ON/OFF-Zeiten der Taster, die du 
erfassen willst oder musst?
- Wie lange dauert die Abfrage und Auswertung aller 56 Bits?
- Wieviel Prozessorzeit wird dazu "verbraucht"?
- Bleibt dann noch genug übrig für das eigentliche Programm?
Die Zeitabschätzung hängt natürlich auch davon ab, ob das Bedienen der 
Schieberegister "zu Fuß" über IO-Pins erfolgt oder ob die I2C-Hardware 
des µC benutzt wird. Erfahrungswerte dazu kann ich dir aber leider nicht 
bieten ;-(

> Klingt für mich zunächst noch programmierseitig wurstelig...;-)

Ob das "wurstelig" ist hängt davon ab, wie gut du das programmierst. Ich 
halte das aber für "überschaubar".

von Uli A. (schnuppi44)


Lesenswert?

Nochmal eine Frage in die Runde zu den "Feinheiten" bezüglich 
EMV-Anforderungen bezüglich des Layouts wie die Vermeidung der 
Schleifenbildung usw. ....:

Wäre das weniger problematisch bzw. empfindlich, wenn ich statt des 
schnellen STM32 ARM einen behäbigen alten 8-bit ATmega (2560 oder 328p) 
nehmen würde ?

Und angenommen, ich würde ein- wie ausgangsseitig die Schieberegister 
verwenden, wie empfindlich wären dann die eigentlichen I/O 
Steuerleitungen jeweils "außerhalb der Schieberegister" ?
Also wenn die Schieberegister kompakt und recht nah mit kurzen Wegen am 
MC verbaut sind, bin ich dann mit den Eingängen der PISO's und den 
Ausgängen der SIPO's weniger problematisch unterwegs was z.B. 
Leitungslängen und -führung angeht ?

LG

von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Wäre das weniger problematisch bzw. empfindlich, wenn ich statt des
> schnellen STM32 ARM einen behäbigen alten 8-bit ATmega (2560 oder 328p)
> nehmen würde ?

Die genannten AVR Controller sind dafür bekannt, robuster zu sein, als 
STM32. Andererseits gehen STM32 auch nicht "einfach so" kaputt, wenn man 
alles richtig macht.

Wenn für deine Anwendung ein AVR ausreicht, würde den bevorzugen. Nicht 
nur weil er robuster ist, sondern auch weil er wesentlich einfacher zu 
programmieren ist.

Wenn du mit einer STM32 Serie aber schon gut vertraut bist, zählt das 
Argument natürlich nicht.

von Uli A. (schnuppi44)


Lesenswert?

Danke Stefan. Grundsätzlich habe ich mich noch nicht entschieden, und 
von "gut vertraut sein" kann bei den STM32 noch gar nicht die Rede sein 
- habe bisher ausschließlich mit Arduinos und ATmegas gearbeitet.
Ich fand nur im Rahmen eines guten vielteiligen Einsteigertutorials zum 
angewendeten Programmieren (dort wird ein Nucleo-Board verwendet) die 
Konfiguration des STM32 über die Cube Software recht schick und 
übersichtlich, und davon abgesehen dachte ich, ein bisschen mehr in 
Richtung aktueller und schnellerer MCU's und deren Programmierung zu 
gehen, wenn ich über weitere eigene Entwicklungen von Embedded Systems 
in der Zukunft nachdenke, wäre ganz sinnvoll...Möglicherweise ist aber 
gerade mein aktuelles Projekt durch die "mehr so halb-embedded -" 
Struktur mit den Schnittpunkten zu anderen, weiter entfernten Baugruppen 
und den damit verbundenen größeren Leitungslängen eher kein Argument 
hierfür einen STM32 zu verwenden....mal sehen...;-)

Probieren geht über Studieren.....

Grundsätzlich ging es mir in meiner Frage aber weniger um eine 
Robustheit der MCU's an sich, sondern um die Anfälligkeit für 
EMV-Probleme, vor allem bei der Leitungsführung auf der Platine...

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Uli A. schrieb:
> Grundsätzlich habe ich mich noch nicht entschieden, und
> von "gut vertraut sein" kann bei den STM32 noch gar nicht die Rede sein
> - habe bisher ausschließlich mit Arduinos und ATmegas gearbeitet.
> Ich fand nur im Rahmen eines guten vielteiligen Einsteigertutorials zum
> angewendeten Programmieren (dort wird ein Nucleo-Board verwendet) die
> Konfiguration des STM32 über die Cube Software recht schick und
> übersichtlich, und davon abgesehen dachte ich, ein bisschen mehr in
> Richtung aktueller und schnellerer MCU's und deren Programmierung zu
> gehen, wenn ich über weitere eigene Entwicklungen von Embedded Systems
> in der Zukunft nachdenke, wäre ganz sinnvoll...Möglicherweise ist aber
> gerade mein aktuelles Projekt durch die "mehr so halb-embedded -"
> Struktur mit den Schnittpunkten zu anderen, weiter entfernten Baugruppen
> und den damit verbundenen größeren Leitungslängen eher kein Argument
> hierfür einen STM32 zu verwenden....mal sehen...;-)

Ist das ein Satz? Ich verstehe ihn nicht: Stack Overflow

> Grundsätzlich ging es mir in meiner Frage aber weniger um eine
> Robustheit der MCU's an sich, sondern um die Anfälligkeit für
> EMV-Probleme, vor allem bei der Leitungsführung auf der Platine...

Ein Ding, dass empfinglich für EMV Probleme ist, ist nicht Robust. Meine 
Aussage zur Robustheit schließt EMV Themen ein. Bei STM32 
Mikrocontrollern kannst du an den I/O Pins einstellen, wie schnell sie 
ihre Pegel wechseln sollen. Ich glaube, es geht bis 2 MHz runter, das 
hilft natürlich bei EMV Themen.

Ansonsten hat das nicht unwichtige Thema der Leitungsführung mit dem 
konkreten Mikrocontroller-Modell nicht viel zu tun. Das kannst du bei 
allen richtig oder falsch machen.

von Uli A. (schnuppi44)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ist das ein Satz? Ich verstehe ihn nicht: Stack Overflow

Sorry ;-)))) Ich neige leider zu Schachtelsätzen....!

Danke für den Tip mit dem "Runterschrauben" der Geschwindigkeit der 
STM's - damit kann man dann ja auch ein bisschen experimentieren. 
Natürlich unabhängig davon, dass man die grundsätzlichen Designregeln 
zur EMV-Verbesserung einhalten sollte.

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.