Raspberry Pi Rozšiřující deska pro RasPi - průběžně aktualizováno (15.3.2014) Dlouhodobější projekt, jehož cílem je vytvořit rozšiřující desku, která se společně s RasPi vejde do krabičky U-KP43B , a která bude mít následující funkce:
*
Už teď je jasné, že se mi to všechno nevejde na jednu desku. Proto
budou desky minimálně dvě.
V současné době (začátek prosince 2013) vytvářím návrh plošného spoje a na nepájivém poli zkouším samostatně některé funkce. Tady je první pokus s papírovým plošňákem - ladím rozměry a
uspořádání, aby se to tam všechno vešlo.
25.11.2013 - Do funkcí byla navrácena možnost připojit vlastní SMD
obvod 2x7 vývodů (SOIC14) a připojit je někam do systému.
- K infračidlu byla doplněna signalizace příjmu pomocí LED. - K čítači impulzů byla doplněna možnost záložního napájení přes baterii - stejně, jako to má RTC. - Posílení některých napájecích cestiček na desce + několik bypassů přes kriticky zúžená místa.
28.11.2013 Podařilo se mi zprovoznit generátor a dělič frekvence HEF4060 s krystalem 4MHz. Když jsem to zkoušel na nepájivém poli, tak to pořád nechtělo kmitat. Přesněji řečeno, kmitalo to i bez krystalu na "krásných" 50Hz. Tak jsem připájel součástky co nejblíž k obvodu a pak to teprve začalo fungovat.
Doufám, že na plošňáku s tím problémy
nebudou.
S dělením frekvence žádný problém nebyl. Při použití 4MHz krystalu jsou na výstupech obvodu dostupné frekvence 244Hz až 250kHz.
Tuto frekvenci bude možné přivést ještě do PWM obvodu PCA9685, ve kterém jí bude možné ještě dále programově dělit (až milionkrát) 3.12.2013 Testování čítače impulzů (PCF8583). Musel jsem trochu upravit zapojení, aby bylo možné počítat impulzy i při vypnutém RasPi. Čítač bude v tomto režimu napájený ze záložní baterie. 9.12.2013 Čekám na nějaké součástky, abych mohl pokračovat v testech.
Při vývoji desky mě napadlo, že by bylo dobré vyvést
ven ještě komunikační linku RS232, tak jsem se tím pár dní zabýval. Nakonec to ale vypadá, že se mi asi ten výstup RS232 už do krabičky nevejde (hlavně kvůli konektoru CAN-9). 12.12.2013
13.12.2013 Odvolávám včerejší výsledek testu. Všechno už je v pořádku. Problém byl v moc velkém Pull-Up odporu na vnější straně převodníku. Na výstupech jsou tranzistory s otevřenými kolektory,
takže když jsou tranzistory rozepnuté (výstup je v logické
"1"), teče do připojené LEDky proud z Vdd2 přes Pull-Up
odpor. Vypočetl jsem, že kdybych chtěl přes ty dva oddělené
výstupy spínat nějakou zátěž, přes kterou by bylo třeba prohnat
proud 20mA, musely by Pull-Up odpory mít hodnotu 250 Ohmů (při napájení
5V). Na závěr testování této funkce jsem zkusil na jeden z těchto oddělených výstupů připojit teplotní čidlo DS18B20 a také to fungovalo bez problémů. Dokonce bylo možné si zvolit napájení toho čidla 3,3V nebo 5V. Protože toto čidlo komunikuje pomocí jednoho vodiče obousměrně, je to důkaz, že zamýšlená funkce obousměrného oddělení GPIO signálů funguje.
21.12.2013 1) Testování RTC obvodu. Upravil jsem návrh plošňáku,
aby bylo možné použít buď obvod PCF8583, nebo PCF8563, který má ještě
jeden výstup navíc. Uvažoval jsem i o dříve
popisovaném RTC obvodu BQ32000, který má programovatelné doladění
frekvence.
2) Testování displeje. Displej už jsem připojoval v jednom z minulých článků. V tom problém nebude. Dnes jsem se chtěl hlavně zaměřit na možnost podsvícení displeje pomocí jednoho z kanálů PWM obvodu PCA9685. Tím by bylo možné plynule regulovat jas podsvětu. Funguje to skvěle.
3) 25.11. jsem přidával možnost osazení vlastního SMD obvodu v pouzdře SOIC14. Dneska jsem to ještě o 2 nohy rozšířil na SOIC16.
4) Zkouším doplnit RS232 komunikaci na další destičku. Možná se nakonec do tý krabičky vejde.
5) Vnitřní oddělovač I2C sběrnice mám
naplánovaný TCA9517. Protože mi ale z Texasu přišel vzorek s pouzdrem
VSSOP8 místo SOIC8, nemám na něj připravený plošňák. Zkusím ho
sehnat jinde,
ale kdyby se to nepovedlo, tak jsem už teď plošňák připravil i pro
variantu oddělovače s obvodem ADuM1250.
29.12.2013 Ověření poslední plánované funkce - ovládání pískáku. Ještě že jsem to testoval, protože v původním návrhu
jsem měl vymyšlené ovládání pískáku z GPIO přes obyčejný NPN
tranzistor. Jenže jsem si nějak neuvědomil, že po zapnutí RasPi se na
těch GPIO může objevit "1", což způsobuje samovolné pískání
při startu RasPi. Taky se mi povedlo na plošňák našlapat ještě další 2 výstupy z PWM obvodu (PCA9685). 9.1.2014 Objednal jsem výrobu plošňáku. Ale co .... jednou za čas si takovouhle "srandu" můžu dovolit. Zkoušel jsem oslovit různé výrobce, ale za stejnou práci
jsou ty ceny všude podobné. Tak mi držte palce, ať to vyjde na první pokus ...
21.1.2014 Plošňáky dorazily. I ty nejtenčí cestičky, ze kterých jsem měl docela
strach se podařilo vyleptat hezky:
24.1.2014 Tak jsem dneska chvíli pracoval na té expanzní desce, ale hned se objevila spousta problémů. V návrhu jsem absolutně nezvládnul mechaniku. Sice jsem si to všechno nejdřív zkoušel vytisknout na papír a poskládat do krabičky, ale se skutečnými plošňáky to je jiné. Díry, které jsou o nějaký milimetr ujeté, ani tak
nevadily - to se dá srovnat pilníkem. Největší chyba ale byla v přechodu mezi horní a dolní
deskou. Plánoval jsem ty desky napojovat pomocí konektorové lišty. Hodně zbytečné práce jsem si přidělal také použitím
složených 6-pinových dutinkových lišt, místo jedné 26-pinové, která
má sloužit k propojení expanzní desky a GPIO konektoru na RasPi. Tady jsou nějaké fotky:
29.1.2014
Ještě čekám na nějaké součástky, ale velkou část expanzní desky už mám osazenou. Už jsem zkusil dokonce připojit desku k raspíčku a žádný
výbuch se nekonal. Našel jsem sice zatím dvě chyby v návrhu, ale všechno se to dalo zvládnout jednoduchým proškrábnutím cestičky, nebo překlenutím drátkem. Čekal jsem, že to dopadne hůř. Začal jsem také testovat jednotlivé funkční bloky expanzní desky. Dneska jsem zvládnul otestovat generátor a dělič
frekvence s obvodem HEF4060.
30.1.2014 Otestována funkce PWM. Detaily zde: 1.2.2014 Otestována funkce logických hradel a čítače impulzů. Detaily zde: 2.2.2014 Otestována funkce přijímače dálkového ovládání (infračidlo). Detaily zde: 4.2.2014 RTC: Snažil jsem se navrhnou desku pro různé RTC obvody. Ve výsledku se to ale moc nepovedlo a v původním návrhu bylo možné osadit jen obvody PCF8583, nebo PCF8563. Ani jeden z těchto obvodů není možné doladit pomocí kalibrační konstanty zapsané do registrů - ladí se pomocí kapacitního trimru. Proto jsem ještě trochu vylepšil návrh menší desky,
aby bylo možné volitelně použít i další RTC obvody. Tento nový návrh ale nemůžu vyzkoušet, protože nemám novou desku vyrobenou. Starou (aktuální) variantu s obvodem PCF8583 jsem otestoval a funguje: RTC1 Neověřená příprava pro novou (univerzálnější) desku je tady: RTC2 8.2.2014 Testování LED, která bliká při spouštění systému: Detaily zde: 9.2.2014 Testování 16-bitového expanderu MCP23017. Detaily zde:
11.2.2014 Testování spínacího tranzistoru pro pískák. Předpokládal jsem, že tohle bude ta nejjednodušší věc,
na které se nedá nic zkazit. Funguje například ovládání piezoreproduktorku, ale větší zátěže to nespíná. Budu to muset ještě domyslet a předělat. Zatím jen ukázka pískání, které je řízené
obvodem PCA9685:
15.2.2014 Povedlo se mi rozběhnout ten spínací tranzistor pro pískák. Původní zadání, které jsem si vymyslel, bylo: Na internetu se mi ale povedlo získat zajímavou
informaci: Detail zde: Tranzistor pro spínání reproduktorku
16.2.2014 Testování bezpečně oddělené I2C sběrnice a dvou
GPIO kanálů s možností
volby napěťové úrovně komunikace.
18.2.2014 Testování připojení maticové klávesnice. Detaily zde: klávesnice
22.2.2014 Zkouška rozšiřujícího konektoru uvnitř krabičky (například pro LED signalizaci) Detaily zde: LED-konektor
26.2.2014 Testování displeje Detaily zde: Displej
8.3.2014 A/D převodník MCP3208 Základem byl v podstatě tento článek: A/D převodník A/D převodník sice funguje, ale z nepochopitelného důvodu jsem při návrhu plošňáku připojil 4 ovládací signály (CLK, Data-IN, Data-OUT a Chip Select) přímo na GPIO, čímž jsem si tyto GPIO "zablokoval" pro použití v jiných aplikacích. Daleko lepší by bylo říící signály vyvést na kolíky a v případě potřeby je propojit na jakékoliv GPIO (nebo na výstupy některého z expanedrů). Také jsem v návrhu použil pro stabilizaci referenčního napětí obvod TL431, který je zapojený jen jako Zenerova dioda. Lepší by ale bylo použít ho i se dvěma odpory pro možnost změny referenčního napětí. Další vylepšení by mohlo být v napájecím napětí, které by bylo možné přepnout na 5V. Tím by bylo umožněno zvětšit referenční napětí o několik voltů a tím by se zvětšil i vstupní rozsah měření. Samozřejmě by v tom případě nebylo možné ovládat A/D převodník přímo přes GPIO konektor na RasPi, který by 5V signály nevydržel, ale bylo by možné řídit převodník přes nějaké 5V výstupy z expanderu. Určitě by bylo dobré dodělat na vstupy převodníku děliče napětí.
Tady popis té první (vyzkoušené) varianty - A/D převodník V1 Tady je popis připravované novější verze - A/D převodník V2 9.3.2014 Popis několika dalších bloků expanzní desky: - Napájení - Převodník komunikace I2C (pro vnitřní obvody)
12.3.2014 Další funkce připravované do novější varianty expanzní desky: - 4 vnitřní LED pro signalizaci logických stavů
15.3.2014 Popis dalších připravených funkcí nové expanzní desky: - popis konektoru pro propojení hlavní desky a desky s RTC + expanderem
|
úvodní strana webu AstroMiK.org |
|
poslední úprava stránky 15.3.2014 |