|
Rozdział 4: Autonomia, Failsafe i Bezpieczeństwo
Część 1: Przyjazna Encyklopedia (Dla Każdego)
Bezpieczeństwo modelu o dużej mocy jest priorytetem. MCS posiada potrójny system zabezpieczeń przed ucieczką pojazdu (Fly-away).
🚨 1. Zabezpieczenie przed utratą sygnału (Failsafe)
- Failsafe WebUI (Wi-Fi): Jeśli sterujesz modelem za pomocą wirtualnego pada na telefonie i stracisz zasięg Wi-Fi na dłużej niż 0.5 sekundy, auto automatycznie wyłączy silnik i zahamuje.
- Failsafe Kierownicy USB: Jeśli odepnie się kabel kierownicy od Raspberry Pi 5 podczas jazdy, auto natychmiast zatrzyma się w miejscu.
🔋 2. Ochrona Baterii LiPo
Wbudowany czujnik napięcia monitoruje stan akumulatora napędowego.
- Jeśli napięcie spadnie poniżej 7.2V (ostrzeżenie), w WebUI na telefonie pojawi się komunikat, a system ograniczy maksymalną moc silnika o 30%.
- Jeśli napięcie spadnie poniżej 6.8V (próg krytyczny), auto automatycznie rozbroi silnik (DISARM), chroniąc ogniwa LiPo przed trwałym zniszczeniem.
Część 2: Inżynieryjny Deep Dive (Dla Specjalistów)
Warstwa bezpieczeństwa w trybie MCS jest zrealizowana na poziomie maszyny stanów w safety_supervisor.py oraz mikrokodu czasu rzeczywistego na RP2350.
1. Maszyna Stanów SafetyState
Moduł SafetySupervisor bezustannie aktualizuje stany bezpieczeństwa:
class SafetyState(Enum):
NORMAL = "NORMAL"
AVOID = "AVOID"
STOP = "STOP"
RTH = "RTH"
CRITICAL = "CRITICAL"
BATTERY_LIMIT = "BATTERY_LIMIT"
Reakcja na krytyczne stany akumulatora:
- Próg ostrzegawczy (
warning_battery_v = 7.2V): AktywacjaBATTERY_LIMIT– maksymalny sygnał gazu (PWM) zostaje ograniczony do wartościbattery_throttle_limit_us(domyślnie 1750µs, co odpowiada redukcji o ok. 50% zakresu powyżej neutralnego 1500µs). - Próg krytyczny (
critical_battery_v = 6.8V): Jeśli reakcja jest ustawiona nastop, system wymusza przejście do stanuSTOP, wysyłając komendę rozbrojenia.
2. Sprzętowy Watchdog (RP2350 OE Pin)
Zabezpieczenie przed zawieszeniem systemu operacyjnego Linux na RPi 5:
- RP2350 oczekuje regularnych pakietów Heartbeat z RPi 5 co najmniej raz na 250 ms.
- W przypadku braku ramki, timer watchdog na RP2350 przepełnia się i wyzwala przerwanie sprzętowe.
- Stan pinu GPIO połączonego z linią Output Enable (OE) sterownika PWM zostaje natychmiast zmieniony na stan niski/wysoki (w zależności od logiki), co wprowadza wyjścia PWM w stan wysokiej impedancji (High-Z). ESC traktuje to jako utratę sygnału odbiornika i natychmiast odcina zasilanie silnika trójfazowego.