Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Encoder #54

Open
lrivara opened this issue Jul 22, 2024 · 1 comment
Open

Encoder #54

lrivara opened this issue Jul 22, 2024 · 1 comment

Comments

@lrivara
Copy link

lrivara commented Jul 22, 2024

Mi sono venute in mente delle soluzioni per il problema del vedere se l' encoder è staccato o no.

  1. vedere se quando l' encoder segnala 0 l' adc è più di 200. Perché se il motore è in stallo dovrebbe aumentare la tensione.

  2. cambiare la componente integrale con la media esponenziale come si era detto per il controllo incrociato. Così facendo il valore del pwm dopo qualche iterazione dovrebbe andare a 0.

  3. fare un controllo di routine iniziale che manda un valore costante di pwm e controlla che l' encoder risponda

@fdila
Copy link
Member

fdila commented Jul 22, 2024

Ciao,
IMHO la soluzione "più carina" è la 2. (e magari integrerei il controllo "si è staccato l'encoder" direttamente a livello di PID andando a vedere se in tot iterazioni di PID il feedback è sempre rimasto a 0).
La 1 potrebbe funzionare (sperando che per caso fortuito non si rompa l'ADC), così come funziona quello che hai fatto ora, anche se mi piange il cuore perchè è un po' bruttino dal punto di vista ing software.

La 3 la escluderei, è vero che ci salva dai casi in cui partiamo con l'encoder staccato, ma se per caso fortuito si stacca qualcosa mentre andiamo poi non ce ne riusciamo ad accorgere.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants