Stránka 2 z 3

Napsal: 11 bře 2023, 23:34
od Celeron
jova1 píše:A oddělovací diodu mezi tím měřením na vstupu a stabilizátorem máš?

Nemám. Proč myslíš, že by tam měla být? Před stabilizátorem žádnej elyt proti zemi nemám, jen keramiku 100N a je to napájený z autobaterky. Odpojuje se vytažením z autozásuvky. Taková modelářská pájka na letiště.

Napsal: 12 bře 2023, 08:28
od jova1
Vycházel jsem z toho odkazu: Ale zatím to je na nepájivým poli s napájecí destičkou podobnou týhle.
Tam na vstupu nějaký kondenzátor je. Něco obdobného jsem řešil na hodinách a musel jsem tam dát právě diodu, aby mi oddělila napájecí napětí od stabilizátorů, kde ty vstupní kapacity taky byly.

Napsal: 12 bře 2023, 08:36
od Mahoney
Celeron píše:Nemám. Proč myslíš, že by tam měla být?


Aby ti při výpadku napájení a napájení MCU z kondíku netekl proud zpátky do stablu (nebo co tam všechno máš), a případně i do toho měřícího pinu (nevím jak to máš zapojené).

To hlídání napájení bys měl nejlepší (a nejrychlejší) přímo na těch dvanácti voltech (samozřejmě s přizpůsobením), přes AD být nemusí. Já bych dal nejspíš optočlen.

Ta appnote co dal bdn tě nemine, a poznámka Crifoda taky není od věci.

Napsal: 12 bře 2023, 12:10
od Standa33
Také by se dal použít miniaturní otočný bcd přepínač 4polohy(např. rozsah 270°C-310°C-350°C-400°C).
Opticky bude vidět nastavení(odpadne zápis do EEprom) a tak často to asi měnit nikdo nebude.

Napsal: 12 bře 2023, 12:13
od workhard
Taky mně to přijde jako drbání se levou nohou za pravým uchem, ale proti gustu...

Napsal: 13 bře 2023, 00:07
od Celeron
Standa33 píše:Také by se dal použít miniaturní otočný bcd přepínač 4polohy(např. rozsah 270°C-310°C-350°C-400°C).

Může být. Třeba tohle. Mohl bych použít osmipolohovej. U ATtiny je k dispozici 6 datovejch noh. Jednu potřebuju na PWM, tři na 8 kroků teploty, jeden na led kontrolku že topí. Akorát nevím, kolik přecvaknutí tyhle BCD-čka vydrží. Aby to nebylo po 10 protočeních bez kontaktu.

Napsal: 13 bře 2023, 00:12
od Celeron
jova1 píše: Tam na vstupu nějaký kondenzátor je.

Na ty mý na vstupu 12V elyt není. 10M je až za stabilem +5V a druhej je za stabilem 3V3.

Napsal: 13 bře 2023, 00:27
od Celeron
Mahoney píše:Aby ti při výpadku napájení a napájení MCU z kondíku netekl proud zpátky do stablu (nebo co tam všechno máš), a případně i do toho měřícího pinu (nevím jak to máš zapojené).

Jo ale jova1 psal o diodě před stabilizátorem. Ta nezabrání aby z elytu na +5V aby proud při vypnutí tekl do stabilizátoru. A že teče pár desítel mikroampér do děliče na ohledání 12V je úplně jedno, přerušení reaguje na sestupnou hranu.

Mahoney píše:To hlídání napájení bys měl nejlepší (a nejrychlejší) přímo na těch dvanácti voltech (samozřejmě s přizpůsobením), přes AD být nemusí. Já bych dal nejspíš optočlen.

Ale vždyť to tak mám. Optočlen proč, vše je na jednom potenciálu. A psal jsem, že není místo.

Mahoney píše:Ta appnote co dal bdn tě nemine, a poznámka Crifoda taky není od věci.

Netuším, co tím myslíš. Jestli ty kruhový buffery a životnosti EEprom, tak při značně nadsazeným počtu 5 vypnutí za den x 365 dní, tak by odešla za cca 50 let.

Napsal: 13 bře 2023, 10:02
od Crifodo
Ta poznámka se týkala víceméně jen toho, že jsem zápis hodnot řešil s prodlevou po změně, tedy čistě softwarově, bez sledování napájení. Dejme tomu je počet takových zápisů (nepodstatně) vyšší než před vypnutím. V obou případech vzhledem k životnosti eeprom téměř nemá cenu se zabývat cyklickým střídáním buněk. Šlo mi spíš o to, kdyby výrobce během let při různém katování "dosáhl" reálné životnosti třeba jednotky tisíc než deklarované stovky tisíc, to už by někdy vadit mohlo a pak se rozložení do 100 nebo 500 paměťových míst vyplatí. U zápisu během vypínání mi taky nebylo úplně jasné, jestli by to bylo blbuvzdorné při nějakém nedokončeném procesu, během vaklu v napájení, kdy přijde nový reset dřív než je ukončen zápis.
Názory na životnost eeprom jsou různé, třeba https://arduino.narkive.cz/bxT13py1/jak ... ost-eeprom
Ani nevím, jak je technologicky rozdílná výroba flash na čipu od eeprom, když výrobce udává pro flash řádově menší počet zápisů.

Napsal: 13 bře 2023, 10:52
od Standa33
https://www.tme.eu/cz/details/mssm-04/p ... cs-co-ltd/
Tenhle má podle datašítu minimálně 25000 cyklů.

https://www.tme.eu/cz/details/tsr-08s-t ... cs-co-ltd/
Ten má 10000 cyklů

Napsal: 13 bře 2023, 18:12
od Mahoney
Celeron píše:Jo ale jova1 psal o diodě před stabilizátorem. Ta nezabrání aby z elytu na +5V aby proud při vypnutí tekl do stabilizátoru. A že teče pár desítel mikroampér do děliče na ohledání 12V je úplně jedno, přerušení reaguje na sestupnou hranu.


Však jo, a ještě před touto diodou (která ti odděluje filtrační kondenzátor, co je za ní, od měření, které je před ní) má být zapojeno měření s nějakým vhodným oddělením (protože pin MCU prostě nemůžeš jen tak připíchnout na 12V). Jde přeci o čas, ne o pár mili- či mikroampér, tobě jde o to, abys co nejrychleji vyhodnotil že jsi bez napájení a stihl při napájení MCU jenom z filtračního kondíku zapsat hodnotu do EEPROM. Když budeš měřit napětí někde "na kondíku" (prostě postupně klesající), uplyne moře času, než zjistíš že ti na něm klesá napětí.

Tím že tam elyt nemáš se ani nechlub, to znamená že nečteš datasheety.

Napsal: 13 bře 2023, 21:36
od Celeron
Nic, ten tlačítkovej blázinec, u kterýho není zřejmý co je vlastně nastavenýho, s pochybným ukládáním na EEprom jsem opustil a napsal jsem pár řádků, co se vejde do ATtiny25 za 3 pětky. Maká to podle přepínače BCD, hned je vidět co je nastavený a žádný blbnutí s EEPROM. Kromě ATtiny, BCD-čka, spínacího Feta, 100mA stabilu a dvou elytů tam není nic potřeba.

Kód: Vybrat vše

// řízení pájky přes PWM pomocí BCD přepínače na ATtiny25
// vstup PB, bit0-3 na pinech 0,1,2,3 proti GND
// výstup PWM na pinu 4

byte pwm = 0;
const int pwmPin = 4;
void setup()
{
// nastavení PullUp na PB0-PB3
for (int i = 0; i < 4; i++)
    {
    pinMode(i, INPUT_PULLUP);
    }
//PORTB (digital 3-0) výstup
  DDRB = 0b11110000;
}
void loop()
{
// Přečti BCD kód ze vstupních pinů a maskuj jen PB0-PB3
    byte bcdCode = PINB & 0b00001111;
// inverze přepínače
    bcdCode = bcdCode ^ 0b00001111;

 if (bcdCode > 0){
           // na BCD přepínači je > 0, sestav PWM
           // (BCD min, BCD max, PWM min, PWM max)
           pwm = map(bcdCode, 0,9, 160, 255);
           }
 else  { pwm = 0;  }   // BCD je na nule vypnout pájku
 analogWrite(pwmPin, pwm);
    delay (100); 
}

Ten tlačítkáč byl proti tomu 10 x delší monstrum. Maká, není co dál řešit.

Napsal: 13 bře 2023, 23:31
od Valdano
Celeron píše:Potřebuju těsně před vypnutím napájení ATtiny85 uložit jednu hodnotu v rozsahu 0-64 do EEPROM aby byla k dispozici pro následný zapnutí. EEPROM nesnese moc cyklů, takže přepisovat ji při změně hodnoty v cyklu Loop by dlouho nezvládala.

Nebo namísto EEPROM použít paměť NVRAM. Paměti NVRAM udrží data i bez napájení, mají nízkou spotřebu, jsou obvykle vybaveny rozhraním I2C nebo SPI a umožňují až 10 na 14-tou čtení a zápisů. Takže i když budete hodnotu v paměti neustále přepisovat v cyklu Loop tak by paměť měla vydržet mnohem víc než se vůbec dožijete.

Napsal: 13 bře 2023, 23:45
od rnbw
NVRAM je oznacenie pre celu triedu pamati a okrem ineho tam patri aj EEPROM, FLASH, SRAM (so zaloznou bateriou). Ale Celeron ma tento problem uz zjavne vyrieseny.

Napsal: 13 bře 2023, 23:59
od Valdano
Odkazované paměti jsou jako info do budoucna a mohou se hodit až bude potřeba v něčem jiném použít velké množství čtení a zápisů aniž by se muselo hledět na životnost jako u obyčejných EEPROMek, které toho v tomto ohledu moc nevydrží. Pak není potřeba ani řešit ukládaní jen při vypínání.