SharkLab
grafický program pro nabíječky Shark
nově upravený pro podporu nabíječek e-Station BC6 Dual Power
Po delší době váhání jsem se rozhodl, že si pořídím novou nabíječku akumulátorů. Volba padla na nabíječku Shark 20, Je za relativně přijatelnou cenu, lze k ní přikoupit balancer PB-5, případně teplotní čidlo. Co mne lákalo nejvíce, byla možnost komunikace s počítačem a nechat si tak zobrazit nabíjecí/vybíjecí charakteristiky akumulátoru. Jestli to skutečně byla správná volba nevím. Posuďte sami.
Nemilým překvapením byla skutečnost, že teplotní čidlo, které se normálně připojuje do nabíječky a v případě použití balanceru se přepojuje k balanceru (protože na jeho místo přijde komunikační kabel), v nové verzi již není kam připojit. Konektor prostě chybí. že bych se špatně informoval před koupí? Nikoli. Na Internetu dodavatel, tedy firma Pelikán, tvrdí (ještě měsíc po mém upozornění), že teplotní čidlo se použít dá. Ve stažených manuálech, všude, kromě manuálu k výrobku. To je ale trochu pozdě.
Druhým zklamáním pak byl ovládací program. Ten se připojí pomocí USB kabelu, který si zákazník musí koupit k programu. Hned při prvním nabíjení jsem si všiml, že udaný proud na displeji nabíječky nesouhlasí s indexem na Y se proudu. Ne hned tak o málo ale asi o 20%. Jenom proud, ostatní údaje byli správné. Mezi další nectnosti patřilo to, že jsem během asi 5 nabíjení nikdy nedostal celou křivku. Program prostě bez varování skončil. Zkoušel jsem instalovat program na jiné dva počítače, ale výsledek byl stejný.
Nezbylo než se pusti do vývoje vlastního programu. Po večerech za zhruba 2 týdny byla hotova první verze programu. Tady je.
náhled programu |
Co umí první verze na rozdíl od orinálního programu?
- grafické zobrazení jednotlivých LiPol článků
- automaticé ukládání naměřených dat, které lze vypnout v konfiguraci programu
- snad přesnější zobrazení měřených údajů
- zobrazení údajů v grafu na jediný klik levého tlačítka myši
- zobrazení nastavení parametrů nabíječky
- zoom grafu
- výstup do .csv souboru
- je to freeware
Co bude umět další verze
- uživatelské škálování Y osy
- co mě, případně Vás, napadne.
Download programu SharkLab. (poslední data z 14. července 2007, 8:52:57)
Driver pro Vista, W7 a 8 (11.10.2013)
Historie programu, seznam opravených chyb a nové funkce.
Čas od času, jakmile budu mít novější verzi, dám ji na WEB. Pokud Vás program zaujme, můžete se občas podívat, jestli je tu nová verze. Bude-li o program zájem předělám tyhle stránky aby vypadaly více k světu. Některá z příštích verzí by mohla sama upozornit, že je připravena nová verze.
Budu rád za jakékoli připomínky, nápady atd.
Jak tedy nabíječka komunikuje s počítačem?
Snadno.
V počítači je nainstalován SW "bridge" mezi USB a virtuálním sériovým portem. Na rychlosti 9600Bd je vysílán zhruba každou vteřinu blok dat. Blok začíná údajem 0x7D a končí 0x7F. Všechny údaje mezi mají nastavem nejvyšší bit. Tím se dá snadno zjistit počátek bloku a měřené údaje pak nikdy nelze se začátkem bloku splést. Údaje jsou přnášeny po jednotlivém znaku nebo po dvojicích. Jedná-li se o dvojici znaků, pak nižší (dříve vyslaný) obsahuje hodnotu před desetinou čárkou, vyšší znak (vyslaný později) pak hodnotu za destinnou čárkou.
Popis struktury je následující:
typedef struct _shark_Rx_ { char startChar; // 0x7B unsigned char b_v_type : 1, // LiPol type 0 - 3.7V 1 - 3.6V a2 : 1, b_safetyTimer : 1, // 1 - safety timer ON (safetyTimer je nastavena hodnota) a4 : 1, b_keyBeep : 1, // 1 - ON b_buzzer : 1, // 1 - ON b3 : 1, b_capcut : 1; // 1 - capacity cut-off ON // (capacityCutOff je nastavena hodnota) char NiCd_sensDpeak; // NiCd Sensitivity D.peak [mv] 04 - default char NiMH_sensDpeak; // NiMH Sensitivity D.peak [mv] 04 - default char temp_cutOFF; // teplota pro ukonceni prace char wasteTime; // prodleva mezi nabijecim a vybijecim cyklem char backLight; // podsvetleni v % char inputPowerLow; // minimalni vstupni napeti char chargeState; // 0xX0 = vybijeni , 0xX1 = nabijeni // X je priznak cyklickeho nabijeni/vybijeni char NiCd_chargeCurrent; // nastaveny nabijeci proud char NiCd_dischargeCurrent; // nastaveny vybijeci proud char NiCd_cycleOrder; // 0 - DSCH>CHG, 1 - CHG>DSCH char NiCd_cycle; // NiCd cycle char NiMH_chargeCurrent; // nastaveny nabijeci proud char NiMH_dischargeCurrent; // nastaveny vybijeci proud char NiMH_cycleOrder; // 0 - DSCH>CHG, 1 - CHG>DSCH char NiMH_cycle; // NiMH cycle char LiPol_chargeCurrent; // nstaveny nabijeci proud char numCellCH; // pocet LiPol clanku pri nabijeni char LiPol_dischargeCurrent; // nastaveny vybijeci proud char numCellDCH; // pocet LiPol clanku pri vybijeni char Pb_chargeCurrent; // nstaveny nabijeci proud char Pb_chargeVoltage; // 1 - 2.0V 2 - 4.0V ... char pgmSelect; // vyber programu char runState; // 0 - neprobiha nabijeni ani vybijeni char __X4; // 0 char NiMH_dischEnd; // NiMH - napeti pro ukonceni vybijeni char __X5; // 0 char NiCd_dischEnd; // NiCd - napeti pro ukonceni vybijeni char safetyTimer [2]; char capacityCutOff [2]; char current [2]; // nabijeci proud pres baterii (mereny) char packVoltage [2]; // celkove napeti vsech clanku char temperature [2]; char __X7 [2]; // 0 0 char inpVoltage [2]; char capacity [2]; char cell_01 [2]; // napeti clanku 1 char cell_02 [2]; // napeti clanku 2 char cell_03 [2]; // napeti clanku 3 char cell_04 [2]; // napeti clanku 4 char cell_05 [2]; // napeti clanku 5 char cell_06 [2]; // napeti clanku 6 char cell_07 [2]; // napeti clanku 7 char cell_08 [2]; // napeti clanku 8 char cell_09 [2]; // napeti clanku 9 char cell_10 [2]; // napeti clanku 10 char cell_11 [2]; // napeti clanku 11 char cell_12 [2]; // napeti clanku 12 char runTime [2]; char napeti [2]; // ??? char N2 [2]; char lastChar; // 0x7D } RX_DATA;
Nabíječka e-Station BC6 Dual Power
Motto : Konečně někdo přišel na to, že "6" je sudé, slušně dělitelné číslo.Když se rozhlédnu po modelářských prodejnách v sekci LiPol baterií, vidím prakticky samé dvou a tříčlánky. Sám nepoužívám jiné. Většinou mám tříčlánky. Snad každý potvrdí, že se nevyplácí, s ohledem na životnost, nabíjet je proudem větším než 1C. Já je nabíjím tak 0.8C. Jakmile jdu létat jsou to vybité minimálně 4 trojčlánky. Jeden kus je nabit tak za 80-100 minut, takže je mohu použít tak nejdříve po 6-8 hodinách.
Nabíječka Shark 20 umí pouze 5 článků, Shark 30 už umí 6 článků, jenomže dlouho se nevyráběl balancer pro 6 článků. Nově prodávaná nabíječka MC6 můj problém vyřešila. Mohu v ní totiž nabíjet dva tříčlánky naráz. Jen se musí správně nastrkat do dodaných konektorů. Pokud ale používáte své vlastní konektory, jako já, je možno vyrobit nabíjecí "kolejnici" kam mohu nastrkat téměř libovolné kombinace do součtu šesti článků.
V čem je tedy tato nabíječka jiná než nabíječky Shark?
- podpora 6ti článků LiPol/LiOn
- podpora článků LiFe
- integrovaný balancer
- funkce pro "skladování" LiPol
- možnost časového posunu programové kontroly počtu LiPol článků
- integrovaný zdroj 220V pro proudy do 5A
- přehlednější údaje na displeji
- rychlejší pokles proudu při druhé fázi nabíjení LiPol (konstantní napětí, pokles proudu)
- nutnost zakoupit/vyrobit USB výstupní převodník
- nepodstatné - ale chybí změna intenzity podsvětlení
- mohla by už konečně umožnit nastavit libovolné koncové napětí na Li-xx článcích
Vše má ale malý háček. Komunikační protokol některé nové udaje neobsahuje. Už od počátku mi chyběla v protokolu identifikace typu nabíječky. Pro SharkLab i originální e-Station je to sice jednodušší, ale některé údaje pak prostě chybí.
Nemám nabíječku dlouho a tak musím ještě některé parametry proměřit, zda zobrazované údaje odpovídají skutečnosti. Trochu by mne zajímalo, jak principiálně funguje integrovaný balancer. Ty externí od Sharka jsou autonomní a během nabíjecího či vybíjecího cyklu srovnávají napětí tak, že článek s nejvyšším napětím vybíjí maximálním proudem 500mA. Tím ale nemůže souhlasit hodnota dodaného či odebraného náboje. Integrovaný balancer tuto problematiku může řešit a "přepustit" tak proud z nejvíce nabitého článku do článků ostatních. Firma Atmel na to dělá dokonce speciální procesor.
Prvotní vybalancování dvou různě vybitých tříčlánků provede nabíječka za velice krátkou dobu. Zobrazené hodnoty odpovídají skutečným změřeným hodnotám měřeným na servisním konektoru přesným voltmetrem.
Trochu jiným způsobem pracuje BC6 než Shark 20/30 při druhé fázi nabíjení - konstantní napětí, snižující se proud. Zatímco software v nabíječče Shark postupně snižoval proud, BC6 proud snižuje trochu rychleji, ale snižování prokládá zcela jistě měřením. Když proud sníží příliš mnoho, vrátí se a proud přidá. Tím vlastně proud kolísá. Dochází tak k efektivnějšímu a rychlejšímu dobíjení.
Upravil jsem program SharkLab pro tuto nabíječku.
Množí se dotazy na zapojení teplotního senzoru.
V obou nabíječkách je použit obvod LM35. Napojen je na servo konektor. Propojení ukazuje následující tabulka.servo | LM35 |
signal | Vs (levá nožička) |
+5V | Vout(prostřední nožička) |
zem | GND (pravá nožička) |
Historie programu SharkLab
verze 1.1.1.135 14. července 2007, 8:52:57 - vyšší rozsah informačních sloupců LiPol článkú (3.60V - 4.25V) doplněný popisem hodnoty - čítač ve spodní liště - levý dvoklik ho vynuluje - zobrazení údajú středu kříže v grafu při pohybu myši (zmáčklé pravé tlačítko) - změna předdefinovaných barev LiPol článků - první trojice fialový, druhá trojice oranžový odstín) verze 1.1.1.124 15. června 2007, 12:02:47 - zrychlený skok na začátek a konec nazoomovaného grafu (tlačítka HOME, END) - progresivní posun zoomu pri drzeni tlacitka (LEFT, RIGHT) - seznam a aktivace oken v menu verze 1.1.1.110 10. června 2007, 17:31:25 - podpora nabíječek BC6 Dual Power - automatické počítání indexů os Y (u velkých kapacit a nízkých nedochází k přepisu hodnot přes sebe) - počet sledovaných LiPol článků je rozšířen na 6 (vhodné pro BC6 a balancer PB-6) - drobné, mě známé, chyby a nepřesnosti - je třeba uložit novou konfiguraci z menu "Nastavení-Konfigurace" verze 1.0.1.267 16. března 2007, 18:22:56 - volitelné přednastavení zobrazených křivek (Menu-Nastavení-Konfigurace) - detekce počtu LiPol článků při nastavení AUTO. Pouze ve spojení se zapnutým balancerem verze 1.0.1.251 25.října 2006, 18:50:53 - volitelná šířka čáry grafu (Menu-Nastavení-Konfigurace) verze 1.0.1.201 5. října 2006, 22:24:01 - odstraněna chyba, která způsobila, že se nespustilo načítání dat do okna. verze 1.0.1.198 2. října 2006, 21:42:40 - přidán údaj času do informačního průhledného okna - fix při čtení dat, kdy někdy došlo k přetečení paměti verze 1.0.1.118 18:47 10.9.2006 - oprava detekce procesu při vybíjení v cyklu - možnost zobrazení dotazu při ukončení programu verze 1.0.1.75 7:06 14.8.2006 - možnost zvětšit graf (zoom) - barevné zobrazení stupně nabití LiPol článků - odstraněna chyba ve vytížení procesoru verze ze dne 8.8.2006 23:44 - odstraněna chyba v zobrazení počtu nabíjených a vybíjených článků - dvoujazyčná verzeNa čem pracuji
- zatím nic nového
Fotografie nabíječky je převzata z propagačních materiálů firmy RCM Pelikán.