Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Ansvar: ?Kenneth

Beskrivelse:

Innfør logikk for å ta en SoftMotion Axis CiA402 som input, og home denne motoren. Dette involverer å kjøre motoren sakte, lese actual_torque, lagre posisjonen og så sette det som motorens nullpunkt.

Foreslått fremgangsmåte.

  1. Skru Slår på motor og sjekk om den er påkoblet riktig med MC_Power.status.
  2. Kjør motor sakte i "trekk inn" tau retning. 
  3. Sjekk actual_torque, og når verdien når threshold stopp motoren, lagre posisjonen, gi ut litt tau igjen og gjør det samme steget bare enda saktere. 
  4. får den til å kjøre mot nullposisjon. Torquen vil etterhvert stige.
  5. Når ActualTorque overstiger TorqueThreshold, vil motoren. stoppe opp, før den begynner å kjøre motsatt vei, altså 'mate' ut litt tråd. 
  6. motoren vil deretter kjøre mot nullposisjon igjen, men enda saktere denne gangen.
  7. Når TourqueThreshold er nådd for andre gang, vil motoren stoppe igjen og posisjonen lagres som ZeroPosition. Motoren er nå HometDa har vi homet motorene, og de vil gå til akkurat dette punktet hver gang de starter.

INPUT:

Softmotion Axis CiA402.;

Innganger på HomeMotor:

  1. StartHoming , BOOL
  2. LowSpeed, REAL
  3. EvenLowerSpeed, REAL
  4. TorqueThreshold, REAL
  5. ActualTorque, REAL
  6. ReleaseDistance, REAL

OUTPUT:BOOL - Fail or success

Utganger på HomeMotor:

  1. HomingCompleted, BOOL
  2. CurrentStep, INT
  3. LastError, STRING
  4. ActualPosition, LREAL
  5. ZeroPosition, LREAL