diff --git a/cad/DIN_Rail_130mm.FCStd b/cad/DIN_Rail_130mm.FCStd new file mode 100644 index 0000000..a410706 Binary files /dev/null and b/cad/DIN_Rail_130mm.FCStd differ diff --git a/cad/Electronics_Acrylic.FCStd b/cad/Electronics_Acrylic.FCStd new file mode 100644 index 0000000..7e23bc3 Binary files /dev/null and b/cad/Electronics_Acrylic.FCStd differ diff --git a/cad/Electronics_Cover_Top.FCStd b/cad/Electronics_Cover_Top.FCStd index 35496fd..4cf0040 100644 Binary files a/cad/Electronics_Cover_Top.FCStd and b/cad/Electronics_Cover_Top.FCStd differ diff --git a/cad/Frame_Assembly.FCStd b/cad/Frame_Assembly.FCStd index 5324b34..2e4054c 100644 Binary files a/cad/Frame_Assembly.FCStd and b/cad/Frame_Assembly.FCStd differ diff --git a/cad/Frame_Plate_Side_Right.FCStd b/cad/Frame_Plate_Side_Right.FCStd index cbc524b..e2f1374 100644 Binary files a/cad/Frame_Plate_Side_Right.FCStd and b/cad/Frame_Plate_Side_Right.FCStd differ diff --git a/cad/Profile-20x40-300.FCStd b/cad/Profile-20x40-300.FCStd index bf7015e..d728d42 100644 Binary files a/cad/Profile-20x40-300.FCStd and b/cad/Profile-20x40-300.FCStd differ diff --git a/cad/Rod_8_300.FCStd b/cad/Rod_8_300.FCStd index 8f26e54..c5bfd56 100644 Binary files a/cad/Rod_8_300.FCStd and b/cad/Rod_8_300.FCStd differ diff --git a/tex/literatura.bib b/tex/literatura.bib index 2c2d56e..b6cd640 100644 --- a/tex/literatura.bib +++ b/tex/literatura.bib @@ -21,4 +21,20 @@ edition = {První vydání.}, address = {Brno}, keywords = {robotika vt; průmyslové roboty a manipulátory sr; roboty; automatizované výrobní systémy; pohybové jednotky; průmyslové roboty; robotické systémy; výrobní technologie; jednoúčelové manipulátory; průmyslové balancéry} +} + +@misc{FreeCAD_wiki, + author = {FreeCAD}, + title = {About FreeCAD – FreeCAD Documentation}, + year = {2013}, + update = {2019-12-06}, + url = {https://wiki.freeecad.org/About_FreeCAD} +} + +@misc{x-scara, + url = {https://github.com/madl3x/x-scara}, + author = {madl3x}, + title = {x-scara}, + year = {2023}, + note = {GitHub repository} } \ No newline at end of file diff --git a/tex/out/prace.pdf b/tex/out/prace.pdf index 0b51a55..8f382df 100644 Binary files a/tex/out/prace.pdf and b/tex/out/prace.pdf differ diff --git a/tex/text/3_teoreticka_cast.tex b/tex/text/3_teoreticka_cast.tex index 6b9d78e..b2ba8d4 100644 --- a/tex/text/3_teoreticka_cast.tex +++ b/tex/text/3_teoreticka_cast.tex @@ -16,60 +16,18 @@ FFF 3D tiskárny využívají především paralelní kinematiku \subsection{Kártézská} -Tiskárny s kartézskou kinematikou jsou nejrozšířenější a zároveň nejjednodušším typem kinematiky FFF tiskáren. Kinematika vyžaduje tři krokové motory, jednen pro každou z os. https://people.ciirc.cvut.cz/hlavac/TeachPresEn/51Robotics/11KinematicsRobot.pdf +Tiskárny s kartézskou kinematikou jsou nejrozšířenější a zároveň nejjednodušším typem kinematiky FFF tiskáren. Kinematika vyžaduje tři krokové motory, jednen pro každou z os. Kartézská kinematika je v současné době nejrožířenější kinematika a to díky jednoduchosti konstrukce a jednoduchosti kinematické transformace. -\subsubsection{Portálová (gantry)} -Portálová kinematika je v současné době nejrožířenější kinematika a to díky jednoduchosti konstrukce a jednoduchosti kinematické transformace. Tato kinematika vyžaduje nejméně čtyři krokové motory. Tedy jeden pro každou z os. Nejpopulárnější je však tiskárna Prusa i3 navržena Josefem Průšou. Tento typ tiskáren využívá krokové motory čtyři, tím se eliminuje prověšení ramene osy x. Ačkoliv jsou tyto tiskárny kompaktní, tak při tisku vyžadují v ose y větší prostor pro pohyb podložky. +\subsubsection{Portálová kinematika (gantry)} +Tato kinematika vyžaduje nejméně čtyři krokové motory, tedy jeden motor pro každou z os a jeden další motor pro jednu z os. Zpravidla to bývá osa Z. Tím se eliminuje prověšení ramene osy X. Ačkoliv jsou tyto tiskárny kompaktní, tak při tisku vyžadují v ose Y větší prostor pro pohyb tiskové podložky. Nejpopulárnější tiskárnou využívající portálovou kinematiku je Prusa i3 navržena Josefem Průšou nebo cenově přívětivější Creality Ender 3. -\subsubsection{CoreXY} +\subsubsection{Kinematika CoreXY} +Tato kinematika umožňuje díky stacionárním motorům (v osách X a Y) dosáhnout vyšší rychlosti tisku -\subsubsection{CoreXZ} +\subsubsection{Kinematika CoreXZ} -\subsection{SCARA} +\subsection{Kinematika SCARA} -\subsection{Delta} +\subsection{Kinematika Delta} -\subsection{Polární} - -\chapter{Implementace kinematiky scara do Klippy} -Pro další výpočty je potřebné znát Elbow Crosstalk Ratio (převodový poměr ozubených řemenic v ose ramene vůči řemenici v ose kloubu). - -\begin{equation} - ECR = \frac { n_S } { n_E } -\end{equation} - -\section{Přímá kinematika} - - -\section{Inverzní kinematika} -Nejprve je třeba kompenzovat offset polohy TCP v osách x a y. - -Dalším krokem je výpočet vzdálenosti od počátku. - -\begin{equation} - hypot = \sqrt{x^2 y^2} -\end{equation} - -Dále se vypočítají úhly ramen \(\phi_S\) (shoulder) a \(\phi_E\) (elbow). - -\begin{equation} - \phi_S = arctan2 \left( x, y \right) - arccos \left( \frac { x^2 + y^2 + L_1^2 - L_2^2 } { 2 \cdot L_1 \cdot hypot } \right) [\si{\radian}] -\end{equation} - -kde \(L_1\) a \(L_2\) jsou délky ramen. - -\begin{equation} - \phi_E = \frac { \phi_S } { ECR } + arccos \left( \frac { x^2 + y^2 + L_1^2 + L_2^2 } { 2 \cdot L_1 \cdot L_2 } \right) [\si{\radian}] -\end{equation} - -kde \(ECR\) je Elbow Crosstalk Ratio, \(L_1\) a \(L_2\) jsou délky ramen. - -Následně stačí převést úhel v radiánech na stupně. - -\begin{equation} - \Phi_S = \phi_S \cdot \frac { 180 } { \pi } [\si{\degree}] -\end{equation} - -\begin{equation} - \Phi_E = \phi_E \cdot \frac { 180 } { \pi } [\si{\degree}] -\end{equation} \ No newline at end of file +\subsection{Polární kinematika} \ No newline at end of file diff --git a/tex/text/4_prakticka_cast.tex b/tex/text/4_prakticka_cast.tex index e69de29..8424e52 100644 --- a/tex/text/4_prakticka_cast.tex +++ b/tex/text/4_prakticka_cast.tex @@ -0,0 +1,57 @@ +\chapter{Praktická část} + +\section{3D model} +Pro modelování dílů jsem se rozhodl použít CAD software FreeCAD. Pro tento CAD jsem se rozhodl proto, že je opensource a tedy dostupný pro každého, kdo jej chce používat. Software FreeCAD byl nedávno vydán ve verzi 1.0, což ve světě open-source mj. znamená připravenost pro použití v praxi. + +FreeCAD je univerzální parametrický modelovací systém vydaný pod licencí LGPL, tudíž jej lze libovolně šířit a modifikovat. FreeCAD je také multiplatformní, tudíž jej lze používat v operačních systémech Windows, Linux i MacOS. FreeCAD je napsán v jazyce C++ a pro manipulaci s geometrií využívá knihovny OpenCASCADE. FreeCAD lze jej rozšiřovat pomocí pluginů. FreeCAD též umožňuje psaní vlastních skriptů v jazyce Python a nahrávání vlastních maker. \cite{FreeCAD_wiki} + +Mnou vytvářené modely vychází z projektu x-scara. \cite{x-scara} Model je rozdělen do tří dílčích částí. První je základna, druhou je rameno a třetí je samotná hlava nástroje. Další částí je sestava s vyhřívanou podložkou. + +\subsection{Základna} +Základna je složena ze hliníkových profilů 20x20mm a 20x40mm. Na základnu je upevněno rameno, které se díky lineárně valivým ložiskům pohybuje po vodící tyči o průměru 8mm. Základna je složena ze hliníkových profilů 20x20mm a 20x40mm. Na základnu je upevněno rameno, které se díky lineárně valivým ložiskům pohybuje po třech vodících tyčích o průměru 8mm. V horní části základny je upevněn krokový motor, který pomocí trapézové tyče o průměru 8mm pohybuje ramenem v ose Z. + +V zadní části zakladny je též prostor pro upevnění elektroniky. Za PMMA panelem jsou přimontovány dvě DIN lišty, na které jsou pomocí adaptérů upevněny jednotlivé elektronické prvky. + +\section{Implementace kinematiky scara do Klippy} +Pro další výpočty je potřebné znát Elbow Crosstalk Ratio (převodový poměr ozubených řemenic v ose ramene vůči řemenici v ose kloubu). + +\begin{equation} + ECR = \frac { n_S } { n_E } +\end{equation} + +\section{Přímá kinematika} + + +\subsection{Inverzní kinematika} +Nejprve je třeba kompenzovat offset polohy TCP v osách x a y. + +Dalším krokem je výpočet vzdálenosti od počátku. + +\begin{equation} + hypot = \sqrt{x^2 y^2} +\end{equation} + +Dále se vypočítají úhly ramen \(\phi_S\) (shoulder) a \(\phi_E\) (elbow). + +\begin{equation} + \phi_S = arctan2 \left( x, y \right) - arccos \left( \frac { x^2 + y^2 + L_1^2 - L_2^2 } { 2 \cdot L_1 \cdot hypot } \right) [\si{\radian}] +\end{equation} + +kde \(L_1\) a \(L_2\) jsou délky ramen. + +\begin{equation} + \phi_E = \frac { \phi_S } { ECR } + arccos \left( \frac { x^2 + y^2 + L_1^2 + L_2^2 } { 2 \cdot L_1 \cdot L_2 } \right) [\si{\radian}] +\end{equation} + +kde \(ECR\) je Elbow Crosstalk Ratio, \(L_1\) a \(L_2\) jsou délky ramen. + +Následně stačí převést úhel v radiánech na stupně. + +\begin{equation} + \Phi_S = \phi_S \cdot \frac { 180 } { \pi } [\si{\degree}] +\end{equation} + +\begin{equation} + \Phi_E = \phi_E \cdot \frac { 180 } { \pi } [\si{\degree}] +\end{equation} +\section{} \ No newline at end of file