Robottino..encoders sballati?

Un mio ottimo amico,l'insegnante delle superiori che molti vorrebbero av= ere(spiega e rispiega a tutti i livelli, coinvolge,inventa giochi per fa= re imparare) fa con la classe gare di robotica, insegna a i ragazzi come scrivere codice per questi robottini a 4 ruote= ,che devono seguire in autonomia percorsi,aggirare ostacoli ecc. Giusto per dire che mica tutti gli insegnanti tirano a campare e alcuni = cercano di appassionare alla materia,anche se pare sia sempre pi=F9 diff= icile. Comunque mi porta un robottino costruito con gli studenti: Arduino Mega con ESP32,un driver motori e 4 motori,sensore a ultrasuoni.=

Ognuno di questi motori ha sull'albero una rotella color ferrite,su un p= iccolo PCB circolare ci sono 2 sensori di Hall a 90=B0C,quindi uno sulle= 12:00 e uno sulle 3:00,hanno gi=E0 pullup collegato. Mi dice che il codice non riesce a capire la direzione(cosa non importan= te in quanto viene imposta dal driver del motore,e le ruote non si muovo= no mai passivamente),e gli dico che vediamo con oscilloscopio che segnal= e viene fornito dagli encoder. Mi aspetterei di vedere,come in altri casi,2 onde quadre con duty cycle= 50% e sfasate di 90=B0C,una in anticipo o in ritardo a seconda del sens= o di rotazione della ruote. Invece 4 motori mostrano 4 cose diverse e con poco senso,almeno per me: Segnali sfasati di circa 190=B0C,duty cycle non al 50%,tanto che in un c= aso il livello basso di un encoder resta compreso nel tempo del livello = altro di un altro.

------|______|--------

_____|---------|______

Cosa pu=F2 significare?Hanno sbagliato a posizionare i magnetini o a ma= gnetizzarli? Grazie

Reply to
blisca
Loading thread data ...

"blisca" ha scritto nel messaggio news: snipped-for-privacy@lella-hp.station...

che non puoi usarli come encoder

non lo so, bisognerebbe sapere di piu' sul quei motori.

forse non e' il tuo caso, ma esistono i motori detti a controllo "trapezoidale", usano i sensori di hall per poter comandare la sequenza corretta delle fasi motore R S T, tipo le ventole dei PC.

Reply to
alfio

In data marzo 2022 alle ore 10:28:08, alfio ha scritt= o:

a

grazie, sono andato a vedere

da quel poco che ho capito il controllo trapezoidale =E8 un modo "facili= tato " di pilotaggio per certi motori brushless ma ho chiesto ora e i motori del robottino sono DC con spazzole

In ogni caso anche se fossero stati brushless mi chiedo a cosa avrebbero= potuto servire degli encoders con delle risposte cos=EC mal correlate,a= lmeno a prima vista

Reply to
blisca

"blisca" ha scritto nel messaggio news: snipped-for-privacy@lella-hp.station...

non lo so, pero' quello che ti ho scritto era per dire che in certi brushless i sensori di hall non sono li per fare da encoder. nei motori "trapezoidali" che in passato usai in campo industriale, il motore aveva sia i sensori di hall (per il pilotaggio RST), sia l'encoder ottico (per il controllo di posizione del CN).

visto che i tuoi motori sono DC a spazzole, allora hai pienamente ragione tu, c'e' qualcosa che non quadra nella risposta di quei sensori. sicuri di aver collegato nel modo corretto i fili dei sensori ? un link alle specifiche dei motori in questione c'e' ?

Reply to
alfio

In data marzo 2022 alle ore 12:58:54, alfio ha scritt= o:

ero

,almeno

der

one

no,o meglio mi ha detto che il sito =E8 solo in cinese(tra l'altro il mi= o amico un pochino lo conosce e lo studia) Gli ha per=F2 scritto.

Comunque la domanda potrebbe essere girata cos=EC. Con degli encoder hall posti a 90=B0 l'uno dall'altro rispetto alla rota= zione di un albero,come dovrebbe essere posto il magnete ,o + magneti ri= spetto all'albero? Se non ho capito male i sensori di Hall possono essere bipolari,cio=E8 g= li basta un campo magnetico,che sia Nord o Sud,oppure unipolari Non so in questo caso. E domanda "inversa" ,c'=E8 qualche orientamento del magnete che possa da= re una cosa cos=EC scombinata come quella che vedo?

Reply to
blisca

In data marzo 2022 alle ore 21:18:01, RoV ha scritto:=

gli

dare

+1
Reply to
blisca

In data marzo 2022 alle ore 12:58:54, alfio ha scritt= o:

ero

,almeno

der

one

grazie ancora una volta ,Alfio

Reply to
blisca

arzo 2022 alle ore 12:58:54, alfio h

iedo a cosa avrebbero

e ti ho scritto era per dire che in certi

s i sensori di hall non sono li per fare da encoder.

mpo industriale, il

hall (per il pilotaggio RST), sia l'encoder

(per il controllo di posizione del CN).

che i tuoi motori sono DC a spazzole, allora hai pien amente ragione

lla risposta di quei sensori.

gato nel modo corretto i fili dei sensori ?

k alle specifiche dei motori in questione c'e' ?

A me sembra che lo sfasamento di 90 gradi sia eccessivo o perlomeno li miti molto l'acquisizione dei dati. Proverei invece a posizionare il trasmettitore in maniera da poter il luminare un ricevitore prima e l'altro dopo prima dell a chiusura della finestra visiva; in questo modo hai la possibilita' di avere un incrocio dei livelli de i sensori e la sicurezza del termine della lettura. S pero sia comprensibile quanto ho descritto, anche se n e dubito, ma se sei interessato, possiamo approfondi re. Angelo

Reply to
Deh!

In data marzo 2022 alle ore 12:14:46, Deh! ha scritto:

itto:

bbero

il

coder

gione

Intanto grazie Angelo,ma non ho capito

Perch=E8 dici ci=F2?E' quello che si trova tipicamente,con 90=B0 hai il = massimo angolo possibile tra un fronte e l'altro nelle 2 direzioni,che t= i permentte di avere un apprezzamento della direzione anche se la veloci= t=E0 sale.Intendo dire se fosse a 110=B0C,poi nell'altra direzione ne av= resti solo 70 Anche angoli superiori alla fine si dovrebbero ricondurre ai 90=B0

la

io

Mi viene da pensare che tu intenda encoder ottico,con disco forato rotan= te,invece =E8 a sensore di Hall se rileggi,spero di aver capito

volentieri,grazie

Reply to
blisca

"blisca" ha scritto nel messaggio news: snipped-for-privacy@lella-hp.station...

questa non l'ho capita. quello che conta per discriminare la direzione e' la sequenza, fossero sfasati di 1 solo grado sarebbe funzionale lo stesso. la quadratura e' importante se usi tutti i 4 fronti per contare la posizione. nei CN in genere il moltiplicatore x4 (o anche x2) e' una scelta, altrimenti il CN legge gli impulsi singoli, cioe' la sequenza

A: _|----|___ B: ___|----|_

e' un singolo impulso nel conteggio di posizione

Reply to
alfio

In data marzo 2022 alle ore 18:35:35, alfio ha scritt= o:

il massimo

mentte

sti solo

imenti

certo ,per la direzione basterebbe anche un grado per=F2(dimmi se sbaglio) aumentando ancora e ancora la velocit=E0 potreb= be succedere questo: con un microcontrollore senza un hardware specifico faccio riferimento p= er es. al fronte di discesa di A e non appena lo becco,per capire la dir= ezione,vado a vedere lo stato di B che in quel momento era, alto (lo far=F2 in una routine di interrupt senza perdere troppi cicli di clo= ck per cui il problema che vado a inventarmi sar=E0 davvero difficile da evidenziare). Quindi A commuta ,scatta l'interrupt,salvo nello stack le variabili loca= li della funzione in cui ero e vado nella routine di interrupt a leggere lo stato logico di B,se l'al= bero gira cos=EC veloce che al momento della lettura B =E8 andato basso,= allora mi sono perso la situazione.Se A e B sono sfasati di 90=B0 invece= per la stessa velocit=E0 sarei pi=F9 lontano dall'incertezza descritta.= La situazione in effetti =E8 un p=F2 tirata,forse si avrebbe questo prob= lema con un clock da 1MHz e un motore che fa 1000 giri al secondo e un e= ncoder con tanti impulsi per giro..ma qualcosa dovevo inventarmi per rep= licare. Pi=F9 verosimilmente lo sfasamento di 90=B0 potrebbe servire a minimizza= re le imprecisioni della costruzione meccanica,oppure dell'attivazione d= el sensore ,che sia tramite luce o tramite campo magnetico.Se per la fo= calizzazione imperfetta dell'emettitore di luce uno dei 2 canali commuta= 1 grado prima del previsto,pur costruito meccanicamente perfetto,allora= preferirei avere il 2ndo sensore sfasato di 90=B0C invece che di 1=B0

Reply to
blisca

arzo 2022 alle ore 12:14:46, Deh!

e 12:58:54, alfio ha

ews: snipped-for-privacy@lella-hp.station...

In ogni caso anche se fossero stati brushless mi chie do a cosa

te,almeno

pero' quello che ti ho scritto era per dire che in cer ti

are da encoder.

passato usai in campo industriale, il

eva sia i sensori di hall (per il pilotaggio RST), sia

sizione del CN).

ono DC a spazzole, allora hai pienamente

e

a di quei sensori.

modo corretto i fili dei sensori ?

specifiche dei motori in questione c'e' ?

razie ancora una volta ,Alfio

to grazie Angelo,ma non ho capito

lo sfasamento di 90 gradi sia eccessivo o perlomeno

il

ro nelle 2 direzioni,che

apprezzamento della direzione anche se la

irezione ne

Proverei invece a posizionare il trasmettitore in man iera da poter

ltro dopo prima della chiusura della

va; in questo modo hai la possibilita' di avere un inc rocio

ermine della lettura.

tenda encoder ottico,con disco forato

o

anche se ne dubito, ma se

mo approfondire.

In tanto, scusa per il ritardo nella risposta! Per mia e sperienza, poca con i sensori Hall, ma un po' con gli ottici, i segnali sono sfasati di poco e non addirit tura di 90 gradi. Per quanto riguarda la lettura, mol to semplicemente basta leggere e memorizzare tramite interrupt gli stati logici per poi elaborarli con la

dovuta tempistica; . Uso normalmente dei micro a 8 bit e con velocita' anche di 4 MHz. non ho mai avuto difficolta' al riguardo della lettura dei sensori, si a encoder manuali/rotativi, dove il problema e' di n on essere troppo veloci (anche

10 ms.) e quelli su a ssi motore molto piu' veloci, ma un sensore su asse

a 10000 rpm. ha tempi di ripetitivita' di 50 us. e con un pic della serie 16 a 4 MHz. fai in tempo a rilev are tutto quello che occorre e ne avanza; figurati c on un micro decente. Sai che mi viene il dubbio che t u abbia i sensori troppo sfasati ed e' per quello ch e le letture non sono coerenti. Angelo

Reply to
Deh!

In data marzo 2022 alle ore 18:44:13, Deh! ha scritto:

i

, il

il

e

one ne

ella

ocio

se

i

la

ho

er

he

se

e

Non solo sono troppo sfasati,ma sembrano sfasati a caso,e su 4 motori no= n ce ne sono 2 che si somiglino, da cui si possa dedurre una regola.

Reply to
blisca

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.