RoboticsBrno / RB3204-RBCX

🔬 RBCX is a universal controller for hobby robots. It is a successor of RB3201-RBControl. It is used in our robot Robotka on Robo camp 2020.
https://rbcx.robotikabrno.cz/
Creative Commons Attribution Share Alike 4.0 International
4 stars 0 forks source link

Nabíjecí/stepdown řešení #71

Open vachajirka opened 1 year ago

vachajirka commented 1 year ago

Vznikna nabíjecí/stepdown řešení (modul nebo integr. na desce), který bude zapojen do napájecího systému desky. Budeme chtít nabíjet baterku z USB. Modul bude

Když je ESP vypnuté, tak chceme být schopní nabíjet.

yaqwsx commented 1 year ago

Screenshot from 2022-11-03 23-05-12

Screenshot from 2022-11-03 23-06-03

@dzarda: Tady jsou dvě mé implementace QC. Ta první funguje 100% (je vlastně i na původní nabíječce k RBCX), ta druhá by měla také (je to nápad od @cednik) ale netestováno (ale mám k dipozici desku, do které stačí jen QC logiky naprogramovat).

Zajímavé odkazy:

dzarda commented 1 year ago

@cednik bude snad přímočařejší najít 3 signály (snad 2 QC + 1 charge-enable), než dávat nabíjecí procesor.

yaqwsx commented 1 year ago

A což takhle přecijen přidat nějaký mini procesor, který by poslouchal na 1-wire? Nebo si prachsprostě na QC použít posuvný registr.

PS: To, co jsem nezmínil - určitě je třeba pro implementaci QC ještě měřit napětí na VBUS. Protože QC3 funguje po inkrementech.

dzarda commented 1 year ago

Pokud nenajdem piny, tak expander/pos. registr zní dobře. Mohlo by být na I2C.

Měření vbus je pravda, asi logicky může nahradit VBUS_DET

dzarda commented 1 year ago

Když je vypnuto a zapojím nabíječku, mělo by začít nabíjet.

yaqwsx commented 1 year ago

Zajímavá témata ohledně čínských USB-PD/QC triggerů:

Zajímavý je tento čip: http://fastsoc.com/wp-content/uploads/2022/05/FASTSOC-FS312-datasheetv1.4.pdf

Jen nevím, jak způsobit jeho kooperaci s procesorem, aby fungovala komunikace. Vypadá to, že přes GP0/GP1 mu jde vypnout QC. V ten moment by mohl nechat datové nožičky plovoucí. Pokud by to tak bylo, tak můžeme by-default vypínat QC a když koprocesor nedetekuje datovou komunikaci v timeoutu, tak zapne i QC.

yaqwsx commented 1 year ago

...a možná by se dal udělat reverse engineering tohoto: https://www.aliexpress.com/item/1005004004234197.html?algo_exp_id=012a7090-c208-4754-95eb-061c2ca17f9d-30&pdp_ext_f=%7B%22sku_id%22%3A%2212000028680984029%22%7D&pdp_npi=2%40dis%21USD%211.57%211.52%21%21%210.57%21%21%402100bddf16679110452915034ec9e2%2112000028680984029%21sea&curPageLogUid=B7G8aBxbSLsv

yaqwsx commented 1 year ago

A další várka IC, které umí řešit PD sink "samy" (dostupné z LCSC a tedy i JLC PCB):

... a s procesorem:

... případně WCH W549 je mikro s podporou USB a USB-C PD: http://www.wch-ic.com/downloads/CH549DS1_PDF.html

dzarda commented 1 year ago

Kandidát na 5V stepdown https://www.lcsc.com/product-detail/DC-DC-Converters_Texas-Instruments-TPS54623RHLR_C560970.html

dzarda commented 1 year ago

Kandidát na nabíječku https://www.digikey.com/en/products/detail/monolithic-power-systems-inc/MP2651GVT-0000-Z/16688711

dzarda commented 1 year ago

@yaqwsx Mohl bys mi prosím pomoct ještě s výběrem konkrétního QC/PD řešení?

Myslím, že USB BC rozpoznání nepotřebujeme. Asi stačí mít na začátku pokus o komunikaci...

pokusit se dělat PD/C current
pokusit se enumerovat USB
když USB enumerace vyšla:
   sosat 500mA (nebo víc pokud PD/C current vyšlo)
jinak když nevyšlo PD:
   pokusit se dělat QC
   když nevyšlo QC:
      sosat 500mA

Zajímavě vypadá CH224. Musel by se asi od USB odstřihnout/začít napájet až po neúspěšné enumeraci,

LDR6321 taky umí asi velký věci. Dokonce tam vidím nějaký "EN" piny, ale nenašel jsem ani zmínku, jestli to má skutečně nějakou enable logiku.

yaqwsx commented 1 year ago

Navrhuji:

Datasheety totiž vypadají docela mlhavě a nechce se mi riskovat, že nakreslíme desku, která nebude fungovat. Přemýšlím, jestli by náš problém ještě neřešil nějaký IC pro USB mux, který by nám DP/DM přepínal mezi procesorem a IC (anebo prostě QC handlovat v našem procesoru).

S procesem, který jsi napsal výše souhlasím a dělal bych to stejně.