![]() |
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 - mikikg - 03-18-2017 ... neki osnovni deo, ima to da kuva dok se ne optimizuje i nadje resenje kako treba, ali verujem da je ta prica manje vise razradjena, TI ima digitalne DC/DC kontrolere koji rade sa 2-3 PID-a i ima SW na PC koji uradi autotuning, mozda i to razmotriti malo ? RE: Arduino - servo motor - vojinilic - 03-18-2017 Autotuning se zasniva na Ziegler-Nichols ekprerimentu, tj. eksperiment u otvorenoj sprezi ili ekseriment u zatvorenoj sprezi. Kada se eksperiment radi u otvorenoj sprezi, onda se objektu upravljanja posalje odskocna funkcija jednaka zeljenoj vrednosti upravljanja (parametri za okolinu setpoint-a) i meri se odziv. Na osnovu odziva se odredjuju parametri. Eksperiment u zatvorenoj sprezi se zasniva na forsiranju oscilacija oko setpoint-a i na osnovu odziva sistema na oscilacije se odredjuju parametri. Treba jos i napomenuti da Ziegler-Nichols je samo polazna metoda za odredjivanje parametara PID-a. Na te parametre se primenjuju razni optimizacioni algoritmi koji bi smanjili preskok i oscilacije, a povecali vreme odziva. Postoji jos dosta drugih metoda za podesavanje parametara PID-a. Kada primeniti koji od eksperimenata je takodje dobro pitanje. To sve zavisi od posmatranog sistema, tj. da li se sistem sme izvesti i ravnoteze ili ne. Npr. neki mehanicki sistemi ne smeju da osciluju, tako da je tu neophodno odraditi odskocnu funkciju itd. Inace svaki od proizvodjaca regulatora ima svoje metode (cuvaju ih kao tajnu) za podesavanje parametara. Pre autotuninga, takodje treba obratiti paznju oko same implementacije PID-a. Postoje dve implementacije PID-a i to brzinska i poziciona implementacija. Fakticki su obe iste. Glavna razlika u nagomilavanju greske u integralnom dejstvu. Jedna implementacija salje objektu upravljanje, a druga razliku upravljanja. Uvek je mnogo bolje koristiti brzinsku implementaciju, tj. slati na izlaz primenu upravljanja. Ovo je algoritam koji se koristi kod upravljanja motorima. P.S. Kada kazem brzinski i pozicioni, to ne znaci upravljanje brzinom i upravljanje pozicijom, vec to nazivi algoritama PID-a. RE: Arduino - servo motor - mikikg - 03-19-2017 U Mathlab imaju sve komponente koje trebaju da se razvije model algoritma, takodje mi se svidja sto ima generisanje C code-a i jos sto je bitnije ima simulaciju sa konkretnim C code-om koji se generise zbog validacije modela! Inace je ovaj primer spakovan u 30-ak linija fixed-point C jezika, od toga 10ak linija cela implementacija PID-a ... to radi z*** dobro ![]() https://www.mathworks.com/videos/pid-control-made-easy-81646.html Ovde se vidi princip, imaju diskretizovane parametre za razlicite modove rada (0-100%) pa se to uvlaci u PID koji da je komadni signal, meni lici na feed-forward PID, a vrednosti koeficijenata su dobili snimanjem odziva sistema za razlicite tacke. Samo sto nemam Mathlab, posebno te neke module koje spominje u video, jel ima neka "studenstka" verzija? ![]() RE: Arduino - servo motor - npejcic - 03-19-2017 Sveže stiglo, a na ovu temu... (nisam koristio): https://www.microchip.com/pressreleasepage/microchip-debuts-motorBench-motor-control-software www.microchip.com/motorBench The motorBench™ Development Suite is an advanced GUI-based software development tool for motor control capable of performing accurate measurement of critical motor parameters (self-commissioning) and automatic tuning of feedback control gains (autotuning) for dsPIC33EP Digital Signal Controllers The user interface takes you step-by-step through the project, with context-sensitive help files at your fingertips inside the tool.
RE: Arduino - servo motor - mikikg - 03-19-2017 Pa da, stvar je mnogo prosta, Autotuning je postala must-have opcija koju proizvodjaci takvih stvari moraju da ponude i to je dobro sto ce se obarati cena takvih proizvoda ... ko to da steluje vise rucno ![]() Ovo sto razmisljam sa Xinje drajvere i dalje ostaje kao jedna vrlo zanimljiva opcija jer je moguce masine koje su vec napravljenje da se dodatno "presteluju" na optimalne uslove rada! RE: Arduino - servo motor - vojinilic - 03-19-2017 (03-19-2017, 12:13 PM)mikikg Wrote: U Mathlab imaju sve komponente koje trebaju da se razvije model algoritma, takodje mi se svidja sto ima generisanje C code-a i jos sto je bitnije ima simulaciju sa konkretnim C code-om koji se generise zbog validacije modela! Inace je ovaj primer spakovan u 30-ak linija fixed-point C jezika, od toga 10ak linija cela implementacija PID-a ... to radi z*** dobro Miki, nazalost i studentska verzija MATLAB-a se placa. Inace u MATLAB-u ne mozes da vidis na koji nacin je implementiran PID. Ona slicica koju si postavio je samo primena metode rasporeda pojacanja za razlicite setpoint-e. To se koristi kod nelinearnih sistema. Radi se na taj nacin sto se izvrsi linearizacija sistema deo po deo i za svaki od tih delova se podese parametri. Kada se prepozna zona rada regulatora, onda se uzimaju iz tabele parametri za datu zonu. Taj princip se zove gain scheduling. RE: Arduino - servo motor - Makso - 04-15-2017 Da se vratim na ono što sam prethodno započeo, stigao mi je drajver TB6600 još prošle sedmice, testirao sam sa nekim osnovnim kodom da vidim da li sam dobro povezao i to sve radi odlično. Počeo bih pisati kod za ovo što mi treba, eh sad, potrebne su mi neke smjernice, da li koristiti neku određenu biblioteku ili praviti po svome? RE: Arduino - servo motor - gimba - 04-16-2017 (04-15-2017, 11:21 PM)Makso Wrote: Da se vratim na ono što sam prethodno započeo, stigao mi je drajver TB6600 još prošle sedmice, testirao sam sa nekim osnovnim kodom da vidim da li sam dobro povezao i to sve radi odlično. Ja bih koristio neku biblioteku zbog Acceleration-a. Da se bar s tim ne zezas, mada mozes da napises i svoj kod. Imas sve skupa 3 signala, od kojih ti je najbitniji puls. Bitno je da pogodis frekvenciju pulsa i bitno je da u startu frekvecnija raste,bas zbog Acceleration-a. Ako imas osciloskop vidi signal koj salje arduino preko te biblioteke koju imas. Ne valja odmah da mu puknes pun gas. ![]() Jel si uzeo induktivni senzor? Trebace ti par optokaplera za sve te signale (pulse, direction, enable, induktivni senzor), trebace ti Schmitt Trigger kolo za induktivni senzor.... i ostalo sve pasiva. RE: Arduino - servo motor - Makso - 04-16-2017 Koristiću onda ovu AccelStepper.h biblioteku, mislim da je jednostavna.? Da li su potrebni optokapleri za signale koje idu sa Arduina na drajver, zar to već nije izolovano u samom drajveru? Senzor nisam kupovao još, da bar kod završim u testu bih mogao testirati i sa običnim tasterom, mislim imam nekih senzora u kod sebe, trebao bih pogledati kakvih, da li poslije da tražim neki određeni ili klasika sa NO kontaktom? RE: Arduino - servo motor - gimba - 04-16-2017 Nisam siguran da je drajver galvanski izolovan. Ako imas shemu drajvera daj da vidimo. Moze ta biblioteka, samo da se ispise resto koda. A sta ce da ti navodi tocilo na glodalo? Imas jos jedan dc motor? RE: Arduino - servo motor - Makso - 04-16-2017 Trebala bi biti ova dukumentacija ![]() A glodalo ima svoj mehanizam, nisam puno gledao kako je odrađeno uglavnom ona sama ide od kraja do kraja, samo je se morao ugao ručno zakretati. RE: Arduino - servo motor - gimba - 04-16-2017 (04-16-2017, 11:39 AM)Makso Wrote: Trebala bi biti ova dukumentacija .Ovo je samo Ic, ti vrv imas neku plocicu. Kao neki evaluation board. Trebala bi shema te plocice. Ovo bi moralo da se izoluje. Tj.ne mora ali ako nesto probije ode i cela kontrola. Sto se tice masine, ako sama ide od kraja do kraja onda moze da se uzme neki signal sa nje, mozda ne mora induktivni senzor. RE: Arduino - servo motor - Makso - 04-16-2017 To je ova pločica, vjerovatno negdje postoji i šema, mada nije nikakav problem dodati eksterne optokaplere. Sad ne znam princip rada te mašine i šta joj mjenja smijer, lako je prepraviti ako u njoj ima neki signal za Arduino umjesto induktivnog senzora. RE: Arduino - servo motor - gimba - 04-16-2017 (04-16-2017, 01:01 PM)Makso Wrote: To je ova pločica, vjerovatno negdje postoji i šema, mada nije nikakav problem dodati eksterne optokaplere.Mislim da je izolovana. Ovaj El817 je fototranzistor. Pogledacu malo kasnije i pokusacu da nadjem shemu. Masina vrv ima motor koj je vozi napred nazad. Sad tu treba videti sta kako radi i ako ima neki mikroprekidac ili senzor da se uzme signal odatle. RE: Arduino - servo motor - Makso - 04-16-2017 Pcb raspored je drugačiji, ali mislim da je šema ista.? http://www.electronics-lab.com/project/4-5amps-bipolar-stepper-motor-driver-based-on-tb6600/ RE: Arduino - servo motor - uki122 - 05-10-2017 Drugari ja sam odavno odustao od servo motora... Nabavio sam step motor i prenos ... Na ovu osovinu ide ruka koja ce biti teska i ako motor pravi nagle trzaje pri pokretanju i stajanju ima da kida kais. Pa mi treba kod ... 25 obrtaja , prvih par obrtaja da ubrzava i zadnjih par obrtaja da usporava . RE: Arduino - servo motor - Makso - 05-10-2017 Imaš već nekih gotovih osnovnih kodova u bibliotekama, kao što je AccelStepper biblioteka, pa onda otvoriš neki kod iz example-a, imaš fino definisano maksimalna brzina, akceleracija i ostalo, pa se malo poigraj. RE: Arduino - servo motor - uki122 - 05-15-2017 Hvala Makso. ![]() Naso sam ovaj kod Code: // Bounce.pde Ali ima trzaje kad usporava/ubrzava (preskace) . Pustio sam da radi na 36VDC u 1/1 na tb6600. Kad pustim na 1/2 sve je super ali brzina mala . Ne znam kako da je povecam za duplo ,dzaba pisem nule u speedmax. Sta dalje? ![]() |