Dobrý den,
Chtěl bych Vás požádat o radu na vyrobení časovače s použitím relé:
Doufám, že výstižně popíši fukci, které potřebuji dosáhnout:
Chtěl bych za použití PICAXE mikrokontroléru vyrobit časovač, který bude fungovat takto. Jako vstup použít hladinový senzor vytvořený pomocí tranzistoru. Dály by bylo zapotřebí, pokud příjde v dejme tomu 15ti minutových rozestupech celkem 4 impulzy vstupů, tak aby PICAXE vykonal naprogramovaný ůkon (pustil by na výstupní pin HIGH na dobu cca 10 sec). Po tomto úkonu by opět začal čekat a vnímat čtyři impulzy na vstupu s již zmiňovanými 15ti minutovými rozestupy. Za výstup bych potřeboval vložit silové relé, které by sepnulo spotřebič 230V 8A.
Pro jakékoliv upřesnění mého složitého dotazu/prosby napište. Rád upřesním problém.
Děkuji moc. Roman
Časový spínač se vstupy
Moderátor: Moderátoři
Je třeba vyjasnit některé věci:
- když přijde impuls po jiné době než 15 minut, co se s ním stane? Bude se ignorovat?
- Jaká je tolerance pro těch 15 minut?
- co se má stát, když například přijdou 3 impulsy a 4. v časovém okně nepřijde?
V každém případě, řešením je jednoduchý stavový automat.
Stavy:
- stav mimo časové okno
- stav v časovém okně
- přišly 4 impulsy, tzn. je spuštěna operace
Události:
- přišel impuls
- vypršel časovač 15 minut
- vypršel časovač časového okna
- vypršel časovač 10 sekund
Stavy 'mimo časové okno' a 'v časovém okně' se střídají vypršením časovače. Na začátku se nastaví stav 'mimo časové okno' a časovač 15 minut. V tomto stavu se ignorují příchozí impulsy. Po jeho vypršení se nastaví stav 'v časovém okně' a časovač časového okna. Pokud impuls přijde v časovém okně, započítá se přepne se ihned na stav 'mimo časové okno', resetuje se časovač okna a nastaví se časovač 15 minut. Pokud impuls v časovém okně nepřijde, po vypršení časovače časového okna se nuluje počet započítaných impulsů a nastaví se časovač 15 minut a stav 'mimo časové okno'.
Po příchodu 4. impulsu se přejde do stavu 'operace spuštěna', nastaví se časovač 10 s a operace se spustí. V tomto stavu se ignorují příchozí impulsy. Po vypršení časovače 10 s se operace zastaví, přejde se do stavu 'mimo časové okno', vynuluje se čítač impulsů a spustí se časovač 15 minut. A tak pořád dokolečka
Bude třeba nějak vyřešit časovače, nejlépe přerušovací rutinou.
- když přijde impuls po jiné době než 15 minut, co se s ním stane? Bude se ignorovat?
- Jaká je tolerance pro těch 15 minut?
- co se má stát, když například přijdou 3 impulsy a 4. v časovém okně nepřijde?
V každém případě, řešením je jednoduchý stavový automat.
Stavy:
- stav mimo časové okno
- stav v časovém okně
- přišly 4 impulsy, tzn. je spuštěna operace
Události:
- přišel impuls
- vypršel časovač 15 minut
- vypršel časovač časového okna
- vypršel časovač 10 sekund
Stavy 'mimo časové okno' a 'v časovém okně' se střídají vypršením časovače. Na začátku se nastaví stav 'mimo časové okno' a časovač 15 minut. V tomto stavu se ignorují příchozí impulsy. Po jeho vypršení se nastaví stav 'v časovém okně' a časovač časového okna. Pokud impuls přijde v časovém okně, započítá se přepne se ihned na stav 'mimo časové okno', resetuje se časovač okna a nastaví se časovač 15 minut. Pokud impuls v časovém okně nepřijde, po vypršení časovače časového okna se nuluje počet započítaných impulsů a nastaví se časovač 15 minut a stav 'mimo časové okno'.
Po příchodu 4. impulsu se přejde do stavu 'operace spuštěna', nastaví se časovač 10 s a operace se spustí. V tomto stavu se ignorují příchozí impulsy. Po vypršení časovače 10 s se operace zastaví, přejde se do stavu 'mimo časové okno', vynuluje se čítač impulsů a spustí se časovač 15 minut. A tak pořád dokolečka
![Smile :)](./images/smilies/icon_smile.gif)
Bude třeba nějak vyřešit časovače, nejlépe přerušovací rutinou.