📄 stepper_diagnostics.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 ChapterSteppers\layout QuoteIf what you get is not what you expect if you pay attention you get some experience. \layout StandardDiagnosing problems is best done by divide and conquer. By this I mean if you can remove 1/2 of the variables from the equation each time you will find the problem the fastest. In the real world this is not always the case but a good place to start usually. \layout SectionCommon Problems\layout SubsectionStepper Moves One Step\layout StandardThe most common reason in a new installation for the stepper not to move is the step and direction signals are backwards. If you press the jog foward and backward key and the stepper moves one step each time in the same direction there is your sign.\layout SubsectionNo Steppers Move\layout StandardMany drives have an enable pin or need a charge pump to enable the output. \layout SubsectionDistance Not Correct\layout StandardIf you command the axis to move a specific distance and it does not move that distance then your scale is wrong.\layout SectionError Messages\layout SubsectionFollowing Error\layout StandardThe concept of a following error is funny when talking about stepper motors. Since they are an open loop system, there is no position feedback to let you know if you actually are out of range. EMC calculates if it can keep up with the motion called for and if not then it gives a following error. Following errors usually are the result of one of the following on stepper systems.\layout ItemizeFERROR to small\layout ItemizeMIN_FERROR to small\layout ItemizeMAX_VELOCITY to fast\layout ItemizeMAX_ACCELERATION to fast\layout ItemizeBASE_PERIOD set to long\layout StandardAny of the above can cause the RT pulsing to not be able to keep up with the speed needed or the requested step rate is not possible at the BASE_PERIOD setting. This happens when you change one of the above in your ini file, so go back and change it back to what it was and try again.\layout SubsectionRTAPI Error\layout StandardWhen you get this error:\layout QuoteRTAPI: ERROR: Unexpected realtime delay on task n\layout StandardIt is usually an indication that the BASE_PERIOD in the [EMCMOT] section of the ini file is set too low. You should run the Latency Test for an extended period of time to see if you have any delays that would cause this problem. \layout StandardEMC2 tracks the number of CPU cycles between invocations of the real-time thread. If some element of your hardware is causing delays or your realtime threads are set too fast you will get this error. \layout StandardNOTE: This error is only displayed once per session. If you had your BASE_PERIOD too low you could get hundreds of thousands of error messages per second if more than one was displayed.\layout Standard\begin_inset Notecollapsed false\layout Standardadd link to latency test when that page is done.\end_inset \layout SectionTesting\layout SubsectionStep Timing\layout StandardIf you are seeing an axis ending up in the wrong location over multiple moves, it is likely that you do not have the correct direction hold times or step timing for your stepper drivers. Each direction change may be losing a step or more. If the motors are stalling, it is also possible you have either the MAX_ACCELERATION or MAX_VELOCITY set too high for that axis. \layout StandardThe following program will test the Z axis configuration for proper setup. Copy the program to your emc2/nc_files directory and name it TestZ.ngc or similar. Zero your machine with Z = 0.000 at the table top. Load and run the program. It will make 200 moves back and forth from 0.5 to 1". If you have a configuration issue, you will find that the final position will not end up 0.500" that the axis window is showing. To test another axis just replace the Z with your axis in the G0 lines.\layout Standard\layout Standard( test program to see if Z axis loses position )\layout Standard( msg, test 1 of Z axis configuration ) \layout StandardG20 #1000=100 ( loop 100 times ) \layout Standard( this loop has delays after moves )\layout Standard( tests acc and velocity settings )\layout Standardo100 while [#1000] \layout Standard G0 Z1.000\layout Standard G4 P0.250 \layout StandardG0 Z0.500 \layout Standard G4 P0.250 \layout Standard #1000 = [#1000 - 1] \layout Standardo100 endwhile \layout Standard( msg, test 2 of Z axis configuration S to continue) \layout StandardM1 (stop here)\layout Standard#1000=100 ( loop 100 times ) \layout Standard( the next loop has no delays after moves )\layout Standard( tests direction hold times on driver config and also max accel setting ) \layout Standardo101 while [#1000] \layout Standard G0 Z1.000 .\layout Standard G0 Z0.500 \layout Standard #1000 = [#1000 - 1] \layout Standardo101 endwhile \layout Standard( msg, Done...Z should be exactly .5" above table ) \layout StandardM2\the_end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -