Arduino Schaltung am PC entwickeln ...

Die Alternative wäre die Stromversorgung als "Bus" von Verbraucher zu Verbraucher weiterschlaufen und nur die PWM-Signale als Stern-Verdrahtung je einadrig von der Steuerung zu jedem Verbraucher, aber das erscheint mir für den begabten Laien schwieriger zu verdrahten.
Richtig interessant wirds, wenn Du nur einen 3-adrigen Bus verlegst (Masse, +12V, Daten) und statt der vielen Adern verbrauchernah je einen ATiny85 zur Erzeugung der PWM-signale verwendest. Keine Sorge, den ATiny45 gibts genauso lauffertig auf fingernagelgroßen Platinchen inkl Arduinoruntime und Bootloader wie die 'großen'.
 
Zuletzt bearbeitet:
Cool wäre dass ich einen weniger sperrigen Arduino nehmen könnte. Bislang bestimmt die Anzahl PWM-Ausgänge die Grösse.
 
und wo müsste ich da suchen?
nimm z.B. den Digispark.
So ein Teil werkeln bei mir im Haus (in Verbindung mit einem Solid-state-relais) als Treppenlichttimer :)
[DOUBLEPOST=1521479286][/DOUBLEPOST]
C2S oder wie das heisst?
Wenn es tatsächlich nur 3 Adern (Masse, plus + Data) sein sollen, dann läuft das konzeptionell auf 1-Wire hinaus. (Auch dafür gibts Arduino client und Server libraries).
Funktioniert, ist aber natürlich etwas Timingkritisch und damit (wenn es nicht gleich läuft) ohne Logic-analyser etwas schwierig zu debuggen. Mit 2 Datenleitungen ist es vom Timing her unkritisch, damit kannst Du I2C benutzen. Die 'größeren' µC können das alle in Hardware, auf den kleinen ATinys kann man das gleiche Funktionsprinzip aber auch in Software laufen lassen.
 
Zuletzt bearbeitet:
Und zum Programmieren einfach in den USB Port vom Computer stecken. Wie cool ist dass denn. Wenn sie jetzt noch ein Platinchen mit Eingang/Ausgang Steckverbinder gemacht hätten könnte man das Buskabel weiterschlaufen.
 
C2S oder wie das heisst?
Du meinst wahrscheinlich i2c? Da reichen aber 3 Leitungen nicht, man braucht 4 - denn Daten und Takt sind getrennt. Außerdem hat i2c den Nachteil, dass er unsymmetrisch und daher bei längeren, schlecht geschirmten Kabeln etwas störanfällig ist. Unter Umständen, kann sogar der gesamte Bus blockiert sein... nicht ganz unkritisch bei nem Fahrzeug ;)
Müsste man im VM wohl einfach mal ausprobieren...
 
Mit 1-wire ist der Kram von Dallas gemeint? Hat den großen Vorteil, dass pro Bit zwei Flanken drin sind, das macht die Synchronisation ohne Taktleitung einfach.
Wenn wirklich pro Verbraucher eine Platine zur Ansteuerung dran soll, würde ich hier über einen ATtiny9 nachdenken. Lässt sich zwar nicht so einfach programmieren (hat für SPI einfach zu wenig Pins :)), ist aber nicht größer als der nötige Spannungsregler.

Wenn das nicht nur einmal installiert wird, sondern in ein paar mehr VMS, stellt sich allerdings die Frage, wie man die Ansteuerplatine dem Verbraucher zuordnet, bzw. woher die "weiß", dass sie auf Fernlicht-Befehle reagieren soll und nicht auf Befehle für den linken Blinker. Geht das noch über Steck-/Lötbrücken auf der Ansteuerplatine, oder über einen Spannungsteiler, der per ADC ausgelesen wird? Oder bekommen die Ansteuerplatinen individuelle Seriennummern?
 
Oder bekommen die Ansteuerplatinen individuelle Seriennummern?
Eine in der Firmware hinterlegte Adresse würde völlig reichen. In einer Open-source-variante zum Selbernachbauen, bei der man eh alle ATinys selber programmiert setzt man die vor dem Programmieren einfach von Hand im Sourcecode.Das ginge natürlich auch besser (z.B. das ganze nach dem Programmieren noch über den USB-stecker konfigurierbar zu machen), der Punkt kann aber ruhig ganz hinten auf der Prioritätenliste stehen, da sind andere Baustellen wichtiger.
 
Das ginge natürlich auch besser (z.B. das ganze nach dem Programmieren noch über den USB-stecker konfigurierbar zu machen)
Oder über den sowieso vorhandenen Datenanschluss und einen extra zum Programmieren vorgesehenen zweiten 1-Wire-Bus an der Hauptplatine.

Ich hatte mir Gedanken darüber gemacht, in welche Richtung dieses Projekt hier marschiert. @Gear7Lover hat bisher Kleinserien entwickelt, die andere dann nur noch anschließen müssen, und ich dachte, dass das ein ähnliches Ziel hat. Dafür wäre es nützlich, wenn man zu dem Bausatz nicht mehr viel zusätzliche Ressourcen braucht, und Lötbrücken herstellen oder einen Verbraucher mal vorübergehend irgendwoanders anschließen kann jeder, der eine KSQ einlöten kann.
Wenn es zum Nachbauen für Arduino-Bastler sein soll, geht's anders einfacher. Dann ist auch der tiny9 aus dem Rennen, obwohl man damit schöne kleine Platinchen hinbekäme.
 
Ich weiss doch selber nicht wohin das marschiert. Bin noch in der Findungsphase.
  • Wenn ich mir die vielen KSQs mit vorgeschalteten atTiny als Buskoppler irgendwie fliegend im Schrumpfschlauch mit Innenkleber , also ein maximum an Dezentralisierung, vorstelle, dann ist das ja auch nicht wirklich elegant. Im Bug wäre dann ein Salat von fliegenden Platinchen.
  • Das Gegenteil hab ich ursprünglich angedacht, jeder Verbraucher wird an der Zentralsteuerung angeschlossen, dann weiss ich aus Erfahrung, dass das zu fingerdicken Kabelbündeln führt, die schwierig zu verstecken sind. Auch wird die Steuerung mit ihren vielen Anschlüssen sehr gross und sperrig, und dort wo man sie montieren kann ist der Platz lieb und teuer (also auf dem Radkasten für Tiller VMs bzw auf dem Tretlagermastfuss bei Panzerlenkung), weil dort auch noch Tacho, Navi, Leistungsmesser, Handy, Rückfahrmonitor, etc. sein wollen.
  • Die Zwischenlösung gewinnt gerade an Charme: An der Zentralsteuerung sind die Eingänge (Bedientaster, Bremsgriffschalter, Helligkeitssensor, Hauptschalter) angeschlossen und die Anzeigeleuchten integriert. Davon weg geht je ein Buskabel und eine Spannungsversorgung nach vorne und hinten zu je einer Substation. In den Substationen befindet sich ein weiterer kleiner Arduino, der seine Anweisungen von der Zentralsteuerung erhält und PWM und digitalAusgänge rausgibt und die Konstantstromquellen und Relais/Mosfets für dicke Verbraucher. Vorne angeschlossen werden können dann Blinker, Positionslichter, Scheinwerfer per PWM oder Scheinwerfer digital, Hupe. Hinten Blinker und Rücklichter. Man hat also drei Gehäuse. die kleinen Lichter wie Blinker kommen ohne KSQ daher, es werden die nackigen LEDs angeschlossen. Die Scheinwerfer haben die KSQs wohl weiterhin integriert, damit sie sich bei fehlendem Fahrtwind runterregeln und nicht überhitzen (Ich red hier nicht von Fahrradlampen).
 
Deine "Zwischenlösung" dürfte auch der beste Kompromiss sein. Was den Bus angeht, würde ich eher kein I2C und auch kein 1Wire einsetzen. Das ist eher für den Einsatz auf eng begrenztem Raum (= Platine) gedacht, aber nicht für die Verbindungslängen in einem VM. Ich würde von der Zentrale nach vorn/hinten jeweils eine geschirmte RS232 oder sogar RS485 Leitung (bspw. CAT 5/6 Kabel) verwenden. Das ist auch ganz simpel zu programmieren und schnell genug. Über ein Netzwerkkabel kann man auch die Stromversorgung integrieren und es wäre verpolungssicher steckbar.

Andererseits ist es auch so, dass man den ganzen Kram im VM eher nicht braucht. Nice to have aber eben nicht wirklich notwendig. Sag ich mal so, obwohl ich mich wirklich lange damit schon zu Cab-Bike Zeiten beschäftigt habe ...
 
Die Zwischenlösung gewinnt gerade an Charme:
Jep, klingt vernünftig - ein Steuermodul, ein Frontmodul und ein Heckmodul. Wenn viele Schalter am Tiller hängen, könnte man sich überlegen, ob man die direkt dort auf einer Platine auswertet und von dieser auch nur einen 3- oder 4-adrigen Bus auf den Radkasten führt.
Wie hattest Du eigentlich die PWM-Ansteuerung der Stromquellen geplant? Die kleinen, günstigen Platinchen, die mir gerade einfallen, schalten im Takt der PWM die Last ein und aus. Das gäbe aber bei 100Hz sehr unhübsche Perlschnureffekte. Treibst Du die Taktfrequenz so hoch, dass die Perlen auf der Schnur optisch dicht liegen, gibt's bei längeren Kabeln irgendwann EMV-Themen. Schon deswegen sind solche Front- und Heckmodule sinnvoll, da gehen getaktete Ströme (EMV-Sender) oder Steuersignale (EMV-Empfänger) nur über kurze Distanzen. Bei kurzen Leitungen oder mit µC und KSQ auf derselben Platine spielt auch Masseverschiebung keine große Rolle mehr, da könnte man die KSQs über analoge Spannungspegel ansteuern und das PWM-Thema komplett umgehen.

Aber wo schließt man Spiegelblinker an - Front- oder am Heckmodul? ;)

Was den Bus angeht, würde ich eher kein I2C und auch kein 1Wire einsetzen. Das ist eher für den Einsatz auf eng begrenztem Raum (= Platine) gedacht, aber nicht für die Verbindungslängen in einem VM.
I2C ja. Aber mit 1-Wire haben schon Leute die Temperaturen in ihrem Gewächshaus gemessen, um die Heizung zu steuern. Wenn man etwas größere Module anpeilt, kommen aber Controller ohne Hardware-UART sowieso nicht mehr in Frage.
 
Modbus über serielle Schnittstelle würde sich anbieten. Das ist für so was gemacht. Addressierung und Prüfsummen zur Störungsunterdrückung inklusive. Fertige Arduino-libraries dafür gibts auch. Ob man die seriellen Schnittstellen nun mit Logic-pegeln oder über MAX232 oder MAX485 fährt muss man ausprobieren. Mit normalen Logik-pegeln ist halt leichter zu stören. Fertige RS232-schields tragen (unter anderem wegen der DB9-steckverbinder) halt etwas dick auf.
 
Andererseits ist es auch so, dass man den ganzen Kram im VM eher nicht braucht. Nice to have aber eben nicht wirklich notwendig. Sag ich mal so, obwohl ich mich wirklich lange damit schon zu Cab-Bike Zeiten beschäftigt habe ...
Wie muss man das jetzt verstehen?
Ich nutze eine elektronische Alfine 11G Di2. Beim Einbau in mein Upright auch eher nur ein "nice to have" und damit ich für meine Kunden mit Di2 Erfahrungen sammeln kann.
Fährt jetzt seit 2,5 Jahren ... absolut reibungslos. Friert nicht ein, schützt das Getriebe, weil sie nicht unter extremer Vollast den Gang reinwürgt. Schaltverhalten bleibt über den Zeitraum gleich super, weil keine Züge verschmutzen.

Wär für ein VM bei mir ein "Must have" ... allerdings habe ich mich noch nicht damit auseinandergesetzt ob mir die Übersetzung recht wäre.
 
man könnte auch einfach alle Lampen mit SteuerICs, wie sie in den LED-stripes verwendet werden ansteuern. Also z.B. mit WS2811. Kleine Verbraucher können da direkt dranhängen. Für höhere Leistungen schaltet man eine entsprechende KSQ zwischen die PWM-Ausgänge der Chips und den Verbraucher. WS2811 kann beispielsweise 3 LED mit jeweils 256 Helligkeitsstufen per PWM pro IC ansteuern.
 
Andererseits ist es auch so, dass man den ganzen Kram im VM eher nicht braucht. Nice to have aber eben nicht wirklich notwendig. Sag ich mal so, obwohl ich mich wirklich lange damit schon zu Cab-Bike Zeiten beschäftigt habe ...
Ja stimmt schon! Schon meine Eigenbau-Zentralplatine mit allen Verbindungen ist etwas übertrieben.

Allerdings finde ich gerade die Möglichkeiten mit einem Ardunio alles über ein Bus-System wie I2C (oä) laufen zulassen interressant,
weil man dadurch den Kabelsalat durch ganze VM reduziert.

Zudem könnte man dann auch ganz einfach neue Geräte anschliessen...

Wie sieht das eigentlich im Auto aus?
Läuft die Elektrik dort mitlerweile auch über eine BUS-System?
 
Zurück
Oben Unten