ich stelle Euch hier mal mein modulares Mini-Controller-System „WeFish“ vor.
Teile sind noch in Arbeit, Einiges hat eher den Charakter von Machbarkeitsstudien und zu Demonstrationsvideos bin ich bisher auch noch nicht gekommen. Aber nachdem es ein paar interessierte Stimmen im ftSwarm-Thread gab und zu dem Konzept von Stefan und Christian gewisse Ähnlichkeiten bestehen, macht es vielleicht doch schon Sinn, mal den aktuellen Stand zu zeigen. Im Gegensatz zu ftSwarm (und ftDuino) ist es als reines Selbstbauprojekt angelegt und schon von daher nicht als Konkurrenz zu sehen.
Das sind die Module, die bis auf Kleinigkeiten fertig und getestet sind, jeweils von links nach rechts:
- Externe WLAN-Antenne
- Oben: drei Basismodule, Akku-Modul, Power-Akku-Modul
- Mitte: Motor-Modul, Servo-Modul, Schrittmotor-Modul, Analog-Modul, IO-Touch-Modul, Bluetooth/BLE-Modul
- Unten: OLED Display 64x48, OLED Display 128x64, 8x8 Matrix LED Display-Modul, Bedienfeld-Modul, 2x8 Zeichen LCD-Display
Dies ist ein beispielhafter Aufbau mit (von unten) Basismodul, Motortreiber-Modul, Bluetooth-Modul und Bedienfeld-Modul:
Hier die ausführliche Feature-List:
WeFish ist ein modularer Mini-Controller zur Steuerung von fischertechnik-Modellen
- Einsatz entweder autonom oder als Ergänzung existierender Controller
- 3D-gedruckte Gehäuse mit ft-kompatiblen Verbindungsmöglichkeiten
- Basiert auf gängigen Elektronik-Modulen und einfachen bis mittelkomplexen Selbstbauplatinen
- nur die jeweils benötigten Erweiterungsmodule werden auf das Basismodul gesteckt
- viele Modultypen (z.B. Motor-Modul) dank internem I2C mehrfach im Stapel verwendbar
- stabile Verbindung des Modulstapels mit 2x10mm Gewindestiften (optional)
- Materialkosten je Modul um die fünf Euro zzgl. 3D-Druck
- ideal für mobile Modelle oder Modelle mit vielen verteilten und/oder vernetzten Controllern
- Basis- und Erweiterungsmodule entsprechen in der Größe je drei BS30 (30x45x15mm)
- Ausnahme: Abschlussmodule z.B. mit Display (niedriger); geplantes Relais-Modul (höher)
- WLAN standardmäßig per Basismodul
- I2C-Bus (3,3V) für externe Erweiterungen und Verbindung mit ft-Controllern
- Per Modul ergänzbar: Bluetooth; RC-Funk; Infrarot ...
- ESP8266 32-bit Mikrocontroller mit 80/160Mhz Taktfrequenz
- 16M Speicherplatz für Programme und Daten, 32K/80K Arbeitsspeicher
- integriertes WLAN, externe Antenne mit ft-kompatiblem Sockel optional
- 3,3V Logik- und Betriebsspannung mit vielseitigen Versorgungsoptionen (s.u.)
- Programm-Upload per Micro-USB-Kabel oder kabellos per WLAN (OTA - over the air)
- ft-kompatible sechspolige I2C-Wannenbuchse (3,3V)
- onboard LED und Reset-Taster im Gehäuse integriert
- Alternatives Basismodul mit WeMos D1 mini v1 (bzw. dem nur noch erhältlichen Klon der v1) mit 4MB Flash-Speicher und ohne externem Antennenanschluss
(*= Modultyp bei Bedarf mehrfach pro Controller einsetzbar; ^= Abschlussmodul, nur als oberstes Modul im Stapel verwendbar)
- Aktoren
- * Motor-Modul: Treiber für je 2 Gleichstrommotoren bis 1,2A
- * Servo-Modul: bis zu 8 Servos
- Steppermotor-Modul: 2 Schrittmotoren mit geringer bis mittlerer Stromaufnahme
- Inputs und Kommunikation
- * Analog-Modul: 8 absolute oder 4 differentielle analoge Eingänge für Sensoren
- * IO-Touch-Modul: 12 berührungsempfindliche Kontakte, davon 4 mit ft-Buchsen und 8 auch als digitale Ein-/Ausgänge bis 12mA mit 4bit-PWM nutzbar
- Bluetooth/BLE-Modul: Für Module vom Typ HC-05, HM-10 etc. zur Kommunikation mit Handy-App, PC, Eingabegeräten oder mehrerer WeFish untereinander
- Stromversorgung
- Akku-Modul: interner 150 mAh LiPo-Akku; An-/Aus-Schalter; Schutzschaltung; Ladefunktion per USB; Ladestand per Software überwachbar; Anschluss für externen LiPo/-LiIon-Akku
- Power-Akku-Modul: externer 1100 mAh LiPo-Akku, zum Anschluss an das Akku-Modul
- Display
- ^ OLED Display 64x48 mit freiem IO-Anschluss z.B. für Infrarot-Empfänger oder Taster
- ^ OLED Display 128x64 mit freiem IO-Anschluss (s.o.)
- ^ Bedienfeld-Modul: 128x64 OLED Display mit Steuerkreuz und Button für menügesteuerte Bedienung
- ^ 8x8 Matrix LED Display-Modul mit freiem IO-Anschluss (s.o.)
- ^ 2x8 Zeichen LCD-Display (mit nicht mehr lieferbarem Pollin-LCD-Modul, Update mit aktuellerem ST7032-Modul in Planung)
- Module in Planung/in Arbeit
- Spannungsregler-Modul: für Netzteil oder externen Akku 7V-24V (ft- oder Hohlstecker)
- * Power-Out-Modul: 8 Lastausgänge bis je 500mA z.B. für Lämpchen, Elektromagnete, Ventile, Selenoide, unidirektionale Motoren etc.
- Relais-Modul: 1xUM 10A (doppelte Bauhöhe 30mm)
- * Multi-Steppermotor-Modul mit Trinamic TMC223
- * Digital-IO: 8 digitale Ein-/Ausgänge bis 25mA für Taster, Lichtschranken, LEDs (obsolet durch IO-Touch)
- Sound- & Sprach-Modul mit integriertem oder externem Lautsprecher
- * Seesaw Modul: Universalmodul mit programmierbarer IO/PWM/anytwhing Funktionalität
- * Generisches Modul für weitere D1-Mini- und kleine I2C-Boards ohne zus. In- oder Outputs (GPS-/Lagesensoren, Umweltsensoren, Speicherkarte, Uhr etc. pp.)
- I2C-Levelshifter-Modul: für 5V-I2C-Geräte (z.B. ftDuino), Logik und Spannung
- Buzzer-Modul
- Dual-Basis-Modul: ermöglicht zwei Modulstapel nebeneinander für niedrigere Aufbauten
- *Encoder-Modul: Auswertung von 2/4 Quadratur-Encodern (4/8 Eingänge)
- TFT-Touch-Display-Modul: Anschluss für größere Farbdisplays mit Touch-Bedienung
- Basis-Modul32: mit ESP32 (Nachfolger des ESP8266 mit integriertem Bluetooth und mehr IO-Pins), wahrscheinlich mit doppelter Breite (60x45x15 mm)
- am Basismodul: per Micro-USB Kabel (PC, USB-Steckernetzteil, Powerbank), geregelte 3,3V oder 5V per ft-Stecker oder 3,3V per I2C-Buchse bei Betrieb mit anderem Controller
- per Akku-Modul mit internem LiPo/LiIon-Akku oder externem Power-Akku
- per Spannungsregler-Modul mit 7-24V ungeregelt aus Fremdakku oder Netzteil
- Arduino mit ESP8266 core (c++)
- MicroPython (Python)
- NodeMCU (lua - einfache Skript-Sprache)
- FreeRTOS - cross-platform real–time operating system
- Tasmota (MQTT, Web UI...)
- Scratch 2 (Graphisches Programmieren)
- und dutzende weitere, u.a. mit Fokus home automation/Internet of Things wie z.B. ESP Easy
- hilfreiche Vorerfahrungen: 3D-Druck, Löten elektronischer Schaltungen auf Lochrasterplatinen (kein SMD), Arduino-ähnliche Plattformen
- unverzichtbares Werkzeug: 3D-Drucker, Lötstation
- hilfreich: Entisolierzange, Blechschere, Schieblehre, Heißklebepistole oder Polymorph, Breadboard und Jumperkabel, Crimpzange, dritte Hand, Rund- und Flachfeile etc. pp.
- Für einzelne Module (z.B. Servo): AVR-Programmer (z.B. USBasp) oder Arduino
- Wenig kindertauglich, v.a. bei Nutzung von LiPo-Akkus! Nachbau und Betrieb auf eigenes Risiko!
- Geringe Schutzvorkehrungen gegen Fehlbedienungen: teils ohne Verpolungsschutz, wenig geschützte Eingänge
- Keine eigene ft-firmware, dafür aber eine riesige Online-Community und massig Online-Ressourcen für die ESP8266-Plattform (Libraries, Beispielprogramme, Video-Tutorials ...)
- Aufwand für Eigenbau, keine Serienfertigung
- Sicherer Kontakt von Modulen ist ein (allerdings lösbarer) Schwachpunkt, da 12mm Platinenverbindung in 15mm Gehäuse
- Relativ wenige Ein-/Anbaumöglichkeiten für ft-Teile (nur unter der Basis, je Modul links/rechts eine einzelne Nut, zus. eine oben auf manchen Abschlussmodulen)
- Kein integriertes Bluetooth wie der modernere ESP32 (aber per Modul ergänzbar)
- Hohe Modulstapel bei komplexeren Projekten
Ich werde die nächsten Tage die einzelnen Module noch etwas genauer vorstellen. Wenn Euch was genauer interessiert oder Ihr an einem Nachbau interessiert seid, einfach hier oder per PN nachfragen.
vg
Jan