Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Odpovědět
cevepe
Příspěvky: 42
Registrován: 10 zář 2018, 21:29
Reputation: 0

Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od cevepe » 22 črc 2021, 09:48

Ahoj,
zrovna řeším schéma zapojení pro restart, button HIGH a interrupt měření rychlosti větru. U těch tlačítek stačí odpor 10K spolu s kondenzátorem 100nF. U rychlosti větru použiji odpor nižší 1K. Chci se zeptat, zdali to mám správně. Dělám tohle v podstatě poprvé.
Za výpomoc od šikovných bastlířů budu hrozně moc rád.
schema.jpg

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od ondraN » 22 črc 2021, 11:01

Je to tak polosprávně. Tyhle zapojení kolují internetem a přitom jsou chybná. Problém je ten, že se při stisku tlačítka vlastně zkratuje kondenzátor a tím se vyrobí daleko větší množství zákmitů, než kdyby tam vůbec kondenzátor nebyl. Pro správnou funkci by měl být u tlačítka sériový rezistor s hodnotou cca 1/10 přidržovacího rezistoru. Pokud řešíš vyloučení zákmitů tlačítka programově, tak tam ten kondenzátor vůbec nedávej.

cevepe
Příspěvky: 42
Registrován: 10 zář 2018, 21:29
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od cevepe » 22 črc 2021, 11:36

Je možné pro jistotu nakreslit schéma, jak to přesněji myslíte? Ta 1/10 odporu myslíte použít jen 1K rezistor?
Zákmity bych rád vyřešil hardwarově. Řešil jsem například zákmit u anemometru softwarově a při vyšších rychlostech to není prostě ono. Proto jdu hardwarovou cestou, kdy si chci udělat PCB a správně ho mít navržený.
Předem strašně moc děkuji za případné nakreslení schéma, jak by to mělo být správně.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od ondraN » 22 črc 2021, 12:27

Teď schéma nemohu kreslit. Ale, představ si, že tlačítko nahradíš blokem tlačítka se sériově zapojeným rezistorem. Jeho hodnora by měla být desetinová z hodnoty Pup nebo Pdw rezistoru. Pro 10k tedy 1k, Pro 1k to je 100ohm. Taky je dobré si spočítat časovou konstantu RC obvodu a vhodně zvolit kondenzátor. Poku vím, že max. spínací frekvence kontaktu od anemometru bude 100Hz, tam by T (T=RC) nemělo být vyšší než 10ms (1/100Hz). Já dávám cca polovinu, tedy 5ms. Pro 1k rezistor, je C=5uF. Pak to bude fungovat nejlépe. Pro lepší vlastnosti je dobré, mezi výstup tlačítka a pin CPU dát třeba schmidtův klopný obvod, který má hysterezi na vstupu a nepustí tak jemné překmity. Ale většina CPU už jej na vstupu má.

cevepe
Příspěvky: 42
Registrován: 10 zář 2018, 21:29
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od cevepe » 22 črc 2021, 13:55

Snad jsem pochopil dobře. Udělal jsem tedy schéma nové. Týká se hlavně anemometru. V případě, že doma nemám 5uF kondenzátor, ale keramický 105 (1uF), tak k němu dát tedy 200 ohmů a následně druhý rezistor má být 10 násobek, tak že místo 10K lze použít 2K ?
schematic_new.jpg
Lze toto použít i na button? Tam by se dal klidně dát i ten 100nF, to by vadit nemělo.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od ondraN » 22 črc 2021, 14:06

Schéma je OK. Hodnota kondenzátoru se odvíjí od toho, jak rychle to má spínat. Jakou maximální frekvenci předpokládáš?

cevepe
Příspěvky: 42
Registrován: 10 zář 2018, 21:29
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od cevepe » 22 črc 2021, 15:08

U toho anemometru potřebuji zvládnout alespoň náraz 25 m/s, což je zhruba 38 otáček (sepnutí) za sekundu.
Srážkoměr může mít v maximu asi 1 sepnutí za 5 sekund.

Keramické mám v podstatě 1uF nebo 1nF a pak až 100nF a více.

Button nebo RESET pin asi moc neřeším, tak hodím 100nF, což bude bohatě stačit.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Zapojení tlačítka a měření rychlosti větru (pullUP nebo pullDOWN)

Příspěvek od ondraN » 23 črc 2021, 07:31

Anemometr má tedy max. 40Hz, což odpovídá času 25ms. Zkrouhnem to na 15ms. Rezistor Rup=1k. C=15uF. Pro Rup=10k je C=1,5uF.
Myslím, že ten rezistor 10k je vhodnější, potože když nebude foukat a spínač náhodou zůstane v sepnuté poloze, tak místo 3,3mA to bude odebírat jen 0,33mA, což je i tak dost. Asi bych popřemýšlel, jestli všechny tyhle pulup rezistory nenapájet přes FET tranzistor, který by byl v době spánku vypnutý a spínal se jen při krátké periodě měření.
Pro srážkoměr bych dal Rup=10k a C=10uF, klidně elektrolytický. Větší kondenzátor bych nedával kvůli strmosti hran signálu.
Kondenzátor si můžeš vytvořit libovolně velký paralelním seřazením. Pro 1,5F mužeš dát 1uF+2x220nF paralelně, což dá 1,44uF. Nebo si zvolíš delší časovou konstantu 20ms a pak je to při 10k rezistoru 2uF=1uF+1uF paralelně. Na DPS si můžeš udělat několik pájecích plošek pro různé velikosti pouzder kondenzátorů a osadit to pak dle libosti.

Odpovědět

Kdo je online

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