ThunderFly-aerospace / TFGPS01

UAV GNSS navigation module with RTK capability.
GNU General Public License v3.0
19 stars 7 forks source link

USB power handling #29

Closed kaklik closed 1 year ago

kaklik commented 3 years ago

TFGPS je nyní konstruována tak, že napájení z USB je přímo spojeno s JST-GH konektory pro připojení dalších periferií. Toto řešení umožňuje skrz TFGPS01 napájet i autopilota a další jeho zařízení. Zároveň ale má i nepříjemné důsledky:

  1. Může dojít k nedefinovanému přetížení napájení z USB. (Situace nastala v kombinaci s TFUNIPAYLOAD a TFPROBE s neoptimální zenerovou diodou, nelze ale vyloučit že nenastane v nějakém budoucím případě)
  2. Na připojený USB kabel se dostavá přímo napětí z autopilota, které je ale různé od nominálních +5V (např. 5.4V). Tím může být ohrožena správná funkčnost jiných zařízení připojených k USB.
  3. Pixhawk autopilot zřejmě technicky nepředpokládá, že by byl napájen z konektoru periferie, tím jak je v něm konstruovaný power-selector.

Jsou následující řešení, jak zamezit vzniku těchto okolností.

  1. Zrušit možnost napájení autopilota skrz GPS. Tento způsob napájení je výhodný zejména kvůli tomu, že USB port na GPS je snadno dostupný. Jedná se ale možná o specifikum TF-G2, kdy je USB port TFGPS01 na volném boku vírníku.
  2. Vyřešit napájení externě připojených komponent tak, aby nemohlo dojít k propojení obou napájecích napětí a zároveň nemohl být přetížen USB port. To však vyžaduje instalaci proudové ochrany, která odpojí periferní konektory, při překročení celkového vstupního proudu z USB. Zároveň ale musí být USB port chráněn před vstupním napájecím napětí z autopilota (tuhle část asi řeší dioda). Proudové odpojování by možná šlo vyřešit vhodným power-selectorem se schopností měřit proud v jiném místě, než které rozpojuje.
ChroustJan commented 3 years ago

Zvolena varianta vratné pojistky 750mA na vstupu z USB s kombinací diody v sérii. Alternativou pojistky je obvod NCP361

kaklik commented 3 years ago

Po další diskusi se mi jako nejlepší řešení jeví postupovat variantou řešení 1. Což znamená:

Důvodem k tomuto postupu je i to, že firmware předpokládá servisní zásahy přes USB na autopilotovi. Například u CUAV V5+ dojde k rebootování autopilota při odpojení USB servisního konektoru (který je navíc proudově chráněn.). Autopilot se tak vždy dostane do definovaného stavu.

V PX4 jsou navíc servisní FW pojistky, které dovolí/nedovolí naarmování autopilota s připojeným USB kabelem. Tato vlastnost by při napájení přes TFGPS byla inherentně vyřazena.

Navíc všechny moje snahy o zachování možnosti napájení autopilota z TFGPS, končí na tom, že to napájení směrem do autopilota by se muselo v nějakých situacích odpojovat a to je velmi rizikové, protože se to nesmí stát během letu. Výše zmíněný návrh ale je tak nejkorektnějším přístupem s nejvíce deterministickým chováním.

ChroustJan commented 3 years ago

Vložený dvě diody, aby bylo splněno: Hardwarově zakázat napájení autopilota z USB na TFGPS. (na to by asi měla stačit dioda). Pak není potřeba proudová ochrana, protože sama GPS maximální proud USB nepřekročí. Do TFGPS dát diodu proti napájení USB konektoru napájením z autopilota.

roman-dvorak commented 1 year ago

Tato záležitost je vyřešena. Vznikl nový problém #32