česky english Vítejte, dnes je úterý 16. duben 2024

HDQ sběrnice a repase accu-packů

DPS 4/2016 | Články
Autor: Tomáš Majer

V čísle 6 časopisu DPS z roku 2015 byl uveřejněn článek Ing. Tomáše Navrátila z firmy Ryston Electronics o digitálních sběrnicích analogových součástek. V článku nebyla zmíněna jednovodičová

sběrnice HDQ, kterou využívají některé integrované obvody společnosti Texas Instruments, které monitorují stav nabití (kapacity) bateriových packů. Tento článek vzniklou mezeru vyplňuje popisem

sběrnice HDQ a demonstruje její využití při výměně článků v accu-packu.

Popis HDQ sběrnice

HDQ sběrnice je z hardwarového hlediska velmi podobná sběrnici 1-Wire, ze které konstrukčně vychází. Z hlediska SW je více podobná pětivoltovému sériovému kanálu (UART) na principu RS-232 či RS-485. Sběrnice je výrobcem konstruovaná pro připojení dvou jednotek – MASTER (nejčastěji mikropočítač nebo hradlové pole) a SLAVE (nejčastěji právě zmiňovaný obvod monitorující baterie). Sběrnici není možné větvit, ale čistě teoreticky by bylo možné jednotek MASTER připojit na sběrnici i více, ale v jednom okamžiku by pouze jedna z nich mohla být aktivní, aby nedošlo ke kolizi provozu.

Princip zapojení je na obr. 1. Rezistor R1 provádí pull-up sběrnice na Ucc. Logická jednička představuje na sběrnici klidový stav. Zápis logické nuly provádí MASTER nebo SLAVE pomocí tranzistorů, které sběrnici uzemňují. Rezistory R2 a R3 společně s TVS diodou D1 tvoří ochranné prvky. Kromě pětivoltové verze sběrnice HDQ existuje i verze třívoltová.

Obr. 1 Principiální zapojení HDQ sběrnice

Komunikace po sběrnici pracuje v režimech zápis do SLAVE nebo dotaz od MASTERa. SLAVE smí vysílat na sběrnici pouze, pokud je dotazován. Před zahájením komunikace se na sběrnici vysílá stav Break. Ohledně vysílání Break koluje v dokumentacích několik nejasností a protikladů. „Break by se měl vysílat před začátkem celkové komunikace a potom pouze, pokud SLAVE přestane komunikovat (Break způsobí reset na sběrnici a obnoví komunikaci). Break by se neměl vysílat před každým zápisem nebo čtením“ – slova firemní literatury. Prakticky bylo zjištěno, že pokud se do SLAVE pouze zapisuje, tak někdy není možnost zkontrolovat, zda-li byl zápis skutečně proveden. Break je tedy vhodné vysílat před každou komunikací po sběrnici HDQ, což bylo prakticky funkčně ověřeno. Toto sice přenosovou rychlost zpomaluje, ale zaručuje úspěšnost přenosu.

Datagram sběrnice HDQ, viz obr. 2, je pouze dvě slova dlouhý. První osmibitové slovo obsahuje adresu jednoho z až 128 možných adresovatelných registrů (sedmibitová adresa) a dále informaci o zápisu do registru nebo jeho přečtení (směr přenosu dat). Druhé slovo, nejčastěji rovněž osmibitové, obsahuje přenášená data generovaná MASTEREM nebo SLAVEM podle určeného směru přenosu. V tzv. preliminary datasheetech sběrnice HDQ bylo uvedeno, že druhé slovo může být i šestnáctibitové. Tato varianta se zřejmě prakticky nevyráběla. Maximální rychlost přenosu je asi 5 kbit/s.

Obr. 2 Komunikace po sběrnici HDQ

Na obr. 2 je dále zobrazeno, kterou část datagramu na sběrnici generuje MASTER a kterou SLAVE. Obr. 2 dále ukazuje nastavení bitu, který přepíná směr přenosu. Další velmi důležitý parametr je Response Time, který jednak generuje prodlevu mezi prvním a druhým slovem a dále určuje, do kdy by měl SLAVE začít odpovídat na dotaz MASTERA. Na obr. 2 není chyba. Tento parametr je měřen od začátku posledního start-bitu prvního(adresového) slova.

Datový formát vychází z klasického sériového kanálu. Jak je všem vývojářům jistě známo, sériový kanál (UART), vysílá start bit, dále datové bity a stop bit. HDQ sběrnice používá podobný model s tím rozdílem, že významový bit je mezi start a stop bitem vždy jenom jeden. Jinak řečeno každý přenášený bit osmibitového slova je synchronizován svým vlastním start bitem a stop bitem. Tento model je také podobný sběrnici 1-Wire. Viz obr. 3. Datový bit, který je vysílaný MASTERem může i zabírat časový úsek T3, i když ten je vyhrazen k doběhu signálu. Naproti tomu SLAVE data vysílá na sběrnici pouze v časovém úseku T2 a stav sběrnice v době T3 není definován.

Obr. 3 Detail synchronizace bitu

Různé obvody řady bqXXXX obsahující HDQ sběrnici využívají bohužel různá časování sběrnice HDQ. Nelze tedy realizovat jeden univerzální řadič HDQ sběrnice bez přepínání časování podle použitého obvodu z řady bqXXXX. Řadič sběrnice lze realizovat hradlovým polem nebo softwarovou emulací na bráně procesoru. Jako řadiče lze použít také klasického sériového kanálu (UART), který je atypicky využíván [1].

Výměna článků v accu-packu

Každá baterie má s elektrikou společné pouze dvě věci – póly plus a minus. Vše ostatní je chemie, a proto celá řada accu-packů vyžaduje monitorovací elektroniku. Blokové schéma accu-packu je na obr. 4, kde je pro přehlednost zakreslena i ochrana proti přepětí při nabíjení. Předesílám, že repase accu-packů se z finančních důvodů příliš nevyplatí vzhledem k extrémně vysoké pořizovací ceně nových článků na tuzemském trhu. Repasí accu-packů se v ČR zabývá celá řada firem, ale firem, které úspěšně zrepasují notebookovou baterii mnoho nenajdeme. Důvodem je především neschopnost přeprogramování monitorovací elektroniky v accu-packu.

Další řádky (příklad repase Li-Ion accu-packu do notebooku) je třeba chápat pouze z akademického hlediska nebo je mohou využít vývojáři, kteří mají přístup k levnějším, ale stejně kvalitním článkům např. přes eBay apod. Magicky se postupuje přibližně v následujících krocích:

1. Pokud je vadný accu-pack ještě natolik funkční, že s jeho monitorovací elektronikou Windows komunikují – lze vyčítat v Power Managementu stav nabití, pak se accu-pack v notebooku maximálně dobije.

2. Po ukončení nabíjení accu-pack násilně otevřeme. Nesmí se však jeho obal příliš poškodit a také při otevírání způsobit vnitřní zkrat.

3. Pokud je monitorovací elektronika accu-packu založena na některém čipu využívajícím HDQ sběrnici a accu-pack současně neobsahuje mikroprocesor, mikrokontrolér a podobně, pak je repase accu-packu podle tohoto návodu možná.

4. Od příslušného monitorovacího čipu stáhneme z internetu datasheet a na plošném spoji zjistíme výstup sběrnice HDQ. Většinou je vyveden na konektor, který spojuje accu-pack s notebookem.

5. Pomocí sběrnice HDQ a datasheetu monitorovacího obvodu se přečte nastavení všech jeho registrů, a to jak registrů pro zápis a čtení, tak i registrů určených pouze pro čtení. Hodnoty registrů určených pouze pro čtení se později porovnají s novými hodnotami po výměně článků.

6. Některé monitorovací obvody si uchovávají data ve svých registrech i po dosažení vybití accu-packu k hranici 2 V na celý accu-pack. V tomto případě již není komunikace s accu-packem po HDQ sběrnici možná. Pokud již Windows v bodě 1 accu-pack odmítly, pak se paralelně k sério-paralelní kombinaci vadných článků připojí DC zdroj nastavený na hodnotu jmenovitého napětí accu-packu s proudovým omezením asi 100 mA. Volí se precizní přesný laboratorní zdroj, nikoliv DC adaptér do zásuvky.

Články napájející monitorovací obvod nesmí být odpojeny. Další postup podle bodu 5.

 

Poznámka 1: A zde v tomto bodě nastává většinou neúspěšnost repase notebookových accu-packů. Ovladač accu-packu ve Windows monitoruje jednak typové číslo accu-packu a dále monitoruje příznakový registr (pouze pro čtení), který signalizuje výměnu článků. V 90 % případů chybné nastavení těchto dvou registrů zapříčiní nefunkčnost accu-packu v notebooku. Někdy Windows monitorují ještě větší množství parametrů.

 

7. Vadné články se odpojí od monitorovací elektroniky a na jejich místo se připojí opět DC zdroj stejně jako v bodě 6.

8. Pomocí sběrnice HDQ zapíšeme zpět do monitorovacího obvodu jeho původní nastavení. Je zřejmé, že lze zapsat pouze do registrů typu ReadWrite. Především zkontrolujeme správnost zapsání typového čísla accu-packu.

9. Na napájecí svorky konektoru, kterým se accu-pack připojuje k notebooku, se zapojí malý zatěžovací rezistor.

10. Na napájecím zdroji pomalu snižujeme napětí. Pomocí sběrnice HDQ monitorujeme registry, až příznakový registr nesignalizuje výměnu článků. Potom se napětí zvýší zpět na jmenovité a zatěžovací rezistor se odpojí.

11. Monitorovací elektronika neodpojená od zdroje se vloží do notebooku a notebook se odpojí od síťového napětí. Nyní by měl jít notebook spustit na napájení z laboratorního zdroje. Pokud se tak stane, je z části vyhráno.

12. Vypneme notebook i napájecí zdroj a monitorovací elektroniku vyjmeme z notebooku. Postupujeme znovu podle bodů 7 až 11 s tím rozdílem, že pomocí HDQ sběrnice zapíšeme do monitorovacího obvodu hodnoty z datasheetu nově zakoupených článků, a to zejména jmenovité napětí accu-packu, jmenovitou mAh kapacitu accu-packu, maximální nabíjecí napětí, maximální vybíjecí a nabíjecí proud, minimální hodnotu vybití viz poznámka 2, typ anody, případně další parametry. Typové číslo accu-packu raději ponecháme původní.

 

Poznámka 2: Z nových accu-packů bylo zjištěno, že minimální hodnota napětí vybití accu-packu je stanovená výrobcem accu-packu pod kritickou hodnotou vybití článků udávanou výrobcem článků (!!!). Když dosahujeme kritické hodnoty vybití článků notebookem (kontrolováno laboratorním voltmetrem), tak Windows stále zobrazují zbývající kapacitu accu-packu asi 35 %. Dalším vybíjením se však již accu-pack nenávratně poškozuje. Důvod je jednoduchý – slušně řečeno – „jedná se o kurvítko“. Hodnotu můžeme tedy i s citem zvýšit a mít k dispozici určitou rezervu při trochu nižší kapacitě accu-packu.

 

13. Monitorovací elektroniku vložíme do notebooku a podle bodu 11 zjišťujeme, zdali Windows nové nastavení akceptuje, pokud ne, pak některé hodnoty je nutné nastavit zpět do původních. Problém většinou bývá s mAh kapacitou, která většinou úzce souvisí s typovým číslem accu-packu. Zde je nutné trochu experimentovat.

14. Notebook přivedeme do normálního režimu práce a z laboratorního zdroje odečteme dodávaný proud.

15. Nové články nabijeme do konečných znaků nabití, neboť jistě byly dlouho skladovány. Nabíječek a metod nabíjení je na internetu popsaná celá škála, takže se zde tímto nebudeme zabývat. Články se dále finálně připojí k monitorovací elektronice accu-packu.

16. Pomocí HDQ sběrnice nastavíme hodnoty registrů akceptovatelné Windows.

17. Podobně jako v bodě 9 se připoj k accu-packu zatěžovací rezistor, jehož hodnota je stanovena ze jmenovitého napětí accu-packu a odečteného proudu z bodu 14.

18. Accu-pack vybíjíme a zároveň voltmetrem kontrolujeme, zda-li nedošlo k dosažení minimální hodnoty napětí accu-packu. Současně tuto skutečnost kontrolujeme pomocí HDQ sběrnice. Při dosažení o něco málo nižší hodnoty napětí dojde k vymazání příznaku výměny článků. Při procesu vybíjení accu-packu se formují informace v registrech, které jsou určené pouze pro čtení. Periodicky je vyčítáme pomocí sběrnice HDQ a porovnáme s hodnotami získanými v bodě 5. Hodnoty by se příliš neměly lišit. Accu-pack zakrytujeme.

19. Vybitý accu-pack vložíme do notebooku, který sám provede jeho nabití. V tomto prvotním nabíjení se hodnoty v registrech dále formují. Jde např. o hodnotu skutečné mAh kapacity, dále se zapíše první cyklus vybití-nabití. Z těchto prvotních hodnot se později stanovuje stáří accu-packu a další parametry.

 

Poznámka 3: Některé inteligentnější notebooky neodmítají accu-pack, pokud je v něm nastaven příznak výměny článků v accu-packu a samy začnou accu-pack vybíjet k minimální hodnotě napětí vybití. Potom automaticky provedou prvotní nabíjení. Bohužel také podle typového čísla přeprogramují registry zpět do nechtěných hodnot..., co si o tom myslet, že?

 

Doufám, že článek svým obsahem aspoň rozšířil znalosti čtenářů o poznání funkce sběrnice HDQ a nastínil problematiku repase accu-packů. Firma Texas Instruments nabízí rovněž vývojové kity pro řady obvodů bqXXXX a převodník, který umožňuje sběrnici HDQ jednoduše ovládat přímo z počítače PC viz [2] a [3].

Literatura

[1] Texas Instruments – Application Note SLVA101 – HDQ Communication Basics for TI’s Battery Monitor ICs

[2] Texas Instruments – Application Note SLUU042A – EV2200 PC Interface Board for Gas Gauge Evaluation

[3] Texas Instruments – Application Note SLUU047 – EV2200-50H – Evaluation System User Guide

[4] Texas Instruments – Application Note SLUU081 – bq2013HEVM-001 – Gas-Gauge IC Evaluation Module