Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Eliminare rumore alimentazione motore PWM

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto Utentecarloc, Foto UtenteDirtyDeeds, Foto UtenteIsidoroKZ

0
voti

[21] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteSalvatore129 » 11 ott 2018, 2:09

Ho effettuato la misura sull'OUT dei BTN7960 e quando il motore è fermo e si sente rumore, sull'oscilloscopio vedo onde quadre che appaiono e scompaiono velocemente, come impazzite..

Ho provato a inserire un condensatore da 100nF tra out e gnd del potenziometro e il rumore di riduce del 50%.
Quindi credo sia un problema di spurie.
Oppure, è dato dal potenziometro, spiego il perché:

Il motore si deve fermare quando raggiunge la posizione richiesta dal gioco e arduino. Quando il motore si ferma, è ad esempio il potenziometro si trova a 5000 ohm, è ovvio che il potenziometro puo assuemere migliai di valori vicini a 5000 ohm

5050...50100...50120.. ohm ecc.

Quindi il motore, avendo un gioco sugli ingranaggi, non riesce ad agganciare il valore preciso.
Però io sono piu propenso che si tratti di correnti vaganti sul potenziometro.
Ho provato ad inserire un condensatore da 1000nf (non elettrolitico) ma il rumore è pari a quando inserisco quello da 100nF
Allegati
IBT-2.jpg
Avatar utente
Foto UtenteSalvatore129
0 2
 
Messaggi: 44
Iscritto il: 1 feb 2018, 18:18

0
voti

[22] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteEcoTan » 11 ott 2018, 8:28

I motoriduttori e i potenziometri fanno parte degli accessori forniti da Arduino per questa specifica applicazione, o li hai acquistati per conto tuo?

P.S. E' importante in particolare che il potenziometro non abbia gioco angolare fra l'alberino esterno e il cursore interno. Poi se il sistema funziona è già tanto, a questo punto bisogna collaborare fra la parte elettromeccanica e il firmware per cercare di rendere il controllo più dolce in tutte le situazioni.
Avatar utente
Foto UtenteEcoTan
5.340 4 10 13
Expert EY
Expert EY
 
Messaggi: 3202
Iscritto il: 29 gen 2014, 8:54

0
voti

[23] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteSerTom » 11 ott 2018, 8:44

Salvatore129 ha scritto:... Ho provato a inserire un condensatore da 100nF tra out e gnd del potenziometro e il rumore di riduce del 50%. Quindi credo sia un problema di spurie.
Oppure, è dato dal potenziometro, spiego il perché: ... ovvio che il potenziometro può assumere miglia di valori...
Che i cavi di collegamento dei potenziometri possano introdurre del "rumore" è pacifico. E l'efficacia del condensatore dimostra che filtrando un po' il segnale la situazione migliora. Probabilmente il filtro non è efficace al 100% (che comunque non esisterebbe) oppure ci sono più concause.
Ad esempio il rumore di conversione dell'ADC. A livello firmware hai inserito qualche filtro ?
Escludo invece che a potenziometro fermo, il valore "originale" in uscita possa variare.
Salvatore129 ha scritto:... Però io sono più propenso che si tratti di correnti vaganti sul potenziometro.
E' la seconda volta che citi ste "correnti vaganti". Ma che diavolo intendi ?

Bye O_/ Ser.Tom

P.S: tieni presente che con "giocattoli" assemblati con mattoncini Lego (quello che stai facendo) non puoi pretendere la "perfezione". Ed il dover accettare qualche "instabilità" è il minimo.
Ultima modifica di Foto UtenteSerTom il 11 ott 2018, 8:51, modificato 1 volta in totale.
Avatar utente
Foto UtenteSerTom
4.199 1 4 8
Expert EY
Expert EY
 
Messaggi: 1956
Iscritto il: 18 mag 2012, 9:57

0
voti

[24] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto Utentebrabus » 11 ott 2018, 8:49

Foto UtenteSalvatore129, ciò che osservi è perfettamente normale, visto con gli occhi di chi sa come funziona un controllo motore.

Il tutto è reso enormemente più difficile dal tuo approccio, direi molto empirico.

Ho effettuato la misura sull'OUT dei BTN7960 e quando il motore è fermo e si sente rumore, sull'oscilloscopio vedo onde quadre che appaiono e scompaiono velocemente, come impazzite..

Un banale problema di trigger. Conosci la differenza fra trigger "Auto" e "Normal"?

Ho provato a inserire un condensatore da 100nF tra out e gnd del potenziometro e il rumore di riduce del 50%.
Quindi credo sia un problema di spurie.
(...)
Però io sono piu propenso che si tratti di correnti vaganti sul potenziometro.

Spurie della frequenza di switching? Dal potenziometro? Correnti vaganti, dove?

Non ci hai ancora detto come viene effettuato il controllo di posizione del motore: hai un feedback di posizione con sensori a effetto Hall? Un resolver? Un potenziometro?

Parliamo poi dello schema: ogni componente della catena di controllo gioca un ruolo fondamentale nel definirne le caratteristiche dinamiche e nella reiezione del rumore.
Visto che è difficile anche avere uno schema completo, fai una foto di ciò che hai davanti, così possiamo capire meglio di cosa stiamo parlando.

Riguardo il collegamento -12V e il ponte con -5V, rinuncio a provarci. Mettere in corto rami di alimentazione a tensioni diverse porta unicamente a danni all'alimentatore e ai dispositivi collegati, si può sapere chi ti ha dato questo consiglio da amico?
Alberto.
Avatar utente
Foto Utentebrabus
18,4k 3 11 13
G.Master EY
G.Master EY
 
Messaggi: 2576
Iscritto il: 26 gen 2009, 15:16

1
voti

[25] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto Utentexyz » 11 ott 2018, 9:39

Sai modificare il codice ? Devi isolare il problema dei potenziometri, evita di leggere il valore dei potenziometri e invia i cambiamenti del PWM direttamente da codice impostando una sequenza di valori prestabiliti ad intervalli fissi o se sei in grado comandi il valore del PWM dalla seriale.

Se il problema sparisce molto probabilmente la colpa è dei potenziometri e/o dei collegamenti dei potenziometri alla board. Se rimane il problema è da cercare da altre parti.

L'uso dei -12 V è possibile evitarlo, se vuoi invertire la rotazione di un motore DC basta scambiare i cavi e utilizzare un solo alimentatore a 12 V di adeguata potenza.

Collegare tensioni elevate, come -12 V, a caso potrebbe aver danneggiato in modo irreparable i componenti o parti di essi.
Avatar utente
Foto Utentexyz
5.905 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1557
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[26] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteSalvatore129 » 11 ott 2018, 11:53

prova a individuare la fonte del rumore,se è il motore magari percepisci la vibrazione con le mani

ùCao richiurci, ti confermo che toccando con le mani la parte esterna del motore sento un tremolio causato dal rumore.

I motoriduttori e i potenziometri fanno parte degli accessori forniti da Arduino per questa specifica applicazione, o li hai acquistati per conto tuo?

Ciao EcoTan, no, non sono forniti col kit, li ho acquistati per conto mio. Ma premetto che il codice (sketch) è stato scritto per funzionare appositamente con ponti H e potenziomentro 10K.
E' importante in particolare che il potenziometro non abbia gioco angolare fra l'alberino esterno e il cursore interno

Ho gia verificato, il potenziometro non ha gioco angolare, cioè quando il motore è fermo il potenziometro è bloccato sull'asse saldamente. Ho notato però che durante questo dannato rumore, se tento di ruotare manualmente l'albero del motore (il riduttore possiede un piccolo gioco interno tra gli ingranaggi, quindi non è a "gioco ridotto") quindi assieme al potenziometro, il rumore cambia e il piu delle volte si azzera. La rotazione manuale che io intendo è di circa 2 millimetri.

A livello firmware hai inserito qualche filtro ?

Ciao Sertom, si il software che si interfaccia con Arduino e al suo specifico firmware, ha una regolazione della zona morta (Deadzone) del potenziometro regolabile da 0 a 5, utile quando si usano potenziometri che non hanno una buona risoluzione. Mettendo a 5 si sente un piccolissimo miglioramento
E' la seconda volta che citi ste "correnti vaganti". Ma che diavolo intendi ?

Il potenziometro è alimentato con 5V e gnd di Arduino ed un polo di uscita (1024 la risoluzione), quindi in uscita Arduino legge una tensione "target" che rappresenta il feedback della posizione del motore.
Dato che il potenziometro è alimentato dalla +5V prelevata da Arduino, ho pensato che si possa trattare di un disturbo legato alla tensione.

Un banale problema di trigger. Conosci la differenza fra trigger "Auto" e "Normal"?

Ciao Brabus, se ti riferisci al funzionamento dell'oscilloscopio, non ho molta dimestichezza. Posso solo dirti che se seleziono "Auto" il grafico è in movimento, se seleziono "Normal", il grafico si ferma facedomi vedere come una immagine statica del grafico.
Non ci hai ancora detto come viene effettuato il controllo di posizione del motore: hai un feedback di posizione con sensori a effetto Hall? Un resolver? Un potenziometro?

Gia avevo specificato che utilizzo un potenziometro
Riguardo il collegamento -12V e il ponte con -5V, rinuncio a provarci. Mettere in corto rami di alimentazione a tensioni diverse porta unicamente a danni all'alimentatore e ai dispositivi collegati, si può sapere chi ti ha dato questo consiglio da amico?

Chiedo scusa ma per -12V intendevo il negativo di alimentazione, quindi GND (parliamo di una semplice alimentazione monofase 12v). Quindi rettifico: mi era stato consigliato di collegare la GND di Arduino, con la GND della 12v (cioè il polo negativo per intenderci), avevo effettuato questa prova e vi devo dire che il rumore diminuiva parecchio

Sai modificare il codice ? Devi isolare il problema dei potenziometri, evita di leggere il valore dei potenziometri e invia i cambiamenti del PWM direttamente da codice impostando una sequenza di valori prestabiliti ad intervalli fissi o se sei in grado comandi il valore del PWM dalla seriale.

Ciao xyz, se mi chiedi di modificare qualche variabile si, ma modificare l'intero sketch no.

Specifico un'altra cosa che potrebbe essere fondamentale: il sistema (Software + Firmware) agisce sui motori attraverso il controllo PID (Proporzionale-Integrale-Derivativo). Se abbasso il valore di "P", il rumore diminuisce arrivando a non sentirlo piu (valore di P circa 0,4), ma il motore non è piu reattivo. Se aumento "P", il rumore aumenta ed il motore diventa piu reattivo (valore di P circa 1)
Avatar utente
Foto UtenteSalvatore129
0 2
 
Messaggi: 44
Iscritto il: 1 feb 2018, 18:18

0
voti

[27] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto Utentexyz » 11 ott 2018, 12:08

Stai usando un PID controller, è un controllo ad anello chiuso, quale è il segnale di ritorno ?
Avatar utente
Foto Utentexyz
5.905 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1557
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[28] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteEcoTan » 11 ott 2018, 12:18

Salvatore129 ha scritto:collegare la GND di Arduino, con la GND della 12v (cioè il polo negativo per intenderci)

Mi chiedo come possa funzionare diversamente, forse i ponti H sono dotati di ingressi optoisolati ma non danno un segnale di massima corrente in uscita?
Insomma adesso si parla di messa a punto, o si analizza molto nel dettaglio o si tenta un po' questo e un po' quello.
Avatar utente
Foto UtenteEcoTan
5.340 4 10 13
Expert EY
Expert EY
 
Messaggi: 3202
Iscritto il: 29 gen 2014, 8:54

0
voti

[29] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteSalvatore129 » 11 ott 2018, 12:42

qual è il segnale di ritorno ?

Cosa intendi per "segnale di ritorno"?

Se intendi il segnale che fornisce il feedback (posizione) del motore, è la tensione che fornisce il potenziometro da 10K.

Mi chiedo come possa funzionare diversamente, forse i ponti H sono dotati di ingressi optoisolati ma non danno un segnale di massima corrente in uscita?

Allora, la tensione 5V che prelevo dalla USB del mio computer serve ad alimentare esclusivamente Arduino, e da Arduino io prelevo la 5V per alimentare i 2 potenziometri.
Invece per la 12V utilizzo un alimentatore esterno per alimentare esclusivamente i ponti H (ibt-2) che a loro volta alimentano i motori.

NOTA: mi sono accorto che nello schema originale che avevo postato precedentemente, ci sono dei collegamenti errati (la 5v che alimenta gli ibt-2 è da escludere). Gli ibt-2 sono alimentati con la sola tensione di 12V. Allego qui lo schema corretto.

Spiego meglio: intanto ogni motore possiede il proprio potenziometro da 10K.
Se ad esempio l'auto in pista si trova in posizione orizzontale, il braccio del motore (sistema biella manovella) deve stare in posizione orizzontale, quindi il potenziometro si trova a 5K e fornisce quindi una tensione in uscita di 2,5V che viene letta da Arduino attraverso uno degli ingresso analogici (A0..A1..A2..)

Se l'auto si trova in salita, il braccio del motore deve stare in posizione alta, quindi il potenziometro si trova a 10K e fornisce una tensione in uscita di 0V che viene letta da Arduino sullo stesso ingresso analogico "A"

Se l'auto si trova in discesa, il braccio del motore deve stare in posizione bassa, quindi il potenziometro si trova a 0K e fornisce quindi una tensione in uscita di 5V che viene letta da Arduino attraverso uno degli ingresso analogici (A0..A1..A2..)

Premessa importante: io ho scritto che il potenziometro assume "posizione" 0K e 10K, ma ovviamente non arriverà mai a quei valori perché esiste un range non utilizzato denominato "deadzone" per non oltrepassare i valori minimo e massimo. Quindi il potenziometro lavora realmente da circa 2K a 8K.
Allegati
IBT-2.jpg
Avatar utente
Foto UtenteSalvatore129
0 2
 
Messaggi: 44
Iscritto il: 1 feb 2018, 18:18

0
voti

[30] Re: Eliminare rumore alimentazione motore PWM

Messaggioda Foto UtenteEcoTan » 11 ott 2018, 13:01

Secondo me era giusto il vecchio schema, almeno il collegamento nero del negativo ci vorrebbe. Comunque non so nulla di Arduino e qui mi fermo.
Avatar utente
Foto UtenteEcoTan
5.340 4 10 13
Expert EY
Expert EY
 
Messaggi: 3202
Iscritto il: 29 gen 2014, 8:54

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 28 ospiti