Lok24
10.09.2021, 16:49

Editiert von
Lok24
07.01.2023, 18:28

+8Pybricks Programmsammlung

Hallo zusammen,


Die unten genannten Programme funktionieren mit der neuen Version von Pybricks (3.2) leider nicht mehr.

----------------------------------------------------------------------------------------------------

hier möchte ich für alle Interessierten im Laufe der Zeit eine kleine Sammlung an Pybricks-Programmen aufbauen.
Sie sind fertig, es braucht nicht programmiert zu werden, solange man die Standardwerte nutzt.
Dazu später unten mehr.

Die Programme werden via Webbrowser fest in ein City-Hub oder Technic-Hub geladen, zum Betrieb ist dann kein SmartDevice oder ähnliches nötig.

Die Installation ist hier beschrieben.
Installation.pdf
Falls irgendwo noch auf beta.pybricks.com verwiesen wird: das ist nicht mehr sinnvoll, es läuft alles mit code.pybricks.com (Juli 2022)

Das ist bebildert und recht ausführlich, der Weg ist ganz grob:

Download & Save Programm (s.u)
Entpacken
Website von Pybricks öffnen
Eigenschaften setzen
Programm öffnen
Download Programm auf Hub


Derzeit verfügbare Programme

AutoBox Für City Hub + Fernbedienung
Schaltet 1-2 beliebige Motoren am Hub mit der Fernbedienung für eine einmal voreingestellte Geschwindigkeit.

Download AutoBox1.12.zip

Download Anleitung und Parameter.pdf

Wenn alles eingerichtet ist handelt es sich quasi um eine ferngesteuerte Akku-Box mit voreingestellter Geschwindigkeit.

Das Programm speichert den eingestellten Wert in der FB als Teil des FB-Namens.
(eigentlich sollte das im Hub gespeichert werden, da warten wir noch auf die Pybricks Programmierer um das zu ermöglichen, dann geht das auch ohne FB wird nicht unterstützt...) Irgendwann scheinbar doch....

Die Idee ist:
Hub mit FB koppeln, Geschwindigkeit einstellen, speichern.
Alles aus machen
Ab dann kann man immer wieder mit dem Hub und dieser(!) FB den Motor ein- und ausschalten, mit der gespeicherten Geschwindigkeit.

Features
- Regeln der Motorgeschwindigkeit via FB
- Starten und Stoppen mit der zuletzt gespeicherten Geschwindigkeit
- Speichern der aktuellen Geschwindigkeit
- Automatische Erkennung der Motoren
- Lastregelung bei Tacho-Motoren
- Motoren auch verschieden schnell drehend möglich
- Minimal- und Maximalgeschwindigkeit einstellbar
- Drehrichtung beider Motoren voreinstellbar
- Weiter Beschleunigen bei Festhalten der Taste (an und abschaltbar)
- Keine Fahrtrichtungsumkehr bei Überschreiten von Null
- Knöpfe frei den Funktionen zuzuordnen
- Einstellen der LED-Farben und Helligkeit von Hub und der FB



ShuttleTrain(Für City Hub + Fernbedienung)
Kontrolliert einen Zug mit Motor und Lichtsensor anhand von farbigen Abschnitten im Gleis

Download ShuttleTrain 1.4.zip

Download Anleitung und Parameter.pdf

Features
- Automatische Erkennung des Motors
- Lastregelung bei Tacho-Motoren
- Minimal- und Maximalgeschwindigkeit einstellbar
- Drehrichtung des Motos voreinstellbar
- Verbinden mit einer ganz bestimmten FB
- Einstellen der LED-Farben und Helligkeit von Hub und FB
- Pendelverkehr zwischen zwei Farbkacheln
- oder Kreisverkehr auf einem geschlossenen Oval
- Wartezeiten für beide Richtungen getrennt einstellbar
- Zug automatisch oder manuell nach Halt starten
- Umschaltung automatisch/manuell via FB, auch im laufenden Betrieb
- Tasten frei zuzuordnen

Achtung: ShuttleTrain derzeit im Test-Status

MotorControl (City Hub, Fernbedienung)
Steuert 1-2 beliebige Motoren am Hub mit der Fernbedienung
Download MotorControl 2.7.zip*

Download Anleitung und Parameter.pdf

Features:
- Automatische Erkennung der Motoren
- Lastregelung bei Tacho-Motoren
- Motoren auch verschieden schnell drehend möglich
- zwei verschiedene Beschleunigungsprofile, im Betrieb durch Tastendruck wählbar
- Minimal- und Maximalgeschwindigkeit einstellbar
- Drehrichtung beider Motoren voreinstellbar
- Weiter Beschleunigen bei Festhalten der Taste (an und abschaltbar)
- Keine Fahtrrichtungsumkehr bei Überschreiten von Null
- Knöpfe frei den Funktionen zuzuordnen
- Weiterfahren oder Anhalten bei Verlust der FB-Verbindung
- Verbinden mit einer ganz bestimmten FB
- Einstellen der LED-Farben und Helligkeit von Hub und FB
- Auch für Technik Hub geeignet (nur Port A und B)


(* wer die 2.5 im Einsatz hat: die kann nicht mehr fehlerfrei geladen werden, da sich der pybricks-code geändert hat; Wer seine 2.5 anpassen will:
In Zeile 251 muss es heißen:
speed_limit, acceleration_limit, torque_limit = Motor(port).control.limits()

Fragen und Anregungen sind willkommen, Testkandidaten sowieso

Grüße

Werner



Thomas52xxx , friccius , Heather , jpsonics , Gimmick , Ben® , JuL , tmctiger gefällt das (8 Mitglieder)


28 vorhergehende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen Beitragsbaum

Ben®
04.10.2021, 11:49

Als Antwort auf den Beitrag von Ben®

+1Re: Pybricks Programmsammlung // Doppelmotor-Test Teil 2

Ben® hat geschrieben:


PU läuft jetzt per Fernbedienung wie erhofft in zwei Anwendungsfällen:
• Krokodil mit Tachoregelung (ging zuvor auch per Kurzschlussbrücken und Leistungsregelung)
• Loks mit zwei Drehgestellen können jetzt mit 2 PU Motoren versehen werden.
(bisher nur als Power Functions mit Receiver und Polwechsler in einer der Leitungen zu den 2 Motoren)


Moin-Moin!

Nur, um noch ein weiteres anschauliches Feedback zu hinterlassen:
Am Wochenende wurde ein zweites Hub für gleichzeitiges Ansteuern von 2 Motoren per Fernbedienung ertüchtigt. Alles wie zuvor gehabt, nur ganz ohne Probleme. Diesmal auch in klar unter 15 Minuten.
Und weil jetzt bereits 3 Hubs ihre Firmware überschrieben bekommen haben, habe ich eine kleine Plastik-Notizkarte mit in die "schlaue" Batteriebox gelegt, in der notiert steht, dass das Hub modifiziert ist (und mit welchem Programm).
Bei jetzt 7 Hubs im Haushalt (davon 2+1 mit verschiedenen PY-Programmen) geht sonst der Überblick schnell verloren.

"Opfer" dieses Umbaus war die reguläre PU-Güterzuglok 60198 (gerade letzte Woche zu 125 Eur bei MyToys zu haben), die einen zweiten Motor implantiert bekam. Jetzt reißt die richtig was weg. Auf sanften Kurven sind 11 Waggons gar kein Thema. Die bringt die Lok mit etwas würgen auch durch sich schlängelnde Kurven+Weichen.
Auf der sanft gekurvten Strecke gingen sogar noch ein paar Waggons mehr; das Limitierende sind dann eher die Magnetkupplungen. Aber ein kurzes Video mag mehr zeigen als es Worte beschreiben können.



Beste Grüße,

Ben


[image]



mehr Bilder gibt's hier:

[image]


"blay s....!" - Aber China Klone (puke!) sind noch viel schlimmer...


JuL gefällt das


Lok24
04.10.2021, 12:07

Als Antwort auf den Beitrag von Ben®

Editiert von
Lok24
04.10.2021, 12:17

Re: Pybricks Programmsammlung // Doppelmotor-Test Teil 2

Moin Ben®,

Ben® hat geschrieben:

Am Wochenende wurde ein zweites Hub für gleichzeitiges Ansteuern von 2 Motoren per Fernbedienung ertüchtigt. Alles wie zuvor gehabt, nur ganz ohne Probleme. Diesmal auch in klar unter 15 Minuten.


YES!

Ben® hat geschrieben:
Die bringt die Lok mit etwas würgen auch durch sich schlängelnde Kurven+Weichen.

Genau, der Nachteil der Zugmotorn, keine Lastregelung. Dafür platzsparend. irgendwas ist immer...

Vielen Dank für das erneute Feedback, die Installationsanleitung ist inzwischen überarbeitet, inzwischen gibt es auch eine Anleitug für das Programm, hier:

https://www.1000steine.de...amp;id=457307#id457307

Pendelzug ist in Arbeit,coming soon (diese Woche?)

Grüße

Werner



rgbs
13.07.2022, 05:05

Als Antwort auf den Beitrag von Lok24

+2Re: Pybricks Programmsammlung

Hallo zusammen,

dank Werners Anleitung, recht herzlichen Dank dafür, ist es mir relativ problemlos gelungen meine Loks mit Pybricks zu "befeuern". Zwei Motoren schieben halt besser an. Nach Änderung der Zeile 210 im Programm MotorControl 2.6 läuft auch das Krokodil prima über die Fernbedienung.

Gruß
R.G.



Thomas52xxx , JuL gefällt das


Lok24
13.07.2022, 09:28

Als Antwort auf den Beitrag von rgbs

Editiert von
Lok24
13.07.2022, 09:31

Re: Pybricks Programmsammlung

Hallo,

schön dass es klappt.
Was ist an der Zeile 210 so eigenartig?
Sollte das Programm einfach falsch sein?



rgbs
13.07.2022, 09:55

Als Antwort auf den Beitrag von Lok24

Re: Pybricks Programmsammlung

Hallo Werner,

wenn ich in Zeile 210 eintrage, dass der "schlaue" Motor ein "normaler" Eisenbahnmotor ist,

[image]


läuft das Krokodil perfekt.
Mit Vorgabe "Motor" wird z.B. nur ca. die halbe Endgeschwindigkeit erreicht.
Als Parameter habe ich (15,100,10,100).

Gruß
R.G.



Lok24
13.07.2022, 10:30

Als Antwort auf den Beitrag von rgbs

Editiert von
Lok24
13.07.2022, 11:06

Re: Pybricks Programmsammlung

rgbs hat geschrieben:

Mit Vorgabe "Motor" wird z.B. nur ca. die halbe Endgeschwindigkeit erreicht.
Als Parameter habe ich (15,100,10,100).

Ah, vielen Dank. Das scheint mit der Änderung von Pybricks (beta<> stable) zusammenzuhängen, ich werde das mal untersuchen.

PS. Huch, da ist einiges verloren gegangen, das geht von max (1000) aus, richtig wäre, das motorabhängig zu machen (speed_limit) War's auch mal, der "Nachteil" deiner Lösung: keine Lastregelung



rgbs
13.07.2022, 11:44

Als Antwort auf den Beitrag von Lok24

Editiert von
rgbs
13.07.2022, 11:46

Re: Pybricks Programmsammlung

Lok24 hat geschrieben:

(speed_limit) War's auch mal, der "Nachteil" deiner Lösung: keine Lastregelung

Der Haken ist ja, wenn eine Kaskadenregelung nicht zufriedenstellend funktioniert, bringt es ja nichts.

Gruß
R-G.



Lok24
13.07.2022, 12:49

Als Antwort auf den Beitrag von rgbs

Re: Pybricks Programmsammlung

rgbs hat geschrieben:

Der Haken ist ja, wenn eine Kaskadenregelung nicht zufriedenstellend funktioniert, bringt es ja nichts.

Was ist eine Kaskadenregelung?
Und was sollte da bei pybricks nicht gehen?
https://www.youtube.com/watch?v=UaNMkoPSUSA

Mein Programm funktioniert ja :-)

Der Fehler ist: das geht bei DC von 0 - 100 (dc(s)), bei anderen von 0-1000, run(s*10), aber es müsste bis zum vom Motor gemeldeten Speed_Limit gehen, das wird ja extra ermittelt.
Zeile 252/253
Wenn das bei z.B. 1500 liegt läuft der nur mit 2/3 Geschwindigkeit.



Lok24
13.07.2022, 15:21

Als Antwort auf den Beitrag von Lok24

Re: Pybricks Programmsammlung

Lok24 hat geschrieben:

Wenn das bei z.B. 1500 liegt läuft der nur mit 2/3 Geschwindigkeit.

Habe jetzt zwei Stunden Fehler gesucht, aber keinen gefunden, Speed-Limit ist 1000 für die XL-Motoren;
Mit mehr laufen die auch nicht schneller, und beide laufen ungefähr gleich schnell.
Aber der Fehler ist ja da.

Welche Motoren nutzt Du?



Lok24
13.07.2022, 17:34

Als Antwort auf den Beitrag von rgbs

Re: Pybricks Programmsammlung

Habs jetzt mal eingetütet, hier ist das Programm:

from pybricks.pupdevices import Motor
from pybricks.parameters import Port
from pybricks.tools import wait

# Initialize two XL-motors on port A and B.
m1 = Motor(Port.A)
m2 = Motor(Port.B)

#start both motors
m1.run(2000)
m2.dc(100)

#wait and show results
wait(1000)
print(m1.speed(),m2.speed())

Und das Ergebnis:
991 1555
960 1570
960 1570
991 1555
991 1555
1006 1555

Also ist der dc-Mode 50% schneller......
Ts_ hatte mich auch schon darauf aufmerksam gemacht, in Wörrstadt.



31 nachfolgende Beiträge sind ausgeblendet

Alle anzeigen Immer alle anzeigen

Gesamter Thread: