2024-12-06 17:05:54 +01:00
2024-11-21 12:03:14 +01:00
2024-11-21 12:03:14 +01:00
2024-11-21 13:22:11 +01:00
2024-11-25 14:35:03 +01:00
2024-12-06 17:05:54 +01:00

Test of current control

These drives:

  • ipos4808
  • EL7041-0052
  • EL7047
  • EL7031
  • Festo CMMT-ST

Current:

  • MAX_CURR 1.0 A
  • STD_CURR 0.2 A

Mechanics:

  • Oriental Motor PKE244A in series
    • 8 Ohm (4 * 2)
    • 9.7mH (4.85 * 2)
  • No mechanics, no damper

Pics

EL7031

Cannot move faster than 1720.

Current boost 0

  • sc0, 1720deg/s
  • sc1, 720
  • sc2, 0.1 deg/s

Current boost 100 default

  • sc3, 1720deg/s
  • sc4, 720
  • sc5, 0.1 deg/s

Current boost 500

  • sc6, 720deg/s OBS!!! different velo order
  • sc7, 1720
  • sc8, 0.1 deg/s

holding current

  • Looks higher than the 200mA
  • disabled ttd_15
  • fullstep (enabled) ttd_19
  • +0.45 deg ttd_20
  • +0.9 deg ttd_21
  • +1.35 deg ttd_22
  • +1.8 deg ttd_23

EL7041-0052

Cannot move faster than 1720

Current boost 0

  • sc9, 720 deg/s
  • sc10, 1720
  • sc11, 0.1

Current boost 100 default

  • sc12, 720 deg/s
  • sc13, 1720
  • sc14, 0.1

Current boost 500

  • sc15, 720 deg/s
  • sc16, 1720
  • sc17, 0.1

holding current

  • disabled ttd_24
  • fullstep (enabled) ttd_25
  • +0.45 deg ttd_26
  • +0.9 deg ttd_27
  • +1.35 deg ttd_28
  • +1.8 deg ttd_29

Hich accuracy tests (Ulrich Wagners test setup)

0.5mm pitch and 32bit 1nm resolution Renishaw Requirement within +-200nm Attocube interferometer as reference

Closed loop:

Too low resolution in output (velocity setpoint). Basically a 1 or -1 as velo setpoint is too big.

Open loop:

Running in open loop made the situation much better but resulted in an offset. Motor record retries would be needed to make this work.

Impact of run current and stdby current is unclear...

ipos4808

${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper,  MACROS='I_MAX_MA=1000,I_STDBY_MA=200,I_CTRL_GAIN=1.0,I_CTRL_INT=0.26'"
  • sc18, 720 deg/s
  • sc19, 1720
  • sc20, 0.1
  • sc21, 2000deg/s
  • sc22, 2200deg/s (higher velo than this vibration starts)
  • sc23, 3000deg/s works but much vibrations..probably loosing steps

holding current

  • disabled ttd_0
  • fullstep (enabled) ttd_3
  • +0.45 deg ttd_4
  • +0.9 deg ttd_5
  • +1.35 deg ttd_6
  • +1.8 deg ttd7

Hich accuracy tests (Ulrich Wagners test setup)

0.5mm pitch and 32bit 1nm resolution Renishaw Requirement within +-200nm Attocube interferometer as reference

Closed loop: Issue when going to stdby current, then axis move and current is applied again and again..

Open loop: Running in open loop made the situation much better but resulted also here in an offset. Motor record retries would be needed to make this work.

EL7047

${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1000, I_STDBY_MA=200, U_NOM_MV=48000,R_COIL_MOHM=8000,L_COIL_UH=9700 ,SPEED_RANGE=2'"
  • sc24, 720 deg/s
  • sc25, 1720
  • sc26, 0.1
  • sc27 2000, works nice, current looks a bit strange
  • sc28 2200, works nice, current looks a bit strange
  • sc29, 3000 OSC alot, loses steps

test current control 1

${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd "COMP=Motor-Generic-2Phase-Stepper, MACROS='I_MAX_MA=1000, I_STDBY_MA=200, U_NOM_MV=48000,R_COIL_MOHM=8000,L_COIL_UH=9700 ,SPEED_RANGE=2'"
##- Kp
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x1,300,2)"
#
##- Ki
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x2,20,2)"

max 2350deg/s

test current control 2

##- Kp
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x1,500,2)"
#
##- Ki
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x2,40,2)"

also 2350 deg/s

test current control 3

##- Kp
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x1,50,2)"
#
##- Ki
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8011,0x2,5,2)"

also 2350 deg/s

tests EMF 1

# 8010:05 EMF
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x5,200,2)"

similar max speed, also approx, 2350.

tests EMF 2

# 8010:05 EMF
ecmcConfigOrDie "Cfg.EcAddSdo(${ECMC_EC_SLAVE_NUM},0x8010,0x5,500,2)"

similar max speed, also approx, 2350.

holding current

  • disabled ttd_8
  • fullstep (enabled) ttd_9
  • +0.45 deg ttd_10
  • +0.9 deg ttd_11
  • +1.35 deg ttd_12
  • +1.8 deg ttd_13

UN_NOM=24V

  • disabled scope_13
  • fullstep (enabled) scope_14
  • +0.45 deg scope_15
  • +0.9 deg scope_16
  • +1.35 deg scope_17
  • +1.8 deg scope_18

UN_NOM=13V

  • disabled scope_0
  • fullstep (enabled) scope_1
  • +0.45 deg scope_2
  • +0.9 deg scope_3
  • +1.35 deg scope_4
  • +1.8 deg scope_5

UN_NOM=8V

  • disabled scope_7
  • fullstep (enabled) scope_8
  • +0.45 deg scope_9
  • +0.9 deg scope_10
  • +1.35 deg scope_11
  • +1.8 deg scope_12

Festo in PV

  • sc30, 1720deg/s
  • sc31, 720
  • sc32, 0.1 deg/s
  • sc33, 2800deg/s no osc

Works roughly up to 3000deg/s but osc

holding current

  • disabled ttd_30
  • fullstep (enabled) ttd_31
  • +0.45 deg ttd_32
  • +0.9 deg ttd_33
  • +1.35 deg ttd_34
  • +1.8 deg ttd_35

Hich accuracy tests (Ulrich Wagners test setup)

0.5mm pitch and 32bit 1nm resolution Renishaw Requirement within +-200nm Attocube interferometer as reference

Closed loop: Issues to enable.. Issuses with encoder. needed to match the single turn bits as giood as possible in cfg (19bits approx 500000) The actual position that the drive sends is scaled based on this so it's useless..

Got it working fro a short time but then it was rather noise and similar isses when going to stdby current..

Conclusions

  • EL7031 has more stable STDBY current that EL7047 with 24V supply
  • Current noise is significantly reduced with lower motor supply voltage (only tested with EL7047) *... much more..

For the high accuracy issues I think it aslo can be related to to low friction of Ulrichs stage. Seems easier to position the test owis stages (howvere lower accuracy encoder).

Description
No description provided
Readme 6.5 MiB
Languages
Batchfile 100%