Hallo liebes Forum, immer wieder komme ich über Suchmaschinen hier her, aber diesmal komme ich so nicht weiter... Kommen wir gleich zur Sache, es geht um folgendes: Wie im Betreff schon angedeutet, sollen mehrere Weichen über ein I2C-Bus gesteuert werden. Als Master kommt ein ausgedienter Industrie-Touch-PC (PentiumII) zum Einsatz, welcher einfach über so eine Art "Gleisbild", den(die) 9555 ansteuert(n). Müsste ja ansich "machbar" sein, stelle ich mir jedenfalls so vor.... Jetzt kommt´s: Wer den im Anhang befindlichen "Schatplan" schon angesehen hat, wird sich fragen, was hat der mit "D1/D2" vor... Genau das ist die Frage der "Machbarkeit": Kann ich im "laufenden" Betrieb, einen Pin des 9555 mal als Ausgang und dann wieder als Eingang "konfigurieren" ? Sinn der Übung sollte der "Rückmeldung" der jeweiligen Weiche dienen, ohne dazu ein extra "Pin" zu opfern... Meine Idee dahinter: Oben im Plan oben ist schematisch der "Weichenantrieb" dargestellt, zwei Spulen, zwei Schalter. Wie Abgebildet sollte es jedoch nie sein, aber ich wusste nicht, wie man in Eagle einen Schalter als "geschlossen" einzeichnet. Der grüne Balken soll den Stell-Hebel darstellen, welcher hin und her (Stellung geradeaus/abbiegen) der Weiche ausführt. Angenommen, S2 ist geschlossen, so müsste doch theoretisch an IC1-I/O1 ein GND zu messen sein, oder? Im Gegenzug, an IC1-I/O2 nix , oder? Kann man dieses GND "auswerten" lassen ? Und was passiert, wenn IC1 den Befehl bekommt, IC1-I/O1 high zu schalten? Kann das so funktionieren ? Ich hoffe dass mir jemand hier helfen kann, praktisch "bevor" ich da irgendwas "in Rauch aufgehen lasse"... Danke schon jetzt Stefan
Diese Variante gefällt mir nicht so recht, da in ungünstigen Fällen die induktiven Abschaltspannungen irgendwie auf Deine "Eingänge" zurückschlagen könnten.
Der ULN2803 ist doch ein Lowside-Switch, oder? Dann müssen Deine Weichen gegen 12V geschaltet sein und nicht gegen GND. Peter
ok, und so ? Hat der ULN2803 eine "Schwellenspannung"? Wenn man den Widerstand so gross wählt, dass "zwischen" den IC´s eine "Rückmeldespannung" unterhalb der Schaltschwelle von IC2, aber "Messbar" für IC1 liegt ?? Ohjeh... ;)
Hi Irgendwie hast du die Funktion des 'Diode'-Pins nicht verstanden. MfG Spess
und so ?? ich frage mich nur grad, ob das so funktionieren kann, also ob ein als "Eingang" konfigurierter Pin des 9555 was mit "GND" anfangen kann ?
Hi
>und so ??
Wieder falsch. Am Pin 10 sind die Anoden der Dioden zusammengefasst die
jeweils mit der Kathode an einem Ausgang hängen. Den Pin kann man offen
lassen wenn man die Dioden nicht braucht oder er wird mit der Spannung
der Last verbunden.
MfG Spess
Es sollte nicht so leicht funktionieren. Deine Idee, sofern ich sie richtig verstanden habe ist, den ersten Pin auf Eingang den zweiten auf Ausgang zu stellen, beim Umschalten den ersten Pin auf Ausgang, den zweiten auf Eingang. Du solltest das Problemlos umschalten können, jedoch wirst du vermutlich nichts damit anfangen können da der Eingang teils undefiniert sein wird und du durch die Diode den treiber auch überbrückst und im worst-Case Fall einen Kurschluss bildest, + am Eingang -> der Treiber schaltet GND durch. Doch dann fließt ein Strom vom I2C Baustein über die Diode nach GND durch den Treiber, falls ich grad keinen Denkfehler habe. Anderer Vorschlag: Die Gleise haben vermutlich nur zwei Zustände, links oder rechts, genauso wie dein Pin, 1 oder 0, High oder Low. Warum verwendest du zwei Pins und nicht einen einzigen, wobei der zweite Pol des Gleises durch einen Inverter angeschlossen ist. Dadurch hast du einen Pin frei den du zur Überwachung verwenden könntest und ersparst dir das I/O Umschalten. Ansonsten wird es auch eine Möglichkeit nach deiner Idee geben, aber das wird eine andere Schaltung erfordern.
Ich habe die Dioden mal als "Lampentest" für ein par Leuchtmelder zweckentfremdet. Dafür dann einfach ein Taster vonm Dioden Pin gegen GND. Ich würde den Rückmeldekontakt lieber von der Ansteuerung entkoppeln und dafür andere Pins des IO Bausteinens verwenden.
Frank M. schrieb: > Anderer Vorschlag: > Die Gleise haben vermutlich nur zwei Zustände, links oder rechts, > genauso wie dein Pin, 1 oder 0, High oder Low. Warum verwendest du zwei > Pins und nicht einen einzigen, wobei der zweite Pol des Gleises durch > einen Inverter angeschlossen ist. Geht nicht, da die Spulen gepulst werden sollen. Wenn Du die Spannung länger als ein paar Sekunden stehen lässt, riecht es nach Ampere.
Also mit "Logik-NOT-Gatter" dann so... Und wegen dem "pulsen", durch die Schalter im Weichenantrieb (Endabschaltung) würde es theoretisch schon gehen, aber wenn mal was am Schalter ist, könnte es schon zum "Spulentod" kommen... Also ich glaube, um den zusätzlichen "Rückmelde-Pin" werde ich nicht drum rum kommen, oder ??
Ich würde aus 2 Gründen kein I2C verwenden. 1. I2C ist nicht für lange Leitungen gedacht. 2. Dein PC hat evtl. Schwierigkeiten I2C anzusteuern. Was ich machen würde wäre folgendes: Nimm RS-485 und ein triviales textbasiertes Protokoll. Zum Beispiel so was wie: Befehl (1 Zeichen) Elementnummer (dezimal) Trennzeichen (damit Du weist, wann die Nummer aus ist, z.Bsp. alles Außerhalb '0'-'9') Wert (dezimal) Zeilenende (z.Bsp. Linefeed) Das kann jeder Rechner in jeder Programmiersprache mit minimalem Aufwand machen. Willst Du werde zurück lesen, so nimmst Du einfach einen 2. Bus, auf dem immer nur ein Teilnehmer spricht und schickst einen "Lesebefehl" an das Element. Wenn ein Element den Lesebefehl bekommt, schreibt es eine Antwort, z.Bsp. in einem ähnlichen Format. Im Prinzip kannst du beide Busse zusammenfassen und in beiden Richtungen arbeiten. Da musst Du dann aber warten können. Die Dekodierung kann jeder billigst Controller machen.
ne, die schaltung "weiche4" ist auch quatsch... in eagle zeigt es leider nicht den "ganzen" ic ! bin dran ;)
Bei der dauerbestomten Version mit dem Inverter kanst du dir die Rückmeldung sparen. Der weiche bleibt ja nichts anderes übrig als deine Wunschrichtung anzunehmen. Selbst wenn man die Weiche mit Hand umschaltet, schaltet sie ja sofort zurück. Wenn eine Weiche nicht umschalten kann, macht sie sich schon selber durch Rauchzeichen bemerkbar :) da brauchst du keine elektronische Rückmeldung für.
erstmal vielen dank für eure beteiligung! :) ...habe ich auch schon überlegt, aber welchen vorteil hätte ich mit rs485? sind 20cm kabel (zwischen pc und "verteilerkasten") denn schon zuviel für i2c ? im prinzip ist es ja egal was für ein "bus", hauptsache "einfach". habe schon soviel zum thema gelesen und geschaut, aber ich finde das "anlagenweite-buskonzept" einfach zu "übertrieben" ! wenn ich jetzt mal die kosten und den aufwand gegenüberstelle, finde ich es jetzt nicht so daneben, einfach alle weichen über cat5 kabel an ein "Zentral-kasten" zu führen. mir fehlt nur noch der entscheidende tipp, wie ich das mit dem rückmelden am "einfachsten" lösen kann...
Von wieviel Weichen reden wir bei dir denn? Meist sind die weichen ja nicht enzelnd sonder eher so im Rudel anzuteffen. So eine Weichenstrasse an Bahnhofs Ein oder Ausgang. Oder ein Schattenbahnhof. Da könnte man dann immer eine Busfähige IO Baugruppe für sagen wir mal 8 Weichen plazieren die alle über einen Buß verbunden werden. Das wird das dann mit normalen I2C schon etwas knapp.
...ich bin halt auf i2c gekommen, da dieser industrie-pc so eine schnittstelle hat. und ja, stimmt schon, wenn ein rs485 bus, wäre es schon leicht bedenklich alles "zentral" zusammen zu führen. nur, wenn ich mir überlege, was kosten (aufwand) von mehreren "knoten" und von cat5 kabeln sind, die sich ja so schön verlegen lassen in einem kabelkanal um die bahn herum... dachte mir, 8x16 (8x 9555) also 128 i/o´s sollten genügen. ein "bus", eine baustelle, ein programm...
Für ein 485Bus reichen einfache zwei verdrillte Drähte da braucht man kein Netzwerkkabel. An deinem Leitrechner brauchst du einfach eine normale Rs232 Schnittstelle mit externen Wandler auf 485. Da gibt es auch einfache die die Sende/Empfangsumschaltung selber machen. Als Knoten dann einfache MC z.b. Pic oder Atmel mit genügend IOs oder halt deine 9555 an den Controller. Da dann ein einfaches Protokoll mit adresse drauf.
hmmm, ok! "dann einfache MC z.b. Pic oder Atmel mit genügend IOs"... genau das wollte ich ja "vermeiden", zusätzliche MC zu verwenden, die geflasht/addressiert werden müssen.
Alle Knoten bekommen das gleiche Programm. Die Busadresse steht dann genau wie bei den I2C Steinen an ein paar Inputs an, Drahtbrücken, Jumper oder Mäuseklavier ist da egal.
ok. nochmal, also in diese richtung brauche ich gar nicht weiter zu denken, oder wie? kann das so gar nicht funktionieren ?
Stelle ich mir das zu einfach vor ?!? Habe die "Rückmeldeleitungen" vertauscht, zu "weiche5"... so müsste es doch gehen, hmmmm... reichen dem 9555 "1V" aus, um ein "high" zu erkennen ? und ab wann schaltet der uln2803 ?
Also, so wie ich das lese in den Datenblättern ist es so: 9555: Input : 0,7V(Min), 5,5V(Max) Output: bei Vdd 4.75V --> 4.0V und beim 2830 versteh ich das nicht so ganz... (siehe anhang)
Ich hoffe mir hilft nochmal jemand, so würde ich es versuchen. Bitte um kurzes "Kommentar"! Danke an Alle ;)
Also nur mal zum verständniss.... Du klemmst 12V über eine Spule und einen geschlossenen öffner per 220 Ohm an ein IC der 5V Versorgung hat. Macht also 31ma durch die Schutzdioden die 0,5mA vertragen. Macht aber nix, da der ULN dann einschaltet und die Spannung Zusammenbricht. Daraufhin Schaltet der ULN wieder aus.... Was noch mal wolltest du bauen? Einen KW-Sender? Wenn du unbedingt eine Rückmeldung brauchst dann nimm dafür 2 extra Pins mit passendem Spannungsteiler. Oder Schalte nach Programmstart alle weichen in eine Grundstellung. Dann weiss die Software doch wie sie stehen Solange du nicht an den Weichen rumfummelst. Ansonnten RS485, ein M8, 2 ULNs gesockelt und fertig. Dann gleich noch ein parr weiter Ausgänge für Licht, etc... vorsehen und gut is. Ok, Billig wird das nicht. Aber wenn du schon 64 Weichen hast/haben willst spielt das Geld dafür doch keine Rolle. Soll es Funktionieren oder Rauchzeichen geben?
Danke für Deine Antwort, deswegen habe ich hier gefragt! Das Prinzip der Schaltung beibehalten kann man "um´s verrecken nicht" oder wie? Also "gesunde", andere Widerstände nehmen (Werte) ? Was ist ein "M8" ? Danke Dir/Euch!
>Das Prinzip der Schaltung beibehalten kann man "um´s verrecken nicht" >oder wie? Geh doch mal in gedanken durch was die schaltung macht wenn du das ding einschaltest. > Also "gesunde", andere Widerstände nehmen (Werte) ? Was Passiert in deiner Schaltung wenn der PCA nicht das währe? Wenn du das nicht verstehst dann fang erst gar nicht mit dem rest an. Du wirst scheitern. >Was ist ein "M8" ? Ein ATmega8 (µC von Atmel).
also mit meinem leider "beschränkten" Wissen über Elektrotechnik würde ich die Schaltung mit Worten so beschreiben: Ausgehend davon, dass der Weichenantrieb zwei Stellungen hat, ist somit immer einer der beiden "Spulenschutzschalter" geöffnet. Wenn nun die Weiche auf "links" steht, ist S2 geöffnet, S1 geschlossen. Es fließt strom über Spule, S1, R(220) zu IC1 0.0. Meiner "Hoffnung" nach, ist U2´(rechts) "stark" genug um bei Abfrage von IC1 an Pin 0.0 ein "high" auszugeben, aber zu "schwach" um IC2 IN1 zu schalten. IC2 Pin 0.1 ist "frei", also bei Abfrage "low". Wenn jetzt der "Schaltbefehl" von IC1, Pin 0.1 auf "high" zu setzen kommt, (500ms müssten ja eigentlich als Impuls reichen) sollten die +/-4V über R47 ausreichen, um IN2 von IC2 zu schalten. Jetzt Schaltet die Weiche und S1 öffnet, S2 schließt,ab jetzt liegt ein "high" auf IC1 0.1, auf 0.0 "low". Denke ich so falsch? Oder sind einfach die Widerstände total daneben ? Ich meine es kann schon schein, dass ich mir das einfach zu "einfach" vorstelle, ich weis es halt nicht besser.
Macht es wirklich Sinn sich wegen 3€ pro 8 Weichen sich da so einen Kopf zu machen? einfach zwei IN und zwei OUT pro Weiche und alles ist gut und viel problemloser.
Wie müsste ich es dann machen ? Auch mit "Vorwiderständen", oder ?
Vielleicht einen relativ hochohmigen Spannungsteiler so das etwa 3-4V am Input abfallen und da noch zusätslich eine Z Diode oder besser Suppressordiode zum Schutz gegen Überspannung dran
"Vielleicht einen relativ hochohmigen Spannungsteiler so das etwa 3-4V am Input abfallen" hmmm, was ist ein "spannungsteiler" ?
O, du hast die überkreuzt, aber das mit >Meiner "Hoffnung" nach, ist U2´(rechts) "stark" genug um bei Abfrage von >IC1 an Pin 0.0 ein "high" auszugeben, aber zu "schwach" um IC2 IN1 zu >schalten. tut nicht. Laut datenblatt brauch der uln gerade mal 500µA zum duchzuschalten. Und die Funktion ist linear. Also kleine Spannung am eingang -> kleiner Strom am Ausgang und nicht 0. Also ist einer der ULN Kanäle immer "EIN", sonst kann der PCA nämlich keine "1" lesen. Außerdem schaltest du 12V auf einen 5V IC. Das mögen die gar nicht. Und beim schalten muss der PCA auch noch gegen diesen Strom ankämpfen.... da wird er verlieren. Die Grundidee mag funktionieren, ist aber kaum vernünftig umzusetzen. Nenne mir doch mal einen Grund warum dein PC die Weichenstellung zurücklesen muss. Und: kannst du den I2C Bus an dem PC vernünftig ansprechen? >Wie müsste ich es dann machen ? Jeep. >Auch mit "Vorwiderständen", oder ? Spannungsteiler heist das Zauberwort: 12V - 6K8 - + - IC ' - 4K7 GND Eine Diode nach +5V + 100nF währen dann auch noch zu empfehlen.
ok, danke Tim! Ich war mir noch so sicher, dass das gehen muss. Da noch nix gekauft, gebaut zu ende geplant ist--> gibt es eine Lösung, diesen Weg doch zu gehen, aber anstatt dem ULN halt was "Anderes" zu nehmen ? Z.B. ein einfachen Transistor? Im Prinzip hast Du/Ihr ja Recht, wieso überhaupt eine "Rückmeldung"... ...damit man sich 100% drauf verlassen kann wie die Weiche steht? Ich habe schon soviele Sachen gebaut, jetzt keine Schaltungen, aber im Grunde finde ich es halt sehr Wichtig, einfach zu bauen. Es gibt da ein schönen Spruch: "Die genialität einer Konstruktion liegt in ihrer Einfachheit-Kompliziert bauen kann jeder" Hättest Du/Ihr mir keine Idee parat, welche Bauteile hinter den 9555 müssen, damit das so funktioniert ?
>Es gibt da ein schönen Spruch: >"Die genialität einer Konstruktion liegt in ihrer >Einfachheit-Kompliziert bauen kann jeder" Und wieso machst du es dann genau umgekehrt? >Hättest Du/Ihr mir keine Idee parat, welche Bauteile hinter den 9555 >müssen, damit das so funktioniert ? Mit deiner Beschaltung? Vergiss es.
Schau mal in den Schaltplan bei diesem Projekt: http://www.digital-bahn.de/bau_rm/weich88-8.htm Da werden sogar drei Ausgänge des ULN parallel geschaltet wegen dem Spulenstrom. Die Rückmeldung wird über Optokopler gemacht. Ist bestimmt auch die bessere Lösung. So wie gezeigt müßtes du die dann auch an dein I2C Chip anschliessen.
>Z.B. ein einfachen Transistor? Rate mal was in dem ULN drin ist.... >Hättest Du/Ihr mir keine Idee parat, welche Bauteile hinter den 9555 >müssen, damit das so funktioniert ? 2 ULN in Sockeln(!) da immer 2 Kanäle Parallel. Und einige Widerstände. Eigentlich hast du schon alles, du musst halt die Rückkoppel-Widerstände weglassen. >Es gibt da ein schönen Spruch: >"Die genialität einer Konstruktion liegt in ihrer >Einfachheit-Kompliziert bauen kann jeder" Gut, dafür wird halt die Software aufwendiger. Ich hätte halt je 2 Weichen eine Platine gemacht mit RS485 in SMD. Dann kann die Weiche auch mal weiter weg sein und ich müsste nicht soviele kabel ziehen. Mal als Anregung: Modellbahn Servodecoder für Weichen mit Rückmeldung
Ich denke, der ULN ist das problem. Also, angenommen wir "pfeiffen" auf die "echte Rückmeldung", wie wäre es mit diesm "dingens" : UDN 2981 Direkt dran und das war´s dann, oder ?
Du könntest statt I2C einfach Schieberegister verwenden. Kennst Du Schieberegister? Du taktest Deine Daten seriell rein, sagst dann mit einem Impuls "jetzt in die Ausgangsregister laden", und dann werden die Daten an den Ausgängen parallel ausgegeben. Funktioniert auch umgekehrt: Daten mit einem Impuls parallel in die Schieberegister hineinladen und dann seriell raustakten. Schieberegister sind kaskadierbar, d.h. wenn eines nicht reicht, dann kannst Du im Prinzip beliebig viele hintereinander schalten. Für seriell->parallel gibts zB den 4094. Ist ein altes CMOS-IC, darfst Du mit 3-15V betreiben, wird seit über 30 Jahren produziert, und ist billig. Alternativ 74HC4094 oder 74HC595, aber dann nur bis Vcc=6V. Parallel->seriell: 4021 aus der alten 4000'er CMOS-Serie, oder 74HC597 oder 74HC165 aus der 74HC-Serie. Zum Schalten der Weichen nimmst Du einfach eine Transistorstufe aus BC518/BC818 plus Basiswiderstand plus 1N4148 als Freilaufdiode. Das sind alles Standardteile, die Du überall billig bekommen solltest und die von zig Herstellern gefertigt werden. Das ist die Gelegenheit, Dich mit Grundschaltungen des Transistors und der Digitaltechnik zu beschäftigen. Da lernst Du dann auch noch was dabei, was Du später immer wieder einsetzen kannst. Vergiss nicht die obligatorischen 100n Abblockkondensatoren und achte darauf, dass Du keine Eingänge in der Luft hängen lässt. Im Zweifel immer mit 10k gegen Ground oder Vcc. Das gilt auch für die Tasterabfrage mit den parallel-seriell Schieberegistern. Auch wenn der Taster offen ist, darf der Pin nicht in der Luft hängen, d.h. Pull-Up oder Pull-Down. Widerstandsarrays mit 8 Widerständen in einem Gehäuse erleichtern Dir hier die Arbeit. Und: Die ICs können an ihren Eingängen nur Spannungen bis zu ihrer Versorgungsspannung ab. Wenn Du also 12V-Signale abfragen willst, musst Du die entweder auf eine niedrigere Spannung bringen oder das IC mit 12V betreiben (was ja bei den 4000'er Logikchips geht). Das nur mal so als Anregung wie es auch ohne Spezialbausteine geht. Viel Spaß beim Lernen der E-Technik Grundlagen. fchk
ok. leider habe ich den Beitrag von Dir Frank zu spät gelesen, aber nochmal nur der "Vollständigkeit" halber, so muss es gehen, oder ? Keine Rückmeldung, alle Pin´s als Ausgang... Ich kann an der Stelle nur sagen, vielen, vielen Dank Euch allen!
Und wenn du jetzt die Spulen noch mit 12V speist und nicht mit GND würde das wohl sogar so klappen.
wie mit GND speisen... Ich hab es jetzt genau so gemacht wie beim Beispiel, nur sind in dem Schaltplan die Pin´s vertauscht...und damit es ein "Stromkreis" ist, kann´s ja nur so gehen, oder nicht!
Dann schau dir nochmal den ganzen Schaltplan an. Welche Spannungen/Signale gehen da wo an den Weichenstecker? Wie ist dieser Weichenstecker mit der wiche verbunden /da gibt es ein Bild drüber) ? Hast du dir schon mal das Innenschaltbild eines ULN angeschaut? Hast du die Funktion des dioden Pins verstanden? Denk mal drüber nach :)
nix, hast recht… da kommen ja wirklich +18 an die "weichenstecker"... oh, mann… Danke dir !
So, habe wiedermal etwas Zeit gefunden, die Schaltung "hoffentlich richtig" fertig zu zeichen. Wer kann mir grünes Licht geben ? Danke Euch ! ;)
...und das kommt an´s andere ende des mit D-Sub-Steckern bestückte Cat5 Kabel.
>Wer kann mir grünes Licht geben ? Ohne Abblockkondensator wird dir der PCA9555 dauernd abschmieren. Die Pins A0..2 müssen an GND oder 5V gelegt werden. Offen rumfliegen sollten die nicht. Also bau dir ein paar Widerstände dran mit denen du A0..2 wahlweise an GND oder 5V legen kannst.
ok, danke. Abblockkondenstaor. hmmm, wo muss der hin ?
>ok, danke. Abblockkondenstaor. hmmm, wo muss der hin ?
Rate mal. Du solltest auch dringend getrennte Masseleitungen
für den Digitalteil und die Weichen nehmen. Den Kram da mit so einem
hochohmigen Bus wie I2C zu machen wird sicher noch eine Menge
"Spass" bedeuten. Gerade wenn du von Elektronik so gut wie
keine Ahnung hast.
Hallo Stefan! Vor einiger Zeit hatte ich auch schon mal einen Weichendecoder aufgebaut, anbei ein paar Bilder dazu. Schau mal ob Du davon etwas verwenden kannst. Insgesamt können 7 Weichen angesteuert werden (8x wären sicherlich auch möglich). Zusätzlich werden auch noch die „Schaltzustände“ der Weichen ausgegeben, so dann man gleich noch Ampeln anschließen kann. Wenn Interesse besteht lade ich auch gerne alle Daten dazu hoch... LG Jens
Ha, sehr gut! Danke Dir! Sieht super aus! Jetzt steinigt mich wieder, aber Du verwendest doch auch I2C, oder? (SDA/SCL auf der Kabelbeschriftung)? Gibt´s da "Erfahrungswerte"? Das Problem ist halt, ich habe kein so EEprom-Brenner und scheue mich so davor das "anzufangen".... Also wenn´s doch nur irgendwie "so" gehen würde, wäre dass absolut ausreichend für mich. Ich denke, man kann sehen wie das später werden sollte, die "Module" sollen einfach aneinader gesteckt werden. Nachdem die Bedenken aufkamen, dass I2C zu "hochohmig/anfällig" wäre für so was, habe ich noch eine "übersichtliche" Lösung mit "Buffern" gefunden. 82B715 heisst das Teil und würde dann am Computerausgang und vor dem ersten Modul eingesetzt werden, würde das gehen ? P.S. Oder mit Deiner Schaltung weitermachen… ;)
Wenn Du die Module anreihen willst, müßten SV2 und SV3 aber gleich belegt sein. Du hast sie aber gespiegelt angeschlossen. Peter
achso, wegen der Pin-Belegung. Ja, ist mir noch gar nicht aufgefallen... Die "sollte" eigentlich auch 1:1 sein... ---> Danke ! (und wieder ein kleines Stück näher...)
...könnte man es denn so "absegnen", von der "Verdrahtung" her ? passt das mit dem "Abblockkondensator", "Adressen-Dip" ?
> Jetzt steinigt mich wieder, aber Du verwendest doch auch I2C, oder? > (SDA/SCL auf der Kabelbeschriftung)? Gibt´s da "Erfahrungswerte"? Es kommt mehr oder weniger darauf an wie lang die Datenleitungen nachher insgesamt sind. Das längste was ich bis jetzt verwendet habe waren gut 5m und damit hatte ich noch nie Probleme. Wenn ich heute noch einmal so etwas aufbauen würde, würde ich sicherlich den RS485 Bus verwenden (läst sich „einfacher“ mit einem FT232R Chip mit dem PC verbinden). > Das Problem ist halt, ich habe kein so EEprom-Brenner und scheue > mich so davor das "anzufangen". An Deiner Stelle würde ich mal versuchen über meinen Schatten zu springen und mit etwas ganz einfachen anfangen. Z.B.: http://www.pcfilter.de/AVR-Ecke/Page4.html Grade beim Modellbau lassen sich so schöne kleine Schaltungen mit den Mµ’s realisieren, da kommt man eigentlich gar nicht dran vorbei. Und beim Weichendecoder hättest Du den Vorteil dass Du Dich nicht „aktiv“ um das Datenversenden kümmern musst. Mit Mµ reicht es einmal einen Befehl an den Weichendecoder zu senden und dann kümmert sich der Mµ automatisch um die „Schaltzeit“ der Weiche. Bei Deinem Vorhaben musst Du einen „Ein-Befehl“ und nach einer kleinen Pause einen „Aus-Befehl“ versenden, das macht die Programmierung der PC Software auch nicht grade einfacher (zumal Du ja diese Befehlsreihenfolge für jede einzelne Weiche programmieren musst). > Nachdem die Bedenken aufkamen, dass I2C zu "hochohmig/anfällig" > wäre für so was, habe ich noch eine "übersichtliche" Lösung mit > "Buffern" gefunden. Ist meiner Meinung nach nicht unbedingt notwendig, wenn Du es mit der Kabellänge nicht übertreibst. PS: So viele ULN2803 brauchst Du gar nicht verbauen. Die Weiche zieht eh nur für ein paar Sekunden an, da reichen die 500mA pro Kanal ganz locker aus (die weiche ist ja weiter nichts als ein Relais).
Ok, danke Jens. Also die grob geplante Läge vom "Bus" ist ca. 50cm. Deiner Angabe zufolge --> machbar. Irgendwie leuchtet es mir ja schon ein, eine gewisse "Logik" vom PC auszulagern und mit MC´s eine Art "Übersetzung/Umsetzung" machen zu lassen. Aber was mich so wahnsinnig dran stört, ist die Vorstellung da ein PC laufen zu haben, der ansich fast die ganze Betriebszeit "nix zu tun hat" und ob´s nicht doch gewisse Vorteile hat, das gesamte "Programm" an einer Stelle zu haben... Was die Software angeht und die Programmierung später, stelle ich mir das (wie von mir gewohnt) wahrscheinlich mal wieder zu einfach vor, aber irgendwie wird das schon gehen, lesen, probieren, sich ärgern, sich noch mehr ärgern und vielleicht sogar eines Tages mal dass sich per klick eine weiche umschaltet! Ich müsste jetzt vielleicht ein bissel ausholen, warum überhaupt das ganze "Theater" hier...aber dass sparen wir uns jetzt erst mal! ;) Und nochmal zu den ULN´s: Komme ich also mit einem "ULN-Kanal" pro "9555-kanal" aus ?
Am bestem misst du da mal deine Weichen durch was die Antriebe da so ziehen. Wir habe ja noch nicht über dein System gesprochen. So eine Lehmann Gartenbahnweiche zieht bestimmt mehr Strom als eine Spur Z Weiche.
> Also die grob geplante Läge vom "Bus" ist ca. 50cm. Deiner > Angabe zufolge --> machbar. Also das wäre ja absolute Spitze, so eine geringe Kabellänge habe ich noch nie realisieren können. ;-) Bedenke aber, auch das Kabel vom PC zu dem Weichendecoder zählt mit, wenn der PC ein Zimmer weiter steht kommen schon mal locker 5m Kabellänge zusammen... Wie willst Du eigentlich den I2C-Bus am PC anbinden? > Aber was mich so wahnsinnig dran stört, ist die Vorstellung da ein > PC laufen zu haben, der ansich fast die ganze Betriebszeit "nix zu > tun hat".............. Hm, dann stell doch da keinen PC hin (ich weis, Du willst nicht mit Mµ’s arbeiten ;-)). > ...............und ob´s nicht doch gewisse Vorteile hat, das > gesamte "Programm" an einer Stelle zu haben. Der Knackpunkt ist die Datenübertragung und wie viele Daten über den I2C-Bus gesendet werden. Läuft nur ein einziges Progi auf dem PC, dann muss das Progi natürlich auch das gesamte Timing der Anlage „verarbeiten“ können. Es nutzt Dir ja z.B. nichts wenn von einem Reedkontakt die Meldung zum umstellen der Weiche kommt und das Progi noch mit ganz anderen Aufgaben beschäftigt ist und so die Meldung schlicht weck verschlafen wird. Daher vertrete ich die Meinung immer auslagern was geht, desto mehr „Freiraum“ hat das PC Progi um auf Zeitkritische Aufgeben zu reagieren... > Was die Software angeht und die Programmierung später, stelle > ich mir das (wie von mir gewohnt) wahrscheinlich mal wieder > zu einfach vor,........... Schau Dir mal XProfan an, damit kommt man ziemlich schnell ans Ziel. http://www.profan.de/ > Und nochmal zu den ULN´s: Komme ich also mit einem "ULN-Kanal" > pro "9555-kanal" aus ? Wie Jürgen schon sagte, vom Messen zum Wissen...
Danke Dir/Euch für die Hilfe! ;)) So, also das "Eagle" ist ja auch so eine Sache... ;) Und zu warum PC--> ...das ist ja die lange Vorgeschichte. Nur, öfter mal was neues! Wie im wirklichen Leben! Jetzt hab ich mich da jede freie Minute reingehängt, so billig wie nur irgendwie möglich das "umzusetzen", jetzt wird´s nicht mehr "gewollt".. Ne, die Modellbahn (Märklin H0 übrigens) ist von meinem Vater. Es wird momentan Erweitert und ich wollte ihm eigentlich eine Überraschung machen und eine "Weichensteuerung per Touchscreen" vorstellen. Besagter PC ist ein 15" Industrie Panel-PC (PentiumII 266MHz). Trödelmarkt 20€. Der hat eine PC/104 Schnittstelle oder halt so ein Multi-I/O, wesshalb ich halt auf I2C gekommen bin, da das "ohne Mehrkosten verfügbar" ist. Aber jetzt will er das gar nicht... gut, gell ! Naja, aber ich glaube ich versuche trotzdem mal, ob das was "geworden wäre" ! Kann man die Schaltung so lassen ? ;)
Denn 100nF Kondensator setzt man möglichs nahe an die Versorgungspins des ICs. Wen möglich so das der Strom erst durchs Kondensatorpad und dann zum IC Pin fliest.
Die Verbindung über BR4 ist da aber noch arg lang. Zu Zeiten der bedrahteten IC, irgendwann vor der Erfindung des Feuers :), gab es extra Fasungen die einen Kondensator direkt zwischen den Versorgungspins hatten. Bei SMD und nur einseitigen Leiterbahnen geht so was leider nicht mehr so gut.
ok. Auch wenn die Brücke gar nicht auf der Lötseite ist ? Ich meine, möglich dass ich das nicht "Ordnungsgemäß" gemacht habe mit dem Eagle. Ich hab mir halt gedacht, ich will nur auf einer Seite löten müssen und alles was "durchgesteckt" wird, ist ja von den Pin´s her egal, kommt von der anderen Seite rein... Dann ist ja spez. bei BR4 eigentlich kein Problem, oder ? Ne, hab gerade noch was anderes bemerkt, im Eagle war die .lbr für die ULN als SO18L, bei Reichelt gibt´s aber nur SOP18, aheb mal eine "Referenz-SOP18" drüber gehalten, aber sieht für mich noch "gut" aus.. und die Ecken, die an den Pin´s so nahe beinaner sind, würde ich in Photoshop noch rund machen... Was sagt ihr, kann das so gehen ?? ;)
Mit der BR4 Bahn meine die die Länge zum Kondensator. Der soll mit beiden Enden nahe an den Versorgungspins. Bei den ULN würde ich lieber ein bedrahteten mit Sockel verwenden. Wenn da mal was schief geht und der durchbrennt ist der leichter zu wechseln.
ok, habe verstanden... Dann wird´s halt eine etwas lägere Brücke, ist ja Platz auf der anderen Seite!
Muss erst noch schauen, wo ich Lötpads finde... Aber von der Schaltung her ok, oder ?!? Denke Euch "Profis" ist klar was welcher Pin ist, so wegen unbeschriftet... Es hat sich zwar einiges zum Schaltplan geändert, was aber nur auf Seiten der Ausgänge des 9555 und der Ausgänge der ULN "auswirkte"...
Aber jetzt wo ich nochmal drüber nachdenke, die "vorsinnflutliche" Lösung mit dem C im Sockel… warum nicht ? Platz ist ja da, sieht halt von der anderen Seite doof aus, aber dann ist´s wenigstens "korrekt" ;)
denke das dass noch im Rahmen ist, das andere hat ja unmöglich ausgesehen... ! Under ein Interrupt brauche ich ja höchstwahrscheinlich nicht, das ja alle I/O´s als "Ausgang" genutzt werden, von daher an GND, gell ?
Ich kenne dein IC nicht, glaube aber eher das das ein Ausgang ist. Der macht einen Kurzschluß wenn du den auf GND legst. Schau da nochmal in das Datenblatt
OK damacht er wenigsten keinen Kurzschluß als open drain. Las den einfach unbeschaltet
ok, und so wie im Blockschaltbild, also mit einem 3.3K an GND ?
quatsch… vergiss was ich grad "von mir gegeben hab"… ich lass ihn "offen"…
So, bitte nochmal... Kann das so "geätzt" werden ? Besten Dank!
In einem anderen Tread hat die Frage on das Layout so OK sei bei einer Schaltung mit drei Bauteilen über 50 Beiträge gedauert. Jetzt rechne mal hoch wie lange das bei deiner Schaltung dauern würde, und der Anstieg ist unter Garantie nicht linear. Bis wir da fertig sind haben deine Enkel die Anlage auf Transrapid umgebaut. :) Ich würde alle Leiterbahnen dicker machen, Die ULNs in DLL Version Sockeln und die Vias weiter von den Bauteilen entfernen. Das wird deine erste Leiterkarte, die muß nicht perfekt werden. Mach die einfach so und probiere sie aus, Erfahrung sind da alles. Da läst sich notfalls was mit Drähten ändern.
so, weiter geht´s… halte Euch auf dem Laufenden! (Bin ich mal gespannt, ob dass was wird!!!) Grüße Stefan
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.