Tento shield pro RaspberryPi vznikl z d?vodu pot?eby ovládání dal?ích periferií na 3D tiskárně, za pou?ití tiskového serveru. Vět?inou toti? bě?í tiskovy server na malém po?íta?i (RaspberryPi), ktery disponuje i vstupně vystupními porty (GPIO), které je mo?no pou?ít pro ovládání periferií tiskárny. V dne?ní době prakticky v?echny tiskové servery (Repetier server, OctoPrint, Klipper), umo?ňují jejich ovládání. Nicméně aby bylo mo?né tyto GPIO pou?ít je nutné je vybavit dal?í elektronikou a to hlavně posílit jejich proudové zatí?ení a zvět?it jejich napě?ové úrovně. A právě k tomu je tento shield ur?eny. Kromě samotného roz?í?ení GPIO obsahuje i vestavěny DC/DC měni?, kterym je mo?no p?ímo napájet p?ipojeny po?íta? (RaspberryPi), p?ípadně dal?í periferie. V?e je uzp?sobeno jak mechanickym, tak elektrickym provedením, aby tento shield pasoval p?ímo na RaspberryPi a sou?asně umo?ňoval p?ipojení dal?ích modul?, jako je nap?íklad TFT dotykovy displej. Z toho d?vodu jsou některé GPIO vynechány a shieldem pouze prochází skrze oboustranny konektor 40pin. Toto ?e?ení umo?ňuje vytvo?it velmi maly, ale zároveň poměrně vybaveny tiskovy server. Pokud pak Va?e tiskárna nedisponuje nap?íklad ovládáním osvětlení, nebo senzorem filamentu, m??e tyto funkce p?evzít právě tiskovy server bez toho, aby bylo nutné jakkoli zasahovat do stávající elektroniky tiskárny a to v?etně jejího firmware. Pokud pou?íváte pro ?ízení tiskárny firmware Klipper (d?razně doporu?uji), je integrace tohoto shieldu opravdu jednoduchá.Technické specifikace:Napájecí napětí 8-30V DC (DC konektor 5,5 x 2,1mm)Po?et opticky oddělenych vstup? 3xPo?et vykonovych vystup? 5xProud z vykonového vystupu 1A na ka?dy vystup (pouze p?i volbě 24V)Volitelné napětí vykonového vystupu 12V (max 1A v?ech 5) / napájecí napětí (24V)Napájecí vystup 5V ji?těny pojistkou max 1AVystup pro LED pásek WS2812B 5V / max 1A (max 20 LED)Zvuková signalizace Piezo měni?I2C rozhraní 2x konektor (3,3V logika)UART 2x konektor (1x 5V a 1x 3,3V logika)Universální OI port 1x 3,3V IO port (nap?íklad OneWire)P?ipojení k RaspberryPi 40pinovy konektor (pr?chozí)Podporované RaspberryPi ZeroW, Zero 2W, 3, 3B, 3B+, 4BNapájení RaspberryPi P?es 40pinovy konektor 5,1V/2,5AZapojení shieldu:Jak u? jsem v úvodu nazna?il, tato deska se zasouvá do 40 pinového konektoru RaspberryPi. Její provedení p?esně kopíruje po?íta?e RaspberryPi 3, 3B, 3B+, 4B, ale je mo?no ji pou?ít i s variantou ZERO. V takovém p?ípadě v?ak doporu?uji vykonněj?í variantu ZERO 2W, které utáhne bez problému libovolny tiskovy server a to v?etně TFT dotykového displeje. Pro p?ipojení je pou?it oboustranny konektor, tak?e lze nad tuto desku p?ipojit nějakou dal?í. To se právě vyborně hodí p?i pou?ití s TFT displejem. Z toho d?vodu jsou některé vyvody tímto shieldem nepou?ité, aby nekolidovaly s displejem.Shield je rozdělen do dvou ?ástí. Jednou je napájecí DC/DC měni? a druhou pak samotné vykonové roz?í?ení GPIO vyvod? po?íta?e. Jako DC/DC měni? byl pou?it obvod XL4004, ktery je poměrně vykonny a vy?aduje minimum externích sou?ástek. Vystupní napětí je mo?no lehce regulovat kolem hodnoty 5V, p?i?em? maximálně jde nastavit 5,2V, co? by mělo byt je?tě bezpe?né pro p?ipojeny po?íta?. Nicméně doporu?uji p?i o?ivování, nastavit hodnotu na 5,1V. Díky tomuto měni?i je pak mo?no cely tiskovy server napájet p?ímo ze zdroje 3D tiskárny nebo libovolného napájecího adaptéru 8-30V. Poměrně ?asto se toti? stává, ?e pokud je Raspberry napájeno pomocí microUSB, je na kabelu a konektoru poměrně zna?ny úbytek napětí a po?íta? pak m??e pracovat nestabilně. Tento problém je tedy tímto měni?em eliminován. Sou?asně se dá napětí 5V je?tě pou?ít pro napájení nap?íklad chytrych LED pásk? WS2812B, kde m??e byt p?ipojeno a? 20 LEDek. Tento vystup napětí je pak ji?těn vratnou pojistkou (1A), aby v p?ípadě jakékoli poruchy (zkratu) na LED pásku do?lo k jeho odpojení bez toho, aby to ohrozilo funkci po?íta?e. P?ípadně je mo?no p?ipojit je?tě do samostatné svorky X5 dal?í 5V za?ízení. I tento vystup napětí je chráněn vratnou pojistkou (1A).Druhou ?ástí je pak samotné ovládání GPIO z po?íta?e. Proto jsou na desce 3 opticky oddělené vstupy pou?itelné nap?íklad pro dodate?né senzory filamentu nebo koncové spína?e. Pro vykonové ovládání je pak k dispozici pětice vystup?, kterym m??eme nastavit vystupní napětí 12V nebo 24V respektive napětí pou?ité pro napájení (konektor US2). O napájení 12V se stará maly DC/DC měni? s vystupním proudem max 1A. Proto je nutné dbát toho, aby tento proud nebyl p?ekro?en. Pokud je vystupní napětí nastaveno na 24V je mo?no z ka?dého vystupu odebírat proud 1A. Samoz?ejmě je mo?no jednotlivá napětí kombinovat a nastavit nap?íklad na 2 vystupy napětí 12V a na zbylé 3 vystupy 24V. Pak ka?dy 12V vystup m??e poskytovat proud 0,5A.No a poslední takovou men?í ?ástí jsou komunika?ní sběrnice. Máme k dispozici 2 konektory I2C a 2 konektory UART, p?i?em? jeden konektor UART pou?ívá 5V logiku v?etně napájení a druhy 3,3V logiku v?etně napájení. To se m??e hodit, pokud pot?ebujeme p?ipojit nap?íklad 8bitovou ?ídící desku s 5V logikou nebo 32bitovou desku s 3,3V logikou, bez toho abychom museli tyto signály upravovat. V?e je u? vy?e?eno na desce Shieldu. Konektor ozna?eny OneWire lze pou?ít jako univerzální vstupně/vystupní a lze k němu p?ipojit nap?íklad teplotní ?idlo DS18B20.Do zbylé mezery na PCB se mi poda?ilo, je?tě vměstnat piezo měni?, tak?e lze pou?ít i zvukovou signalizaci.Schéma zapojení:Obrázek v plném rozli?ení je sou?ástí elektronické dokumentace.Schéma osazení:Obrázek v plném rozli?ení je sou?ástí elektronické dokumentace. O?ivení a montá? shieldu:P?i o?ivování musíme pouze nastavit vystupní napětí DC/DC měni?e trimrem TM1 na hodnotu 5,1V. Tím je ve?keré o?ivení hotovo.I samotná montá? by neměla ?init ?ádné potí?e, neb shield se pouze zasune do konektoru na RaspberryPi. Doporu?uji pou?ít distan?ní sloupky (M2,5), které shield zafixují ve správné pozici. Krabi?ka(y):Pro jednotlivé varianty sestav vzniknou modely krabi?ek, které bude mo?no vytisknou a celou sestavu tak vhodně zakrytovat. Proto sledujte tento projekt i v diskusi na ní? najdete odkaz ní?e. Vyznam jednotlivych konektor?:US2 - Napájení Shieldu 8-30V (DC konektor 5,5 x 2,1mm) st?ední kolík + X1 - Vykonové vystupyX1-1 Kladné napětí (12V max 200mA / 24V max 1A)X1-2 GND (spínané) – GPIO05 X1-3 Kladné napětí (12V max 200mA / 24V max 1A)X1-4 GND (spínané) – GPIO06 X1-5 Kladné napětí (12V max 200mA / 24V max 1A)X1-6 GND (spínané) – GPIO13 X1-7 Kladné napětí (12V max 200mA / 24V max 1A)X1-8 GND (spínané) – GPIO19 X1-9 Kladné napětí (12V max 200mA / 24V max 1A)X1-10 GND (spínané) – GPIO26 X3 - Opticky oddělené vstupyX3-1 Anoda (+ 3-24V) – GPIO12X3-2 Katoda (spojeno s GND) X3-3 Anoda (+ 3-24V) – GPIO16X3-4 Katoda (spojeno s GND) X3-5 Anoda (+ 3-24V) – GPIO20X3-6 Katoda (spojeno s GND) X4 - LED pásek WS2812BX4-1 GNDX4-2 Datová komunikace do pásku WS2812B – GPIO27X4-3 Napájení pásku +5V/1A X5 - Vystup napětí 5V/1AX5-1 Vystup 5V/1AX5-2 GND OneWire - Universální IO port 3,3VPS1 GNDPS2 GPIO21PS3 3,3V (max 50mA) I2C 3V3 - Komunika?ní rozhraní I2C (3,3V)PS1 GNDPS2 3,3V (max 50mA)PS3 SCLPS4 SDA UART 5V - Komunika?ní rozhraní UART (5V)PS1 GNDPS2 TXD – GPIO14PS3 RXD – GPIO15PS4 5V (max 100mA) UART 3V3 - Komunika?ní rozhraní UART (3,3V)PS1 GNDPS2 TXD – GPIO14PS3 RXD – GPIO15PS4 3,3V (max 50mA) JP1 - Volba vystupního napětí pro X1-1JP1-1/2 12VJP1-2/3 24V (napětí vstupu US2) JP2 - Volba vystupního napětí pro X1-3JP2-1/2 12VJP2-2/3 24V (napětí vstupu US2) JP3 - Volba vystupního napětí pro X1-5JP3-1/2 12VJP3-2/3 24V (napětí vstupu US2) JP4 - Volba vystupního napětí pro X1-7JP4-1/2 12VJP4-2/3 24V (napětí vstupu US2) JP5 - Volba vystupního napětí pro X1-9JP5-1/2 12VJP5-2/3 24V (napětí vstupu US2) Seznam pou?itych komponent:C1 4x 100nF C-EUC1206 C1206C2 100nF C-EUC1206 C1206C3 1x 33nF C-EUC1206 C1206C4 1x 220uF/35V CPOL-EU153CLV-0605 153CLV-0605C5 1x 330uF/16V CPOL-EU153CLV-0605 153CLV-0605C6 100nF C-EUC1206 C1206C7 1x 100uF/35V CPOL-EU153CLV-0605 153CLV-0605C8 100nF C-EUC1206 C1206C9 1x 100uF/25V CPOL-EU153CLV-0605 153CLV-0605D1 MBRD1045 50WQ10FN TO-252-COMMON-PINSDC1 R-78C12-1.0 R-78C12-1.0 SIP3F1 2x SD110-08 1812L 1812LF2 SD110-08 1812L 1812LJP1 5x JP2E JP2JP2 JP2E JP2JP3 JP2E JP2JP4 JP2E JP2JP5 JP2E JP2L1 33uH/5A DR127 DR127LED1 5x LED CHIPLED_1206LED2 LED CHIPLED_1206LED3 LED CHIPLED_1206LED4 LED CHIPLED_1206LED5 LED CHIPLED_1206OK1 3x SFH618A-3X007 SFH618A-3X007 SMD4-7OK2 SFH618A-3X007 SFH618A-3X007 SMD4-7OK3 SFH618A-3X007 SFH618A-3X007 SMD4-7Q1 6x MOSFET-NREFLOW SOT23Q2 MOSFET-NREFLOW SOT23Q3 MOSFET-NREFLOW SOT23Q4 MOSFET-NREFLOW SOT23Q5 MOSFET-NREFLOW SOT23Q6 MOSFET-NREFLOW SOT23R1 2x 2K2 R-EU_R1206 R1206R2 4x 10K R-EU_R1206 R1206R3 6x 10R R-EU_R1206 R1206R4 6x 100K R-EU_R1206 R1206R5 8x 3K9 R-EU_R1206 R1206R6 10R R-EU_R1206 R1206R7 100K R-EU_R1206 R1206R8 3K9 R-EU_R1206 R1206R9 10R R-EU_R1206 R1206R10 100K R-EU_R1206 R1206R11 3K9 R-EU_R1206 R1206R12 10R R-EU_R1206 R1206R13 100K R-EU_R1206 R1206R14 3K9 R-EU_R1206 R1206R15 10R R-EU_R1206 R1206R16 100K R-EU_R1206 R1206R17 3K9 R-EU_R1206 R1206R18 10R R-EU_R1206 R1206R19 100K R-EU_R1206 R1206R20 3K9 R-EU_R1206 R1206R21 3K9 R-EU_R1206 R1206R22 3K9 R-EU_R1206 R1206R23 10K R-EU_R1206 R1206R24 10K R-EU_R1206 R1206R25 10K R-EU_R1206 R1206R26 2K2 R-EU_R1206 R1206R27 1x 1K R-EU_R1206 R1206SG1 F/CM12P F/CM12P F/CM12PTM1 2K TRIMPOTTC33X TC33XU$1 XL4005 XL4005 TO263-5LU$2 2.1MMJACKTHM 2.1MMJACKTHM PJ-102AU$3 4x 4_PIN_JST-XH 4_PIN_JST-XH 4_PIN_JST-XHU$4 4_PIN_JST-XH 4_PIN_JST-XH 4_PIN_JST-XHU$5 4_PIN_JST-XH 4_PIN_JST-XH 4_PIN_JST-XHU$6 4_PIN_JST-XH 4_PIN_JST-XH 4_PIN_JST-XHU$7 1x 3_PIN_JST-XH 3_PIN_JST-XH 3_PIN_JST-XHX1 AK550/10 AK550/10X2 RASPI_BOARD_B RASPI_BOARD_B+#_E4 RASPI_BOARDX3 AK550/6 AK550/6X4 AK550/3 AK550/3X5 AK550/2 AK550/2 Instalace ve spojení s firmwarem Klipper:Nyní si popí?eme jak tento shield zprovoznit pokud pou?íváte firmware Klipper. Firmware Klipper se skládá v podstatě ze dvou ?ástí. Samotny firmware bě?ící v ?ídící desce, je? ovládá 3D tiskárnu a aplikaci, která bě?í v ?ídícím po?íta?i vět?inou RaspberryPi nebo podobném (OrangePi). Toto rozdělení umo?ňuje maximálně vyu?ít vypo?etní vykon RaspberryPi a do ?ídící desky, která m??e byt zalo?ena na 8bitovém MCU ji? posílá p?edp?ipravené p?íkazy, které deska (MCU) pouze vykoná. Dal?í velkou vyhodou je mo?nost p?ipojit k hlavnímu po?íta?i (RaspberryPi) hned několik ?ídících desek, a tak roz?í?it mo?nosti tiskárny. A jak jistě v?ichni víte samotny po?íta? RaspberryPi obsahuje hned několik GPIO, které jsou napojeny na tento shield. Tak?e se nabízí mo?nost je vyu?ít jako roz?í?ení ke stávající ?ídící desce. Z tohoto d?vodu musíme na Raspberry je?tě kromě samotného Klippru doinstalovat podporu MCU, které bude ovládat GPIO (o samotné instalaci Klippru se zde nebudu rozepisovat, ale m??ete se podívat do diskuse ZDE). Tak?e se na to poj?me podívat. V první ?adě pokud máte na RaspberryPi zprovozněn Klipper se p?ipojte p?es SSH a dále postupujte dle instrukcí: cd ~/klipper/sudo cp "./scripts/klipper-mcu-start.sh" /etc/init.d/klipper_mcusudo update-rc.d klipper_mcu defaultsNyní musíme zkompilovat firmware pro MCU RaspberryPi:cd ~/klipper/make menuconfigV sekci Micro-controler Archytecture vybereme Linux process a ulo?íme Q a Y. sudo service klipper stopmake flashsudo service klipper startNyní je podpora MCU z RaspberryPi nainstalována a ji? sta?í definovat do konfigura?ního souboru printer.cfg funkce pro tento MCU.?ást konfigura?ního souboru tiskárny, kde jsou definované vystupy, m??e vypadat nap?íklad takto:[mcu host]serial: /tmp/klipper_host_mcu [output_pin beeper_RPi]pin: host:gpio22pwm: Truevalue: 0shutdown_value: 0cycle_time: 0.001scale: 1000 [output_pin Svetlo]pin: host:gpio5value: 0shutdown_value: 0 [output_pin PS_ON]pin: host:gpio6value: 0shutdown_value: 0 [output_pin FAN-1]pin: host:gpio13value: 0shutdown_value: 0 [output_pin FAN-2]pin: host:gpio19value: 0shutdown_value: 0 [output_pin FAN-3]pin: host:gpio26value: 0shutdown_value: 0Zde si v?imněte, ?e jako první je definováno MCU host a dále pak ji? jednotlivé vystupy. V?dy p?ed definicí ovládacího pinu musí byt uvedeno, na ktery MCU je tento pin p?ipojen (pin: host:gpio20).Nyní m??eme konfigura?ní soubor ulo?it a restartovat firmware. Následně u? m??eme p?es u?ivatelské rozhraní dané vystupy ovládat.Pokud by se Vám nechtěl firmware spojit s MCU v RaspberryPi a hlásil, ?e nem??e najít cestu k sériovému portu na adrese: /tmp/klipper_host_mcu doporu?uji RaspberryPi vypnout a zase zapnout. Pokud by problém dále p?etrvával, m??ete zkusit p?idat u?ivatele pi do skupiny tty p?íkazem:sudo usermod -a -G tty pi Tímto bychom měli vy?e?ené ovládání vystup?, ale je?tě si uká?eme jak pou?ít vstupy nap?íklad jako detektory filamentu. ?ást konfigurace je zde:[filament_switch_sensor Filament_1]pause_on_runout: Truerunout_gcode: M25switch_pin: host:gpio12 [filament_switch_sensor Filament_2]pause_on_runout: Truerunout_gcode: M25switch_pin: host:gpio16 [filament_switch_sensor Filament_3]pause_on_runout: Truerunout_gcode: M25switch_pin: host:gpio20 V u?ivatelském rozhraní se nám to pak zobrazí nějak takto:Samoz?ejmě je nutné mít na paměti, ?e vstupy mají oto?enou logiku. To znamená, ?e v klidovém stavu jsou v LOG-1 a v momentě sepnutí p?ejdou do LOG-0. To je zp?sobeno pou?itím opto?len? na vstupech MCU. Nicméně logiku vyhodnocení je mo?no upravovat v konfigu p?idáním znaku vyk?i?níku (!) p?ed definici pinu: switch_pin: !host:gpio12. To by mělo jako ukázka pou?ití shieldu s firmwarem Klipper sta?it. Pro dal?í informace nav?tivte stránky s dokumentací pro tento firmware, kde se m??ete do?íst více podrobností, které se do tohoto zjednodu?eného návodu neve?li.https://www.klipper3d.org/Overview.html Pou?ití s Repetier serverem:Dal?í mo?ností je pou?ití s Repetier serverem. Zde je zprovoznění mnohem jednodu??í, ale na druhou stranu to neposkytuje tolik mo?ností jako Klipper. Av?ak pokud pou?íváte tento server, vy?aduje zprovoznění pouze definování pat?i?nych funkcí ve webovém rozhraní serveru. Opět pár informací je mo?no najít v diskusi ZDE v?etně video návodu na mém YT:https://youtu.be/qEGrFefesb4 Pou?ití s dal?ími servery:Samoz?ejmě toto není vy?et v?ech pou?itelnych server?. M??ete pou?ít nap?íklad velmi oblíbeny OctoPrint. Nicméně o tom se zde nebudu rozepisovat, neb ho sám nepou?ívám, ale mohu Vás odkázat do mé diskuse, kde se pár věcí okolo tohoto serveru ?e?ilo:https://forum.sakul.cz/viewtopic.php?f=11&t=1156P?ípadně zde na m?j Patreon, kde je kompletní ?lánek s návodem jak tento server zprovoznit v?etně TFT dotykového displeje a hned několika u?ivatelskymi rozhraními:https://www.patreon.com/posts/46703889 Závěre?né prohlá?ení:Autor této konstrukce se z?íká jakékoli odpovědnosti za chování této konstrukce a jakékoli ?kody, která m??e vzniknout pou?itím této konstrukce. Ve?kerou odpovědnost p?ebírá provozovatel za?ízení. Co znamená (EA / FINAL) v nadpisu konstrukce:Jde o zkratku Early Access neboli p?edbě?ny p?ístup. Vět?ina mych projekt? za?íná fází p?edbě?ného p?ístupu, kdy je daná konstrukce uvolněna (zve?ejněna), ale stále nejde o finální provedení. Některé funkce nemusí byt je?tě integrovány, p?ípadně se v konstrukci mohou vyskytovat chyby. Nicméně ji? jde o pou?itelnou konstrukci, která se dále vyvíjí a zdokonaluje. V momentě, kdy uznám, ?e je ji? v?e funk?ní a odladěné, p?echází konstrukce do Finální fáze (ozna?eno jako FINAL). P?edem upozorňuji, ?e konstrukce zve?ejněné v re?imu EA nemusí nikdy p?ejít do verze FINAL a nelze reklamovat jejich funkcionalitu. Tím, ?e si tuto konstrukci po?ídíte, zároveň stvrzujete, ?e jste seznámeni s aktuální funkcionalitou a p?ípadnymi chybami, je? m??e konstrukce obsahovat a akceptujete je. Technická podpora:Ve?kerá podpora pro tuto konstrukci je ?e?ena vyhradně formou diskuse. Proto pokud máte jakykoli dotaz tykající se této konstrukce, obracejte se do fóra:https://forum.sakul.cz/viewtopic.php?f=10&t=48https://forum.sakul.cz/viewtopic.php?f=10&t=1297 Donate (p?íspěvek/dar):Pokud Vám tento manuál pomohl, zva?te mo?nost p?íspěvku libovolné ?ástky. Právě díky t?eba Va?emu p?íspěvku bude moci vzniknout nějaky dal?í manuál nebo celá konstrukce. P?ispět je mo?no na bankovní ú?et: 670100-2208863541/6210Nebo na PayPal: SakulRaider@seznam.cz Patreon:Rozhodl jsem se, ?e v?echny moje nové konstrukce (ale i staré), ?lánky, návody a dal?í tvorba budou v?dy jako první zve?ejněny na mém Patreonu. Teprve a? po nějakém ?ase p?ejdou na web a jiná umístění. To dává mym fanou?k?m mo?nost mě podpo?it nap?íklad zakoupením ?lenství a tím mne motivovat k p?idávání dal?ího obsahu. Zpoplatněny (trvale) budou jen některé p?íspěvky (konstrukce, p?ípadně jejich ?ásti). Vět?ina bude stále zdarma, nicméně dostupná a? za nějaky ?as.Model publikace je takovy, ?e ka?dy novy p?íspěvek (vět?inou konstrukce nebo návod) bude zpoplatněn v nějakém ?lenství. Tím bude exkluzivní pro v?echny platící ?leny. Po nějakém ?ase p?ejde do bezplatného zve?ejnění, nap?íklad na mém webu nebo diskusi.