Automatyczny start silnika BLDC...
Moderatorzy: moderatorzy2014, moderatorzy
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Automatyczny start silnika BLDC...
Czesc :)
Mam takie pytanko - czy sterownik silnika BLDC da sie tak skonfigurowac zeby po zasileniu automatycznie odpalal silnik?
Mam potrzebe zrobic ...wentylator :) A ze mam wiadro silnikow BLDC, regulatorow i smigiel to chetnie bym z tego zrobil.
Najlepiej bez zadnej dodatkowej elektroniki...
Z tego co pamietam to chyba tak sie nie da zeby bez PWM na wejsciu sterownik zakrecil silnikiem?
A czy serwo-tester nie zachowa sie tak, ze gdy calosc zasilic to uruchimi silnik?
Nie mam akurat elementow pod reja zeby sprawdzic...
Wiem, ze mozna napisac prosty soft na Arduino i to zrobic, ale jesli sie da wolalbym bez programowania...
Z gory dzieki za pomoc :)
Jakub
Mam takie pytanko - czy sterownik silnika BLDC da sie tak skonfigurowac zeby po zasileniu automatycznie odpalal silnik?
Mam potrzebe zrobic ...wentylator :) A ze mam wiadro silnikow BLDC, regulatorow i smigiel to chetnie bym z tego zrobil.
Najlepiej bez zadnej dodatkowej elektroniki...
Z tego co pamietam to chyba tak sie nie da zeby bez PWM na wejsciu sterownik zakrecil silnikiem?
A czy serwo-tester nie zachowa sie tak, ze gdy calosc zasilic to uruchimi silnik?
Nie mam akurat elementow pod reja zeby sprawdzic...
Wiem, ze mozna napisac prosty soft na Arduino i to zrobic, ale jesli sie da wolalbym bez programowania...
Z gory dzieki za pomoc :)
Jakub
Re: Automatyczny start silnika BLDC...
Większość, o ile nie wszystkie ESC mają jakieś zabezpieczenia na taką okoliczność:
1) wchodzą w tryb programowania kiedy przy podłączeniu zasilania podawany jest PWM bliski "wartości maksymalnej"
lub
2) odgrywają melodyjkę i czekają na obniżenie sygnały PWM "do wartości minimalnej"
Ma to na celu zabezpieczenie modelu/operatora/mienia przed przypadkowym uruchomieniem silnika po podłączeniu zasilania.
Tak że bez arduino się raczej nie obejdzie, ale program będzie ultra śmiesznie prosty, na zasadzie:
Servo.write(0);
delay(3000); //czy tam ile czasu potrzeba na przejście procedury uruchomieniowej w ESC
Servo.write(180); // lub inne adekwatne obroty...
(BTW klon arduino nano jest tańszy niż większość servo testerów )
1) wchodzą w tryb programowania kiedy przy podłączeniu zasilania podawany jest PWM bliski "wartości maksymalnej"
lub
2) odgrywają melodyjkę i czekają na obniżenie sygnały PWM "do wartości minimalnej"
Ma to na celu zabezpieczenie modelu/operatora/mienia przed przypadkowym uruchomieniem silnika po podłączeniu zasilania.
Tak że bez arduino się raczej nie obejdzie, ale program będzie ultra śmiesznie prosty, na zasadzie:
Servo.write(0);
delay(3000); //czy tam ile czasu potrzeba na przejście procedury uruchomieniowej w ESC
Servo.write(180); // lub inne adekwatne obroty...
(BTW klon arduino nano jest tańszy niż większość servo testerów )
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
Wyglada na to, ze w koncu musze siasc i poznac choc podstawy Arduino.
Co pewnie mi sie przyda wiec nie ma tego zlego :)
J.
Co pewnie mi sie przyda wiec nie ma tego zlego :)
J.
Re: Automatyczny start silnika BLDC...
Nie musisz mieć arduino, wystarczy stary poczciwy timer na kostce 555. Tylko ustawić sobie odpowiednie wypełnienie impulsów pwm do żądanej prędkości silnika i jazda
Re: Automatyczny start silnika BLDC...
Na aliex.. masz masę gotowych PWM generatorów, z wyświetlaczem nawet i możliwością ustawiania częstotliwości za kilka, kilkanaście PLN.
Wysłane z iPhone za pomocą Tapatalk
Wysłane z iPhone za pomocą Tapatalk
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
No ale na tym to ja sie jeszcze mniej znam (o ile to mozliwe) niz na Arduino :)kuczy pisze:Nie musisz mieć arduino, wystarczy stary poczciwy timer na kostce 555. Tylko ustawić sobie odpowiednie wypełnienie impulsów pwm do żądanej prędkości silnika i jazda
Mysle, ze latwiej bedzie mi na Arduino, przy okazji cos tam sie naucze.
Zrobie sobie regulacje obrotow potencjometrem, a co - jak szalec to szalec ;)
Plytke Mega 2560 juz znalazlem, soft sciagnalem. Plytka dziala :)
q
Re: Automatyczny start silnika BLDC...
https://www.google.pl/search?dcr=0&sour ... RZ_QLiLPqM:
Nie wiem czy zobaczysz, ale nie mam jak wstawic samego obrazka (pisze z komorki).
Jasne, ze arduino zadziała, ale to tak, jakbyś zastosował nowoczesny komputer do wyliczenia 2 + 2.......
Można, ale po co. Ps na podanym schemacie masz także potencjometr ;D
Pozdr.
Nie wiem czy zobaczysz, ale nie mam jak wstawic samego obrazka (pisze z komorki).
Jasne, ze arduino zadziała, ale to tak, jakbyś zastosował nowoczesny komputer do wyliczenia 2 + 2.......
Można, ale po co. Ps na podanym schemacie masz także potencjometr ;D
Pozdr.
Re: Automatyczny start silnika BLDC...
Jak, korzystając z NE555, chcecie przeskoczyć problem inicjalizacji regla po podaniu zasilania? (no chyba że są ESC bez trybu programowania i bez zabezpieczeń przed uruchomieniem silnika po włączeniu zasilania...)
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
No ale Arduino mam :) Nawet chyba mam kilkadziesiat sztuk plytek zgodnych z Mega 2560 :)kuczy pisze:...
Jasne, ze arduino zadziała, ale to tak, jakbyś zastosował nowoczesny komputer do wyliczenia 2 + 2.......
Można, ale po co. Ps na podanym schemacie masz także potencjometr ;D
Pozdr.
Logicznym wiec wykorzystac to co mam i co daje sporo wieksze mozliwosci.
Kto wie, moze wymysle sobie zeby wiatrak odgrywal kuranty o 12:00? :)
q
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
Hej
Znalazlem w szufladzie takie cos - chyba programator atmega???
https://photos.app.goo.gl/Tm21ZAwENZ43ftQv8
https://photos.app.goo.gl/LU1s1htBcpoEXhcP9
Sorry ze troche nieostre, ale widac co trzeba...
Rozpoznajecie moze czy to jest programator ktorym zaprogramuje Atmege? Musze wgrac bootloader...
q
Znalazlem w szufladzie takie cos - chyba programator atmega???
https://photos.app.goo.gl/Tm21ZAwENZ43ftQv8
https://photos.app.goo.gl/LU1s1htBcpoEXhcP9
Sorry ze troche nieostre, ale widac co trzeba...
Rozpoznajecie moze czy to jest programator ktorym zaprogramuje Atmege? Musze wgrac bootloader...
q
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
OK, wiem - programator atmeg. Kupilem kilka lat temu i wrzucilem do szuflady :)
q
q
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
Caly wysoce skomplikowany kod wentylatorka wyglada tak:
Lubie Arduino :)
Jakub
Kod: Zaznacz cały
#include <Servo.h>
Servo myservo;
void setup() {
myservo.attach(12);
myservo.write(1100); // to chyba jest zbedne - poprzednia komenda inicjalizuje "servo"?
}
// petla testowa rozpedzajaca plynnie silnik
void loop() {
for (int a=1150; a<2000; a++)
{
myservo.write(a);
delay(5);
}
delay(1000);
}
Jakub
Re: Automatyczny start silnika BLDC...
Po pierwsze primo to write przyjmuje wartosci od 0 do 180, wiec petla nie rozpedzi Ci wentylatora plynnie, tylko od razu dostaniesz maks. Jesli juz, powinienes uzyc writeMicrosecondsJakub Jewuła pisze:Caly wysoce skomplikowany kod wentylatorka wyglada tak
Po drugie, nawet jesli uzujesz writeMicroseconds to po 5 sekundach znowu bedziesz rozpedzal wentylator od poczatku.
Musisz troche nad tym kodem jeszcze popracowac...
Re: Automatyczny start silnika BLDC...
Rozpędzenie zrobić w setupie, a loop zostawić pusty.
-
- Posty: 1867
- Rejestracja: poniedziałek 12 lip 2010, 11:51
- Lokalizacja: Kraków
Re: Automatyczny start silnika BLDC...
Po trzecie primo ;) kod działa poprawnie :)pawelsky pisze:...
Po pierwsze primo to write przyjmuje wartosci od 0 do 180, wiec petla nie rozpedzi Ci wentylatora plynnie, tylko od razu dostaniesz maks. Jesli juz, powinienes uzyc writeMicroseconds
Po drugie, nawet jesli uzujesz writeMicroseconds to po 5 sekundach znowu bedziesz rozpedzal wentylator od poczatku.
Spedzilem chwile szukajac powodu dla, ktorego silnik sie nie kreci gdy podaje wartosci 0-180.
Po prostu nie reagowal na nie, a ja szukalem innego bledu. Dopiero gdy podaje wartosc 1180
silnik (ESC) rusza. Przyjmuje wartosci do 2000 (dalej szczerze mowiac nie sprawdzalem).
Petla testowa rozpedza silnik plynnie od startu do max rpm.
ESC to RCtimer to kopterow. Zakres sygnalu PWM chyba kiedys ustawilem radiem stad to 1180...
sprobuje przeprogramowac Arduino - nie mam tu radia pod reka.
Sa rzeczy na tym swiecie o ktorych fizjologom sie nie snilo ;)
Jakub
Edytuj posty!
Przeprowadzilem sledztwo z ktorego wynika, ze:
- 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. Przynajmniej z tym ESC...
Nie mam oscyloskopu zeby sprawdzic co faktycznie jest generowane na pinie...
W kazdym razie dziala, aktualny kod wyglada tak:
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.write(0);
delay(1000);
}
sensorValue = analogRead(analogInPin);
outputValue = map(sensorValue, 0, 1023, 5, 180);
myservo.write(outputValue);
Serial.print("predkosc = ");
Serial.println(outputValue);
delay(100);
int a=2;
}
Ps. Nadal lubie Arduino :)
Jakub