Vai al contenuto

Messaggi consigliati

Inserito:

Ciao a tutti,

sto sviluppando un'applicazione in cui devo gestire un profilo di camma elettronica. Vi descrivo la mia configurazione e il problema che sto riscontrando.

Configurazione attuale

  • Assi: Sia il Master che lo Slave sono assi rotativi con modulo a 360°

  • Rapporto: Il rapporto è 1:1 (un giro del master corrisponde a un giro dello Slave tramite il profilo di camma)

  • Fasatura: Per esigenze meccaniche, il profilo dello Slave deve essere sfasato di 142° rispetto al master

Il problema: Sincronizzazione al volo (senza ciclo di rincorsa)

Attualmente utilizzo la modalità SyncProfileReference = 1. In questo modo l'applicazione funziona, ma il sistema impiega un intero giro di Master per completare la rincorsa ed entrare in sincronia. Il mio obiettivo è far partire il master con lo slave già agganciato in camma, evitando di perdere il primo ciclo di lavoro.

Per eliminare questo ciclo di rincorsa, sto provando a passare a SyncProfileReference = 2, ma senza successo:

  1. Utilizzo la funzione MC_GetCamFollowingValue per calcolare la posizione teorica in cui deve trovarsi lo Slave in base alla posizione attuale del Master.

  2. Pre-posiziono lo slave in quella coordinata esatta.

  3. Attivo l'input Execute del blocco MC_CamIn.

Fatto questo, quando il master si avvia, lo slave parte disallineato. Mi ritrovo con un errore di sfasamento (offset errato rispetto al master) oppure con il profilo di camma che risulta traslato sullo Slave.

Qualcuno ha già affrontato questo problema con SyncProfileReference = 2 e sa indicarmi dove sto sbagliando?

 

Vi allego l'immagine del profilo di camma, e del funzionamento (corretto) al netto del ciclo di sincronizzazione. 

Camma.jpg

Mc_camin.jpg

Trace1.jpeg

Inserita: (modificato)

io ho sviluppato poco tempo fa un'applicazione esattamente uguale alla tua. ho il syncprofilereference a 2.

L'unica differenza è che per sfasare lo slave sul master(in questo caso un encoder) ho fatto un asse virtuale agganciato un gear sfasato. Sinceramente non ho capito il valore master start distance a 360

Su master sync position metti la posizione attuale del master e lo slave lo posizioni con un absolute al valore calcolato dalla funzione getcamfollowingvalue

Poi se devi sfasare lo slave non ho capito perchè hai messo l'offset sul master???

Modificato: da 84paolo

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...