Mega a 20 serv

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
Uživatelský avatar
kiRRow
Příspěvky: 1137
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Mega a 20 serv

Příspěvek od kiRRow » 26 říj 2023, 18:20

K čemu používáš tu EEPROM ? ... ta se používá pro ukládání dat o které nechceš přijít se ztrátou napájení, ale chceš je umět měnit za běhu programu. Většinou se jedná o nějaké konfigurační údaje. A moc často se nepoužívá, jednak se přepisováním nakonec zničí a jednak práce s ní je (vzhledem k rychlosti RAM) extrémně časově náročná. Zkus to vymazání EEPROM jen tak ze srandy nahradit delay();.
Jinak jako pokud je opravdu nutnost hodně moc zapisovat do EEPROM, třeba nějaký kruhový buffer, o který nesmíš přijít, tak je lepší použít externí EEPROM - jak shoří, vyměníš, jedeš dál. A nebo je paměť která je RAM a EEPROM zároveň ... pracuješ s tou RAM částí a šváb po výpadku napájení žije chvilku z kondenzátoru a uloží se do EEPROM, kterou pak zase načte ...

luger
Příspěvky: 101
Registrován: 30 dub 2023, 11:06
Reputation: 0

Re: Mega a 20 serv

Příspěvek od luger » 26 říj 2023, 18:28

EEPROM nepoužívám, ale chtěl jsem zjistit jestli v tom nebude problém. No a asi je, když to najednou funguje. Myslím že je to směr. Samozřejmě se tomu chci vyhnout, ale zatím nevím jak.

Uživatelský avatar
kiRRow
Příspěvky: 1137
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Mega a 20 serv

Příspěvek od kiRRow » 26 říj 2023, 18:33

Proto zkus ten delay ... funguje to možná proto, že smazání celé EEPROM způsobí pozastavení programu .... stejně jako delay

Uživatelský avatar
gilhad
Příspěvky: 766
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Mega a 20 serv

Příspěvek od gilhad » 26 říj 2023, 18:35

k té EEPROM - ona má vydržet 100.000 přepisů, ale stejně je lepší to neždímat do konce.
navíc se (jako většina EEPROMek) maže na 0xFF (nikoli na 0x00) takže zapsat do všech prvků 0x00 znamená jeden po druhém vymazat na 0xFF a pak přepsat na pravý opak 0x00

Takže pokud to chceš mazat, spíš bych doporučil na to 0xFF (jako se to maže při přepisu chipu).

A bývá zvykem používat EEPROM.update(addr, value), která zapisuje hodnotu pouze pokud se ličí od toho, co tam už je. Takže buňky, které nikdo nepoužil se nemusí při každém startu mazat a zapisovat.

A je otázka, zda je to mazání EEPROM nutné, pokud stačilo pouze podržet reset (čili nechat to nastartovat později, až když je napětí plné a stabilní). Možná by stačilo zapojit mezi reset pin a zem (tedy paralelně k reset tlačítku) nějaký kondenzátor, třeba 1uF.

A přístup k EEPROM je pomalý, je možné, že to mazaní prostě zdrželo setup dost dlouho, aby se věci ustálily. Pokud nepomůže kondenzátor, zkusil bych jeětě začít setup příkazem delay(100), nebo tak něco.

luger
Příspěvky: 101
Registrován: 30 dub 2023, 11:06
Reputation: 0

Re: Mega a 20 serv

Příspěvek od luger » 26 říj 2023, 18:42

Tak jsem vymazal mazání paměti a vyzkoušel ten delay a funguje to :D , díky pánové. Ale musí být okolo 2000, jinak to nestihne, ale to možná bude zdrojem. To se ještě vychytá.

Uživatelský avatar
gilhad
Příspěvky: 766
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Mega a 20 serv

Příspěvek od gilhad » 26 říj 2023, 18:49

2 sec je teda fakt dlouho a znamená to, že zdroj (teda spíš napajení jako celek od začátku do konce) ten náběh nezvládá.

Jestli tam k tomu tancujou ta serva, tak by je to asi chtělo k napájení připojovat postupně, řešilo by to dvě mouchy jednou ranou

luger
Příspěvky: 101
Registrován: 30 dub 2023, 11:06
Reputation: 0

Re: Mega a 20 serv

Příspěvek od luger » 26 říj 2023, 18:59

Sokl mám na 4 baterie 18650 spojené sério-paralelně (tzn. výstup cca 8 V), ale pro testování tam používám jen 2. Možná se to se 4 kousky zlepší. Ty 2 sek. mi prozatím nevadí.
Teď začínám řešit vyhodnocování ultrazvuku a rozhodování pohybu.

Uživatelský avatar
gilhad
Příspěvky: 766
Registrován: 07 bře 2018, 11:22
Reputation: 0

Re: Mega a 20 serv

Příspěvek od gilhad » 26 říj 2023, 19:15

Tak zatím to teprve ladíš, ale až na to bude čas, tak by to chtělo s těma 2 sec něco udělat. Ideálně aby tam nějaký pípák zahrál pár plechových tónů a několik LEDek zajímavě blikalo - když se bootuje mašina, tak to prostě musí být vidět :lol:

Uživatelský avatar
kiRRow
Příspěvky: 1137
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Mega a 20 serv

Příspěvek od kiRRow » 26 říj 2023, 19:46

Musí být vidět .... :lol: :lol: .... ne dělá se to z diagnostických důvodů ... když otočíš klíčekem v autě, taky se ti rozsvítí celá palubovka, aby šlo poznat které světýlko je špatné. No ale někdo to chce mít prostě pěkné :-D

luger
Příspěvky: 101
Registrován: 30 dub 2023, 11:06
Reputation: 0

Re: Mega a 20 serv

Příspěvek od luger » 26 říj 2023, 19:52

Pavouk musí být nenápadný :lol: . I tak už to svítí jak vánoční stromek. Všechny údaje mám na oled. Bzučák mi kontroluje nízké napětí baterek.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti