Stabilizator obrotów silnika spalinowego - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Stabilizator obrotów silnika spalinowego (/watek-stabilizator-obrot%C3%B3w-silnika-spalinowego) |
RE: Stabilizator obrotów silnika spalinowego - Smaczek - 05-07-2017 Witam, Jeszcze co by serwo nie wykonywało gwałtownych ruchów: Kod PHP: #include <Servo.h> //Biblioteka odpowiedzialna za serwa Pozdrawiam, Tomek. RE: Stabilizator obrotów silnika spalinowego - andrus - 05-07-2017 Psiakrew. Utknąłem z próbami - wściekłe deszcze dostały się do elektryki i zalały... immobilizer. Tak, moja kosiarka posiada immobilizer, usunięcie go było zbyt skomplikowane. Mam nadzieję, że suszarka do warzyw Żony poradzi sobie z problemem, bo szukanie w internecie "jak usunąć/ominąć immobilizer" mija się z celem. Tajne przez poufne, zjeść przed przeczytaniem. ... zupełnie jakby ktoś chciał kraść skodę felicję RE: Stabilizator obrotów silnika spalinowego - andrus - 06-07-2017 Witam po przymusowej przerwie. Cudowne ozdrowienie - nie dość, że imo potraktowane jak warzywo wyzdrowiało i silnik znów pali "od pierwszego kopa", to i ten ostatni kod przekonał wreszcie serwo. Przestało wyrażać orczykiem swoją dezaprobatę Powalczyć muszę trochę z czasem reakcji (zrobiło się zbyt ślamazarne przy reakcji na zmianę obrotów). Sama zmiana delay-a, nawet na 10, niewiele pomogła. Spróbuje pokombinować z "pozycja++/--". jak już się z tym uporam (pełen optymizmu zakładam, że dam radę - następnym krokiem będzie dołożenie "prztyczka", celem zmiany "trybu pracy" naszego regulatora. Robiąc puszkę na Arduino i wyprowadzając na zewnątrz listwę ze śrubkami, przewidziałem możliwość dołożenia dwóch "prztyczków" do ingerencji w program - wejścia na pin 7 i 9. Wymyśliłem to sobie tak, żeby np. załączony prztyczek zawieszał sterowanie serwem, ustawiając go przy okazji w pozycji luzującej linkę gazu. Będzie to konieczne zarówno przy uruchamianiu silnika, dając mu czas na jego własne pomysły z automatycznym ssaniem, jak i np. przy krótkich przerwach w pracy, kiedy nie warto gasić a bez sensu żeby ryczał 2500 obrotów skoro akurat nic nie robi. Ale wszystko po kolei, najpierw trochę "żywsze" serwo, potem dalej. Popróbuję, pochwalę się sukcesami (albo będę skiełczał dalej RE: Stabilizator obrotów silnika spalinowego - Smaczek - 06-07-2017 Witam, Delay jest w kodzie zbędne. Poza tym można zastosować implementację / dekrementacje nie o jeden lecz o więcej. Pozdrawiam. RE: Stabilizator obrotów silnika spalinowego - andrus - 10-07-2017 Witam - trochę przerwy ale nie, prace nie ustały Chwilowo "programista" ponownie przeistoczył się w ślusarza/ spawacza/ etc. Rozpoczął się montaż, już taki docelowy (nie na "trytki"): -skrócenie linki gazu, -dorobienie dla niej krańcowego uchwytu, -wykonanie i umocowanie solidnej, metalowej obudowy dla serwa (1000++ sposobów zastosowania zamkniętych profili), -wzmocnienie orczyka (może i to serwo ma 13kg na cm ale ten plastikowy orczyk ni jak mnie nie przekonuje), -trochę mi zajęło wykombinować, żeby serwo ciągnęło linkę prosto (będzie na zdjęciach). Potem szybka przeróbka programu, żeby sczytać już tak konkretnie - ile/kiedy/czego potrzeba. Odrazu pierwsza miła niespodzianka - jak wszystko na miejscu i solidnie umocowane, jak za linkę gazu płynnie i równo ciągnie serwo (a nie moja trzęsąca się ręka) - to i odczyty równiutkie. Oczywiście z zastosowaniem Twojego uśrednienia: Kod: #include <Servo.h> Jak widać silnik reaguje bardzo żwawo na najmniejsze (co stopień) drgnięcie serwa. Może nawet trochę zbyt żwawo - może będę musiał zmniejszyć średnicę bębenka/orczyka, na który nawija się linka. A może nie - pamiętać należy, że pracuje bez obciążenia. Później, gdy przyjdzie mu kręcić blisko 80-cio kilowym wałem z bijakami, jak dojdzie opór koszonej trawy - z tej wyrywności może pozostać niewiele. Dziś już za ciemno a i wszyscy mamy dość - ale na jutro już naszykowane to: Kod: #include <Servo.h> i będzie próba generalna. Jeśli nie ma "byków" to zostanie kosmetyka - montaż "prztyczka" w przednim panelu, jakaś estetyczna diodka jako kontrolka, mocowanie wiązki przewodów itp. Potem...próba pod obciążeniem! ps. to ta nie informatyczna część prac: [attachment=351] A w zaistnieniu takiej oto maszynerii Twoja wiedza i dobra wola pomaga: [attachment=352] RE: Stabilizator obrotów silnika spalinowego - Smaczek - 10-07-2017 Witam, Co na "dzień dobry" zauważyłem to... Zamiast: if((pozycja < obl_pozycja)&&(obl_pozycja < 13)) pozycja++; if((pozycja > obl_pozycja)&&(obl_pozycja > 15)) pozycja--; powinno być: if((pozycja < obl_pozycja) || (obl_pozycja < 13)) pozycja++; if((pozycja > obl_pozycja) || (obl_pozycja > 15)) pozycja--; Pozdrawiam, Tomek. RE: Stabilizator obrotów silnika spalinowego - andrus - 10-07-2017 Witam Jest super Brnąc coraz głębiej, szukając zastosowania coraz to bardziej zagmatwanych poleceń i wciąż nie osiągając zadowalającego efektu – podeszliśmy do problemu „z innej beczki”. Wychodząc z założenia, że im konstrukcja prostsza tym bardziej niezawodna – zacząłem to rozkminiać od podstaw, i tak: -uśredniony odczyt z halla jest super (nie ruszać!) -odczyt z halla jest ściśle związany z obrotami silnika więc przy tych moich wymarzonych 2500rpm wynosi po prostu ~3700, -do utrzymania właśnie tej wartości ma dążyć program, ganiając z serwem w lewo lub prawo dotąd, aż ją osiągnie, -czyli na dobrą sprawę mapowanie stało się zbędne bo wystarczy, że serwo poczynając od 0 dopyka po stopniu do optymalnych obrotów silnika (czyli również wartości odczytanej z halla) a potem, pykając stopień w przód lub w tył – po prostu ją utrzyma. W ten sposób, zarówno utrzyma obroty bez obciążenia jak i wraz z jego wzrostem, będzie dalej uchylać przepustnicę starając się sprostać oczekiwaniom. I odwrotnie, jak opory spadną i silnik będzie chciał się rozbujać – zacznie ją przymykać. Wyszło mi, że kod spełniający taką funkcję musi wyglądać mniej/więcej tak: Kod: #include <Servo.h> Ten ostatni warunek ma z założenia przyspieszać reakcję silnika na nagle zwiększony opór. Nie jestem pewien czy jest z sensem ale jak nie patrzeć program działa – i to całkiem fajnie, równo i wystarczająco „żywo”. Okazało się, jak to zwykle kiedy już wymyślone że to całkiem proste było – niemniej jednak, faktem jest, że bez Twojej pomocy, zwłaszcza w części związanej z „ugłaskaniem” tego cholernego halla (pullup, rezystor, i while) pewnie nigdy bym sobie nie poradził. Tak więc WIELKIE DZIĘKI – a jak dokończę „kosmetykę” to wstawię zdjęcia i filmik z działania. Pozdrawiam, Andrzej RE: Stabilizator obrotów silnika spalinowego - przemia - 10-03-2018 Odgrzeję temat bo mam podobny problem. Usiłowałem wykorzystać to rozwiązanie do swojego urządzenia ogrodniczego, ale wyszukałem w sieci że z komputera seicento 900 z jakiego mam silnik na jednym pinie jest wyjście do obrotomierza. Wpiąłem się tam z opornikiem 470ohm do transoptora PC817 i na wyjściu GND i PIN2 ale nie zadziałało. Potem próbowałem podpiąć do wyjścia transoptora 3,3V i PIN2 ale też nie działa. W każdym przypadku serwo idzie do oporu i słychać że buczy. Jak myślicie iść dalej w tę stronę czy jak kolega wpiąć się z opornikiem w wyjście z czujnika halla? pozdrawiam Przemek RE: Stabilizator obrotów silnika spalinowego - Hcct - 24-01-2019 Próbuje wykorzystać ten program do sterowania obrotami silnika 1.7 Isuzu, silnik ten napędza sprężarkę powietrza. Na razie robię próby na stole, do pomiarów obrotów użyłem czujnika halla wałka rozrządu z VW polo 1.4 MPI. Obroty silnika jakie potrzebuje utrzymywać na wale silnika to około 2400obr. Obecnie serwo reaguje od 1500obr. w górę, stopniowo dodając "gazu" aż dojdzie w skrajne położenie i na tym koniec. W programie zmieniam średnie wartości z czujnika i nic to nie daje. Czujnik gdy nie wykrywa punktu magnetycznego daje napiecie 4.63v, gdy wykrywa punkt napięcie spada do 0.09v. Brak mi pomysłu w czym jest problem... |