Re: Home switch oddities



Hi List,

with the STG driver when homing an axis as to my understanding the following
happens (a least with the code in CVS):
1. The axis moves in the direction and with the velocity given in the ini file.
2. Then the homing pulse is triggered and the polarity is set right, it turns
around and looks for the index pulse witch comes right with the homing pulse
for rotary encoders, but for linear encoders the index pulse might be as well
some distance away. Once the index pulse is found your machine should speed up
by a factor of 2.
3. Now the machine travels the distance given with homing offset in your ini
file.
4. Once it reaches this endpoint your axis letters should turn red and your
machine is homed.

- You should have turned your PID right or you might get overtravel. Try out,
simulate or calculate the right values.
- The source for the above is in emcmot.c, look for the variable homingPhase.
- Also have a look at the extstgmot.c wrapper and the stg* drivers.
- Uncommenting one of these in extstgmot.c might cure your symtoms:
/* #define NO_HOME_SWITCH */
/* #define NO_INDEX_PULSE */
/* #define NO_LIMIT_SWITCH */
- To actually see if your index pulse is coming use an osziloscope.
- If your machine misses the index pulse decrease the axis cycle time. With a
reasonable fast CPU you can even get the index pulse with a quite fast home
moving machine.

Hope this helps
Regards
Max

-- 
Max Heise <max.heise-at-gmx.net>
Student Mechatronik/Automatisierungstechnik
PGP public key from:
http://www.fht-esslingen.de/~mahemt01/pgp50i.pub or any keyserver





Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact