Automatyczny start silnika BLDC...

monitory, nagrywarki, itp

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Automatyczny start silnika BLDC...

Post autor: pawelsky »

Jakub Jewuła pisze:- write wpisuje wartosci chyba dowolne? W kazdym razie napewno od 0 do 2000.
- ESC reaguje na caly zakres tej wartosci - co ciekawe gdy jest skalibrowane dla
zakresu 0-180 to do 180 oczywiscie silnik sie rozpedza potem okolo 550 silnik staje
i znowu od okolo 1000 do 2000 pracuje zwiekszajac RPM.
Zamiast robic 'sledztwo' trzeba bylo po prostu zajrzec w kod servo.cpp, wiedzialbys dlaczego write reaguje tak a nie inaczej

Kod: Zaznacz cały

void Servo::write(int value)
{
  if(value < MIN_PULSE_WIDTH)
  {  // treat values less than 544 as angles in degrees (valid values in microseconds are handled as microseconds)
    if(value < 0) value = 0;
    if(value > 180) value = 180;
    value = map(value, 0, 180, SERVO_MIN(),  SERVO_MAX());
  }
  this->writeMicroseconds(value);
}
Uzywaj writeMicroseconds, bedziesz mial pelna kontrole nad tym co sie dzieje.
Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Re: Automatyczny start silnika BLDC...

Post autor: Jakub Jewuła »

Ja jestem technkiem - dokumentacje czytam dopiero gdy nic innego nie pomaga! ;)

Wersja koszerna:

Kod: Zaznacz cały

#include <Servo.h>

Servo myservo;

void setup() {
  Serial.begin(9600); 
  myservo.attach(12);
}

  const int analogInPin = 0;
  int sensorValue = 0;
  int outputValue = 0;
  int a=0;

void loop() {
  for (a; a<1; a++)
    {
    delay(1000);
    myservo.writeMicroseconds(1000);
    delay(1000);
    }
  sensorValue = analogRead(analogInPin);
  outputValue = map(sensorValue, 0, 1023, 1075, 1950);
  myservo.writeMicroseconds(outputValue);
  Serial.print("predkosc = ");
  Serial.println(outputValue);
  delay(100);
  int a=2;
}
Sprawdzilem silnik 380KV - cichutko sie kreci. Teraz tylko jakies wieksze smiglo musze wykopac ;)

Dzieki za pomoc!

Jakub
Awatar użytkownika
pawelsky
Posty: 9750
Rejestracja: środa 19 mar 2014, 02:03
Lokalizacja: Polska
Kontakt:

Re: Automatyczny start silnika BLDC...

Post autor: pawelsky »

Jakub Jewuła pisze:dokumentacje czytam dopiero gdy nic innego nie pomaga! ;)
To akurat (zwlaszcza dla technika) sredni powod do dumy :-P
Jakub Jewuła pisze:Wersja koszerna
Do koszernej to jej jeszcze troche brakuje... Po co ci kombinacje z petla for w loopie? Zrob to raz w setupie zamiast tak kombinowac.
Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Re: Automatyczny start silnika BLDC...

Post autor: Jakub Jewuła »

Niestety z wentylatorka chyba nic nie bedzie z prozaicznego powodu - wszystkie silniki jakie sprwadzilem
z zalozonym smiglem sa po prostu ...za glosne. Na modelu to nie przeszkadza, ale gdyby mialo mi non-stop
wyrczec za uchem to bym sie wkurzyl szybko ;)
Kupilem w markecie za 30zl wyjatkowo cichy maly wentylatorek o mocy <> 10W, dorobie tylko zalaczanie...

q
Szymon
Posty: 992
Rejestracja: poniedziałek 06 wrz 2010, 09:18
Lokalizacja: Pruszków
Kontakt:

Re: Automatyczny start silnika BLDC...

Post autor: Szymon »

Ale co się nauczyłeś to Twoje.
Jakub Jewuła
Posty: 1867
Rejestracja: poniedziałek 12 lip 2010, 11:51
Lokalizacja: Kraków

Re: Automatyczny start silnika BLDC...

Post autor: Jakub Jewuła »

No :)

Kiedys kupilem soft do projektowania smigiel - jest tam chyba tez mozliwosc optymalizacji
pod katem halasu. Moze kiedys wroce do tematu :) Jak kupie drukarke 3D to sprawdze czy
da sie druknac smiglo...

q
ODPOWIEDZ