Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Automatyczne sterowanie ESC -> silnikiem

savi32wro 24 Mar 2022 01:50 201 7
  • #1
    savi32wro
    Level 10  
    Witam,

    szukam maksymalnie prostego rozwiązania na stworzenie automatyki w sterowaniu silnikiem BLDC.

    Chcę zastąpić w obecnym zestawie czynnik ludzki:
    silnik BLDC -> ESC -> tester serw -> mózg i oko sprawdzające czas + ręka poruszająca potencjometrem
    czymś automatycznym co sprawi, że uzyskam następującą procedurę:
    silnik pracuje na 100% mocy przez czas T1, następnie silnik nie pracuje (0%) przez czas T2, następnie silnik pracuje na 100% mocy przez czas T3 - jak na rysunku

    Potrzebuję móc zadać 3 czasy T1..T3, które mogę zmieniać w miare potrzeb np. T1:5000ms 100% mocy; T2:1500ms 0% mocy; T3:3000ms 100% mocy.
    Narastanie i opadanie mocy X,Y jakoś ustawione na stałe na np 500ms 0-100% i 100-0% żeby silnik nie dostawał z miejsca kopa 100% tylko przyspieszał i zwalniał narastająco.

    Automatyczne sterowanie ESC -> silnikiem

    Czy da sie to zrealizować prosto (prostacko) np jakiś mikrokontroler i 3 wyskalowane potencjometry?
    Czy musi być Arduino, zasilacz, wyświetlacz, potencjometr, przyciski zatwierdzania, kilometr kodu?

    Edit: Pomyślałem żeby potencjometr 10k znajdujący się w testerze serw zastąpić potencjometrem elektronicznym lub cyfrowym 10k i dodać jakiś układ sterujący nim żeby ustawiał sie na 100% i 0% w określinych odcinkach czasu.

    Prosze o podpowiedź jak można takie sterowanie zbudować, jakies klucze, hasła czego szukać żebym mógł to znaleźć i spróbowac zrobić taki układ.

    Ze względu na zastosowanie zależy mi aby układ był maksymalnie prosty, najlepiej na zwykłych elementach elektronicznych, które nie mogą się zawiesić czy wyskoczyć jakiś błąd (jak np. zasilacz, arduino i kod) żeby jego obsługa była totalnie łopatologiczna (najlepsze byłyby 3 potencjometry + 3 zwykłe wyświetlacze numerycznyne pokazujące wartości).
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • #2
    kamyczek
    Level 38  
    Kolego regulator działa tak ,że dla 1ms masz 0% dla 1,5ms masz ok 50% a dla 2ms masz 100% . Zobacz jak wygląda sygnał serwo PWM będziesz miał jasność działania impuls ttl 1-2ms potem pauza 20ms i powtórka . W czym masz problem żeby użyć takich długości impulsów do sterowania regulatorem ?
  • #3
    1 PAWEL
    Level 42  
    savi32wro wrote:
    Czy da sie to zrealizować prosto (prostacko)


    Droższe regulatory ESC są programowalne pozwalają na modyfikację ostawień.

    Automatyczne sterowanie ESC -> silnikiem
  • #4
    savi32wro
    Level 10  
    kamyczek wrote:
    Kolego regulator działa tak ,że dla 1ms masz 0% dla 1,5ms masz ok 50% a dla 2ms masz 100% . Zobacz jak wygląda sygnał serwo PWM będziesz miał jasność działania impuls ttl 1-2ms potem pauza 20ms i powtórka . W czym masz problem żeby użyć takich długości impulsów do sterowania regulatorem ?


    Przeglądając tu różne wątki odnośnie sterowania ESC natrafiłem na wpisy, że ESC modelarskie nie ma prostego PWM na sterowaniu, że niby to jest cos innego (ale nie było napisane co, jaki to sygnał) EDIT: przypomniałem sobie, tam chyba jest wysyłany jakis sygnał jako sekwencja startowa dla ESC modelarskiego (mogę pisac głupoty, pisze co przeczytałem w innym miejscu)

    Generalnie chodzi mi o urządzenie, które będzie programowalnie zarządzać w czasie wysyłaniem, lub nie, tych impulsów do ESC (poprawiłem opis bo chyba był nieczytelny o co mi chodzi)

    Dodano po 2 [minuty]:

    "Droższe regulatory ESC są programowalne pozwalają na modyfikację ostawień."

    tak, wiem, mój regulator też ma takie ustawienia ale mi chodzi o cos typu: pracuj 5 sek, nie pracuj 2 sek, pracuj 3 sek - tego nie ma w ESC
  • #5
    kamyczek
    Level 38  
    Kolego masz wszystko na tacy , czego potrzebujesz ? To co robi tester z potencjometrem może ci zrobić mikrokontroler , arduino , czy inny moduł . Napisanie kawałka programu ,to też nie jest nic jakoś bardzo skomplikowanego . To nie są czasy asemblera , do dyspozycji masz kilka języków , wiele środowisk i całą masę wiedzy w sieci . Jeśli wykorzystujesz coś gotowego jak regulator modelarski , to musisz się do niego dopasować , więc nie wybrzydzaj wymyśl co chcesz i zrealizuj projekt i się przy okazji czegoś nauczysz . Forum traktuj jako miejsce do zdobycia wiedzy , otrzymania wskazówek , skonsultowania pomysłów . Z pewnością nie traktuj go jako miejsca gdzie ludzie czekają by cię wyręczyć z pracy bo ty chcesz i masz pomysł a ktoś ma go za ciebie zrealizować bo to było by naciąganie a nie rozwijanie umiejętności .
  • #6
    savi32wro
    Level 10  
    kamyczek wrote:
    Kolego masz wszystko na tacy , czego potrzebujesz ? To co robi tester z potencjometrem może ci zrobić mikrokontroler , arduino , czy inny moduł . Napisanie kawałka programu ,to też nie jest nic jakoś bardzo skomplikowanego . To nie są czasy asemblera , do dyspozycji masz kilka języków , wiele środowisk i całą masę wiedzy w sieci . Jeśli wykorzystujesz coś gotowego jak regulator modelarski , to musisz się do niego dopasować , więc nie wybrzydzaj wymyśl co chcesz i zrealizuj projekt i się przy okazji czegoś nauczysz . Forum traktuj jako miejsce do zdobycia wiedzy , otrzymania wskazówek , skonsultowania pomysłów . Z pewnością nie traktuj go jako miejsca gdzie ludzie czekają by cię wyręczyć z pracy bo ty chcesz i masz pomysł a ktoś ma go za ciebie zrealizować bo to było by naciąganie a nie rozwijanie umiejętności .


    Kolego, napisałem przecież "Prosze o podpowiedź jak można takie sterowanie zbudować, jakies klucze, hasła czego szukać żebym mógł to znaleźć i spróbowac zrobić taki układ. "

    W tej chwili nie wiem od czego zacząć, jak ktoś podpowie mi np. weż taki a taki moduł, poczytaj, zaprogramuj, testuj - to tak zrobię, nie oczekuję gotowca. Nie chcę Arduino, może mikrokontroler albo najlepiej moduł, który może posłużyć do zaprogramowania czasów.

    Chciałbym, jeśli to możliwe, zostawić kompetencje tworzenia sygnału PWM testerowi serw a samemu zrealizowac tylko jego załaczanie czasowe
  • #7
    kamyczek
    Level 38  
    Najprościej arduino , dowolne gotowy moduł arduino mini , nano , uno jakie chcesz , oryginał czy kopia obojętne cena z 50pln , u chińczyka za kilka $ . Do tego środowisko z sieci za darmo . Samouczków w sieci do bólu .
    Koniec . Telepatycznie się nie da , bynajmniej obecnie ...
  • #8
    stachu_l
    Level 33  
    savi32wro wrote:
    Chciałbym, jeśli to możliwe, zostawić kompetencje tworzenia sygnału PWM testerowi serw a samemu zrealizowac tylko jego załaczanie czasowe
    Jak sobie to wyobrażasz? Ten tajemniczy moduł będzie miał rączkę która pokręci potencjometrem tego testera serw? Czy wydłubiesz potencjometr i wstawisz odpowiednie rezystory oraz jakiś przekaźnik czy przełącznik elektroniczny który zmieni parametry sygnału generowanego przez tester serw?
    savi32wro wrote:
    Nie chcę Arduino, może mikrokontroler albo najlepiej moduł,
    A Arduino to nie jest mikro-kontroler tylko z dodatkiem kilku elementów które i tam musisz dodać do mikro-kontrolera aby działał?
    Tak jak w #2 napisał @kamyczek ESC podobnie jak serwa modelarskie sterowane są powtarzanym impulsem 1ms do 2ms. Czas powtarzania nie jest krytyczny 20ms jest dobrym czasem. Jak będzie za długi to ESC może uznać to za zanik sygnału z nadajnika i przejdzie do ustawienia domyślnego (utrzyma aktualna prędkość, zatrzyma silnik - zależy od ESC).
    Jak masz ESC "lotnicze" jednokierunkowe to impuls 1ms oznacza stop a 2ms 100% prędkości.
    Jak masz "samochodowe" czy "szkutnicze" - dwukierunkowe to 1ms jest "cała wstecz", 1,5ms to "stop" a 2ms to "cała naprzód"
    Twój program na wyjściu podłączonym do ESC musi generować cyklicznie *np co owe 20ms) impulsy o odpowiedniej długości: przez 5s generujesz impulsy 2ms potem przez 2s generujesz impulsy 1ms i znowu przez 3s impulsy 2ms.
    Zakładam, że ESC jednokierunkowe.
    Arduino ma bibliotekę do obsługi serwomechanizmów która wygeneruje takie impulsu. Kolega miał na makiecie kolejowej szlabany na serwomechanizmach - zobacz jego kod:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=19835911#19835911