Progetto per la misura della resistenza a taglio di alcuni materiali granulari

Ciao a tutti!

Vorrei realizzare questo piccolo progetto a scopo puramente accademico, ma non ho molta esperienza con la micro-elettronica (eccetto il manuale di Arduino UNO) e per questo sono qui a chiedere il vostro aiuto :smiley:

Ho fatto uno sketch indicativo di come dovrebbe venire fuori e lo trovate in allegato. Il dispositivo è una scatola di 300 x 300 x 100 millimetri. Le pareti sono rigide e sono collegate l’una con l’altra con cerniere con cuscinetti a sfera, per evitare qualsivoglia frizione.

Il movimento che vorrei che le pareti realizzassero è come quello dei pantografi, ovvero passare da una forma quadrata ad una romboidale, controllando i movimenti di almeno due cerniere opposte.
L’esperimento consiste in posizionare alcuni materiali granulari nella scatola e, per esempio, avvicinando 2 vertici opposti della scatola, misurare la forza richiesta per questo movimento. I dati vengono quindi letti da Arduino e registrati su scheda SD.L’angolo massimo di spostamento dovrebbe essere nell’ordine di 45 gradi.

Ci sono delle limitazioni nelle modalità dell’esperimento. La velocità alla quale i due vertici si avvicinano/si allontanano deve essere non superiore al mezzo millimetro per secondo. In aggiunta, da un primo dimensionamento della macchina ho calcolato che il massimo sforzo raggiunto sarà di 200 N (assialmente tra i due vertici opposti). Si richiede (almeno) una precisione dell’ordine di 1 Newton.

Inizialmente (come si può vedere dallo sketch) avevo pensato di utilizzare una barra filettata collegata ad un motore passo passo, viste il controllo che posso avere nello spostamento. Tuttavia non so come potrei misurare efficacemente la resistenza al movimento.

Quale setup mi consigliate per controllare questo esperimento? Meglio motori passo-passo o DC brushless? o attuatori lineari? Sono un po’ confuso… eheheheh Tutti i consigli che potete darmi sono ben accetti!

Spero di non aver dimenticato dei dettagli… ma nel caso chiedete pure! :wink:

Grazie e ciao! :smiley:

per misurare la coppia esercitata dal motore ci sono sensori da montare in asse alla barra filettata, oppure, ma con montaggio un po più complesso, una cella di carico, uno stepper penso sia la soluzione migliore, comunque preparati, la realizzazione non la vedo non semplice

stefa24: per misurare la coppia esercitata dal motore ci sono sensori da montare in asse alla barra filettata, oppure, ma con montaggio un po più complesso, una cella di carico, uno stepper penso sia la soluzione migliore, comunque preparati, la realizzazione non la vedo non semplice

Potresti indicarmi dove trovare questi sensori? Misurare la variazione di corrente o voltaggio o potenza tra entrata ed uscita del motore passo passo puó essere una buona alternativa?

qui trovi quello che intendo https://www.google.it/search?q=torque+sensor&espv=2&biw=1600&bih=775&tbm=isch&tbo=u&source=univ&sa=X&ei=ceQGVaKpNeHW7AbRrIDADA&ved=0CDoQsAQ#imgdii=HMHDmtCw6pPkeM%3A%3BIsZgiLDo4NUTcM%3BHMHDmtCw6pPkeM%3A&imgrc=HMHDmtCw6pPkeM%253A%3BIOgAB6Bg1F9V0M%3Bhttp%253A%252F%252Fimages.machinedesign.com%252Fimages%252Farchive%252Fsft2jpg_00000039010.jpg%3Bhttp%253A%252F%252Fmachinedesign.com%252Farchive%252Ftorque-sensors-are-small-accurate%3B312%3B236 altra possibilità è usare una cella di carico posta fra il motore e la base di appoggio

Dal tuo disegno vedo un paio di possibili problemi ...

Il fondo e' aperto per garantire il movimento ? ... se si, come eviti che il materiale compresso dalle pareti alzi il tutto ? ... se lo eviti aumentando il peso delle pareti, come risolvi la frizione sul fondo della scatola (che suppongo sia un piano liscio) ?

Poi, con quella geometria, le forze cambiano in base alla deformazione del contenuto ed al suo spostamento ... inoltre se lasci le "cerniere" abbastanza larghe da poter muovere la scatola, rimane abbastanza spazio per far uscire i materiali se le dimensioni dei granuli sono piu piccole degli spazi lasciati ...

ed ancora, mettere una cella di carico in quella configurazione vorrebbe dire doverla mettere o sul perno che tiene il linear bearing, o su quello che tiene il motore, compensando in qualche modo le differenze assiali rispetto a quelle radiali, non vedo facile nessuna delle due cose cosi al volo ...

Potrebbero esserci soluzioni migliori, ma serve sapere esattamente cosa ci devi fare ... misurare la forza necessaria alla deformazione di una matrice granulare, o la forza di penetrazione di un'oggetto in una massa granulare ? ... nel secondo caso, forse sarebbe piu semplice realizzare una scatola rigida che possa venire divisa in due da una paratia mobile, e misurare la forza necessaria a spingere la paratia attraverso il materiale (il bordo della paratia potrebbe essere piatto, tondo o a spigolo, per misure diverse, il che ovviamente darebbe forze diverse in base alla granularita', coesione, massa e densita' dei vari materiali) ... in un caso del genere la meccanica sarebbe semplificata, perche' sarebbe sufficente montare la cella di carico in testa alla barra che spinge la paratia ... in ogni caso, condizioni diverse, persino quelle atmosferiche, darebbero probabilmente risultati diversi con materiali identici (basta pensare alla differenza fra sabbia totalmente secca e sabbia leggermente umida, per farsi un'idea ;))

Ok, rispondendo per parti:

Etemenanki: Dal tuo disegno vedo un paio di possibili problemi ...

Il fondo e' aperto per garantire il movimento ? ... se si, come eviti che il materiale compresso dalle pareti alzi il tutto ? ... se lo eviti aumentando il peso delle pareti, come risolvi la frizione sul fondo della scatola (che suppongo sia un piano liscio) ?

Il fondo della "scatola" é aperto ma ci sará un piano liscio sotto di essa che é fatto per evitare (per quanto possibile) eventuali frizioni. Il materiale non alzerá la scatola, magari fuoriuscirá dalla parte superiore. In tal caso é stato giá pensato una sorta di pannello superiore con delle guide.

Etemenanki: Poi, con quella geometria, le forze cambiano in base alla deformazione del contenuto ed al suo spostamento ...

é proprio questo il punto, a seconda della deformazione del contenuto vorrei misurare la forza di resistenza allo spostamento...

Etemenanki: inoltre se lasci le "cerniere" abbastanza larghe da poter muovere la scatola, rimane abbastanza spazio per far uscire i materiali se le dimensioni dei granuli sono piu piccole degli spazi lasciati ...

Chiaramente ci sono piccoli dettagli che ho omesso dal disegno per fare in modo che appaia piú chiaro. Ci saranno delle membrane plastiche flessibili all'altezza delle cerniere per evitare, come dici tu, che il materiale fuoriesca dalla scatola.

Etemenanki: ed ancora, mettere una cella di carico in quella configurazione vorrebbe dire doverla mettere o sul perno che tiene il linear bearing, o su quello che tiene il motore, compensando in qualche modo le differenze assiali rispetto a quelle radiali, non vedo facile nessuna delle due cose cosi al volo ...

Scusa, non ho capito dove la metteresti tu la cella di carico...

Etemenanki: Potrebbero esserci soluzioni migliori, ma serve sapere esattamente cosa ci devi fare ... misurare la forza necessaria alla deformazione di una matrice granulare, o la forza di penetrazione di un'oggetto in una massa granulare ? ... nel secondo caso, forse sarebbe piu semplice realizzare una scatola rigida che possa venire divisa in due da una paratia mobile, e misurare la forza necessaria a spingere la paratia attraverso il materiale (il bordo della paratia potrebbe essere piatto, tondo o a spigolo, per misure diverse, il che ovviamente darebbe forze diverse in base alla granularita', coesione, massa e densita' dei vari materiali) ... in un caso del genere la meccanica sarebbe semplificata, perche' sarebbe sufficente montare la cella di carico in testa alla barra che spinge la paratia ...

La prima opzione é quello che vorrei realizzare, perché ho giá sperimentato la seconda (e funziona) ma é necessario capire se é consistente e fino a che punto.

Etemenanki: in ogni caso, condizioni diverse, persino quelle atmosferiche, darebbero probabilmente risultati diversi con materiali identici (basta pensare alla differenza fra sabbia totalmente secca e sabbia leggermente umida, per farsi un'idea ;))

Giá, hai colto perfettamente il punto... :D ma supponiamo che tutto sia ripetibile per semplificare..! ;)

stefa24: qui trovi quello che intendo https://www.google.it/search?q=torque+sensor&espv=2&biw=1600&bih=775&tbm=isch&tbo=u&source=univ&sa=X&ei=ceQGVaKpNeHW7AbRrIDADA&ved=0CDoQsAQ#imgdii=HMHDmtCw6pPkeM%3A%3BIsZgiLDo4NUTcM%3BHMHDmtCw6pPkeM%3A&imgrc=HMHDmtCw6pPkeM%253A%3BIOgAB6Bg1F9V0M%3Bhttp%253A%252F%252Fimages.machinedesign.com%252Fimages%252Farchive%252Fsft2jpg_00000039010.jpg%3Bhttp%253A%252F%252Fmachinedesign.com%252Farchive%252Ftorque-sensors-are-small-accurate%3B312%3B236 altra possibilità è usare una cella di carico posta fra il motore e la base di appoggio

Capisco, ma permettono una rotazione continua dell'asse o hanno un limite di rotazione?

E un'altra cosa, dove metteresti la cella di carico?

Allora, se il motore e’ fissato ad uno dei perni ed il cuscinetto della vite a sfere e’ fissato all’altro (non si capisce bene dal disegno), devi mettere una cella di carico o sul perno dove e’ fissato il motore o su quello dove e’ fissata la boccola a sfere, ma in quel modo sulla cella di carico hai due differenti forze, quella di trazione e quella di deformazione (perche’ il fissaggio e’ al di fuori dell’asse mediano delle pareti, quindi sui perni non hai solo trazione ma anche flessione) … comunque si puo integrare conoscendo le dimensioni, diventa solo un po piu complesso realizzare gli elementi meccanici di accoppiamento …

Se invece il motore e’ libero e su entrambi i perni ci sono boccole a sfere, servono ovviamente due celle, una per boccola, da sommare nel circuito di misura.

Se invece non vuoi avere troppi problemi con le forze di torsione sui perni, dovresti cambiare la geometria del tutto … diventa un po piu complesso, ti serve un telaio rigido esterno in cui inserire la tua “scatola variabile”, con uno degli angoli appoggiato ad un bordo del telaio e l’altro che viene spinto dalla barra filettata, con il motore fissato all’altro lato del telaio … in questo modo non avresti problemi di torsione, perche’ la spinta la faresti al centro della cerniera, linearmente, e sarebbe anche piu semplice montare la cella …

ti ho fatto uno schemino di principio di quello che intendo, perche’ le immagini sono meglio delle parole … fa un po pena perche’ Eagle non e’ un cad meccanico, ma credo si capisca lo stesso il senso …

in genere hanno la rotazione libera

blondino: Capisco, ma permettono una rotazione continua dell'asse o hanno un limite di rotazione?

E un'altra cosa, dove metteresti la cella di carico?

interessante la soluzione di ete, una cella di carico è sicuramente più economica ma ti serve il circuito di condizionamento del segnale

Ciao a tutti di nuovo!!
qualche aggiornamento sul progettino… e qualche nuovo dubbio. :frowning:

La cella di carico è sicuramente la soluzione migliore per poter misurare le forze. La soluzione di etemenanki è molto interessante e ci lavorerò sopra. Non ho capito bene che cosa voglia dire “condizionamento” del segnale ma immagino che dovrò amplificare il segnale e magari anche filtrarlo un po’…

Intanto ho preso un motore passo passo (questo… http://docs-europe.electrocomponents.com/webdocs/13b3/0900766b813b30f9.pdf ) e il motorshield r3 di arduino per controllarlo. I collegamenti li ho fatti come nella foto in allegato e (dopo aver controllato che tutto andasse bene con la 5V di Arduino) ho tagliato il jumper per la Vin e ho provato a collegare la batteria da 12V 15Ah (cavi rosso e nero).

Mi sono sorti alcuni dubbi però. Primo, la alimentazione da batteria scalda molto, troppo secondo me. Il chip al centro del motorshield diventa rovente dopo pochissimi secondi. Secondo, alla fine del movimento previsto dallo sketch, l’albero del motore inizia ad oscillare ed i led a lampeggiare tutti assieme. Terzo, anche se ho 4 fili, riesco solo a fare un controllo a 2 (come vedete nello sketch) e certe velocità non riesco a gestirle bene. Le alte, sopra un valore di 300, non fanno girare l’albero. Le basse fanno vibrare molto il motore.

Ora mi chiedo, non avrò invertito qualche filo? o c’è qualcosa che mi sfugge?

Lo sketch di esempio che sto usando è il seguente:

#include <AccelStepper.h>

// Prima definisco i pin
const int dirA=12;
const int dirB=13;

const int pwmA=3;
const int pwmB=11;

const int brakeA=9;
const int brakeB=8;

// Creo la istanza stepper
AccelStepper stepper(2,dirA,dirB);

void setup()
{  
// Poi disabilito i brake
  pinMode(brakeA,OUTPUT);
  pinMode(brakeB,OUTPUT);
  digitalWrite(brakeA, LOW); 
  digitalWrite(brakeB, LOW);
  

// Infine imposto i pwm su HIGH
  pinMode(pwmA,OUTPUT);
  pinMode(pwmB,OUTPUT);
  digitalWrite(pwmA, HIGH); 
  digitalWrite(pwmB, HIGH);

// Seleziono i parametri di velocità
   stepper.setMaxSpeed(1000);
   stepper.setSpeed(50);        
}
void loop()
{
// Il motore corre in continuo con stepper.runSpeed();
// però voglio farlo andare e poi fermarsi:
   stepper.moveTo(500);
   stepper.runToPosition();

}

Ciao di nuovo.. ho riprovato a fare andare il mio motore con i 5 volts (che arrivano dall'USB via arduino)...

Ho controllato la sequenza degli step ed ho visto che dovevo invertire blu ed arancione. Adesso con i 5 V funziona bene ma non benissimo (il movimento non é ancora molto fluido come quando collego i pin direttamente ad arduino saltando il motor shield..).

Tuttavia, se collego la batteria a 12V il movimento peggiora davvero tanto, e a volte si blocca anche...

Come puó accadere una cosa del genere? Mi potreste dare una mano?