Liczymy obroty (TCRT5000) – sukces!

Liczymy obroty silniczka D65:

Znalezione obrazy dla zapytania d65 zestaw napedowytutaj nasz program:

 

bool stan, poprz;
unsigned long int t1;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  stan=false;
}

int odczyt;
int licz=0;
void loop() {
  poprz=stan;
  odczyt=analogRead(A0);
  if (odczyt<50)
    stan=true;
  else
    stan=false;
//  Serial.print(odczyt);
//  Serial.print("   ");
//  Serial.print(stan?"jasne":"ciemne");
//  Serial.print("   ");
  if (stan!=poprz){
    licz++;
    Serial.print(" KLIK ");
    Serial.print(licz);
    Serial.print(" ");
    if (licz%2==0){
      Serial.print(1000./(millis() - t1)*60);
      Serial.println(" rpm");
      t1= millis();
    }
  }
//  else
//    Serial.println();
}

I działa bardzo fajnie, nawet z tylko jednym znacznikiem! Wyniki są bardzo powtarzalne (przy zasilaniu około 7V – jeden obrót w 230-240ms, czyli 4 obroty w 1 sekundę, a to daje 4*60=240 obrotów na minutę – rpm).

Rozbudowa?

  1. więcej znaczników (już 2 polepszają sprawę, 4 to zdecydowanie OK).
  2. inny algorytm – zliczanie liczny obrotów i aktualizowanie wartości rpm co określony czas, np. 2 sek

Liczymy obroty (TCRT5000)

Liczymy obroty silniczka D65:

Znalezione obrazy dla zapytania d65 zestaw napedowy

który przy zasilaniu 6V powinien mieć 100 rpm (=obrotów na minutę). My wykorzystujemy poznaną czujkę odbiciową TCRT5000:

 

Znalezione obrazy dla zapytania tcrt5000

Pierwsze zgrubne wyniki dały 1 pełen obrót w czasie 250ms, czyli 240 rpm (trochę dużo, ale to dlatego, że zailalem silniczek 8V – „nielegalnie”). Zrzut ekranu:

oraz program (wyjaśnienia i dyskusja później, jak też i omówienie dokładności pomiaru):

int pomiar[3],i=0,maksior;
unsigned long t1,delta;

void setup() {
  Serial.begin(9600);
  t1=millis();    
}
void loop() {
//  Serial.print(millis());
//  Serial.print("   ");
  pomiar[0]=pomiar[1];
  pomiar[1]=pomiar[2];
  pomiar[2]=analogRead(A0);
  //Serial.println(pomiar[2]);  
  if ((pomiar[1]<950)&&(pomiar[1]>300)&&(pomiar[1]>pomiar[0])&&(pomiar[1]>pomiar[2])){
    delta=millis()-t1;
    if(delta>50){
      Serial.print("1 obrot w ");
      Serial.print(delta);
      t1=millis();    
      Serial.print("ms, czyli rpm=");  
      Serial.println(60*1000.0/delta); 
    }
  }  
  //delay(100);
}

 

 

Nowe zabawki – sponsorowane przez Parlament Studentcki UwB

Informuję wszystkich robotków z koła Fi-BOT Wydzialu Fizyki UwB, że w dniu dzisiejszym (29-04-2016) przyszła pierwsza paczuszka z podzespołami sponsorowanymi przez Parlament Studencki UwB. Projekt ten złożyła i uzyskała finansowanie Pani Noemi. Mamy 2 mikro-silniczki oraz zestaw mocowań, kół i enkoderów do nich! Niech Was nie zmartwi rozmiar tych silniczków – bo one mają moc! No i do tego jeszcze 4x serwa (też nie byle jakie). Czekam jeszcze na zestawy do komunikacji Bluetooth…

Zapraszam do galerii „unboxing” 😉

DSC_1048

A co kryje w sobie ta paczuszka? może chomika?
DSC_1057

Zawartość w pełnej okazałości. Długopis nie wchodzi w skład zestawu (to mój prywatny i nie oddam!) – służy do zorientowania się w rozmiarach zakupionych gadgetów. Czyli dokładnie czego?

DSC_1052

4x Serwo PowerHD AR-3606HB (praca ciągła)

DSC_1053

wraz z bogatym zestawem orczyków!

DSC_1051

A tutaj mikrosilniki Pololu HP 298:1. Niech nikogo nie zmartwi rozmiar tego silniczka – w tym maluchu drzemie niezła moc!

DSC_1050

Dodatkowo: zestaw kół, mocowań no i enkoderów dedykowanych do Pololu!

DSC_1049

Ponownie wszystko w  całej okazałości.

Firma, w której zamówiłem, dołączyła słodki upominek Pani Noemi – autorki projektu

DSC_1055

cukiereczek czeka do odbioru po długim weekendzie – zapraszam!