📄 ini_homing.lyx
字号:
#LyX 1.3 created this file. For more info see http://www.lyx.org/\lyxformat 221\textclass book\language english\inputencoding auto\fontscheme default\graphics default\paperfontsize default\spacing single \papersize Default\paperpackage a4\use_geometry 0\use_amsmath 0\use_natbib 0\use_numerical_citations 0\paperorientation portrait\secnumdepth 3\tocdepth 3\paragraph_separation skip\defskip smallskip\quotes_language english\quotes_times 2\papercolumns 1\papersides 1\paperpagestyle default\layout SectionHoming\begin_inset LatexCommand \label{sec:Homing}\end_inset \layout SubsectionOverview\layout StandardHoming seems simple enough - just move each joint to a known location, and set EMC's internal variables accordingly. However, different machines have different requirements, and homing can be quite complicated. When specifying the direction of travel for the axis by using a positive or negative number for SEARCH_VEL and LATCH_VEL the machine will move in the same direction as when you do a + or - jog in manual control. For example if you press the + key to move toward your home switch and you have a typical configuration then both SEARCH_VEL and LATCH_VEL will be positive numbers for that axis.\layout SubsectionHoming Sequence\begin_inset LatexCommand \index{Homing Sequence}\end_inset \layout StandardIn figure \begin_inset LatexCommand \ref{fig:Typical-Homing-Sequence}\end_inset you can see the sequence of a typical homing scenario when both SEARCH_VEL and LATCH_VEL are the same sign (positive or negative number). Notice that typical switches will have two different points where the switch will change states the \begin_inset Quotes eld\end_inset tripped\begin_inset Quotes erd\end_inset point and the \begin_inset Quotes eld\end_inset reset\begin_inset Quotes erd\end_inset point. Normally you have to travel past the reset point to get to the trip point and you have to travel past the tripped point to reach the reset point.\layout Standard\begin_inset Float figureplacement Hwide falsecollapsed false\layout CaptionTypical Homing Sequence\begin_inset LatexCommand \label{fig:Typical-Homing-Sequence}\end_inset \layout Standard\align center \begin_inset Graphics filename images/HomingTyp.jpg scale 70\end_inset \end_inset \layout EnumerateThe axis moves toward the home switch at search velocity as defined by SEARCH_VEL in the [AXIS_n] section of the ini file. Usually there is some overshoot as depicted in the figure. Search velocity is usually fast enough so you won't fall asleep waiting for the axis to traverse from one side to the other, but not so fast that damage could be done.\layout EnumerateThe axis moves in the reverse direction until the home switch changes state (off to on or on to off) plus a little to clear the switch.\layout EnumerateThe axis moves toward the home switch at latch velocity as defined by LATCH_VEL in the [AXIS_n] section of the ini file. Usually this is at a much lower speed than search velocity to get a more accurate position. When the switch changes state if a home offset is defined it is applied.\layout EnumerateThe axis moves to the home position. Usually the home location is not at the switch to prevent false tripping of the switch.\layout StandardFigure \begin_inset LatexCommand \ref{fig:motion-homing-sequence-diagram}\end_inset shows four possible homing sequences, along with the associated configuration parameters. For a more detailed description of what each configuration parameter does, see the following section.\layout Standard\begin_inset Float figureplacement Hwide falsecollapsed false\layout Caption\begin_inset LatexCommand \label{fig:motion-homing-sequence-diagram}\end_inset Homing Sequences\layout Standard\align center \begin_inset Graphics filename emc2-motion-homing-diag.eps scale 70\end_inset \end_inset \layout SubsectionHoming Configuration\begin_inset LatexCommand \index{Homing Configuration}\end_inset \layout StandardThere are six pieces of information that determine exactly how the home sequence behaves. They are defined in an [AXIS] section of the ini file.\layout Standard\begin_inset Float tableplacement Hwide falsecollapsed false\layout Standard\align center \begin_inset Tabular<lyxtabular version="3" rows="6" columns="4"><features><column alignment="center" valignment="top" leftline="true" width="0"><column alignment="center" valignment="top" leftline="true" width="0"><column alignment="center" valignment="top" leftline="true" width="0"><column alignment="center" valignment="top" leftline="true" rightline="true" width="0"><row topline="true" bottomline="true"><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardSEARCH_VEL\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardLATCH_VEL\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardUSE_INDEX\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout StandardHoming Type\end_inset </cell></row><row topline="true"><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standardnonzero\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standardnonzero\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardNO\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout StandardSwitch-only\end_inset </cell></row><row topline="true"><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standardnonzero\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standardnonzero\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardYES\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout StandardSwitch + Index\end_inset </cell></row><row topline="true"><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standard0\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standardnonzero\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardYES\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout StandardIndex-only\end_inset </cell></row><row topline="true"><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standard0\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standard0\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardNO\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout StandardNone\end_inset </cell></row><row topline="true" bottomline="true"><cell multicolumn="1" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardOther combinations\end_inset </cell><cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">\begin_inset Text\layout Standard\end_inset </cell><cell multicolumn="2" alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">\begin_inset Text\layout Standard\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout StandardError\end_inset </cell></row></lyxtabular>\end_inset \layout Caption\begin_inset LatexCommand \label{cap:Homing-Sequences}\end_inset Homing Types\end_inset \layout SubsubsectionHOME_SEARCH_VEL\begin_inset LatexCommand \index{HOME SEARCH VEL}\end_inset \layout StandardThe default value is zero. A value of zero causes EMC to assume that there is no home switch; the search stage of homing is skipped. \layout StandardIf HOME_SEARCH_VEL is non-zero, then EMC assumes that there is a home switch. It begins by checking whether the home switch is already tripped. If so, it backs off the switch at HOME_SEARCH_VEL (the direction of the back-off is opposite the sign of HOME_SEARCH_VEL). Then it searches for the home switch by moving in the direction specified by the sign of 'HOME_SEARCH_VEL', at a speed determined by its absolute value. When the home switch is detected, the joint will stop as fast as possible, but there will always be some overshoot. The amount of overshoot depends on the speed. If it is too high, the joint might overshoot enough to hit a limit switch or crash into the end of travel. On the other hand, if 'HOME_SEARCH_VEL' is too low, homing can take a long time.\layout SubsubsectionHOME_LATCH_VEL\begin_inset LatexCommand \index{HOME LATCH VEL}\end_inset \layout StandardSpecifies the speed and direction that EMC uses when it makes its final accurate determination of the home switch (if present) and index pulse location (if present). It will usually be slower than the search velocity to maximise accuracy. If HOME_SEARCH_VEL and HOME_LATCH_VEL have the same sign, then the latch phase is done while moving in the same direction as the search phase. (In that case, EMC first backs off the switch, before moving towards it again at the latch velocity.) If HOME_SEARCH_VEL and HOME_LATCH_VEL have opposite signs, the latch phase is done while moving in the opposite direction from the search phase. That means EMC will latch the first pulse after it moves off the switch. If 'HOME_SEARCH_VEL' is zero (meaning there is no home switch), and this parameter is nonzero, EMC goes ahead to the index pulse search. If 'HOME_SEARCH_VEL' is non-zero and this parameter is zero, it is an error and the homing operation will fail. The default value is zero.\layout SubsubsectionHOME_IGNORE_LIMITS\begin_inset LatexCommand \index{HOME IGNORE LIMITS}\end_inset \layout StandardCan hold the values YES / NO. This flag determines whether EMC will ignore the limit switch inputs. Some machine configurations do not use a separate home switch, instead they route one of the limit switch signals to the home switch input as well. In this case, EMC needs to ignore that limit during homing. The default value for this parameter is NO.\layout SubsubsectionHOME_USE_INDEX\begin_inset LatexCommand \index{HOME USE INDEX}\end_inset \layout StandardSpecifies whether or not there is an index pulse. If the flag is true (HOME_USE_INDEX = YES), EMC will latch on the rising edge of the index pulse. If false, EMC will latch on either the rising or falling edge of the home switch (depending on the signs of 'HOME_SEARCH_VEL' and 'HOME_LATCH_VEL'). The default value is NO.\layout SubsubsectionHOME_OFFSET\begin_inset LatexCommand \index{HOME OFFSET}\end_inset \layout StandardContains the location of the home switch or index pulse, in joint coordinates. It can also be treated as the distance between the point where the switch or index pulse is latched and the zero point of the joint. After detecting the index pulse, EMC sets the joint coordinate of the current point to \begin_inset Quotes eld\end_inset HOME_OFFSET\begin_inset Quotes erd\end_inset . The default value is zero.\layout SubsubsectionHOME\begin_inset LatexCommand \index{HOME}\end_inset \layout StandardThe position that the joint will go to upon completion of the homing sequence. After detecting the index pulse, and setting the coordinate of that point to \begin_inset Quotes eld\end_inset HOME_OFFSET\begin_inset Quotes erd\end_inset , EMC makes a move to "HOME" as the final step of the homing process. The default value is zero. Note that even if this parameter is the same as \begin_inset Quotes eld\end_inset HOME_OFFSET\begin_inset Quotes erd\end_inset , the axis will slightly overshoot the latched position as it stops. Therefore there will always be a small move at this time (unless HOME_SEARCH_VEL is zero, and the entire search/latch stage was skipped). This final move will be made at the joint's maximum velocity. Since the axis is now homed, there should be no risk of crashing the machine, and a rapid move is the quickest way to finish the homing sequence.\layout Standard\begin_inset Notecollapsed false\layout StandardThe distinction between 'home' and 'home_offset' is not as clear as I would like. I intend to make a small drawing and example to help clarify it.\end_inset \layout SubsubsectionHOME_IS_SHARED\begin_inset LatexCommand \index{HOME IS SHARED}\end_inset \layout StandardIf there is not a separate home switch input for this axis, but a number of momentary switches wired to the same pin, set this value to 1 to prevent homing from starting if one of the shared switches is already closed. Set this value to 0 to permit homing even if the switch is already closed.\layout SubsubsectionHOME_SEQUENCE\begin_inset LatexCommand \index{HOME SEQUENCE}\end_inset \layout StandardUsed to define a multi-axis homing sequence (\begin_inset Quotes eld\end_inset HOME ALL\begin_inset Quotes erd\end_inset ) and enforce homing order (e.g., Z may not be homed if X is not yet homed). An axis may be homed after all axes with a lower HOME_SEQUENCE have already been homed and are at the HOME_OFFSET. If two axes have the same HOME_SEQUENCE, they may be homed at the same time. If HOME_SEQUENCE is -1 or not specified then this joint will not be homed by the HOME ALL sequence. HOME_SEQUENCE numbers start with 0 and there may be no unused numbers.\layout Standard\begin_inset Notecollapsed false\layout Standardis a \backslash clearpage needed for some reason? JT\end_inset \layout Standard\begin_inset ERTstatus Collapsed\layout Standard\backslash clearpage\end_inset \the_end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -