• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wyświetlacz obrotów wiertarki stołowej.
#1
Witam wszystkich. 


Ostatnio zakupiłem solidny stojak wiertarski Proxxon i niebieska wiertarkę Boscha .
Całość prezentuje się znakomicie i równie dobrze pracuje. Zmontowałem też układ do regulacji fazowej prędkości obrotowej wiertarki gdyż ten na rękojeści jest przy wierceniu na stojaku jest niepraktyczny. 

Całość chciałem wzbogacić o układ wyświetlający aktualną prędkość obrotową. Właściwie, kupiłem już odpowiedni układ z czujnikiem Halla. Działa jak należy. Wskazanie na wyświetlaczu bardzo mi się przydaje, jednak czujnik Halla jest nieco długi, montaż kłopotliwy, a magnes mocowany na uchwycie wiertła lubi sobie odfrunąć przy znacznych obrotach. Powoduje też małe wibracje.

Pomyślałem więc, że można by było zmontować podobny układ na Arduino oraz czujniku IR . Zakupiłem więc popularny wyświetlacz LCD 2x16 oraz moduł IR taki jak ten :

https://www.arduino-board.com/tutorials/ir-proximity

Podobny układ widziałem tu:

http://www.instructables.com/id/Measure-...achometer/

No i jak to w takich projektach bywa, podłączyć wszystko jest łatwo , ale zaprogramować już nie.
Do szczęścia brakuje mi więc tylko kodu.
Mam za sobą już kilka mini projektów na LED'ach i silnikach krokowych, ale ten projekt mnie samego przerasta.
Będę naprawdę bardzo wdzięczny za wszelką pomoc. 
 
Odpowiedź
#2
Pobaw się Wink zmień parametr int nPalas=2; na 1 bo to jest do pomiaru śmigieł 2 łopatowych w modelu .

Kod:
//
// This example shows one way of creating an optoswitch
// using an IR LED as emiter and an IR LED receiver as
// light sensor.
// On this case it acts as a tachometer to count the
// revolutions per second of an aeromodelism plane's
// propeller.
//
//           + GROUND                                 +GROUND          
//           |                                        |  
//           <                                        <
//           > 220 ohm resistor                       > 220 omh resistor
//           <                                        <      
//           |                                        |  
//           |                                        |
//         -----                                    -----
//          / \    >>IR LED emiter >>>>>>>>>>>>>>>>  / \   IR LED receiver
//         -----                                    -----
//           |                                        |
//           |                                        |
//           + +5VCD                                  +  ANALOG INPUT 0
//


int val;
long last=0;
int stat=LOW;
int stat2;
int contar=0;

int sens=75;  // this value indicates the limit reading between dark and light,
              // it has to be tested as it may change acording on the
              // distance the leds are placed.
int nPalas=2; // the number of blades of the propeller

int milisegundos=500; // the time it takes each reading
void setup()
{
  Serial.begin(9600);
  pinMode(13,OUTPUT);
}

void loop()
{
  val=analogRead(0);
  if(val<sens)
    stat=LOW;
   else
    stat=HIGH;
   digitalWrite(13,stat); //as iR light is invisible for us, the led on pin 13
                          //indicate the state of the circuit.

   if(stat2!=stat){  //counts when the state change, thats from (dark to light) or
                     //from (light to dark), remmember that IR light is invisible for us.
     contar++;
     stat2=stat;
   }
   if(millis()-last>=milisegundos){
     double rps=((double)contar/nPalas)/2.0*1000.0/milisegundos;
     double rpm=((double)contar/nPalas)/2.0*60000.0/(milisegundos);
     Serial.print((contar/2.0));Serial.print("    RPS  ");Serial.print(rps);
     Serial.print("   RPM  ");Serial.print(rpm);Serial.print("  VAL ");Serial.println(val);
     contar=0;
     last=millis();
   }
}
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#3
jak masz problem z magnesem możesz zastosować optyczne czytanie obrotów nie wiem jak się to sprawuje na wysokich obrotach ale wiem ze działa jedyne co musisz to na futerku na malować czarna linie
(kiedyś robiłem zegarek czasu rzeczywistego z dysku twardego w ten sposób)
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#4
adix na litość ... czytaj całość nie po łebkach .... Big Grin

Cytat:Zakupiłem więc popularny wyświetlacz LCD 2x16 oraz moduł IR taki jak ten :

Cytat:// This example shows one way of creating an optoswitch
// using an IR LED as emiter and an IR LED receiver as
// light sensor.
// On this case it acts as a tachometer to count the
// revolutions per second of an aeromodelism plane's
// propeller.
Ważne aby robić co się lubi albo lubić co się robi .
Arduino UNO, TINY, PRO MINI
Pomoc nagradzamy punktami reputacji Wink
 
Odpowiedź
#5
wybaczcie nie doczytałem późno było
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
#6
czy mógłbyś podać więcej szczegółów, kilka zdjęć? Od jakiegoś czasu myślę nad zrobieniem regulatora obrotów z wyświetlaczem do wiertarki stołowej (Tak jak u Ciebie - uchwyt + wiertarka ręczna). W moim pomyśle Arduino miałoby nie tylko wyświetlać obroty ale również regulować zadaną prędkość.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości