Nymotion LLC · Motion Control · Servo Actuators

Linear Devices & Systems - Since 1986

Support Topics & FAQ
Firmware Rev 2.07 - ATMEGA128

NPUTCFG=0 (Generic I/O)
JS1=0 // Axis 1 is enabled as follows:  1JS1=1
// All axis are enabled as follows:  1JS=1
JS2=0
JS3=0

JSVM1=0 // JS VelMax (X,Y) (full deflection) 1 (of 5 variables) = XX Vm User Units
JSVM2=0
JSVM3=0
JSVM4=0
JSVM5=0

JSVMZ1=0  // JS VelMax (Z) (full deflection) 1 (of 5 variables) = ZZ Vm User Units
JSVMZ2=0
JSVMZ3=0
JSVMZ4=0
JSVMZ5=0

RESET=0
// The reset pushbutton on the NYTJS2 Box.  
// 1Reset=0 The current positions are reset to (0,0,0).
// 1Reset=1 Z executes homing routine followed by X,Y homing routines.  At the end of the homing routine.  (0,0,0)

SCANAXIS=0  // The scan pushbutton on the NYTJS2 Box.
// 1Scanaxis=0  There is no scan axis.
// 1Scanaxis=1  The X axis is the scan axis.  When the joystick is manipulated, only the X axis moves. 
// 1Scanaxis=2 The Y axis is the scan axis.  When the joystick is manipulated, only the Y axis moves.
// Note.  To enter "scan" mode, push the scan pushbutton on the NYTJS2 and the green indicator is lit.  Green = Scan Mode.  Press again and the indicator turns off.  Scan Mode Off.
STEPDIS=0,0,0  // Note the STEP pushbutton on the NYTJS2.  If a StepDis is programmed, as follows:  1stepdis=5,0,-20 (user units);  When the STEP pushbutton is pressed, a relative move is executed:  (5,0,-20)

Rev 2.06 to 2.07.  Allows the position to be reset as follows:

NYT-AP Ready.

1print pos
       POS=0,0,0
1pos1=5
OK
1pos2=-5
OK
1pos3=10
OK
1print pos
       POS=5,-5,10

PS Panel Mounted USB Hookup

PS2 Panel Mounted USB to NYT3X Hookup.

Pin 1  Black

Pin 2  White

Pin 3  Green

A picture is at:  http://www.nymotion.com/nytdocumentation.html

PS2 - YAxis TML Issue

Summary:

The issue:  The YAxis fails to stop with 1Q.  Z up/down moves generate a small Y move.  Why:  A corrupt TML Setup.

Solution:  Delete YAxis then import corrected setup. 

This is the first incident with a seemingly correct TML setup generating a corrupt build file.  We are investigating and will report on the root cause.

NYT-AP Firmware Version 1.64

Summary:

As a reminder, NYT-AP commands are not case sensitive.

  1. Escape key:  Stops motion.  Returns "FAILED" rather than "FAILED: TIMEOUT".
  2. 1WAITMODE acts like a toggle.  Waitmode can also be turned on and off like any other variable as follows:  1waitmode=0 or 1waitmode=1. 
  3. 1Setpos was inadvertently broken in Version 1.61.  Corrected with 1.64.

NYT-AP Firmware Version 1.63

 


Summary:

  1. Placing the NYT-AP in pass-through mode.
    • 1NYTAPOFF  // Places the NYT-AP in pass through mode.  On power-up, the unit remains in pass-through mode.
    • 1NYTAPON //  To restore NYT-AP mode, press and continue pressing Switch 1 during power-up for six seconds.  Press CR 9 times to obtain the "NYT-AP Ready" prompt, then enter:  1NYTAPON.  On subsequent power cycles, the NYT-AP will now remain "on". 
  2. The TML "Open Loop with Encoder on Load" setup is an outstanding setup for encoded, microstepping applications.  To be clear, the encoder can be either a motor mounted rotary encoder or a load mounted rotary or linear encoder.  We have added three new Run Current (RC) NYT-AP setup variables which may be used with the "Open Loop with Encoder on Load" setup: RC1, RC2 and RC3.  The default settings are set to zero (0).  
    • The setup allows a "Control error" setup.  For example, if the position error exceeds 30 msteps for more than 150ms an error flag will be set.  This is another application hall mark of full blown servo systems.  If the mechanics are stalled and the error exceeds the Control error settings, during the move, the error flag is set; Allowing a programmed error routine is executed.  (For example: Full stop, alert the operator, stop another related operation …)   A standard, open loop stepper setup looks at the encoder at the end of the move, oblivious to an unacceptable amount of error ... during the move. 
    • "Open Loop with Encoder on Load" drives the motor with /256 microsteps (51,200 ms/rev) but the move distance and the final position is a function of encoder feedback.   As the load moves an outer PID loop monitors error.  This error is then used to increase or decrease the number of microsteps to reduce the error.  The end of the move is determined by the encoder count.  Further, the PID loop holds position.  What we just described is an encoded hybrid step motor that closes the loop on the encoder and provides end-of-move position maintenance. These are key attributes of a full blown "servo" positioning system. 
    • The single application issue is that the final encoder determined resting point may be on the edge of a magnetic pole.  Like any other stepper drive, at the end of a programmed delay (250 - 500ms), the unit switches to a lower standby (hold) current.  This is where "position maintenance" becomes an issue.  The control algorithm sees and interprets a single encoder click deviation then increases the standby current to the run current to hold position. The motor "rocks" in an out of run current at the frequency of the programmed delay.
    • Version 1.63 provides Run Current settings for each axis. These settings are used in conjunction with a stored TML program designed for use in Open Loop with Encoder on Load setup. Description:  At the end of all NYT-AP move commands, Run Current is set to Standby Current.  In this manner, a single encoder count deviation will not produce the audible "rocking" phenomenon.  Each NYT-AP move is initiated by checking the RC values and if non-zero, setting the axis RC to the value of the variable. 
    • RC settings are in "Internal Units" (IU) rather than ma.  
  3. On-the-fly velocity changes.  1VMJ=XX.XXX provides on the fly velocity changes.  Our customers deploying on-screen LabView or C++ joystick pads may now use VMJ to increase or decrease velocity with their joystick tools. 
  4. Coordinate Moves.  1CMOV and 1CREL.  Examples follow:
    • 1CMOV12 10.XXX,25.XXX // Move Absolute, Axis 1 & 2 to coordinates (10.XXX,25.XXX).
    • 1CMOV123 or (simply) 1CMOV 12.XXX,10.XXX,36.XXX // Move Absolute, Axis 1, 2 and 3 to coordinates (12.XXX,10.XXX,36.XXX)
    • 1CREL23 12.XXX,-15.XXX  // Move Relative, Axis 2 & 3 (+12.XXX,-15.XXX)
  5. Homing.  In previous releases, 1HOME executed a home of Axis 3 (Z) followed by a 1,2 (X,Y) homing.  Version 1.63 allows individual homing of each axis.  1HOME1, 1HOME2 and 1HOME3.
  6. Motion complete.  We are now using a "motion complete" bit rather than speed checking to confirm "motion complete". Insure "motion complete" is setup at the top of the TML program.
As always, comments and suggestions are always welcome.