Go Down

Topic: velocità e distanza percorsa della ruota con encoder (Read 497 times) previous topic - next topic

NXTfreeDOmF

Oct 19, 2016, 08:48 pm Last Edit: Oct 19, 2016, 09:01 pm by NXTfreeDOmF
Salve a tutti,

scusate se posto, ma ho bisogno di chiarimenti che nel forum non ho trovato.
Sono abituato ad ottenere la velocità e la distanza percorsa in questo modo pur non essendomi mai chiesto se fosse corretto o meno:

Code: [Select]

void loop() {
  if ((millis() - millisOld) >= periodo){               
millisOld += periodo;                                  
wheelPosition = readLeftEncoder() + readRightEncoder();
wheelVelocity = wheelPosition - lastWheelPosition;
lastWheelPosition = wheelPosition;  
}


mentre ho trovato sul forum che la maggior parte usa questo:

Code: [Select]

rpm = (60/30)*1000/(millis() - timeold)*rpmcount;
v = ((rpm*6.28*0.25)/60)*3.6;
forum.arduino.cc/index.php?topic=353594.0


-Sono metodi equivalenti? il mio metodo è corretto?
-si può usare questa formula?

vel angolare x raggio = velocità
w x r = v e quindi
v=r x 0.10472   




motore pololu 350 rpm a 12 volt, 30:1, 64 counts per revolution (64x29=1856 counts)
https://www.pololu.com/product/1443
ruota pololu 144mm
quindi max_vel_ideale= 350*0.072*0.10472=2.6m/s-->circa 9 km/h ma il dato fornito sugli rpm è inteso in free-run quindi con un carico discreto come può essere il mio robot sono fortunato se arriva a 3-4km/h.

Grazie in anticipo a chi dovesse aiutarmi!

Go Up