Schéma a popis navrhovaného HW 1.0

 

Uvedené schéma jsem vyzkoušel a je funkční. Vyrobil jsem prototyp, na kterém testuji první softwarové pokusy. Možná to sem ještě nepatří, ale upozorňuji všechny případné zájemce o stavbu na drobný chyták. Tento HW předpokládá, že vstupní GPIO piny do Raspberry Pi budou mít aktivované vnitřní pullup odpory na +3.3V. Defaultně jsou tyto odpory odpojené. Některé softwarové knihovny ale pullup odpory neumí aktivovat. V tom případě se musí zapnout už při startu Raspberry Pi doplněním zápisu do textového souboru config.txt. Ještě to připomenu v části věnované software.

SchemaThumb

Obr.1 - Schéma navrhované úpravy

Propojení s Raspberry Pi bude pomocí GPIO portu. Nejprve se musí vyřešit otázka kompatibility. Starší počítače Raspberry Pi se vyráběly v provedení s 26-ti pinovým GPIO konektorem. Novější Raspberry Pi 3 a 4 mají konektor GPIO se 40-ti piny. Starší Raspberry Pi by nejspíš výkonově stačily, ale volných pinů je málo. Některé piny mají víc funkcí, proto je těžké posoudit, které použít.

Nakonec jsem se rozhodl, že starší Raspberry Pi s 26-ti pinovým konektorem podporovat nebudu, protože vybírat na nových Raspberry Pi piny, které jsou k dispozici i na starších verzích, by byla zbytečná komplikace. Navíc výhledově uvažuji o ovládání dalšího HW, pro který už na starých verzích není dost volných pinů. Proto by zpětnou kompatibilitu v budoucnu stejně nebylo možné udržet. To prakticky znamená, že pokud někdo přece jen použije starší Raspberry Pi s 26-ti pinovým konektorem, bude muset adekvátně upravit i software a kromě ovládání pozicionéru už na nic dalšího nebude mít HW rezervu. Popis GPIO konektoru je na následujícím obrázku.

 GPIO40PinsThumb

Obr. 2 Popis konektoru GPIO Raspberry Pi

Výstupy z počítače budeme potřebovat čtyři:

  • GPIO27 (Pin13) Zapnout / vypnout motor elevace
  • GPIO23 (Pin16) Zapnout / vypnout motor azimutu
  • GPIO17 (Pin11) Změnit směr motoru elevace
  • GPIO4 (Pin7) Změnit směr motoru azimutu.

Vstupů do počítače budeme potřebovat šest:

  • GPIO19 (Pin35) Čidlo A motoru elevace
  • GPIO26 (Pin37) Čidlo B motoru elevace
  • GPIO20 (Pin38) Čidlo A motoru azimutu
  • GPIO21 (Pin40) Čidlo B motoru azimutu
  • GPIO16 (Pin36) Spínač nulové polohy elevace
  • GPIO12 (Pin32) Spínač nulové polohy azimutu

Spínání relé je nejjednodušší část. Výstup optočlenu TLP627-4 snese napětí až 300V a proud až 150mA, takže může spínat přímo cívku relé. Obsahuje i rychlou antiparalelní diodu pro indukční zátěž. Ke spolehlivému sepnutí stačí proud vstupní LED diodou 2 mA, což výstupní GPIO piny raspberry Pi při napětí 3,3V spolehlivě vydrží.

Se vstupními signály to je trochu složitější. Inspiraci jsem si vzal ze schématu původního zařízení. Odporová síť 1k5, 560 a 680 ohmů zajišťuje dostatečný proud vstupními LED diodami optočlenu PC844. LED svítí, pokud je na výstupu čidla 0V, což omezuje jeho výkonové zatížení. V tu chvíli sepne výstupní fototranzistor, který přes ochranný odpor 1k5 propojí vstupní GPIO pin se zemí. Spínače nulových bodů pracují ve stejném režimu. Jsou ještě doplněny filtračními kondenzátory 1nf filtrující indukované vysokofrekvenční rušení. Přece jen 2m drátu už je dostatečnou anténou, která zachytí kde co.

V následující tabulce je soupis použitých součástek:

Číslo součásti Název Počet kusů
1  Odpor 0R1 5W 5%  2
2  Odpor 560Ω  6
3  Odpor 680Ω  6
4  Odpor 820Ω  4
5  Odpor 1k5  12
6  Kondenzátor 1nF  2
 7  Optočlen TLP627-4   1 
 8  Optočlen PC844   2 
9  Relé OMRON G2R-1-DC24   2 
10  Relé OMRON G2R-2-DC24  2 
11  Svorkovnice ARK500/2EX   8 
12  Konektor MLW40G  1 
13  Zdroj MEAN WELL LRS-75-24  1 
14  Raspberry Pi3 + zdroj + SD karta  1