ATtiny85 + Uno komunikácia

Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
Odpovědět
DanoP
Příspěvky: 938
Registrován: stř črc 06, 2016 12:27 pm
Reputace: 211
Bydliště: Trnava, Slovensko

Re: ATtiny85 + Uno komunikácia

Příspěvek od DanoP »

A ostatne bity ADMUX maju ake hodnoty, je vobec AD prevodnik aktivny? Ak sa pouziva uvedena kniznica je tam priamo prikaz na citanie teploty co nastavi vsetko potrebne vratane referencie (aspon tak sa mi zda) - toto funguje? Spotrebu asi urcuje seriova komunikacia. Ten for pre 1000x je zbytocny, resp tak ako vyzera byt to nedava velky zmysel a zbytocne blokuje procesor. Treba si uvedomit ze jedno meranie trva cca 2 az 4us, ked sa to opakuje 1000 po sebe (2 az 4 ms) bez moznosti spracovat medzitym napriklad udaje zo seriovej komunikacie moze to byt pruser. Lepsie je nastartovat AD prevod, vratit sa do hlavnej loop a kontrolovat ci uz je pripraveny vysledok a az vtedy ho zobrat (samozrejme bez zaspatia). V loope zatial moze prebehnut spracovanie seriovych udajov.
1,77kWp monokryštál + Fangpusun MPPT 150/45, 1,6kWp +Victron MPPT 250/60, 2xStuder XTM4048 + 25kWh LiFePO4, vlastny monitoring na https://www.mms-softec.sk/pip/
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: ATtiny85 + Uno komunikácia

Příspěvek od rottenkiwi »

Ešte som vyskúšal na teplotu toto, ale v *C to dáva 0xEC čo je 236 *C, takže asi to treba nejako nakalibrovať,
len neviem k tomu násjť nejaký popis v angličtine.

Kód: Vybrat vše


#define TEMPERATURE_ADJUSTMENT 30
#define EXTREMES_RATIO 5
#define TEMPERATURE_SAMPLES 30
#define MAXINT 32767
#define MININT -32767

int offset=TEMPERATURE_ADJUSTMENT;
float coefficient=1;
int readings[TEMPERATURE_SAMPLES];
int pos=0;

void InternalTemperatureSensor() {

  //analogReference( INTERNAL1V1 );

  // ATTiny85 datasheet p140 (17.13.2), p137 (17.12)

  // Configure ADMUX

  ADMUX = B1111;                // Select temperature sensor

  ADMUX &= ~_BV( ADLAR );       // Right-adjust result

  ADMUX |= _BV( REFS1 );                      // Set Ref voltage

  ADMUX &= ~( _BV( REFS0 ) | _BV( REFS2 ) );  // to 1.1V

  //ADMUX &= ~( _BV( REFS0 ) );  // to 1.1V

  // Configure ADCSRA

  ADCSRA &= ~( _BV( ADATE ) |_BV( ADIE ) ); // Disable autotrigger, Disable Interrupt

  ADCSRA |= _BV(ADEN);                      // Enable ADC

  ADCSRA |= _BV(ADSC);          // Start first conversion

  // Seed samples

  int raw_temp;

  while( ( ( raw_temp = raw() ) < 0 ) );

  for( int i = 0; i < TEMPERATURE_SAMPLES; i++ ) {

    readings[i] = raw_temp;

  }

}

int in_lsb() {
  int readings_dup[30];
  int raw_temp;
  // remember the sample
  if( ( raw_temp = raw() ) > 0 ) {
    readings[pos] = raw_temp;
    pos++;
    pos %= 30;
  }
  // copy the samples
  for( int i = 0; i < 30; i++ ) {
    readings_dup[i] = readings[i];
  }
  // bubble extremes to the ends of the array
  int extremes_count = 6;
  int swap;
  for( int i = 0; i < extremes_count; ++i ) { // percent of iterations of bubble sort on small N works faster than Q-sort
    for( int j = 0;j<29;j++ ) {
      if( readings_dup[i] > readings_dup[i+1] ) { 
        swap = readings_dup[i];
        readings_dup[i] = readings_dup[i+1];
        readings_dup[i+1] = swap;
      }
    }
  }
  // average the middle of the array
  int sum_temp = 0;
  for( int i = extremes_count; i < 30 - extremes_count; i++ ) {
    sum_temp += readings_dup[i];
  }
  return sum_temp / ( 30 - extremes_count * 2 );
}

int in_c() {
  return in_k() - 273;
}

int in_f() {
  return in_c() * 9 / 5 + 32;
}

int in_k() {
  return in_lsb() + offset; // for simplicty I'm using k=1, use the next line if you want K!=1.0
  //return (int)( in_lsb() * coefficient ) + offset;
}

int raw() {
  if( ADCSRA & _BV( ADSC ) ) {
    return -1;
  } else {
    int ret = ADCL | ( ADCH << 8 );   // Get the previous conversion result
    ADCSRA |= _BV(ADSC);              // Start new conversion
    return ret;
  }
}
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: ATtiny85 + Uno komunikácia

Příspěvek od rottenkiwi »

Ako by bolo vhodné pri pálení do Attiny nastaviť CLK procesora a LTO, EEPROM a BOD ?
CLK dať 8 Mhz ? Či existuje aj SoftSerial.h, kde by 1 MHz nevadil ?
Pri napaľovaní vždy premazať aj EEPROM ?
A BOD nastaviť na 1.8 V alebo na 2.7 V ?
Ak na 2.7, tak sa Attiny pri 2.7 V vypnú a ušetria baterku ?
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
DanoP
Příspěvky: 938
Registrován: stř črc 06, 2016 12:27 pm
Reputace: 211
Bydliště: Trnava, Slovensko

Re: ATtiny85 + Uno komunikácia

Příspěvek od DanoP »

Pouzivam default z vyroby 1MHz, SoftwareSerial 4800 v pohode, 9600 uz nebolo spolahlive. Pouzivam AttinyCore od SpenceKonde. BOD mam 1,8V - napaluje sa to cez napalovanie bootloaderu (v skutocnosti to len nastavi configuracne fuses). 2,7V sa mi zdalo vysoko, ked horna hranica moze byt az 2,9V. EEPROM mam nastavene nechat tak bez resetu (default z vyroby), v EEPROM su z vyroby hodnoty FF... Ak napatie spadne pod BOD ( je tam tusim hysterezia okolo 50mV) a nizka uroven trva dlhsie ako 2uS tak sa zastavi. Nabieha to tiez spolahlivo bez pouzitia reset pinu, aj pri pomalom naraste napatia, mam skor problem, ze napriklad pri 1,9V mi este nebezi 100% referencia (potrebujem aspon 2,1V), ale vacsi problem je ze pri tomto napati mi vypadava seriova komunikacia ( odchylka oscilatora, budenie optoclenov ??). Vzhladom na to ze od 2,1V to bezi opat OK, tak to neriesim.
1,77kWp monokryštál + Fangpusun MPPT 150/45, 1,6kWp +Victron MPPT 250/60, 2xStuder XTM4048 + 25kWh LiFePO4, vlastny monitoring na https://www.mms-softec.sk/pip/
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: ATtiny85 + Uno komunikácia

Příspěvek od rottenkiwi »

Tak teraz to testujem na 4S 18650 Li-ion, BOD 1.8, CLK 1 MHz, Comm. 4800 baudov,
pri blikaní TX to má 38 mA.
Pri spánku na 8 sec. to žerie 7080 uA.

Keď sa zmení napatie na A1, tak sa to resetne, prijíma to príkazy 60 sec. a potom
znova pošle dáta, spí .... atď.

Nechám to do zajtra a uvidím, ako to vyšťaví 18650-ky.
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
kodl69
Příspěvky: 7377
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: ATtiny85 + Uno komunikácia

Příspěvek od kodl69 »

myslím si, že pokud nejsou vybitý už teď tak jeden den nic neznamená...
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: ATtiny85 + Uno komunikácia

Příspěvek od rottenkiwi »

Dal by sa ako riadiaci modul použiť buď Nano alebo dokonca ATtiny85 ?
Potrebujeme signalizovať len, že aspoň jeden článok je nad limitX a aspoň jeden
článok je pod limitY.
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
kodl69
Příspěvky: 7377
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: ATtiny85 + Uno komunikácia

Příspěvek od kodl69 »

To je základ, arduino nano je zbytečně moc drahý, to spíš samotenej atmega procesor (s krystalem), když už se dělá deska, je to jedno. Nano zvládne i třeba nějakej displej, ale zobrazení na web rozhraní, logování na SD, odeslání dat do nějakýho nadřazenýho systému...to už asi bude málo.
Tady by to asi chtělo nějakej základ SW stvořit formou podprogramu, knihovny nebo tak něco, aby bylo od čeho se odpíchnout a třeba ať si to každej udělá podle svýho. Někdo dával odkaz na BMS, kde poslední modul byl jinačí, a byla tam buď atmega, a nějaký výstupy pro spínání vytěžovače, odpojení nabíjení, zátěže, a nebo ESP8266 pro web rozhraní. Sice se mi zrovna tohle řešení úplně moc nelíbí (ten jeden článek bude víc vybíjenej) ale je to taky možnost.

P.S: díval jsem se na prográmek, a tohle není moc univerzální řešení. Podle mě by to mělo fungovat tak, že když vyměním kterejkoliv modul, a nastavím příkazem ref. napětí a bal. napětí, tak to musí posílat korektní data. Adresy nahraný natvrdo do programu jsou cesta do pekel.
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: ATtiny85 + Uno komunikácia

Příspěvek od rottenkiwi »

Meral som teraz spotrebu uspaného Una, to je cca. 5.2 mA.
Skúsim tam pripojiť Eht. Shield a skúsiť logovať, či to pojde.

Ale web interfejs tam nenarvem, na to je tam málo pamate.

No ak je to s tými adresami zle, tak sa pozriem čo navrhuje DanoP
a skúsim nad tým v noci dumať.

Ono, ak nemáme adresy, nemože byť rozne bal. napatie, ani rozna kalibrácia
pre každý modul zvlásť, potom budú len 2 príkazy a keď si to uloží veci do
EEPROM, tak to bude bez riadiaceho modulu balancovať.

Ak pripojíme riad. modul, získame napatia článov vzhľadom na jednu balančnú
konštantu, takže budú vačšie rozdiely ako by boli s bal. konštantou, resp. nejakou
tabuľkou pre rozne napatia pre každý modul zvlášť.
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
kodl69
Příspěvky: 7377
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: ATtiny85 + Uno komunikácia

Příspěvek od kodl69 »

Tady asi někdo spal. Proč by nešel nastavit každej modul zvlášť? když bude zpráva sestavená např ze 16 ti paketů a každej modul, co ji přečte, si jeden paket nechá a zbytek pošle dál. Stejně tak bude vyčítání, prostě přijde zpráva, modul ji načte a při odesílání dál na konec přidá svoje data. Každej modul 4byte, 1 byte označuje typ zprávy, další dva jsou napětí a poslední nevím, třeba lbal. proud a teplota, nebo nějaký stavový slovo... na konce zprávy se přidá nějakej spec. byte, aby se vědělo, že je to konec (třeba @) a je to celý. No a první byte může být klidně "R" pro read, "B" pro balanční napětí a třeba "c" pro kalibraci, a "D" pro default bal. napětí v eeprom, ale co to přesně bude za znaky je asi jedno to je asi jedno, jenom je potřeba se domluvit, jak to teda bude. Potom pro zprovoznění balancování ani nepotřebuju žádnej řídící modul, ale prostě tam pošlu zprávu vypadající takhle (pro 4s):
<řídící znak> <MSB napětí> <LSB napětí> <nevímco> a dlaší 4 byte pro další modul, až na konec "@". takže prakticky
"B" 0x0D 0x7A 0x00 "B" 0x0D 0xAC 0x00 "B" 0x0D 0x7A 0x00 "B" 0x0D 0x7A 0x00 "@"
je nastavení bal. napětí pro články od prvního 3450, 3450, 3500, 3450 milivoltů.
naopak pro vyčtení dat by zpráva od řídícího modulu vypadala "R" 0x00 0x00 0x00 "@" za prvním modulem už bude třeba "R" 0x00 0x00 0x00 "R" 0x0D 0x05 0x00 "@" a tak dále. Když to funguje jinejm s PICem, proč by to nejelo s attiny...
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
pete
Příspěvky: 72
Registrován: úte srp 04, 2015 9:19 pm
Reputace: 5

Re: ATtiny85 + Uno komunikácia

Příspěvek od pete »

Já mám protokol navrženej a vpodstatě už i implementovanej tak, aby šlo komunikovat jak s jednotlivým modulem tak i se všema naráz a posílat z modulů asynchronní události. Žádná adresa se do modulu nahrávat nemusí, je daná jeho pořadím na zřetězené sériové lince.

Na prvním bajtu zprávy je adresa modulu jako číslo 0..127 nebo speciální broadcast adresa (-128). Modul se ke zprávě chová tak, že provádí jen příkazy ze zpráv s adresou broadcast nebo s nulovou adresou. Všechny ostatní zprávy neprovádí, jen je přeposílá dál s o jedničku dekrementovanou adresou. Do mastera se broadcast adresa vrátí jako broadcast a cílená adresa jako záporný číslo, ze kterýho se původní adresa spočítá jednoduše přičtením počtu modulů. Asynchronní událost modul odešle s adresou -1 a do mastera to dorazí zase tak, že si adresu odesílatele dopočítá stejným způsobem.

Na druhým bajtu je pak kód příkazu a pak případný parametry, data z modulů a na konci dva bajty CRC. Žádná ukončovací značka není potřeba, takže nejkratší příkaz má délku jenom čtyři bajty včetně CRC.
kodl69
Příspěvky: 7377
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: ATtiny85 + Uno komunikácia

Příspěvek od kodl69 »

Pěkně, vidím, že jsi to vzal z úplně jinýho konce. Tohle asi bude dost dobrý řešení. Pokud bys měl nějakou betaverzi aspoň se základní funkčností, tak bych to odzkoušel. Přešel jsi kvůli spolehlivosti komunikace na 4800bd, nebo vyměnil odpory z 2k2 na 1k u optočlenů? Máš nějak vymyšlený zapsání adresy do eeprom danýho modulu, aby se to nemuselo řešit před instalací? A nebo tam ty adresy nejsou, a vlastně ten modul ani neví, jakou tu adresu má, díky tomu odečítání? Ale v každým případě dobrej nápad. Nezabere moc paměti to CRC? Co se stane, když přijde některýmu modulu zpráva s chybným CRC? zahodí se, nebo následuje nějaká reakce?
Chystám se osadit si dalších 14 modulů a provádět ostrej test na 16s 60Ah winstonech. Ale tenhle týden to asi nedám, je to předse jenom pár hodin práce a nejlepší je to udělat na jeden zátah...
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
pete
Příspěvky: 72
Registrován: úte srp 04, 2015 9:19 pm
Reputace: 5

Re: ATtiny85 + Uno komunikácia

Příspěvek od pete »

Pošlu ti funkční verzi, kde je implementovanej protokol a základní nastavování parametrů. Chybí tam digitální filtrace měření, optimalizace spotřeby ve spánku a nějaký další věci, ale základ chodí.
Jo musel jsem přejít na 4800bd, protože na 9600 padalo dost chyb, ale problém nebude ve zkreslení na optočlenech, ale v knihovně NeoSWSerial, je tam někde asi chyba v časování Tx, protože to stejně chybuje i když napřímo propojím tiny rx-tx za sebou. Knihovnu jsem musel přiohnout, protože neumí 4800bd, ale je to změna na jednom řádku.
Adresy se nikam nezapisujou, modul svou adresu nepotřebuje znát. CRC nezabere skoro žádnou paměť. Odhaduju že tak tři čtvrtiny kódu je hotových a zabírá to necelou půlku flash a asi třetinu RAM, takže prostoru na případný další rozšiřování funkcionality zbude dost.
Když přijde zpráva s neplatným CRC, tak se přepošle dál, před CRC se připojí chybová značka "EC" a za ni to přijaté vadné CRC, takže i další moduly to rozpoznají jako chybu a připojí každej svou chybovou značku "EC". Z počtu EC značek se pozná, kde došlo k první chybě.
kodl69
Příspěvky: 7377
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: ATtiny85 + Uno komunikácia

Příspěvek od kodl69 »

A co klasická knihovna software serial? Pokud jsem nedělal pokusy s uspáváním a watchdogem, tak mi prošlo 130 znaků 9k6 jako nic... S tím, že se to ukládalo do stringu a potom odesílalo. Přibal kdyžtak i tu knihovnu, nebo aspoň podrobnej popis, co s ní provést.
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.
pete
Příspěvky: 72
Registrován: úte srp 04, 2015 9:19 pm
Reputace: 5

Re: ATtiny85 + Uno komunikácia

Příspěvek od pete »

SoftwareSerial neumí duplex, takže musíš přijmout celou zprávu a pak teprve můžeš odesílat. To klade nároky na paměť a limituje maximální délku zprávy. Taky pak celá komunikace trvá delší dobu.. NeoSWSerial umí duplex, takže zpráva se průchodem přes modul zdrží jen o nějaký dva tři znaky a není třeba řešit jak je dlouhá. Modul zajímá jen začátek, kde je adresa, příkaz a jeho parametry a pak až CRC na konci. Tohle si uloží a všechno ostatní jenom tupě předává ze vstupu na výstup. Tehle výhody bych se nerad vzdával. Až to bude hotový tak se v té knihovně zkusím ještě povrtat a zprovoznit těch 9600 bez chyb.
Uživatelský avatar
rottenkiwi
Příspěvky: 5451
Registrován: pát úno 13, 2015 2:24 pm
Reputace: 285
Lokalita: SO, SK
Bydliště: SO, SK

Re: ATtiny85 + Uno komunikácia

Příspěvek od rottenkiwi »

Nechal som BMS na baterkách 18650 - LG 2200 mAh, 4S a za týždeň je graf napatia takýto:

Dá sa z toho usúdiť koľko z toho je samovybíjanie a koľko spotreba BMS ?
Koĺko dní to odhadom vydrží do cut off voltage : 3.00 V , na jednom z článov ?
Přílohy
bms_23022019.jpg
DC-AC inverter REC Lion DC-AC ESP32 DIY inv. 15 GB za sekundu DIY MPPT Holder
Zjedz vsetko, co si kupil, v obchode a netreba ti tasku, auto ci chladnicku.
Uživatelský avatar
NOPARasito
Příspěvky: 2483
Registrován: čtv črc 19, 2018 12:14 am
Reputace: 180
Bydliště: Vidiek, Trhanova Lhota

Re: ATtiny85 + Uno komunikácia

Příspěvek od NOPARasito »

Odhadem to bude spotreba jen BMS, samovybijeni po tydnu ani snad neni. Pokud necham baterii ladem mesic, tak napeti klesne max. o 0,02V/clanek.
Uživatelský avatar
vlkazajac
R.I.P.
Příspěvky: 3481
Registrován: úte čer 11, 2013 10:40 pm
Reputace: 527

Re: ATtiny85 + Uno komunikácia

Příspěvek od vlkazajac »

Mám odložené batérie, nabité pred rokom a nie sú zďaleka nové. Pokles napätia bohužiaľ neviem dokladovať, ale povedal by som, že ( všetko -5 % ) na tých Vašich vybilo BMS. Teda samovybíjanie je oproti vlastnej spotrebe BMS nepodstatné.
750 Wp, LS3024B, 18650 - 198P8S 30,4 V, Multiplus C 800 nonstop / všetky slabé spotrebiče
1950 Wp, 2 x LS3024B, VS2024N, olovo - 330 Ah / 24 V, Carspa 3000 sin deň / silné spotrebiče a ohrev TUV
5995 kWh za meničmi za posledné 2 roky.
DanoP
Příspěvky: 938
Registrován: stř črc 06, 2016 12:27 pm
Reputace: 211
Bydliště: Trnava, Slovensko

Re: ATtiny85 + Uno komunikácia

Příspěvek od DanoP »

Myslim si ze na clanky s kapacitou 2,2Ah by stacili jednoduche pasivne balancery, alebo specializovane malovykonove BMS, co maju kludovu spotrebu v uA. Cielom nasich BMS su clanky s kapacitou radovo 10 - 100Ah, kde toto uz nie je problem, hlavne ked kludova spotreba pripojeneho menica je cca 0,5A. Analyza odberu mojho riesenia hovori zhruba toto: samotny modul bez processora berie pri 3,3V 125 uA, z toho referencia 40uA a zvysok odporovy delic napatia 20+20kO. Modul s osadenou ATTiny bez komunikacie a uspavanim cca 130uA, cize samotny procesor 5uA. Pouzivam sleep, s meranim kazdu sekundu, ale je aktivny watchdog a BOD a teda aj vnutorna referencia. Bez uspavania by bola spotreba cca 1,4 mA (bez komunikacie).
1,77kWp monokryštál + Fangpusun MPPT 150/45, 1,6kWp +Victron MPPT 250/60, 2xStuder XTM4048 + 25kWh LiFePO4, vlastny monitoring na https://www.mms-softec.sk/pip/
kodl69
Příspěvky: 7377
Registrován: sob črc 19, 2014 8:56 pm
Reputace: 866
Lokalita: severně od Brna
Systémové napětí: 48V
Výkon panelů [Wp]: 8kWp
Kapacita baterie [kWh]: 12kWh
Chci prodávat energii: NE
Chci/Mám dotaci: NE

Re: ATtiny85 + Uno komunikácia

Příspěvek od kodl69 »

Jde o měření spotřeby balanceru.
Podle charakteristik li-ion obvykle na začítku bývá pokles napětí větší, pak to jde prakticky lineárně a od 3.3V zase ostřej dolů. Takže pokud budu uvažovat nejhorší variantu, že takhle to půjde do 3.3V, tak 3.3V to dosáhne za celkem 7 týdnů, což je 1176hodin na 2Ah, takže reálná průměrná spotřeba není vyšší než 1.7mA
Škoda je, že probuzení přes watchdog má nejdelší čas 8s, podle mě by to mohlo být i víc. Ale změření napětí a upání zas té elektriky snad tolik nesežere. Stejně tak interval vyčítání dat, pokud se napětí baterek nemění víc než 10mV (+- chyba měření a řekněme vliv rušení) tak by podle mě stačilo vyčítat napětí klidně i po minutě. Tím by reálná spotřeba poklesla klidně na čtvrtinu. Ale i takhle to s 20Ah článkem vidím jako použitelný (vybije ho to cca za rok), s 200Ah prakticky bez vlivu na článek...
ostrov skoro 8kWp neustále ve stádiu zrodu: smartshunt(ex WBJR), MPPT150/45, MPPT 250/100(ex midnitesolar 150 clasic lite), 16S a různě P cca 340Ah Winston, MP II 5000,( ex Powerjack 8kW, ex samodomo cca 4kW). 48V DC rozvody a spotřebiče.

Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek