-
Notifications
You must be signed in to change notification settings - Fork 2
Home
- Verbinde die Steuereinheit mit der Waage via RS-232 Stecker.
- Verbinde die Steuereinheit mit dem Trickler.
- Stelle sicher, dass sich die SD-Karte in der Steuereinheit befindet.
- Schalte die Waage an und nulle diese (TARE).
- Verbinde die Steuereinheit mit dem Netzteil.
Im Display der Steuerung sollte nun das gleiche Gewicht wie auf der Waage angezeigt werden.
Falls dies nicht der Fall ist, überprüfe die Einstellungen der Waage und die Konfiguration ("protocol" & "baud").
Der Robo-Trickler sollte jetzt mit einem Standard (avg) Pulverprofil starten. Stelle das Zielgewicht im Display ein und drücke auf Start. Der Trickler startet nur, wenn die Waage genullt ist (TARE).
Wähle im Profil-Tab ein passendes Pulver aus. Falls das gewünschte Pulver nicht vorhanden ist, kann zum testen das "avg" Pulverprofil genommen werden. Das "avg" Pulverprofil ist ein Durchschnitt vieler Pulver und sollte mit jedem Pulver funktionieren, das aber recht langsam. Deswegen erstellt für jedes Pulver ein eigenes Profil!
Für jedes Pulver MUSS ein eigenes Profil angelegt werden, um ein optimales Trickeln zu gewährleisten!
Jede Waage MUSS vor dem Gebrauch warm Laufen, je nach Modell bis zu 1h! Ansonsten "driftet" der gewogene Wert und die Waage geht nicht auf 0 wenn man die Pulverpfanne leer auf die Waage stellt.
Zum Erstellen eines eigenen Pulverprofils wird das "calibrate" Profil benutzt, welches sich in der calibrate.txt befindet.
{
"1": {
"weight": 0.000,
"steps": 20000,
"speed": 200,
"alarmThreshold": 1,
"measurements": 20
}
}
Das "calibrate" Profil dreht den Trickler 10x mit der Geschwindigkeit von 200.
Um das "calibrate" Profil zu benutzen, wähle dieses im "Profile Tab" auf der Steuerung mit den Pfeiltasten aus.
- Stelle das Gewicht, das getrickelt werden soll, auf >3 Gramm oder >40 Grain ein.
- Drücke auf Start.
- Lasse den Trickler mindestens 3x mit dem calibrate Profil laufen, wenn du den Trickler-Tank frisch mit Pulver aufgefüllt hast, damit das Tricklerrohr richtig gefüllt ist.
- Notiere dir, wie viel der Trickler bei einem Durchgang (10 Umdrehungen) getrickelt hat.
- Öffne die profileGenerator.html von der SD-Karte (oder im Webbrowser, wenn der Trickler mit Wifi verbunden ist).
- Trage beim "Profile Generator" den notierten Wert bei "Weight of Calibration run (20000 Steps)" ein.
- Wähle die Einheit, mit der du getrickelt hast (Unit Gramm / Grain).
- Klicke auf "Generate Profile".
- Es wird ein neues Pulverprofil erzeugt.
- Trage einen Profilnamen ein, z.B. das Kürzel des Pulvers, bei "Vihtavuori n140" z.B. n140.
- Klicke auf Download.
- Kopiere das heruntergeladene Profil in das Hauptverzeichnis der SD-Karte.
- Stecke die SD-Karte wieder in den Trickler und starte diesen neu (Strom ab und wieder dran).
- Jetzt sollte euer neues Profil im "Profile Tab" auswählbar sein.
Du kannst natürlich auch das Pulverprofil komplett selbst erstellen. Der Generator erzeugt nur eine Basis, auf die man aufbauen kann.
Noch ein paar Hinweise:
- Wenn man zu wenig "steps" angibt (abhängig vom Motor im Trickler), kann es sein, dass sich der Trickler gar nicht bewegt.
- Die "speed" sollte zwischen 10 und 200 liegen, sonst kann es sein, dass sich der Trickler nicht bewegt.
- Niedrigere Trickel-Geschwindigkeiten ("speed") fördern meist eine höhere Pulvermenge.
- In einem Profil kann bei jedem Schritt eine andere Geschwindigkeit benutzt werden, z.B. am Anfang eine langsame Geschwindigkeit für viel Pulver und am Ende eine hohe Geschwindigkeit für nur ein Körnchen.
- Zu viele "measurements" und es kann sehr lange dauern, bis ein Schritt bearbeitet ist. Am Anfang reichen meist 2 Messungen, am Ende sollten es mindestens 5 sein.
Wenn du die Einheit der Waage umstellst, muss auch das Pulverprofil angepasst werden.
Hierzu musst du bei jedem Schritt im Profil das "weight" auf Grain oder Gramm umrechnen/umstellen.
Um ein Profil von Gramm auf Grain umzustellen, multipliziere die Gramm mit 15,432.
Du kannst auch für jedes Pulver jeweils für Gramm und Grain ein eigenes Profil anlegen, z.B. RS14Gramm.txt und RS14Grain.txt, und diese dann in der config.txt bei "powder" umstellen.
Gramm Profil:
{
"1": {
"weight": 0.001,
"steps": 3600,
"speed": 200,
"measurements": 20
}
}
Umgebaut auf Grain:
{
"1": {
"weight": 0.015,
"steps": 3600,
"speed": 200,
"measurements": 20
}
}
Beispiel N135 Pulverprofil mit 12 Schritten:
{
"1": {
"weight": 46.297,
"tolerance": 0,
"alarmThreshold": 1,
"stepsPerUnit": 155,
"steps": 7165,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"2": {
"weight": 30.865,
"steps": 4777,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"3": {
"weight": 15.432,
"steps": 2388,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"4": {
"weight": 7.716,
"steps": 1194,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"5": {
"weight": 3.858,
"steps": 597,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"6": {
"weight": 1.929,
"steps": 299,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"7": {
"weight": 0.965,
"steps": 149,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"8": {
"weight": 0.482,
"steps": 75,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"9": {
"weight": 0.241,
"steps": 37,
"speed": 200,
"measurements": 5,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"10": {
"weight": 0.121,
"steps": 19,
"speed": 200,
"measurements": 10,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"11": {
"weight": 0.06,
"steps": 10,
"speed": 200,
"measurements": 15,
"oscillate": false,
"reverse": false,
"acceleration": false
},
"12": {
"weight": 0,
"steps": 10,
"speed": 200,
"measurements": 15,
"oscillate": false,
"reverse": false,
"acceleration": false
}
}
-
"ZAHL": Nummer des Schrittes, es sind 1 bis 15 Schritte möglich, diese müssen aufsteigend nummeriert sein.
-
number: Welcher Trickler verwendet werden soll, 1 oder 2. Standard ist 1, wenn der Parameter weggelassen wird.
-
weight: Das Gewicht, bei dem dieser Schritt ausgeführt wird. Entfernung zum Zielgewicht.
-
steps: Schritte, die der Trickler ausführen soll (200 = 1 Umdrehung).
-
speed: Geschwindigkeit, mit der sich der Trickler dreht.
-
measurements: Anzahl gleicher Messergebnisse von der Waage, die kommen müssen bis zum nächsten Trickeln.
-
tolerance: Die Abweichung, die zum Zielgewicht erlaubt ist. Nur in Schritt 1 definieren!
-
alarm_threshold: Gibt einen Alarm aus, wenn der Zielwert um die verwendete Einheit überschritten wird. Nur in Schritt 1 definieren!
-
oscillate: Für Tricklerrohre, die innen nicht blank sind, auf "false" stellen (Rohr dreht sich in eine Richtung), Standard ist "true", dabei bewegt sich das Rohr hin und her (180°).
-
reverse: true, Drehrichtung umkehren, Standard ist false.
-
stepsPerUnit: Schritte, die es braucht, um 1 Gramm oder 1 Grain zu trickeln. Anhand dieses Wertes wird der erste Trickelschritt berechnet, um möglichst schnell zum Zielgewicht zu kommen. Wird stepsPerUnit weggelassen oder auf 0 gesetzt, wählt er den nächst passenden Schritt vom Profil aus. Nur in Schritt 1 definieren!
-
acceleration: true, der Tricklermotor beschleunigt. Das ist bei hoher Motordrehzahl nötig, sonst vibriert der Motor nur.
Über den Parameter "number" im Pulverprofil wird festgelegt, welcher Trickler benutzt wird. Wird "number" nicht angegeben, benutzt er standardmäßig Trickler 1, um kompatibel mit alten Profilen zu bleiben.
Statt eines 2. Tricklers kann man hier auch ein Pulverfüllgerät mit einem Schrittmotor versehen und diesen im Profil genauso benutzen (hier kann die Option "oscillate" hilfreich sein).
Pulverprofil-Beispiel für 2 Trickler, in den Schritten 1-5 benutzt er Trickler 2 und in den restlichen Trickler 1:
{
"1": {
"number": 2,
"weight": 1,
"steps": 2000,
"speed": 200,
"tolerance": 0.000,
"alarm_threshold": 0.100,
"measurements": 2
},
"2": {
"number": 2,
"weight": 0.5,
"steps": 1000,
"speed": 200,
"measurements": 2
},
"3": {
"number": 2,
"weight": 0.25,
"steps": 500,
"speed": 200,
"measurements": 2
},
"4": {
"number": 2,
"weight": 0.125,
"steps": 250,
"speed": 200,
"measurements": 2
},
"5": {
"number": 2,
"weight": 0.062,
"steps": 124,
"speed": 200,
"measurements": 2
},
"6": {
"number": 1,
"weight": 0.031,
"steps": 62,
"speed": 200,
"measurements": 2
},
"7": {
"number": 1,
"weight": 0.015,
"steps": 30,
"speed": 200,
"measurements": 2
},
"8": {
"number": 1,
"weight": 0.007,
"steps": 14,
"speed": 200,
"measurements": 5
},
"9": {
"number": 1,
"weight": 0.003,
"steps": 6,
"speed": 200,
"measurements": 15
},
"10": {
"number": 1,
"weight": 0.001,
"steps": 5,
"speed": 200,
"measurements": 20
}
}
Falls die SD-Karte defekt ist oder beim Bearbeiten Fehler aufgetreten sind, können die SD-Karten-Daten hier neu heruntergeladen werden. Die SD-Karte muss mit FAT32 formatiert sein!
Unter Windows kannst du auch die "Create_SD_Card.bat" nutzen. Gib den Laufwerksbuchstaben ein und die SD-Karte wird automatisch erstellt.
Video Anleitung:
{
"wifi": {
"ssid": "MeinWlanName",
"psk": "MeinWlanPassword",
"IPStatic": "",
"IPGateway": "",
"IPSubnet": "",
"IPDNS": ""
},
"scale": {
"protocol": "GG",
"customCode": "",
"baud": 9600
},
"profile": "calibrate",
"weight": 2.540,
"log_Measurements": 20,
"microsteps": 1,
"beeper": "done",
"debug_log": false,
"fw_check": true
}
- wifi
- ssid: Trage hier deinen WLAN-Namen ein. Nur 2.4GHz WLAN wird unterstützt!
- psk: Trage hier dein WLAN-Passwort ein. Bei offenem WLAN einfach leer lassen.
- IPStatic: Optional, statische IP-Adresse.
- IPGateway: Wenn statische IP-Adresse verwendet wird, muss die Gateway-IP ausgefüllt werden.
- IPSubnet: Wenn statische IP-Adresse verwendet wird, muss die Subnet-IP ausgefüllt werden.
- IPDNS: Optional, DNS-Server-IP, z.B. 8.8.8.8.
- scale
- protocol: Unterstützte Waagenprotokolle: G&G "GG", Sartorius (Denver) "SBI", Kern "KERN", Steinberg "STE" und A&D "AD".
- baud: Die Geschwindigkeit, mit der die Waage Daten per RS-232 überträgt, meistens 9600 baud.
- customCode: Falls eine nicht unterstützte Waage verwendet wird, kann hier das Kommando eingetragen werden, mit dem Daten von der Waage angefordert werden. Dieses Kommando ist meist im Handbuch der Waage zu finden.
- profile: Der Name des Pulverprofils. Wenn der Dateiname "MeinPulver.txt" ist, muss hier "MeinPulver" eingetragen werden.
- weight: Das zuletzt eingestellte Gewicht zum Trickeln.
- log_measurements: Anzahl der Messungen im "Logger Modus", die durchgeführt werden müssen, damit der Wert in die CSV-Datei geschrieben wird.
- beeper: Es gibt drei Modi: 1. Bei Abschluss des Trickelns piepen ("done"), 2. Beim Drücken auf den Touchscreen ("button"), 3. Beides ("both").
- microsteps: Microsteps-Einstellung des Schrittmotors 1/1 = 1, 1/2 = 2, ..., 1/64 = 64.
- debug_log: true loggt die Daten der Waage in eine debugLog.txt auf der SD-Karte. Standard-Einstellung ist false.
- fw_check: true prüft, ob eine neue Firmware verfügbar ist und zeigt dies im Display an. Standard-Einstellung ist true.
Auf der SD-Karte befindet sich die configGenerator.html, welche das Erstellen einer Konfiguration erleichtert. Der configGenerator wird auch via Webserver bereitgestellt.
Wenn die Konfiguration fertig ist, kopiere den Text in deine config.txt oder gehe auf Download und kopiere die config.txt direkt auf die SD-Karte.
Es gibt zwei Möglichkeiten, ein Firmware-Update durchzuführen:
- Kopiere die update.bin auf die SD-Karte.
- Führe das Update via Webbrowser -> "FW Update" durch.
Die neueste Firmware findest du hier.
Prüfe die config.txt und das verwendete Pulverprofil mit dieser Seite. Die Seite zeigt Formatierungsfehler in den Dateien an und korrigiert sie ggf.
Drücke auf den "Logger Tab", um in den Logger-Modus zu wechseln.
![image](https://github.com/ripper121/RoboTrickler/assets/11836272/66dca116-4737-
4590-a1b0-e0716063a6cd)
- Klicke auf Start und platziere dein erstes Objekt, z.B. ein Projektil, auf der Waage.
- Warte, bis "Count: N Saved" auf dem Display steht.
- Nimm das Projektil von der Waage und platziere es auf Position 1 in einem Brett.
- Warte, bis "Place next..." auf dem Display erscheint.
- Platziere das nächste Projektil auf der Waage usw.
- Wenn du alle Projektile gewogen hast, klicke auf Stop.
- Öffne die Logdatei auf der SD-Karte. Sie befindet sich im Ordner "log".
- Die Logdatei ist im CSV-Format abgespeichert und kann mit jedem Tabellenkalkulationsprogramm, z.B. Excel, geöffnet werden.
- Mit Excel (oder anderer Software) kannst du die Projektile nach Gewicht sortieren.
Um den Wifi-Modus zu aktivieren, trage SSID (Wifi-Name) und PSK (Wifi-Passwort) in die "config.txt" ein. !!! Nur 2.4GHz Wifi wird unterstützt !!!
{
"wifi": {
"ssid": "Mein Wifi Name",
"psk": "Mein Wifi Password"
},
"scale": {
"protocol": "GG",
"baud": 9600
},
"profile": "n135",
"log_measurements": 10,
"microsteps": 1,
"beeper": "done",
"debug_log": false
}
Der Trickler sollte sich dann beim Starten mit dem WIFI verbinden und dies im Display anzeigen "Connecting WIFI...". Bei erfolgreicher Verbindung steht im "Info Tab" die IP-Adresse, über die der Trickler erreichbar ist.
Je nachdem welchen Router du hast, solltest du den Trickler jetzt über http://robo-trickler.local oder http://robo-trickler erreichen. Wenn das nicht funktioniert, benutze die IP-Adresse, die im "Info Tab" erscheint, und gib diese IP im Browser ein, z.B. http://192.168.178.22.
Mit dem File Browser kannst du die Dateien auf der SD-Karte bequem über den Webbrowser bearbeiten, ohne jedes Mal die SD-Karte herausnehmen zu müssen. Änderungen an der Konfiguration / Profilen werden erst nach einem Neustart übernommen. Dafür ist der Reboot-Button da.
!!! Jede Änderung an einer Config-Datei oder Pulverprofil wird erst nach einem Neustart des Tricklers übernommen !!!
Hilft bei der Erstellung von Pulverprofilen.
Hilft bei der Erstellung und Anpassung der config.txt.
Um das Zielgewicht zu setzen, kann man http://robo-trickler.local/setValue?targetWeight=WERT aufrufen. Für 2.353g -> http://robo-trickler.local/setValue?targetWeight=2.353
Um den Trickler neu zu starten, klicke auf "Reboot" im Webbrowser.
Es gibt zwei Möglichkeiten, ein Firmware-Update durchzuführen:
- Kopiere die update.bin auf die SD-Karte.
- Führe das Update via Webbrowser -> "FW Update" durch.
Die neueste Firmware findest du hier.
Es sollten alle G&G Waagen mit RS232 kompatibel sein.
Eine Empfehlung für Wiederlader direkt von G&G: https://gandg.de/download/anleitungen/Wiederlader%20Infobrosch%C3%BCre.pdf
Man sollte alle Filter ausschalten und die Sensibilität auf maximal stellen. Falls der Gewichtswert zu sehr schwanken sollte, spiele etwas mit C1 und C2.
Anleitung für G&G Waagen: https://gandg.de/index.php/downloads
Beispiel Einstellung für die PLC100:
C1 - 0 Sensibilität
C2 - 0 Schwingungsfilter
C3 - 6 Baudrate (9600) oder 0 (9600 baud, stream mode), 1 (9600 baud, auto print on stable)
C4 - 27 Gerätenummer
C5 - 0 Autom. Abschaltung
C6 - 0 Belegung der Print-Taste
C7 - 0 Hinteres Display abschalten
Empfehlung: die G&G PLC100BC, max. 100g und 0,001g Messbereich reichen aus. Diese habe ich selbst im Einsatz.
- https://waage-shop.com/PLC-Feinwaagen-Tischwaage-Praezisionswaagen_10
- https://www.amazon.de/PLC-Baureihe-Pr%C3%A4zisionswaage-Industriewaage-Tischwaage-Batteriebetrieb/dp/B00ZCRLPY6
Empfehlung: die G&G JJ100B, max. 100g und 0,001g Messbereich reichen aus. Die G&G JJ200B wurde auch schon getestet.
- https://waage-shop.com/JJ-B-Praezisionwaage-Laborwaage
- https://www.amazon.de/JJ100B-Pr%C3%A4zisionswaage-Laborwaage-Industriewaage-Tischwaage/dp/B004S5V09I
Wer es ganz genau haben will, kann diese Serie benutzen. 0,1 mg Messbereich.
- https://waage-shop.com/JJ-BC-Industrie-Analysenwaage-mit-externer-Justierung-120g-01mg-JJ124BC
- https://www.amazon.de/Industrie-Analysenwaage-Pr%C3%A4zisionwaage-Feinwaage-Laborwaage/dp/B00AQZEPZK
Es sollten alle Sartorius Waagen mit RS232 kompatibel sein. Ich habe das Übertragungsprotokoll Sartorius Balance Interface (SBI) implementiert.
- SI-603A habe ich persönlich (sehr altes Modell, wurde noch von Denver vertrieben).
Ihr braucht einen RS232-TTL Converter mit Male Anschluss:
- DAT.PROT. - SBI
- BAUD - 9600
- PARITY - NONE
- HANDSHK. - NONE
- DATABIT - 8 BITS
- KOM. AUSG. - AUTO.OHN
- ABBRUCH - AUS
- AUTO.ZYK - JEDER
- FORMAT - 16 ZEICH.
- AUTO.TARA - AUS
- DEZ.ZEICH. - DEZ.PUNKT
![image](https://github.com/ripper121/RoboTrickler/assets/11836272/59d735af-b699-481b-b775-00e
516723e08)
https://www.sartorius.com/download/492950/manual-cubis-mce-precision-balances-wmc6024-d-data.pdf
RS232 Stecker Einstellung:
Kern 440-21a, Kern PCB 100-3, Kern ABT-120 4NM und Kern EG-220 3NM wurden erfolgreich getestet.
5-Pol Stecker:
https://www.amazon.de/dp/B000LB4Q7G
Betriebsanleitung Kern PCB 100-3
Einstellungen für Kern PCB 100-3, die Kern 440-21a hat leider keine Filter Einstellung:
Sind implementiert, aber noch nicht getestet. Ihr braucht einen RS232-TTL Converter mit Female Anschluss:
https://www.aandd.jp/products/manual/balances/gxa_com_de.pdf
- Stream-Modus
- Baudrate 9600
- Datenbits 8 Bits
- Parität KEINE (Datenbitlänge 8 Bits)
- Stoppbits 1 Bit
- Code ASCII
https://www.aandd.jp/products/manual/balances/gp_de.PDF
Kapitel 9.3
- dougt-> Prt -> 3 (Streamermodus/Intervallspeichermodus)
- dougt-> int -> 0 (Jede Messung)
- dougt-> PUSE -> 0 (Keine Pause)
- 5iF-> bPS -> 4 (9600 bps)
- 5iF->btPr -> 2 (8 bits, keine)
- 5iF->t-UP -> 0 (Keine Begrenzung)
Optional:
- bASFnc -> Cond 0 (FAST )
- bASFnc -> 5Pd -> 1 (10-mal/Sekunde)
- bASFnc -> Pnt -> 0 (Punkt (.))
SBS-LW-200A
- 2COM
- 9600 brt
Ihr braucht einen RS232-TTL Converter mit Male Anschluss:
Lade die ZIP herunter: https://github.com/ripper121/RoboTrickler/releases/latest
Entpacke sie, öffne die flash.bat und trage den COM Port ein, dann drücke auf Enter. Im Geräte-Manager wird dir der COM-Port angezeigt (in meinem Fall, COM7)
Fülle den Standfuß mit etwas Schwerem, z.B. Bleischrot oder Gips.
Prüfe vor der Montage der Lager, ob das Alurohr in die Lager passt. Sollte es nicht passen, klemme das Alurohr in einen Akkuschrauber/Bohrmaschine und schleife mit Sandpapier den Durchmesser des Rohres herunter. Prüfe regelmäßig, bis alles passt.
Gib vor der Montage der Lager einen Tropfen Sekundenkleber an die Stelle, wo die Lager sitzen werden. Genau so an die Stelle der Motor-Kupplung, in die das Alurohr kommt. Trickler-Körper und Standfuß werden ebenfalls miteinander verklebt.
3D-Ansicht: https://a360.co/3uPOsYw
!!! Verpolung beschädigt den RS232 Stecker !!!
Hier die Korrekte Verkabelung:
| Steuerung | RS232 Stecker |
|-----------|---------------|
| 3V3 | VCC |
| GND | GND |
| SDA | TXD |
| SCL | RXD |
!!! Verpolung beschädigt den Motor Treiber !!!
Hier sieht man wie der Motor Treiber richtig rum gesteckt ist (verschiedene Modelle):
Falls das Alurohr nicht in die Lager passt (die Toleranzen sind bei den Rohren leider nicht immer optimal), muss man es etwas nachbearbeiten.
Dazu das Rohr einfach in eine Bohrmaschine einspannen und mit Schleifpapier bearbeiten.