• home
  • about me
  • bears
  • contact
  • imprint
  • privacy notice
leider funktioniert die Tweet Anzeige nicht mehr seit einer doofen API Änderung :'(

OnlyMine

Kategorien

  • 3D Drucker (13)
  • Allgemein (36)
  • DIY (17)
  • Elektronik (62)
  • Hausbau (39)
  • Heizung (8)
  • Inspiration (16)
  • KNX (7)
  • Persönlich (14)
  • Schule (8)
  • SEO (1)
  • Sinnloses (30)
  • Studium (19)
  • Tutorials (10)

Archive

  • Februar 2022
  • November 2021
  • Oktober 2021
  • September 2021
  • August 2021
  • Juli 2021
  • Februar 2021
  • Januar 2021
  • Dezember 2020
  • Oktober 2020
  • September 2020
  • August 2020

Links

  • Niedermeier.me
  • SKK Gerolzhofen
  • Frisöre Habelsberger
  • Zorin Industries
  • Ort der Musik

Kegelbahn Lichtsteuerung (2): Die Steuerungsplatine

2. April, 2017 in: Elektronik, Inspiration

Für die Steuerung der WS2812B LEDs der Kegelbahnbeleuchtung hatte ich für jede Bahn eine eigene kleine Steuerung geplant. Da der Abstand zwischen den LEDs nach einigen Vorüberlegungen auf 40cm festgemacht wurde, mussten pro Bahn zwei LED Stränge mit jeweils 45 LEDs angesteuert werden.

Aus dem Datenblatt der WS2812B LEDs wird ersichtlich, dass diese ein festes 800kHz zur Datenübertragung nutzen.

Gehe ich davon aus, dass beide LED Stränge gleichzeitig mit Daten bedient werden können, benötigt dies eine Zeit von 45 LEDs * 3 Byte * 8 Bit * 1,25µs + 50µs = 1,4ms. Müssen die Daten für die beiden Stränge nacheinander ausgegeben werden, verdoppelt sich diese Zeit entsprechend. Da der Mikrocontroller bei der Ausgabe des Signals nicht unterbrochen wird, aber evtl. später noch Kommunikationsaufgaben übernehmen soll, wollte ich einen Controller mit DMA einsetzen.  Schon seit längerem reifte in meiner Schublade für diese Testzwecke ein STM32 Discovery Board vor sich hin

Bei meinem Streifzügen durch Aliexpress wurde ich dann auf das von LeafLaps entwickelte Board MapleMini aufmerksam, auf welchem ein STM32F103 werkelt. Dieser ist ein 32Bit Cortex-M3 Controller, welcher mit bis zu 72MHz getaktet werden kann und über 20kB SRAM sowie üppige 128kB Flash verfügt. Neben DMA besitzt der Mikrocontroller auch einen CAN Controller, welcher ich für die Kommunikation nutzen wollte.

Eine erste Version der Platine, die den Namen Kegelbahn_Controller erhalten sollte hatte ich dann auch schnell erstellt und dort Huckepack das MapleMini Board aufgesteckt. Aufgrund der von mir präferierten Bauform der Platine zum Einbau in ein Hutschienen Gehäuse mit einer Breite von 4 TE wurde es jedoch schnell eng, da das MapleMini doch einiges an Platz brauchte. Daher musste das MapleMini im 45° Winkel eingebracht werden

Daher setzte ich bei der zweiten Version der Platine dann direkt auf den im MapleMini verwendeten STM32 Controller. Interessanterweise ist der reine Controller IC bei den gängigen Distributoren in Einzelstückzahlen um einiges teurer als ein fertiger MapleMini mit Versand aus China. Ein MapleMini liegt dabei bei rund 3,5€ und der einzelne IC aus China bei 2,5€. Bei Conrad kostet der verwendete STM32F103CBT6 knappe 10€, mittlerweile ist dieser jedoch auch bei Reichelt für faire 3,80€ verfügbar. Auf der Platine sind neben dem Mikrocontroller noch ein 3,3V CAN Transceiver von TI (SN65HVD230) zur Anbindung an den CAN Bus, sowie ein 74HC245 als Levelshifter von 3,3V auf 5V für die Ansteuerung der WS2812B LED Stränge. Außerdem sind noch vier, über Optokoppler, galvanisch getrennte Eingänge und drei PWM Ausgänge mit N-Kanal Mosfets zur Ansteuerung von herkömlichen RGB LED Strips vorgesehen. Das ganze sitzt in einem Hutschienengehäuse von Reichelt. Hinzugekommen ist ebenfalls der nun benötigte JTAG Anschluss zum programmieren des Controllers. Auch die bei der Umsetzung von Version 1 versäumten eingefrästen Ecken, die durch das Gehäuse vorgegeben werden, wurden nachgezogen. Und wer genau hin sieht, bemerkt auch das nun eine der beiden Anschlussleisten nur noch 13 Pins hat, nicht fehlerhaft beide 14 wie bei Version 1

Mithilfe der vier galvanisch getrennten Eingänge wurde es mir möglich das Signal der drei Lichtschranken am Anfang der Kugellauffläche aufzunehmen. Es handelt sich dabei um eine „normale“ Lichtschranke, welche im 90° Winkel zur Kugellauffläche sitzt. Die zwei weiteren Lichtschranken sitzen direkt hinter der ersten Lichtschranke, sind jedoch etwa in einem 45° Winkel zur Bahn angeordnet. Durch den zeitlichen Versatz, wann die Kugel dabei welche Lichtschranke auslöst, ist es möglich die Position der Kugel beim durchqueren der Lichtschranke zu bestimmen, dies wird bei unserem Kegelbahnsystem (Vollmer) genutzt, um die Kugelauflage anzuzeigen. Die Information des Auflagepunktes ist für die Lichtsteuerung bisher unwichtig, jedoch ist es mithilfe der drei Lichtschranken auch möglich die Kugelgeschwindigkeit zu bestimmen. Das Ergebnis ist ausreichend genau, um damit Animationen für die LED Lichtinstallation zu bedaten. Sodass es möglich ist, die LEDs passend zur hinausrollenden Kugel aufleuchten zu lassen, was zugegebenermaßen einen schönen Effekt darstellt.

Abschließend noch Bilder der unbestückten und fertig bestückten Platinen.

← Vorheriger Beitrag Nächster Beitrag →

Schreibe einen Kommentar

Hier klicken, um das Antworten abzubrechen.

Felder die benötigt werden sind mit * markiert.
Nach oben!
4253
Impressum
Niedermeier.me
Ich bei Facebook
Diese Website verwendet Cookies. Indem Sie weiter auf dieser Website navigieren, ohne die Cookie-Einstellungen Ihres Internet Browsers zu ändern, stimmen Sie der Verwendung von Cookies zu. Akzeptieren Ablehnen
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SPEICHERN & AKZEPTIEREN