📄 stepconf.lyx
字号:
\series bold 0\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardPWM 1:\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout Standard\series bold 0\end_inset </cell></row><row topline="true" bottomline="true"><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardSpeed 2:\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout Standard\series bold 1000\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">\begin_inset Text\layout StandardPWM 1:\end_inset </cell><cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">\begin_inset Text\layout Standard\series bold 1\end_inset </cell></row></lyxtabular>\end_inset \layout StandardFinish the remaining steps of the configuration process, then launch EMC with your configuration. Turn the machine on and select the MDI tab. Start the spindle turning by entering: \family typewriter M3 S100\family default . Change the spindle speed by entering a different S-number: \family typewriter S800\family default . Valid numbers range from 1 to 1000.\layout StandardFor two different S-numbers, measure the actual spindle speed in RPM. Record the S-numbers and actual spindle speeds. Run Stepconf again. For \begin_inset Quotes eld\end_inset Speed\begin_inset Quotes erd\end_inset enter the measured speed, and for \begin_inset Quotes eld\end_inset PWM\begin_inset Quotes erd\end_inset enter the S-number divided by 1000.\layout StandardBecause most spindle drivers are somewhat nonlinear in their response curves, it is best to:\layout ItemizeMake sure the two calibration speeds are not too close together in RPM\layout ItemizeMake sure the two calibration speeds are in the range of speeds you will typically use while milling\layout StandardFor instance, if your spindle will go from 0RPM to 8000RPM, but you generally use speeds from 400RPM to 4000RPM, then find the PWM values that give 1600RPM and 2800RPM.\layout SectionAxis Travel, Home Location, and Home Switch Location\begin_inset LatexCommand \index{Axis Travel}\end_inset \begin_inset LatexCommand \index{Home Location}\end_inset \begin_inset LatexCommand \index{Home Switch Location}\end_inset \begin_inset LatexCommand \label{sec:Axis-Travel-Home}\end_inset \layout StandardFor each axis, there is a limited range of travel. The physical end of travel is called the \series bold hard stop\series default .\layout StandardBefore the \series bold hard stop\series default there is a \series bold limit switch\series default . If the limit switch is encountered during normal operation, EMC shuts down the motor amplifier. The distance between the \series bold hard stop\series default and \series bold limit switch\series default must be long enough to allow an unpowered motor to coast to a stop. \layout StandardBefore the \series bold limit switch\series default there is a \series bold soft limit\series default . This is a limit enforced in software after homing. If a MDI command, or gcode program would pass the soft limit, it is not executed. If a jog would pass the soft limit, it is terminated at the soft limit.\layout StandardThe \series bold home switch\series default can be placed anywhere within the travel (between hard stops). As long as external hardware does not deactivate the motor amplifiers with the limit switch is reached, one of the limit switches can be used as a home switch.\layout StandardThe \series bold zero position\series default is the location on the axis that is 0 in the machine coordinate system. Usually the \series bold zero position\series default will be within the \series bold soft limits\series default . On lathes, constant surface speed mode requires that machine \series bold X=0\series default correspond to the center of spindle rotation when no tool offset is in effect.\layout StandardThe \series bold home position\series default is the location within travel that the axis will be moved to at the end of the homing sequence. This value must be within the \series bold soft limits\series default . In particular, the \series bold home position\series default should never be exactly equal to a \series bold soft limit\series default .\layout Standard\begin_inset Notecollapsed false\layout Standarda diagram of all these limits would be nice\end_inset \layout SubsectionOperating without Limit Switches\begin_inset LatexCommand \index{Operating without Limit Switches}\end_inset \begin_inset LatexCommand \label{sub:Operating-without-Limit}\end_inset \layout StandardA machine can be operated without limit switches. In this case, only the \series bold soft limits\series default stop the machine from reaching the \series bold hard stop\series default . \series bold Soft limits\series default only operate after the machine has been homed. Since there is no switch, the machine must be moved by eye to the home position before pressing the \begin_inset Quotes eld\end_inset Home\begin_inset Quotes erd\end_inset or \begin_inset Quotes eld\end_inset Home All\begin_inset Quotes erd\end_inset button.\layout SubsectionOperating without Home Switches\begin_inset LatexCommand \index{Operating without Home Switches}\end_inset \begin_inset LatexCommand \label{sub:Operating-without-Home}\end_inset \layout StandardA machine can be operated without home switches. If the machine has limit switches, but no home switches, it is best to use a limit switch as the home switch (e.g., choose \series bold Minimum Limit + Home X\series default in the pinout). If the machine has no limit switches, or the limit switches cannot be used as home switches for another reason, then the machine must be homed \begin_inset Quotes eld\end_inset by eye\begin_inset Quotes erd\end_inset . Homing by eye is not as repeatable as homing to switches, but it still allows the \series bold soft limits\series default to be useful.\layout SectionLatency Test\begin_inset LatexCommand \index{Latency Test}\end_inset \begin_inset LatexCommand \label{sec:Latency-Test}\end_inset \layout StandardGenerating step pulses in software has one very big advantage - it's free. Just about every PC has a parallel port that is capable of outputting step pulses that are generated by the software. However, software step pulses also have some disadvantages:\layout Itemizelimited maximum step rate \layout Itemizejitter in the generated pulses\layout Itemizeloads the CPU\layout StandardLatency is how long it takes the PC to stop what it is doing and respond to an external request. In our case, the request is the periodic "heartbeat" that serves as a timing reference for the step pulses. The lower the latency, the faster you can run the heartbeat, and the faster and smoother the step pulses will be.\layout StandardLatency is far more important than CPU speed. A lowly Pentium II that responds to interrupts within 10 microseconds each and every time can give better results than the latest and fastest P4 Hyperthreading beast.\layout StandardThe CPU isn't the only factor in determining latency. Motherboards, video cards, USB ports, and a number of other things can hurt the latency. The best way to find out what you are dealing with is to run the HAL latency test.\layout StandardTo run the test, from Applications/Accessories/Terminal (Ubuntu) open a shell and run the following command: \layout LyX-Codelatency-test \layout StandardYou should see something like this:\layout Standard\align center \begin_inset Graphics filename latency.png\end_inset \layout StandardWhile the test is running, you should "abuse" the computer. Move windows around on the screen. Surf the web. Copy some large files around on the disk. Play some music. Run an OpenGL program such as glxgears. The idea is to put the PC through its paces while the latency test checks to see what the worst case numbers are. \layout Standard\series bold Do not run EMC2 or Stepconf while the latency test is running.\layout StandardThe important numbers are the \begin_inset Quotes eld\end_inset max jitter\begin_inset Quotes erd\end_inset . In the example above, that is 17894 nanoseconds, or 17.9 microseconds. Record this number, and enter it in Stepconf when it is requested.\layout StandardIn the example above, latency-test only ran for a few seconds. You should run the test for at least several minutes; sometimes the worst case latency doesn't happen very often, or only happens when you do some particular action. For instance, one Intel motherboard worked pretty well most of the time, but every 64 seconds it had a very bad 300uS latency. Fortunately that was fixable. \layout StandardFor the latest information on fixing SMI issues goto:\layout Standard\begin_inset LatexCommand \htmlurl["Fixing SMI Issues"]{http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?FixingSMIIssues}\end_inset \layout StandardSo, what do the results mean? If your Max Jitter number is less than about 15-20 microseconds (15000-20000 nanoseconds), the computer should give very nice results with software stepping. If the max latency is more like 30-50 microseconds, you can still get good results, but your maximum step rate might be a little disappointing, especially if you use microstepping or have very fine pitch leadscrews. If the numbers are 100uS or more (100,000 nanoseconds), then the PC is not a good candidate for software stepping. Numbers over 1 millisecond (1,000,000 nanoseconds) mean the PC is not a good candidate for EMC, regardless of whether you use software stepping or not.\layout StandardNote that if you get high numbers, there may be ways to improve them. Another PC had very bad latency (several milliseconds) when using the onboard video. But a $5 used Matrox video card solved the problem - EMC does not require bleeding edge hardware.\layout SectionHome and Limit Switch wiring options\begin_inset LatexCommand \index{Home and Limit Switch wiring options}\end_inset \begin_inset LatexCommand \label{sec:Home-and-Limit}\end_inset \layout StandardThe ideal wiring for external switches would be one input per switch. However, the PC parallel port only offers a total of 5 inputs, while there are as many as 9 switches on a 3-axis machine. Instead, multiple switches are wired together in various ways so that a smaller number of inputs are required.\layout StandardThe figures below show the general idea of wiring multiple switches to a single input pin. In each case, when one switch is actuated, the value seen on INPUT goes from logic HIGH to LOW. However, EMC expects a TRUE value when a switch is closed, so the corresponding \begin_inset Quotes eld\end_inset Invert\begin_inset Quotes erd\end_inset box must be checked on the pinout configuration page.\layout Standard\begin_inset Float figureplacement Hwide falsecollapsed false\layout Standard\align center \begin_inset Graphics filename switch-nc-series.eps width 50page% keepAspectRatio\end_inset \layout Caption\begin_inset LatexCommand \label{cap:Wiring-Normally-Closed}\end_inset Wiring Normally Closed switches in series (simplified diagram)\end_inset \layout Standard\begin_inset Float figureplacement Hwide falsecollapsed false\layout Standard\align center \begin_inset Graphics filename switch-no-parallel.eps width 50page% keepAspectRatio\end_inset \layout Caption\begin_inset LatexCommand \label{cap:Wiring-Normally-Open}\end_inset Wiring Normally Open switches in parallel (simplified diagram)\end_inset \layout StandardThe following combinations of switches are permitted in Stepconf:\layout ItemizeCombine home switches for all axes\layout ItemizeCombine limit switches for all axes\layout ItemizeCombine both limit switches for one axis\layout ItemizeCombine both limit switches and the home switch for one axis\layout ItemizeCombine one limit switch and the home switch for one axis\layout StandardThe last two combinations are also appropriate when a \begin_inset Quotes eld\end_inset home to limit\begin_inset Quotes erd\end_inset is used.\the_end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -