![]() |
Arduino - servo motor - Printable Version +- DIY Electronic projects (https://forum.yu3ma.net) +-- Forum: Mikrokontroleri (https://forum.yu3ma.net/forumdisplay.php?fid=52) +--- Forum: Razvojni sistemi i moduli (https://forum.yu3ma.net/forumdisplay.php?fid=56) +--- Thread: Arduino - servo motor (/showthread.php?tid=1374) |
RE: Arduino - servo motor - uki122 - 10-06-2016 Jel skodi ako ostane slobodan? Ovako mi odgovara ,ukocen je motor dok ne pritisnem taster. Struju sam nastelovao a motor je mlak ,celo vece radi tako... RE: Arduino - servo motor - gorankg - 10-06-2016 Treba da ga povežeš. RE: Arduino - servo motor - uki122 - 10-06-2016 (10-06-2016, 11:30 PM)gorankg Wrote: Treba da ga povežeš. OK povezacu sutra. ovaj zadnji kod ne reaguje . dodao sam zatvorenu zagradu i ; . while (i++); vrti dok drzim i nekako secka . RE: Arduino - servo motor - me[R]a - 10-07-2016 (10-06-2016, 11:38 PM)uki122 Wrote: ovaj zadnji kod ne reaguje . Code: void loop() RE: Arduino - servo motor - uki122 - 10-07-2016 @ YuMERA Izbacio sam kao sto si rekao ,sad radi bez problema. ![]() RE: Arduino - servo motor - gorankg - 10-07-2016 Uočio si, verovatno, razliku. Kod je pregledniji a funkciju Vrti() možeš pozivati kad ti zatreba. Treba još da realizuješ debounce za taj taster koji koristiš. RE: Arduino - servo motor - uki122 - 10-07-2016 Taj debounce je da ne radi kad ne treba? Primetio sam kad palim gasim svetlo u sobi da se pali motor. RE: Arduino - servo motor - gorankg - 10-08-2016 Debounce je postupak kojim se otklanjaju lažna očitavanja stanja ulaza nastala usled treperenja prilikom preklapanja kontakata kod mehaničkih komponenti (tastera, prekidača, relea...). To bi značilo da ti na ulazu u MCU nemaš validnu informaciju što za posledicu može imati svašta. Evo ti link za info: https://www.arduino.cc/en/Tutorial/Debounce RE: Arduino - servo motor - uki122 - 10-08-2016 Ok procitacu to dobro. Planiram da uzmem 8 komada step motora. 23LM-C355-P2H MINEBEA 2 Ampera 2,4 V po fazi 1,8 stepeni/korak Ovi podaci su ispisani na nalepnici. Nisam mogao da nadjem konkretno specifikaciju za te motore. Koliko vidim na slikama imaju 4 zice. Detaljnije informacije cu dobiti sutra. Cena je mnogo povoljna. Sta vi mislite ? RE: Arduino - servo motor - uki122 - 10-17-2016 Nasao sam kod za servo motor , ubacio na arduino radi kako treba. Ali kod je pravljen tako da arduino prima signal od nekog glavnog kontrolera (step dir). Planiram da kupim jos jedan arduino nano ,da bi mogo da upravlja ovaj prvi . RE: Arduino - servo motor - gorankg - 10-17-2016 Može i ovaj kod da se prepravi pa da ne dodaješ još jedan arduino. Pitanje je samo kako želiš da upravljaš. Nisam detaljno pogledao kod ali mi se čini da možeš da ga upravljaš i sa serijskog porta računara. Vidi šta kaže: "Serial input can be used to feed a new location for the servo" RE: Arduino - servo motor - uki122 - 10-18-2016 Necu da komplikujem ,a i ne znam kako to sam da uradim . Mislim da se ne isplati trositi vreme za 370 dinara koliko kosta arduino nano. Cela masina treba da ima jedan dc servo motor , jedan step motor ,2 elektro magneta i jedan rc servo. I treba da odradi postupak uvek kad pritisnem taster. Do sada sam sve isprobao pojedinacno i zajedeno sem servo motora za koji treba jos jedan arduino. Ali ovaj kod za DC servo sigurno radi ,vraca zadatu poziciju kada okrenem rukom osovinu . Kupio sam pre par dana ovaj steper motor . RE: Arduino - servo motor - uki122 - 10-21-2016 Drugari imam problem , ne znam kako da nastelujem PID za servo motor. Motor radi okrece koliko mu stepa zadam ali kad stane ima ima luft oko 5 stepeni Koliko sam razumeo treba da se nasteluju: eeput(kp,0); eeput(ki,4); eeput(kd,8); Smanjivao sam vrednosti do 1 i cini mi se da ima manje luft . Ali opet ima , i na 10 ponavljanja imam odstupanja... Code: /* This one is not using any PinChangeInterrupt library */ RE: Arduino - servo motor - Želja - 10-21-2016 (10-21-2016, 04:45 PM)uki122 Wrote: Drugari imam problem , ne znam kako da nastelujem PID za servo motor. He He ... samo sam čekao kad ćeš postaviti ovo pitanje ... *** E vidiš, to je jedan od razloga zašto početnici beže od serva. Odgovor nije NIMALO jednostavan, i trebala bi posebna tema o tome ... ::::: Treba prvo da savladaš osnove PID regulacije - Da tačno znaš čemu služe i šta se menja sa promenom P, I, D parametra Pa onda tek na neku metodu za podešavanje. Jedna od najpozantijih i najviše upotrebljavanih je : Ziegler - Nichols metoda. https://www.automatika.rs/baza-znanja/teorija-upravljanja/podesavanje-pid-regulatora-ziegler-nicholsa-metodom.html http://www.riteh.uniri.hr/zav_katd_sluz/zae/ort/materijali/laboratorijske/ORT_LV9.pdf https://www.fer.hr/_download/repository/MS_predavanja_3.pdf http://www.elitesecurity.org/t481393-1 I milion drugih linkova ... ================= Moraš DEBELO ZAGREJATI STOLICU, da bi ovo savladao ... P.S. Sve što ću ti reći oko ovoga, je da za početak ostaviš samo P dejstvo (proporcionalno) Integralno i Diferencijalno dejstvo isključi ( upiši nulu ) I tako si umesto PID dobio samo P regulator (proporcionalni) Takoi se igraj, pa ćeš nešto - videti - uočiti itd ... Za ostatak priče, - ne gine ti mnooogooo učenja .. Pozz RE: Arduino - servo motor - uki122 - 10-22-2016 Proucicu to dobro imam dosta vremena. Za pocetak sam podesio P parametar i to radi kako treba , smanjio se luft. Da li je mnogo komplikovano da se code prepravi za PIC mikrokontrolere? RE: Arduino - servo motor - Želja - 10-23-2016 Uki, dobio si KECA ko vrata !!! Čuj njega : LUFT kod PID regulacije ... Luft postoji ili ne postoji kada probavaš nove cipele, itd ... *************** Kod PID regulacije postoji samo greška regulacije koja predstavlja razliku izmedju SP(set point) i PV(process variable). Koliko pojačaš pomenutu grešku, toliki izlaz u rasponu od 0 do 100% imaš na izlazu regulatora. To "koliko ćeš je pojačati" zavisi od tebe i to je P dejstvo ( proporcionalno ) Dalje, pošto P sam po sebi ne može napraviti na kraju grešku u regulaciji bez ikakvog ostatka, (jer ni u teoriji ne bi funkcionisao bez te preostale greške) nastupa I (integralno dejstvo) koje u zadatom vremenu ima funkciju da iskoriguje grešku preostalu od dejstva P regulatora. I će dejstvovati (brže ili sporije) sve dok konačno greška u poziciji DC serva ne bude tačno nula. D dejstvo (diferencijalno) kod DC serva služi za "kočenje", jer ako se P namesti tako da samo po sebi nema premašaja, odnosno da D dejstvo nema funkciju ili je isključeno, onda će brzina odziva biti spora. Zato je pojačanje nešo veće a onda D dejstvo "napravi aktivno kočenje" DC motora. Inače D dejstvo služi za korekciju naglih promena u sistemu, jer bez njega bi odziv na naglu promenu bio spor. Tada D naglo "cimne" na koju stranu treba a zatim POLAKO vrati početnu vrednost. (kao kad voziš auto pa uočiš rupu, - naglo cimneš da je izbegneš a onda polako vraćaš volan ...) **** Sve je ovo prelepo objašnjeno u tekstovima ( ima ih mnogo i na Srpskom) o Ziegler - Nichols metodi podešavanja PID petlje ... I još jednu stvar na kraju, a što je veoma bitno ! NIKO ne može podesiti PID parametre ako nije prisutan direktno na sistemu regulacije. PID se podešava tek kada je motor zakačen na svu potrebnu mehaniku, jer će bilo kakva promena u sistemu razdesiti optimalno podešenu regulaciju. Znači posle podešavanja PID-a nema više promena na celom sistemu, počevši od napajanja drajvera pa do mehanike(promena težine neke komponente itd..) Ako se bilo šta menja- sledi OBAVEZNO ponovno podešavanje PID parametara ! **** Svega sam se nagledao i naslušao do sada... Na oglasima "LIK" prodaje u kompletu DC Servo motor i drajver sa "unapred podešenim PID parametrima" (kako on kaže: Servo je unapred "programiran", da kupac više nema nikakvih problema i samo ugradi na mašinu ...) Pozz RE: Arduino - servo motor - mikikg - 10-23-2016 Jedan zanimljiv pokazni primer PID regulacije i kako se prakticno ponasa P, I i D parametar. https://www.youtube.com/watch?v=jx_GNDAaDyg RE: Arduino - servo motor - Želja - 10-23-2016 Tako je Miki, Na snimku od 1:13 pa do 1:30 se lepo vidi kako treba biti podešen P parametar (ako se kasnije koristi D dejstvo) - odnosno, vide se PRIGUŠENE oscilacije pri pravilno podešenim P parametrom po ZN metodi ... Pozz RE: Arduino - servo motor - mikikg - 10-23-2016 PID algoritam je malkice slozen u teoriji i u analognoj izradi, u digitaliji se dosta lakse barata tim parametrima. U sustini se podesavaju PID parametri da se dobije sto bolji pravougaoni odziv na step pobudni signal, bez oscilacija i overshot-a. Po ZN metodi se mogu dobiti neke pocetne vrednosti ali prakticno i njih treba fino ustelovati. Zgodno je kada se jednom savlada PID regulacioni algoritam to se moze koristiti za bilo koju namenu, odrzavanja napona, struje, brzine, temperature i td. RE: Arduino - servo motor - gorankg - 10-23-2016 Uki, Obrati pažnju na to da vrednosti PID parametara ne moraju biti celobrojne (double je tip ove tri promenljive). I nadam se da si za testiranje povezao taj tvoj arduino servo kontroler na PC jer ti je to brža i lakša varijanta. |