Řešení nedostatku pinů

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

Řešení nedostatku pinů

Příspěvek od kiRRow » 13 led 2021, 17:38

Něco do budoucna plánuji a budu potřebovat obsloužit hromadu vstupů analogových i digitálních. Po chvilce přemýšlení a několika zahozených návrhů mě nakonec napadl docela elegantní způsob jak na jeden jediný analogový pin připojit až 192 "zařízení". Zabere to onen analogový PIN a adresu na I2C lince pro PCF8575.

Teoreticky lze použít až 12 16ti kanálových multiplexorů CD74HC4067. První 4 piny PCF8575 jsou pro všechny multiplexory společné a nastavují jejich adresu. Zbývající piny slouží pro výběr jednotlivých multiplexorů. Teorii jsem i lehce ověřoval v nepájivém poli, ale jenom se dvěma multiplexory, funguje naprosto bezproblémově. Vyčtení všech 192 hodnot včetně výpisu do sériové linky (115200) trvalo 180ms, což není taky zlé.

Jestli to někoho zajímá a chtěl by vědět více, tak pisněte a já si dám tu práci, že spatlám nějaké schéma a hodím to tu i s examplem.

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

Re: Řešení nedostatku pinů

Příspěvek od ondraN » 14 led 2021, 11:07

To jsem jednou taky řešil a dospěl jsem k tomu, že jsem musel oddělit analogové a digitální signály, jak pin tak CMOS spínače. Když to bylo dohromady, tak ty digitální signály dost ovlivňovaly analogové měření (12bitů AD). Možná to bude u arduina s jeho 10bit tupějším převodníkem zanedbatelné, ale určitě bych to ověřil. Největší problém dělaly dig. signály 100Hz-10kHz.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Řešení nedostatku pinů

Příspěvek od pavel1tu » 14 led 2021, 11:47

Já zatím vždy skončil u max. 2ks 74HC4067
A problémy s tím byly vždy - většinou rušení, zpracovávám tím signály alarmů na 12/24V a dost dlouhé dráty. Samozřejmě vždy optočleny, LC/RC filtr a pak jsem to vzdal a mám na stole ve vývojovém stádiu desku s ISO1212 jako oddělovači/filtraci a 74HC4067
Zatm jsem spokojený, funkčnost mám, ještě odolnost proti rušení a nechám dělat desky.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

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

Re: Řešení nedostatku pinů

Příspěvek od kiRRow » 14 led 2021, 16:39

Děkuji za připomínky. Snad je ale samozřejmé, že takové řešení není vhodné pro všechny aplikace, protože má svá omezení. Asi budu muset vyzkoušet i jaké. Ještě mě napadlo, že kdyby se zbývajících 12pinů PCFka použilo jak vstup ještě nějakého dekodéru, tak by tam teoreticky šlo nacpat 2^12*16 vstupů :lol:

V mém případě naštěstí nebudu potřebovat zpracovávat rychle se měnící digitální signál a ani velmi přesné analogové měření. Budu potřebovat připojit jen hromadu tlačítek a potenciometrů. Rozsah měřených analogových hodnot mi bohatě stačí 0-255.

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

Re: Řešení nedostatku pinů

Příspěvek od ondraN » 14 led 2021, 18:08

Tak pro ten tvůj zamýšlený účel to bude určitě OK. Kaskádovat se to dá pak téměř libovolně.

Odpovědět

Kdo je online

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