Files
crumbmissions/missions/robots/lipo_power_academy.sh
Branko May Trinkwald 271008ea10 📊 Logs jetzt im Repo statt User-Verzeichnis!
**Änderung: Option A - logs/ im Repo**

Vorher:
- Logs in ~/.{character}_logs/ (User Home Directory)
- Multi-Projekt aber verstreut
- Nicht im Repo sichtbar

Nachher:
- Logs in logs/{character}/ (Repo Directory)
- Projekt-spezifisch & übersichtlich
- Mit Fallback: ${CRUMB_LOGS_DIR:-$HOME/.{character}_logs}
- Für Standalone-Nutzung

**Geänderte Files:**
- lib/waldwaechter.sh: CRUMB_LOGS_DIR exportiert
- Alle 17 crumbforest_roles/*: LOGDIR updated
- missions/robots/*: Mission logs → logs/missions/
- .gitignore: logs/ hinzugefügt

**Log-Struktur:**
```
logs/
├── tobi/
│   ├── tobi_history.json
│   ├── token_log.json
│   └── ...
├── crabbyrust/
├── mayaeule/
└── missions/
```

**Tested:**  Tobi funktioniert, Logs landen in logs/tobi/

🌲 "Was kostet die Frage eines Kindes?" - jetzt transparent im Repo!

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-21 16:25:10 +01:00

408 lines
11 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 🔋 LiPo Power Academy - Batterie-Wissen für Roboter-Bauer
# "Power braucht Respekt, nicht Angst"
# Waldwächter laden
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${SCRIPT_DIR}/../../lib/waldwaechter.sh"
# === INTRO ===
clear
cat << "EOF"
⚡🔋 LiPo POWER ACADEMY 🔋⚡
"Power braucht Respekt, nicht Angst"
Lerne alles über LiPo-Batterien:
Spannung, Ladung, Sicherheit & Power!
EOF
echo ""
sleep 2
# === PHASE 1: WAS IST EINE LiPo? ===
echo "🐿️ CapaciTobi: Die Grundlagen"
echo ""
tobi "Erkläre mir: Was ist eine LiPo-Batterie? Warum nutzen Roboter LiPos statt AA-Batterien? Und was bedeutet '6S' in '6S LiPo'?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
read -p "💡 Wie viele Zellen hat DEIN Roboter-Projekt? (z.B. 1S, 2S, 3S, 6S) " CELL_COUNT
echo ""
echo "📊 Dein Projekt: $CELL_COUNT LiPo"
echo ""
# === PHASE 2: SPANNUNG VERSTEHEN ===
read -p "⚡ Drücke Enter um Spannung zu verstehen..." -r
clear
echo "📊 SPANNUNG & ZELLEN"
echo ""
cat << "EOF"
🔋 LiPo Zellen-Spannungen:
Storage Mode (Lagerung): 3.8V pro Zelle
Entladen (leer): 3.0V pro Zelle ⚠️ NICHT DARUNTER!
Voll geladen: 4.2V pro Zelle
HV Mode (High Voltage): 4.35V pro Zelle
Beispiel 6S LiPo:
- Leer: 6 × 3.0V = 18.0V (nicht weiter entladen!)
- Storage: 6 × 3.8V = 22.8V (optimal für Lagerung)
- Voll: 6 × 4.2V = 25.2V (normal geladen)
- HV: 6 × 4.35V = 26.1V (HV geladen)
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
tobi "Für deine $CELL_COUNT Batterie: Rechne mir die Spannungen aus - leer, storage, voll!"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 3: SICHERHEIT! ===
read -p "🔐 Drücke Enter für Sicherheit..." -r
clear
echo "🦀 CrabbyRust: Sicherheit geht vor!"
echo ""
crabbyrust "LiPo-Batterien können gefährlich werden wenn falsch behandelt. Erkläre die 3 größten Gefahren und wie man sie vermeidet: Überladung, Tiefentladung, Cell Imbalance."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
cat << "EOF"
⚠️ SICHERHEITS-REGELN:
1. NIE unter 3.0V pro Zelle entladen
2. NIE über 4.2V (oder 4.35V HV) laden
3. Cell Imbalance > 0.3V = NICHT LADEN!
4. Immer Balance-Ladegerät nutzen
5. Bei Beschädigung/Aufblähen = ENTSORGEN
6. Niemals unbeaufsichtigt laden
7. LiPo-Safe-Bag zum Laden nutzen
🔥 Eine falsch behandelte LiPo kann brennen!
💚 Aber mit Respekt sind LiPos sicher & kraftvoll!
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 4: LADUNG SIMULIEREN ===
read -p "⚡ Drücke Enter fürLade-Simulation..." -r
clear
echo "🎮 LADE-SIMULATION"
echo ""
cat << "EOF"
📚 Die LiPo 6S Charger Simulation zeigt:
🔋 3 Lade-Modi:
1. Storage Mode (3.8V/Zelle) - Für Lagerung
2. Standard (4.2V/Zelle) - Normal laden
3. HV Mode (4.35V/Zelle) - Maximale Leistung
🔍 Safety Check:
Cell Imbalance ≥ 0.30V → ❌ REJECT
Cell Imbalance < 0.30V → ✅ SAFE TO CHARGE
🔗 Probiere selbst:
https://194-164-194-191.sslip.io/crumbblocks/lipo_6s_charger_sim_safe_v7.html
📖 Test Cases:
T1: Balanced Pack (✅ safe)
T2: Slightly Unbalanced (✅ safe)
T3: Critical Imbalance (❌ reject)
T4: Storage Mode (✅ safe)
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
read -p "🤔 Hast du ein Balance-Ladegerät? (j/n/weiß nicht) " CHARGER_TYPE
if [[ "$CHARGER_TYPE" == "weiß nicht" ]]; then
echo ""
echo "🐌 Schnecki erklärt..."
schnecki "Ein Balance-Ladegerät lädt jede Zelle einzeln und gleicht Unterschiede aus. Das ist WICHTIG für LiPos! Erkenne ich am Balance-Stecker (kleiner weißer Stecker mit vielen Drähten)."
echo ""
fi
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 5: KAPAZITÄT & LAUFZEIT ===
read -p "🔋 Drücke Enter für Kapazität & Laufzeit..." -r
clear
echo "📊 KAPAZITÄT & LAUFZEIT"
echo ""
read -p "⚡ Wie viel mAh hat deine Batterie? (z.B. 2200, 5000) " MAH_CAPACITY
read -p "🤖 Wie viel Strom zieht dein Roboter ca.? (z.B. 500mA, 2A) " CURRENT_DRAW
echo ""
tobi "Ich rechne: Eine ${MAH_CAPACITY}mAh Batterie mit ${CURRENT_DRAW} Stromverbrauch - wie lange läuft der Roboter?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
cat << "EOF"
💡 Faustregeln:
Laufzeit = Kapazität / Stromverbrauch
(aber nur ~80% nutzen für Batterie-Schonung!)
Beispiel:
2200mAh / 1000mA = 2.2h theoretisch
2200mAh × 0.8 / 1000mA = 1.76h praktisch
C-Rating:
20C bei 2200mAh = 44A Burst-Power möglich!
(2.2Ah × 20 = 44A)
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 6: ANSCHLUSS & VERKABELUNG ===
read -p "🔌 Drücke Enter für Verkabelung..." -r
clear
echo "🐌 Schnecki: Langsam & sicher anschließen"
echo ""
schnecki "Eine LiPo hat 2 Stecker: Haupt-Stecker (dick, für Power) und Balance-Stecker (dünn, für Ladegerät). Zeig mir wie man sie sicher anschließt - mit welchem Stecker zuerst?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
cat << "EOF"
🔌 ANSCHLUSS-REIHENFOLGE:
Anschließen (Roboter verwenden):
1. Balance-Stecker ZUERST (wenn vorhanden)
2. Haupt-Stecker DANN
Trennen:
1. Haupt-Stecker ZUERST
2. Balance-Stecker DANN
Warum? Verhindert Funkenbildung!
⚠️ Polarität beachten:
Rot = Plus (+)
Schwarz = Minus (-)
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🐻 Schraubbär: Batterie befestigen"
schraubaer "Die Batterie muss sicher montiert sein! Sie darf nicht wackeln oder fallen. Welches Material nutzen wir? Klettband, Batterie-Strap, oder Halterung?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 7: LAGERUNG & PFLEGE ===
read -p "📦 Drücke Enter für Lagerung & Pflege..." -r
clear
echo "🐘 DumboSQL: Batterie-Tracking"
echo ""
dumbosql "Ein Elefant vergisst nie - und du solltest deine Batterie-Zyklen auch tracken! Wie speichern wir: Lade-Datum, Zyklus-Anzahl, Spannung pro Zelle? Welche Datenstruktur?"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
cat << "EOF"
📦 LAGERUNG & PFLEGE:
Storage Voltage:
- Immer bei 3.8V/Zelle lagern
- NICHT voll geladen lagern (schadet Batterie)
- NICHT leer lagern (Tiefentladung!)
Lagerung:
- Kühl & trocken (Raumtemperatur OK)
- LiPo-Safe-Bag nutzen
- Nicht in direktem Sonnenlicht
- Weg von brennbaren Materialien
Lebensdauer:
- 300-500 Zyklen typisch
- Bei Aufblähen = ENTSORGEN
- Kapazitätsverlust normal
- Cell Imbalance wächst mit Zeit
Entsorgung:
- NICHT in Hausmüll!
- Entladen auf ~3.0V
- Zum Recyclinghof oder Elektronik-Händler
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === PHASE 8: POWER DISTRIBUTION ===
read -p "🧭 Drücke Enter für Power-Verteilung..." -r
clear
echo "🧭 Vektor: Power-Verteilung planen"
echo ""
vektor "Dein Roboter hat viele Komponenten: Motoren, Servos, Mikrocontroller, Sensoren. Jeder braucht Power. Wie verteilen wir die Spannung? Von A nach B - ich zeige den Weg."
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
cat << "EOF"
🔌 POWER-VERTEILUNG:
LiPo → BEC/Regler → Komponenten
Beispiel 3S LiPo (11.1V nominal):
├─→ Motor-ESC (11.1V direkt)
├─→ BEC → 5V → Mikrocontroller
├─→ BEC → 5V → Servos
└─→ BEC → 3.3V → Sensoren
Wichtig:
- Nicht alle Komponenten vertragen LiPo-Spannung!
- BEC (Battery Eliminator Circuit) wandelt um
- Separate BECs für hohe Last (Servos)
- Gemeinsame Ground-Verbindung!
Low Voltage Cutoff (LVC):
Stoppt Motor bei ~3.0V/Zelle
Schützt Batterie vor Tiefentladung!
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === ABSCHLUSS ===
read -p "🎓 Drücke Enter für Abschluss..." -r
clear
cat << "EOF"
⚡🎓 LiPo POWER ACADEMY: ABGESCHLOSSEN! 🎓⚡
Du hast gelernt:
🔋 Grundlagen: Zellen, Spannung, Kapazität
⚠️ Sicherheit: 7 goldene Regeln
🔌 Anschluss: Richtige Reihenfolge
📊 Berechnung: Laufzeit & C-Rating
📦 Pflege: Storage Mode & Lagerung
🧭 Verteilung: BEC & Power-Plan
🔐 Safety: Cell Balance & LVC
"Power braucht Respekt, nicht Angst"
Mit diesem Wissen kannst du sicher
mit LiPo-Batterien arbeiten!
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# === LOG ===
LOGDIR="${CRUMB_LOGS_DIR:-$HOME/.crumbrobots_logs}/missions"
mkdir -p "$LOGDIR"
TIMESTAMP=$(date -Iseconds)
cat > "$LOGDIR/lipo_academy_${TIMESTAMP}.json" << EOF
{
"mission": "lipo_power_academy",
"timestamp": "$TIMESTAMP",
"cell_count": "$CELL_COUNT",
"capacity_mah": "$MAH_CAPACITY",
"current_draw": "$CURRENT_DRAW",
"has_balance_charger": "$CHARGER_TYPE",
"crew_used": [
"tobi",
"crabbyrust",
"schnecki",
"schraubaer",
"dumbosql",
"vektor"
],
"status": "completed",
"references": [
"https://194-164-194-191.sslip.io/crumbblocks/lipo_6s_charger_sim_safe_v7.html"
]
}
EOF
echo "📊 Mission geloggt: $LOGDIR/lipo_academy_${TIMESTAMP}.json"
echo ""
cat << "EOF"
📚 Nächste Schritte:
1. 🎮 LiPo Charger Sim probieren:
https://194-164-194-191.sslip.io/crumbblocks/lipo_6s_charger_sim_safe_v7.html
2. 🛒 Equipment besorgen:
- Balance-Ladegerät
- LiPo-Safe-Bag
- Voltage-Checker/Alarm
3. 🤖 In Roboter-Projekt einbauen:
- BEC auswählen
- Verkabelung planen
- LVC konfigurieren
4. 📖 Batterie-Log führen:
- Lade-Zyklen zählen
- Spannungen notieren
- Storage-Datum merken
EOF
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🐿️ CapaciTobi sagt:"
echo ""
echo " Respekt vor Power ist Intelligenz."
echo " Mit diesem Wissen bist du bereit!"
echo " ⚡💚"
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🌲 Zurück zum Wald..."
sleep 2