Komunikační napěťová úroveň

Odpovědět
Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Komunikační napěťová úroveň

Příspěvek od Axamith » 03 led 2022, 18:14

Dávám dohromady zařízení, které mj. bude obsahovat:
Arduino Mega 2560 PRO https://robotdyn.com/mega-2560-pro-embe ... -16au.html
Bluetooth modul HC-05 https://dratek.cz/arduino/1005-bluetoot ... hc-05.html
PIR Pohybové čidlo HC - SR50 https://dratek.cz/arduino/839-hc-sr501- ... itace.html

BT a PIR mají Komunikační napěťová úroveň 3,3 V, viz.
https://dratek.cz/docs/produkty/0/757/e ... 635995.pdf
https://dratek.cz/docs/produkty/1/1401/1427822941.pdf

Ukázkové kódy ovšem toto vůbec nerespektují a připojují periferie přímo na 5V Arduino (UNO), bez převodníku úrovní, viz.
https://navody.dratek.cz/navody-k-produ ... sr501.html
https://navody.dratek.cz/navody-k-produ ... hc-05.html

Zde jsem našel tutorial Mega + BT HC-05, které používá odporový dělič napětí, viz.
https://www.electronicshub.org/hc-05-bluetooth-module/

Přiznám se, že v tom docela plavu a nejsem si vůbec jistý, jak periferie(BT a PIR) k Mega připojit, abych ho neodpálil.

zajicjarda
Příspěvky: 39
Registrován: 31 srp 2017, 22:29
Reputation: 0

Re: Komunikační napěťová úroveň

Příspěvek od zajicjarda » 03 led 2022, 20:46

Řekl bych že nemáš až tak uplně pravdu. Ať koukám na kterej koliv odkaz co zminuješ tak všude je psáno 5 V. PIR Pohybové čidlo HC - SR50 má napájecí napětí 5 až 12 V, komunikace s arduinem je jednosměrná a 3,3V arduino zkousne bez problému. Hlavní část Bluetooth modulu HC-05 má 3,3V logiku a napájení, ale to je ta zelená část, která je přidělaná na modrou která upravuje napájecí napětí na 3,3 V a logika to vydrží.

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

Re: Komunikační napěťová úroveň

Příspěvek od ondraN » 04 led 2022, 09:26

U toho PIR čidla je 3,3V výstup, což je pro 5V arduino OK bez jakéhokoli převodníku. U BT je na Rx předepsaná úroveň 3,3V a arduino by mohlo vstup poškodit. Osobně bych port k BT dal kompletně (Rx i Tx) přes převodník úrovní (třeba tento https://dratek.cz/arduino/1575-i2c-iic- ... level.html)

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Komunikační napěťová úroveň

Příspěvek od AstroMiK » 04 led 2022, 16:16

Tady bych s tebou Ondro nesouhlasil.

Čím víc aktivních prvků, tím je větší riziko, že se něco pokazí.
V tomto konkrétním případě nevidím žádný důvod k tomu nahrazovat obyčejný dělič nějakým zapojením, které umožňuje obousměrnou komunikaci.

Navíc bys musel někde shánět to 3V napájení převodníku.
Já vím, že u běžných Arduin je to napětí k dispozici (bere se z USB převodníku),
ale třeba u Arduina Mini, nebo při použití samotného procesoru by to pak vyžadovalo tvorbu další větve napájecího napětí.

Dělič je jednoduchý, v podstatě nezničitelný a levný.


A co se týče druhého směru, tak Arduino i při napájení 5V tu třívoltovou logiku zvládne (graf přikládám níže).
Snad jedině, když by ten BT modul byl hodně daleko od Arduina, tak by to mohlo dělat problémy.
I v tomhle případě by ale na zvednutí úrovně stačil jeden tranzistor a nebylo by nutné tam dávat 8-kanálový modul.

threshold.gif

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Komunikační napěťová úroveň

Příspěvek od Axamith » 04 led 2022, 17:00

Arduino Mega a BT HC-05 budou hned vedle sebe, PID bude cca 1,5-5 metry vedený kabelem.
Odporový dělič na Mega - BT je mi také jeví jako rozumná varinta, u PIR si nejsem jistý.

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

Re: Komunikační napěťová úroveň

Příspěvek od ondraN » 05 led 2022, 07:27

AstroMiK píše:
04 led 2022, 16:16
Tady bych s tebou Ondro nesouhlasil.

Čím víc aktivních prvků, tím je větší riziko, že se něco pokazí.
V tomto konkrétním případě nevidím žádný důvod k tomu nahrazovat obyčejný dělič nějakým zapojením, které umožňuje obousměrnou komunikaci.

Navíc bys musel někde shánět to 3V napájení převodníku.
Já vím, že u běžných Arduin je to napětí k dispozici (bere se z USB převodníku),
ale třeba u Arduina Mini, nebo při použití samotného procesoru by to pak vyžadovalo tvorbu další větve napájecího napětí.

Dělič je jednoduchý, v podstatě nezničitelný a levný.
......
Ono je vždycky něco za něco. Ten odprový dělič může vypadat dobře, pokud si neuvědomíme, že vstupy MOS IO jsou v podstatě kapacity a ve spojení s rezistorem mění průběh signálu. Pro pomalou komuikaci (9600bd) je to třeba OK, pro rychlou komunikaci (SPI, 115200bd ...) to už může být nepřijatelné a rezistory pro strmější hrany vycházejí s malými hodnotami. Pak ten dělič zatěžuje výstup a zvyšuje spotřebu (obvzláště, pokud je klidová úroveň pinu High).
Aktivní převodníky tyhle nežádoucí vlastnosti eliminují za cenu vyšší složitosti. Ale ty moduly se dají většinou rozříznout, nebo koupit s menším množstvím kanálů a nebo se dá osadit jen ten jeden tranzistor navíc, pokud budou aktivované pullup interní zdroje, nejsou ani nutné ty dva rezistory k tranzistoru a pak je to jen jeden tranzistor versus dva rezistory ;) .

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Komunikační napěťová úroveň

Příspěvek od Axamith » 05 led 2022, 08:51

Našel jsem doma hrst převodníků https://dratek.cz/arduino/1481-iic-i2c- ... rovne.html
Myslím, že je pro klid duše použiji na Bt i PIR.

Odpovědět

Kdo je online

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