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.
Řešení nedostatku pinů
Re: Řešení nedostatku pinů
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.
- 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ů
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.
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"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: Řešení nedostatku pinů
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ů
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.
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.
Re: Řešení nedostatku pinů
Tak pro ten tvůj zamýšlený účel to bude určitě OK. Kaskádovat se to dá pak téměř libovolně.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti