Fórum témák
» Több friss téma |
Fórum » Robotika kezdőknek
Ez tényleg írtó jó lett,gratulálok.
Gondolom sokat programoztál. Énis szeretnék indulni de csak jövőre. Túlságosan elkéstem.Tudna majd valaki segíteni kapcsolás szempontjából?Azt sem tudom hogy miből épül fel egy ilyen.
"Én is szeretnék indulni de csak jövőre."
Ezt mire ertetted? Esetleg a Magyarokamarson versenyre? Hat elgondolkodtam a feladatokon, de egy kezdonek (mint En) eleg nagy feladat egyedul nekiallni. Szerintem a legegyszerubb megoldasnak az tunne ha egy Atmega328-on alapulo Arduino Duemilanove USB-s panel vezerelne a marsjarot, amit wifi-n vagy bluetooth-n keresztul hozza lehetne kotni a mars kozpont szamitogepehez (laptop), ami egyben a marsi muhold kepei alapjan torteno iranyitast vegezne a Roborealm nevu programmal. Plussz kell meg egy kozponti szamitogep is amivel kozvetlen taviranyitani lehet a marsjarot 15 masodperces kesleltetessel. Az Arduino hasznalataval az elektronika megvalositasa es programozasa egyszerusodik le (nem kell megtervezni/epiteni/tesztelni stb..). A fenti elemek egyseges rendszerbe kovacsolasa (ugy hogy az mukodjon is!) szep feladat. Es meg a specialis plussz feladatokrol meg nem is esett szo! Roviden ezt kellene nagy vonalakban megvalositani, de azt hogy ezt reszleteiben hogyan is kell csinalni, na arrol fogalmam sincs.
Idő közben elkezdett működni az egész; még csak odometria nélkül találomra járkál, de nem megy neki semminek. Az infrás dolgok beváltak. >>videó<<
Most jöhet az, hogy megmondom neki hova menjen, ha közben akadály van kikerüli, és a helyes útra tér vissza. Ez sem egy hét alatt lesz meg... Egyébként ezt leprogramozni még nem is olyan szörnyű dolog, majd ha kommunikációra kerül a sor, az nem lesz semmi. Elvileg SPI-n meg I2C-n beszélget a piccel mindenféle adó-vevő modul, csak nálam a hardveres spi lábak már foglaltak... Arról nem beszélve, hogy a számítógépre is meg kell írni valamit, ami legalább egy .txt fájlba bepakolja a bejövő értékeket (az elég is lenne a célhoz).
Használj kódtárcsát, vagy bármilyen résoptót, és tegyél PID szabályzást a meghajtásra.
Így, hogy az egyik motor gyorsabb, nem hogy több korrigálásra van szükség, de még egyenesen sem tud menni. Ami ha bármilyen szenzort szerelsz rá, akkor elengedhetetlen, hogy pl egy ultrahangos radar, ne tudja a 2D matrixba a távolság adatot beírni... Ugyanis ha így kolbászol össze-vissza, akkor nem tudod hova kell beírni. Arról nem is beszélve, hogy sok ilyen "ugrálást" megspórolnál. Ne a meghajtáson spórolj. A legfontosabb. Ha sima DC motort használtál, akkor nyomtass egy átlátszó fóliára lézernyomtatóval vonalakat, körbe és résoptóval tudod figyelni a forgást... És tudna egyenesen menni.
Igen, az egyenesen haladást még meg kell csinálni. Volt rajta kódtárcsa, de zavarta minden fény, a bolti optokapuknak meg nagyon széles csík kell, hogy biztosan kitakarja a ledet. Az a baj, hogy nem férek hozzá a motortengelyhez, hogy arról vegyem le a jelet egy kis felbontású, megbízhatóbb tárcsával, csak a lassított tengely lóg ki, és oda muszáj nagy felbontásút tenni.
Most egy 24jel/ford mechanikus jeladó van rajta, így kb 7mm-t halad 2 jel közt; tekintve, hogy a kerék úgyis megcsúszik, kezdésnek jó. A terv az, hogy kapok egy jelet > indul egy számláló > következő jelre megjegyzem egy válozóban, hogy mennyi volt > újraindítom. Mindkét keréken megtörténik, és összehasonlítom, hogy ki meddig tudott számolni. Ez lényegében sebességmérés, ebből számítható, hogy hol mekkora legyen a kitöltési tényező. Megvalósítani nem sikerült még, úgyhogy a videó óta simán addig próbálgattam, míg egyenes nem lett a haladás, bár ez nem ér semmit, mert továbbra sem él a visszacsatolás. Idézet: „A terv az, hogy kapok egy jelet > indul egy számláló > következő jelre megjegyzem egy válozóban, hogy mennyi volt > újraindítom. Mindkét keréken megtörténik, és összehasonlítom, hogy ki meddig tudott számolni.” NEEE. PID! Megvan az alapjeled, hogy mondjuk 20. És ha a terhelés nagyobb is, befékezi valami a motort, akkor is 20-nak megfelelő sebességgel fog forogni a motor. Ami lehet hogyha nincs terhelés akkor 10%-os kitöltés, de ha van terhelés akkor lehet hogy 80%. De a sebesség ugyan annyi lesz. Ha az egyik kereke szőnyegen megy... Vagy az egyiknek egy tárgyon kell átvergődnie, minden ugrás, minden gond nélkül átmegy rajta. Mert ha a kerék nem forog, mert megakadt, akkor a PID felhúzza a kitöltést, amíg nem forog a kerék. Bármilyen akadályon, teljesen egyenletes sebességgel átküzdi magát. Ha van lehetőséged még a HW-be belenyúlni, akkor kódtárcsa helyett használhatsz Back-EMF elven működő motor sebesség mérést. PID, PID, PID! Nem holmi számlálókkal vacakolás. Az úgy is rossz lesz.
Értem én, dehát azt is le kell programoznom, nem? Valahogy össze kell szednem azt az alapjelet, és nekem kell meghatározni, hogy annak változására hogyan fokozza/csökkentese a motor kapocsfeszültségét. Tanultam PID gyanánt féloldal hosszú integrálokról, meg daruskocsi kilengésének csökkentését modelleztük SciLabban, de a valóságban nem megyek vele sokra.
Szóval most azt nem értem, hogy mivel tudnám konkrétan ebben megvalósítani. Hogy legyen ez az alapjel? Nekem is az a célom, hogy a kerék forgási sebessége alapján szabályozzam a motorra eső feszültséget. Egyébként ez a back-emf dolog tetszik, még gondoltam is rá, csak nem tudtam, hogy már feltalálták nekem régebben Az a baj, hogy a 2 motor abban tér el, hogy egyikben a gyári szénkefe eltört, így abban sima rézlap ér a kommutátorhoz. Ezért van az, hogy egyik gyorsabban forog azonos feszültségtől.
A tanult PID és a valóság ég és föld. A tanult PID oldalas integrálás, a gyakorlati PID sima kivonás és osztás. X időnként meghívva.
Van valahol, annó láttam egy application note-ot AVR-re, PID terén. Indulásnak mindenféle képpen tuti kiváló. Alapjelet úgy állítod elő, hogy hasraütve azt mondod, legyen 20. De célszerű a tartományt hozzáilleszteni a bedigitalizált feszültséghez (Back-EMF) vagy egy kódtárcsa impulzus számához. Előbb azt mérd meg. Aztán hasraütve határozz meg egy alapjelet, azaz egy kényelmes motor fordulatszámot. Ezután csak arányos tagot használj. Legyen tipp-topp az egész szabályzás, kizárólag arányos taggal (pici túllendülés, stb). Azután add mellé lassan a Diff tagot, majd legvégül az integráló tagot. Nyugi, nem a software a bonyi. El lehet napokat tölteni a PID behangolására. Én erre azt szoktam használni, hogy a hibajelet és a tényleges motor jelet kiírom sorosportra (baromi nagy baudrate-el) majd van egy kis delphi progival valós időben grafikonon ábrázolom az értékeket. Könnyebb hangolni, ha számszerűen látod a túllövést.
Kódtárcsával a következő képpen. Van két interruptod. HW-es, és van egy timer interruptod.
Van két volatile változód (változhasson interruptban) és INT0, INT1 interruptban kizárólag csak inkrementálod ezeket. Legyen counter1, counter2. Ezután timerben, azaz fix időközönként, egy speed1, speed2-be áttöltöd a counter1 és counter2 értékét, majd azokat nullázod. Ennek eredménye képpen a speed1, speed2-ben egy sebességgel teljesen arányos inpulzus számod lesz. Ezt hívhatod sebességnek, mert a timer miatt mindig az X idő alatt megtett út lesz benne... Azaz a sebesség. Innentől a PID, már csak a speed1, és speed2-t használja.
Kezd derengeni valami.
Akkor lényeg, hogy semmiképp nem a 2 jel közti idő kell nekem, hanem az adott idő alatti jelek száma, az adott idő pedig a timer túlcsordulása, amely létrehozza az interruptot, amivel kiírom a megtett lépések számát. (Csak azért akartam a jelek közt eltelt időt mérni, mert elég kevés van belőlük). Utánaolvasok a dolgoknak, mert életemben nem használtam még interruptot (2009nyár elején olvastam először arról, hogy van ez a C nyelv ), meg a PID-el is barátkozom kicsit...
Pontosan arra szeretnék menni. Az elektromos résszel nem lenne baj mert minden segítségem megvan,de a programozás az gond lesz.MOndjuk egy elég szép kis csapatot összehoztam(a legtöbb programozó).Kb 6-an leszünk. De nemis baj ha nem ugy menne mint ahogy terveztük mert számunkra csak a részvétel a fontos.
Mondjuk én ezzel szeretném megoldani a komunikációt.De lenne egy kérdésem:láttam egy pár rover tetején ilyen forgó valamit.Nos az mi?Gondolom valamilyen távolságérzékelő. És amúgy kedves Fizikus,voltál már ezen a magyarok a marson robozikai versenyen?
Ha konkrét kérdésed van az eddigi versenyekkel, talán tudok válaszolni, két alkalommal voltam a helyszínen.
Lenne egy pár.
PL. milyen volt mikor vízzel volt megcsinálva a felszín?Lett sok kudarc?Ki nyert?A programot és a számítógépet biztosítják?Viszont csak jövőre indulunk,mert sok pénz kell hozzá és ár szerintem eléggé elkéstünk.Ó mégvalami...hogy lehet megcsinálni a 15mp-es késleltetést?Vagy a szoftver amit biztosítanak elintézi ezt?
Kudarc mindig van. Hogy milyen volt a vizes pálya, hát tán csak mostmár felkerül a netre az összevágott videóanyag (még mindig vágom, lusta vagyok ). Visszanézheted az eredményeket a tavalyi weboldalon. Ők egyedül a hálózati kábel adják, aminek a végén internet és a műholdkép csücsül. Te viszed a gépet, a szoftvert, Te késleltetsz. Egyet mondok, ne egyedül indulj, mert úgy sem lehetetlen megcsinálni, de nagyon nehéz. Ha az ég világon mással nem foglalkozol, csak azzal, akkor lehet. Sajnos csapattársat nem találok. Egyedül, pedig, nincs motiváció. Az elektronika könnyen mén számomra, a szoftver a nagyobb gond. Az eddigi tapasztalatok alapján elmondható, hogy nekivágni (mármint kimenni a versenyre) csak úgy érdemes, ha a szoftvered van olyan fejlett, hogy megmondod hová menjen, és műholdkép alapján odanavigálja, korigálja, akadályt kerül. Ezt meg kell oldani. Szerintem nem túl nehéz, elég egyszerűen meg lehetne oldani, van rá konkrét elképzelésem. PIC oldali tudásom 0. A kommunikációra vigyázz lehet, hogy zavarérzékeny lesz. A verseny végén, pedig mindenki egyszerre robotozott mégsem volt kommunikációs bibi. Lehet hogy összeesküvés elmélet, de nagyon úgy tűnik valami a verseny ideje alatt zavarja a kommunikációs vonalakat. A vizes pálya azért nagyon betett a képelemző algoritmusoknak.
Minden további kérdésre szívesen válaszolok.
Néztem már az összes videót.
Nagyot tetszettek.De visszatérve erre a csapat dologra,már van egy csapatom velem együtt 6 fő.Nos ez az 5 fő(rajtam kívül),hát hogy is mondjam....2-en azt se tudják hogy mi az az elektronika és 3 programozást tanuló tag is van és én aki mindezt megtervezte,összehozta a csapatot és a programozáson és a bombabiztossá tevésen kívül mindent építek.Meg énis állom anyagilag. ÉS ez furcsa kérdés de......nem szeretnéd ha csatlakoznánk hozzád és segítenénk aholt tudunk(tudok)?
Üdv mindenkinek!
Tavaly nem sikerült indulnunk, idén megpróbálok egyedül nekivágni. Programozni könyvekből tudok, alapdolgokat. A PIC be a progit Basic be írom, könnyebb mint assembly be (nekem legalábbis). A fűpanel kész, a kisebb részegységek paneljai lassan készülnek. A fő gond nálam a mechanika, az lassacskán halad. Az űrliftem már száguld . A kommunikáció olcsó 434 megás modulokkal lesz megoldva mert szűkös a költségvetés . Az építés során sok mindent meg lehet tanulni ami később is jól jöhet.
Azokra a videókra gondoltam amiket én készítettem, majd 4óra anyag. Ebből vágom össze, hogy ne legyen unalmas. Hát az anyagi dolgok elég vacakok, az ilyesmit nincs aki támogassa.
Legyen fordítva, csináljátok ti, és ahol elakadtok megkérdeztek, megpróbálok segíteni. Az a fránya távolság. A versenyre mindenféleképp elmegyek. Az idén csak nézőként. Éretségi, felvételi, építünk, annyi időt nem tudok rászánni.
Kár hogy csak nézőként mész el.
De minden segítségre szükségünk lesz,elsősorban kapcsolás szempontjából.A többi az úgy menne. MOndjuk nekem is jó kis vizsgáim lesznek,szóval kicsit félreteszem a projektet.Majd jövőre megyünk.De ha tudnál segíteni hogy mit hogyan lehetne tökéltesíteni akkor nagyon megköszönjük. De lehet hogy megtudnék győzni egy két ismerős vállalatot,hogy anyagilag támogassanak minket.Hát ki tudja majd eldől.
Eddig meg nem voltam egy Magyarokamarson versenyen sem. Es a mostanin sem leszek ott sajnos, de ahogy tudom megprobalom kovetni az esemenyeket. Ha reszt tudnek venni, az szimulalna legelethubben a Mars missziot, mert igaz hogy nem 4.5 millio km-rol "csak" 13000 km tavolsagbol kellene kommunikalnom mindennel. Csak kb. 8 honapja kezdtem el foglalkozni hobbi szinten elektronikaval, es kb. 2 honapja tudok egyaltalan rola hogy ilyen verseny egyaltalan letezik. Ezert a tudasom meg nem elegendo egy ilyen feladat egyedul torteno megvalositasahoz.
Nezzetek el tudatlansagomat, de a vegere egy kerdes: minek a roviditese a PID amit az elozo nehany hozzaszolasban emlegettek?
Tényleg mi az a PID?
Egy szabályzási algoritmus, vagy mód.
Három tagból tevődik össze: P: proportional, arányos tag, ez a hiba nagyságával arányosan korrigál I: integrátor, ez emlékezik. D: differenciáló tag: ez az előző állapothoz képesti változás alapján intézkedik. Egyszerű leimplementálni, behangolni, ezért az iparban ma ez a legelterjedtebb szabályzási eljárás.
Tehát ez egy forgó valami amit a motor tengelyére kell ráraknom,hogy szabályozza a fordulatszámot?
Ez egy program amit a mikrokontrollerbe kell beleégetni ami figyeli a kerék sebességét, és ha az nem annyi amennyit szeretnél akkor adja a gázt vagy fékezi. (Tipikusan a PWM kitöltését változtaja.)
Ezt nemcsak programozni lehet le, hanem építhető PID szabályzó analóg áramköri elemekből is (műveleti erősítők, stb.), de azt ma már nem használják gyakran, mert több a hibalehetőség.
Ez mindent megmagyaráz.Kössz szépen.
És ezt most letudom tölteni valahonnan vagy megkell csinálnom.
Van ilyesmi készen. Én ezeket ollóztam össze eddig, de nem volt még időm nekiülni és felfogni, hogy miről lenne szó. Azt bírom ebben, hogy a végső cél egy "mellékes" része is egy önálló tdk téma lehetne
Nagyon szépen köszönöm.Ezt jól el fogom tenni.De müködnek?És tudok belekalibrálni?
Hát az biztos, hogy bele tudsz kalibrálni, hiszen azt írsz bele, amit csak akarsz Attól még elég messze vagyok, hogy a működéséről bármit megállapítsak, előbb valami tankönyvet előások, hogy pontosan minek is kell történnie. Ezek netről begyűjtött "általános pid rendszerek". Szóval számítás szempontjából mindegy neki, hogy hőmérsékletet, vízszintet, vagy fordulatszámot szabályoz. Olyan nagyon nem tűnik bonyolultnak, de az ilyesmi nem egy hétvégi dolog.
Szeretnék készíteni egy tábolságérzékelőt, amit a következő képp képzeltem el:
IR vevőnek 40KHz-re kihegyezett TSOP4840-et szeretnék használni, IR LED-nek pedig TSAL4400 3mm-es IR LED-et. Az IR LED-et pedig egy 555-ös IC-ből felépített astabil multivibrátor hajtaná meg, a kimenetén a soros ellenállással pedig az érzékelési távolságot lehetne változtatni. A segédprogramoknál a következőt kalkuláltam ki: Bővebben: Link R1=1.2KOhm R2=1.2KOhm C=0.01uF Kitöltési tényező: 66.65% Frekvencia: 40KHz Ezt érzékelné a TSOP4840? A két IR eszközt pedig egymás mellett szeretném elhelyezni, köztük pedig egy NyÁK lemezt szeretnék elhelyezni. Ezt próbálta már valaki? Működött? |
Bejelentkezés
Hirdetés |