Il tuo problema assomiglia molto a quello (che citavi) del controllo "sensorless" (in sostanza, di stima delle grandezze meccaniche, negli azionamenti, a partire dalle grandezze elettriche), anche se potrebbero esserci delle semplificazioni.
Purtroppo, per scrivere cose sensate (e comprensibili) questi argomenti ci vuole del tempo...
Nello specifico del tuo problema, ci sono un po' di cose che non mi sono chiare, in particolare:
- quale sarebbe lo scopo (misura in laboratorio? sul campo? per effettuare un controllo in catena chiusa?);
- se questa cosa la vuoi/devi fare per un motore specifico (sempre lo stesso) o se il motore cambia e quindi è di fatto "incognito";
- se, almeno nel momento in cui si sviluppa e prova la stima (quindi non quando viene usata sul campo), si ha accesso alla misura di velocità vera e propria, per verificare la correttezza della stima, appunto;
- se ti basta veramente una precisione attorno al 2-3%;
- con che velocità vorresti che venisse aggiornata la stima (ogni secondo? ogni 10 secondi? ogni millisecondo?);
- se l'alimentazione è solo da rete.
Da quello che dici, le misure di corrente e tensione dovrebbero essere disponibili (o comunque si potrebbe realizzare qualcosa che le applichi). In caso contrario, rimarrebbe solo la stima a partire dalla vibrazioni (che alcuni aggeggi in commercio fanno, anche se non saprei che precisione garantiscano).
Rimanendo sulle tecniche basate su misure elettriche (correnti e tensioni), la precisione di cui parli (2-3%) forse si può ottenere con relativamente poco sforzo. Questo perché (per lo meno nel caso di motori alimentati direttamente dalla rete, che quindi lavorano con un flusso di rotore vicina al valore nominale), lo scorrimento (cioè la differenza tra la velocità di sincronismo e quella reale) è abbastanza piccolo (meno del 10%). Per rendersene conto è sufficiente guardare la velocità nominale riportata in targa e confrontarla col più vicino sottomultiplo intero di 3000 rpm, ad esempio:
- velocità nominale 2900 rpm, frequenza nominale 50 Hz -> velocità di sincronismo 3000 rpm (una coppia polare) -> scorrimento 100rpm/3000rpm = 3.3%;
- velocità nominale 1400 rpm, frequenza nominale 50 Hz -> velocità di sincronismo 1500 rpm (una coppia polare) -> scorrimento 100rpm/1500rpm = 6.7%.
Per fare un esempio, questi sono dati di una serie di motori a 2 poli, 400V 50Hz, di Motovario (pag. 77 di questo catalogo):
- Codice: Seleziona tutto
P_n [kW] n_n [rpm] s_n [%]
0,12 2650 11,7
0,18 2800 6,7
0,25 2800 6,7
0,37 2790 7,0
0,37 2820 6,0
0,55 2810 6,3
0,75 2800 6,7
0,75 2810 6,3
1,1 2830 5,7
1,5 2810 6,3
1,5 2840 5,3
2,2 2860 4,7
3 2870 4,3
4 2870 4,3
4 2900 3,3
5,5 2910 3,0
5,5 2910 3,0
7,5 2910 3,0
9,2 2910 3,0
11 2910 3,0
11 2910 3,0
Quindi, se si trattasse dei motori qui sopra, escludendo la taglia da 120 W, sapremmo che la velocità sarà vicina a quella di sincronismo, alla peggio il 6.7% in meno (a meno che la coppia non salga a valori oltre il nominale).
Quindi, conoscendo solamente la frequenza di alimentazione, anche senza complicati algoritmi potremmo dire (sparando quasi a caso) che lo scorrimento è la metà di quello nominale (preso dalla targa), arrivando ad un errore che alla peggio sarebbe del 3.4%, ma in molti casi è al massimo dell'1.5%.
Con un po' di sforzo in più si potrebbe migliorare la stima tenendo conto del fatto che lo scorrimento è quasi proporzionale alla coppia erogata (per valori di scorrimento piccoli) e la coppia a sua volta è legata all'ampiezza della corrente.
Volendo ottenere una precisione migliore (o una "velocità di aggiornamento" maggiore), si potrebbe replicare (come proponevi tu) quello che si fa col controllo vettoriale sensorless negli azionamenti, dove si stima la velocità meccanica (e non solo) "in tempo reale" (cioè con banda passante ampia), sulla base delle misure elettriche e di diversi parametri di un modello equivalente del motore.
Qui mi sento di fare una nota... La difficoltà, nel caso del controllo, è che occorre avere una stima delle varie grandezze molto "veloce", ossia con una banda relativamente elevata. Inoltre, si deve garantire la stabilità del controllo, che dipende dal controllo stesso e dalla stima, con la stima che dipende a sua volta da quello che si fa con il controllo... quindi le cose sono molto complicate, rispetto al caso di chi solamente "osserva" quello che sta succedendo, senza intervenire (come sarebbe nel tuo caso).
Questo per dire due cose:
- la stima che vorresti fare tu (se capisco bene) serve per conoscere la velocità "a regime", o comunque come misura indiretta, non per avere una traccia fedele di variazioni di velocità "in tempo reale", quindi è più semplice rispetto al caso del controllo;
- replicare un metodo come quelli applicati negli azionamenti, quindi, potrebbe essere fattibile, ma forse occorrerebbe uno sforzo esagerato, rispetto allo scopo.
PS: come mi ha fatto ricordare il post [4] di elfo, generato dall'IA, dovrebbe essere possibile stimare la velocità a regime con una precisione molto buona, sfruttando effetti di secondo ordine come quelli dovuti alle cave di statore (sapendo in anticipo con che motore si ha a che fare). Nono si tratta, però, di cose semplici da implementare.