NMGRL / Laboratory

NMGRL laboratory and project files
2 stars 1 forks source link

New CO2 stage #35

Open jirhiker opened 2 years ago

jirhiker commented 2 years ago

added new co2 stage with encoders. replaced X and Y. Z and the motion controller keep the same

needed to make new cables for X and Y. required limit signals to be inverted. added hex inverters to both cables.

updated stage1.ini and stage2.ini config files. added EncoderType changed DisplacementFullStep=0.0127 10TPI, 200 step == 0.0127 mm/step set EncoderResolution=0.001 == 1 micron in mm

jirhiker commented 2 years ago

https://dovermotion.com/wp-content/uploads/2015/12/Pinouts-PDF.pdf Pinouts-PDF.pdf

https://www.nteinc.com/specs/7400to7499/pdf/nte7404.pdf Pinouts-PDF.pdf

https://www.newport.com/mam/celum/celum_assets/resources/ESP302_-_Start-Up_Manual.pdf ESP302_-_Start-Up_Manual.pdf

jirhiker commented 2 years ago

Moved original diode stage back to the diode

jirhiker commented 2 years ago

configured x and y stages

jirhiker commented 2 years ago
[NMGRL@Y@CO2]

; ---- Global stage parameters
;---<Stage.GenericInformation>
ConfigurationComment = 
ControllerCompatibility = XPS-ESP302
Unit = mm
SmartStageName =

; ---- Motor driver parameters
;---<Driver.DRV11LAnalogStepperPosition>
DriverName = XPS-DRV11L
DriverMaximumRMSCurrent = 1.0 ; Amp
DriverRMSIntegrationTime = 3 ; Sec
DriverMotorResistance = 7.4 ;Ohm
DriverMotorInductance = 0.0021 ;Henry
DriverCutOffFrequency = 5000 ;Hz
DriverBemfCompensationGain = 1

; ---- Driver command interface parameters
;---<MotorDriverInterface.NoMotorInterface>
MotorDriverInterface = AnalogStepperPosition
DelayAfterMotorOnToSetClosedLoop = 0.05 ; sec   # Not used in all firmwares
DisplacementPerFullStep = 0.0127; Unit
PeakCurrentPerPhase = 0.5 ; Amp
StandbyPeakCurrentPerPhase = 0.5 ; Amp
BaseVelocity = 0 ; Unit/Sec
ScalingCurrent = 6.4; Amp

; ---- Position encoder interface parameters
;---<Encoder.NoEncoder>
EncoderType = AquadB
EncoderResolution =0.001 ; Units
LinearEncoderCorrection = 0 ;--- ppm 

;EncoderZMPlug = Encoder 
;EncoderInterpolationFactor = 4000
;EncoderScalePitch = 0.001 ;--- units 

EncoderSinusOffset = 0 ;--- V 
EncoderCosinusOffset = 0 ;--- V 
EncoderPhaseCompensation = 0 ;--- deg 
EncoderDifferentialGain = 0
PositionerMappingFileName = 
PositionerMappingLineNumber = 
PositionerMappingMaxPositionError = ;--- units 
EncoderIndexOffset = 0 ;--- units 
EncoderHardInterpolatorErrorCheck = Enabled

CorrectorType=PIPosition 
ClosedLoopStatus = Closed 
FatalFollowingError = 1 ;--- units
KP=0.185
KI=0.015
KD=0
KS = 0.9
GKP = 0 
GKD=0 
GKI=0
KForm = 0 ;--- units
IntegrationTime = 1E+99 ;--- s 
DerivativeFilterCutOffFrequency = 5000 ;--- Hz 
DeadBandThreshold = 0.00025 ;--- units
KFeedForwardAcceleration = 10 
KFeedForwardVelocity = 3
KFeedForwardVelocityOpenLoop = 1
NotchFrequency1 = 0 ;--- Hz 
NotchBandwidth1 = 0 ;--- Hz
NotchGain1 = 0
NotchFrequency2 = 0 ;--- Hz 
NotchBandwidth2 = 0 ;--- Hz
NotchGain2 = 0
KFeedForwardJerk = 0
VoltageLimit = 48

;--- Motion done condition mode parameters 
MotionDoneMode = Theoretical

; ---- Travels and servitudes type parameters
;---<Servitudes.NoServitudes>
ServitudesType = StandardEORDriverPlug
MinimumTargetPosition = -170 ; Unit
MaximumTargetPosition = 170 ; Unit

; ---- Backlash parameters
;---<Backlash.Standard>
Backlash = 0 ;Units
CurrentVelocityCutOffFrequency = 100 ;Hz
CurrentAccelerationCutOffFrequency = 100 ;Hz

; ---- Profile generator parameters
;---<Profiler.Sgamma>
MaximumVelocity = 7.62 ; Units/Sec
JogMaximumVelocity = 2.5; Units/Sec # Not used by all firmwares
MaximumAcceleration = 30 ; Units/Sec²
JogMaximumAcceleration = 2.5 ; Units/Sec² # Not used by all firmwares
EmergencyDecelerationMultiplier = 4
MinimumJerkTime = 0 ; Sec
MaximumJerkTime = 0; Sec
JogJerkTime = 0; Seconds
TrackingCutOffFrequency = 25 ;Hz

; ---- Home search process parameters
;---<HomeSearch.NoHomeSearch>
HomeSearchSequenceType = MinusEndOfRunHomeSearch
HomeSearchMaximumVelocity = 1.5 ; Unit/Sec
HomeSearchMaximumAcceleration = 2 ; Unit/Sec²
HomeSearchTimeOut = 50; Sec
HomingSensorOffset = 0 ; Unit
HomePreset = -25 ; Unit
jirhiker commented 2 years ago

KP=0.185 KI=0.15

these seem like good parameters. -0.003 immediately then takes a few seconds to completely eliminate the error