Archiv der Kategorie: Sonstiges

Modul zur Ansteuerung von Weichenantrieben (Magnetspulen)

Für das Arduino-Modul habe ich mal ein Zusatzmodul gebaut, das an den I2C-Bus angesteckt werden kann. Damit ist es möglich, die Weichen im unsichtbaren Teil mit herkömmlichen Magnet-Weichenschaltern anzusteuern.

6.8.2019: Was ich heute festgestellt habe: man kann so einen Weichenschalter zwar mit 12V Gleichstrom schalten, aber der ULN2803A liefert zu wenig Strom. Im Internet habe ich gefunden, dass man 2 oder 3 Kanäle eines ULN2803A parallel schalten muss, damit es funktioniert (ich habs mit 2 Ausgängen versucht-funktioniert). Also muss ich meine Platine noch um zusätzliche ULN2803A erweitern. Vielleicht bau ich morgen eine komplett neue. Ist einfacher.

7.8.2019 Eine komplett neue Platine erstellt. Leider funktioniert was immer noch nicht.

9.8.2019 Hab jetzt endlich den entscheidenden Hinweis gefunden: Der PCF8574 liefert scheinbar auch nicht genügend Strom, um zwei Eingänge des ULN2803A zu schalten. Man muss an die Ausgänge des PCF8574 Pullup-Widerstände gegen + schalten. Hab dafür 10k-Widerstandsnetzwerke genommen und … funktioniert. Das war ja ne schwere Geburt….

Servo-Ansteuerung

Für die Ansteuerung der Servos verwende ich:

  • Arduino NANO
  • RS485-Schnittstelle
  • PCA9685 16-fach PWM-Treiber

11.02.19 Leider hab ich beim ersten Versuch eine zu hohe Spannungsquelle genommen. Ich war der Meinung in irgendeiner Anleitung etwas von 12V gelesen zu haben. Bei den 4 angeschlossenen Servos ist deswegen die Elektronik abgeraucht. Die Motoren sind scheinbar noch verwendbar. Vielleicht fällt mir noch was ein (Karusell, Mühle, oder so…)

20.02.19

20.02.19 Gestern habe ich 3 dieser Modulkombinationen fertiggestellt. (Für jedes Weichenmodul eines) Rechts sieht man zwei RJ45-Buchsen bei denen die RS485-Leitung ankommt und zum nächsten (Gleis-)Modul geführt wird.

Darüber ist ein Spannungsregler, der mir aus der 12V-Leitung 5V macht, um den Arduino und die Servos zu versorgen.

Links daneben ist die Platine mit dem RS485-Modul, das an den Arduino angeschlossen ist.

Beide Platinen werden später mit einem kurzen 4-poligen Kabel verbunden.

Vom Arduino gehts dann über I²C zum PCA9685-Modul, das 16 Servos betreiben kann. Sollte das nicht ausreichen, kann man mehrere PCA9685 aneinanderreihen und so mit einem Arduino bis zu 64 x16 Servos steuern. Cooles Teil …