Fórum témák
» Több friss téma |
Ha van gyorsulásmérőd és a gép a kezdeti pozíciót próbálja tartani, akkor a gyorsulásmérő alapján tudni fogja hogy mozog. Ennek megfelelően a PID algoritmus korrigálni fog. Ha csak gyro van akkor pedig a távirányítón lévő trimmerrel szépen egyensúlyba tudod rakni.
Fontos kérdés.
Olyan Giroszkóp beszerezhető, amely abszolut helyzetet mér és nem az elmozdulást? Tehát ténylegesen pörgettyű van benne és annak aktuális elfordulásának szögével arányos jeleket ad?
Sziasztok !
Szeretnék csinálni egy kamera foglalatot (kézben tartható illetve gépjárműre rögzíthető lenne), a mechanikai részét megtervezem én, viszont az elektronikájával bajban vagyok. Hasonló megoldást szeretnék mint ami ITT látható. Akinek van kedve és energiája egy vezérlőpanel összehozásához, kérem jelezze itt. Az alkatrészeket feltöltöm majd hozzászólásba, igyekszem minél előbb összehozni. Üdv: Ádám
Hopsz
![]() Tényleg ![]() ![]() A mechanikai rész már gyártás alatt van. 3 szervóval terveztem. Az egyik a függőleges irányu forgatást teszi lehetővé, míg a másik kettő a vízszintes stabilizálást.
Hali!
Új vagyok még itt a fórumon (ma regisztráltam ![]() Mint a címből is látszik, nem tudom, hogy hogy kéne megoldanom/kiviteleznem azt a problémát ha én a csuklómra "ragasztok" egy mérőműszert (vagy elmozdulásmérő vagy giroszkóp nem tudom melyik kéne..) akkor ezt én gépen hogyan tudom megjeleníteni? Lényeg hosszan: Programozgatok elég magas szinten és szeretnék egy olyat csinálni hogy a csuklómon lévő szenzor adatait gépre átvigyem és ott elemezzem ki ![]() Kérdések: Mit érdemes használni (ha kell nekem pl x,y,z irányű mozgás is) Hogyan tudom ezen chippen kapott adatot (aakár vezetéken akár vezeték nélkül) a számítógépre továbbítani? Milyen értéke van ezeknek a chippeknek? Valaki hasonlóval próbálkozott? Remélem naggyából érthető a kérdésem, ha nem akkor kérdezzetek ![]()
Szia.
A legegyszerűbb megoldás (szerintem), valamilyen mikrovezérlő, egy gyorsulásmérő (accelerometer), és a vezeték nélküli megoldáshoz, bluetooth modul, vagy XBee modul, vagy bármilyen rádiós modul. A mikrovezérlő fogadja a gyorsulásmérő adatait, és továbbítja a PC felé. Ennyi az egész. Még régebben készítettem egy hasonló projektet. Egy MSP430g2553 fogadta, egy ADXL312 accelerometer adatait, és egy HC-05-ös bluetooth modulon keresztül küldte a PC-nek. A PC oldalon egy Processing-ben íródott programban, egy kocka forgott úgy, ahogy az ADXL-t mozgattam.
A neten láttam hogy valamelyik játékvezérlőt használták , grafikusan is látható a gyorsulás , mellékelt az illető programot hozzá,
érdekel ?
Dr Piláth Károly tanár úr honlapja , több hasznos progival .
Helló
Egy MPU6050 giroszkóp adataiból akarok pozíciót szögeket nyerni, de sehogy se akar működni. Mellékelem a fájlt amiben a giroszkóp által szolgáltatott adatok találhatóak és a forráskód egy részét. Az első oszlop a ciklusok száma második harmadik oszlop az x-y tengelyről levett nyers adat..... ..és itt meg is álnék mert míg nyugalomban viszonylag helyes értéket mutat(kalibrálás után),de érdekes módon ha az x tengelyt bármelyik irányba elfordítom(551. sortól) majdnem mínusz maximum értéket kapok(szerintem az egyik irányba pozitív míg a másikba negatív számot kéne kapnom) és ez az ugrás nagyon hirtelen történik pedig kb.250Hzen olvasom ki az adatokat. A y tengelynél ugyanez a helyzet ott is hirtelen a maximum közelébe ugrik az érték és bármilyen irányba fordítom ott mindig pozitív maximum lesz. Nincs valakinek valami ötlete, hogy miért? Ciklus:
Azonkívül van ebben a MPU6050 érzékelőben egy hőmérő is, de ezt kiolvasva is furcsa éréket kapok, szinte mindig 229 C fokot.
kiolvasó kód:
Az MPU6050 "regiszter" adatlapja Még feltöltök egy átaláthatóbb LOG fájlt(itt a 268. sortól kezdem mozgatni). Lehet hogy elromlott ez az érzékelő és azért kapok ilyen értékeket? A hozzászólás módosítva: Szept 24, 2014
Sziasztok!
Olyan kérdésem lenne felétek, hogy egy giroszkoppal, pl ezzel: ENC-03RC, hogyan lehet azt megoldani, hogy egy "mezei" potméterként viselkedjen? Tehát, ha teszem azt balra döntöm, akkor egy ledet halványít, ha jobbra akkor pedig erősít a fényerején. Nem nagyon tudom, hogy induljak el, úgyhogy minden fajta segítséget szívesen fogadok. Köszönöm! ![]()
Sziasztok.
Mit lehet kezdeni egy MPU-6050 giroszkóppal és egy arduinoval. ebben van gyorsulás merő (accelerometer) is aszt hiszem, Kreatív ötleteket várok. Monjuk anelyik mobil telefonon nincs giroszkóp ahhoz hozzá lehetne építeni vagy nagyon hülyeséget kérdeztem? Üdv. A hozzászólás módosítva: Szept 29, 2016
Ha hozzá akarod építeni akkor szerintem a telefon alap programját is kikéne egészitened hogy feltudja dolgozni az adatokat.
Multikoterekbe használják ezt a szenzort.
Sziasztok.
Most akarok elkezdeni foglalkozni giroszkópokkal egy robothoz. Hogy ha elkezd dőlni kicsit valami miatt akkor korigálni tudja. Eredetileg egy GY-521 giroszkópot néztem ki de ahogy itt olvasgattam a hozzászólásokat arra jutottam lehet jó lenne egy gyorsulás mérő is. Ehhez kérnék segítséget. Elsődlegesen hogy a giroszkóp milyen helyzetben milyen jelet küld. Ezzen kívül egyébb tanácsokat is szivesen fogadok. Előre is köszönöm
Hozzászólásodból itélve ezt még nem tudnád megcsinálni, PID szabályozást kell írni a gyro + acc jeléből komplementer filter algoritmussal tudsz használható szabályzó jelet létrehozni.
Nézd meg a nyílt forráskódú multikopterek vagy kamera gimbal-ok forráskódját.
De ahoz hogy meg írjam a PID-t tudnom kéne hogy milyen adattott kapok. Pl hogy az alap állapot egy közép érték és ha 3biten adja az infót akkor 111 az egyik irányba a maximális kitérés 000 pedig a másikba.
A választott eszköz adatlapjában kb. minden le van írva.
Választott eszköz adatlapjában ez pont nem volt leírva.
Ezért tettem fel itt a kérdést.
Szia!
A GY-521 típust nem ismerem, de például az MPU6050 gyorsulást és szögsebességet mér. A pozíciószabályozáshoz integrálnod kellene a szögsebességet, így szöget kapnál, de ezek a szenzorok túl zajosak ehhez. Gyors, relatív elfordulást tudsz vele mérni, de egymagában nem elég például egy kétkerekű robot egyensúlyozásához. Ehhez inkább a gyorsulásmérőt használd, esetleg kombinálva a giroszkóppal (szögsebesség). Az MPU6050 például figyelembe veszi a Föld gravitációját, tehát, ha az asztalon fekszik nyugalomban, akkor a függőleges tengely mentén -9.81m/s^2 gyorsulást mutat. Ezzel könnyen meghatározhatod a függőleges pozíciót, amíg a robot nyugalomban van vagy egyenes vonalú egyenletes mozgást végez (nem gyorsul). Ekkor már szükséges más szenzorok, mondjuk a giroszkóp adatainak a felhasználása, például Kálmán-filter segítségével. A szenzorból 16 bites előjeles értékekben tudod kiolvasni a mért értékeket. Ezek nyers mérési értékek, a beállított tartománytól függően (+/-2g vagy +/-16g például) át kell számolnod őket m/s^2 vagy éppen °/s értékre. Példa: +/-2g van beállítva, +16384-t olvasol ki a szenzorból, akkor +1g, vagyis 9.81m/s^2 gyorsulást mértél. (+/-32768 a kiolvasható maximum érték) Szerk.: az MPU6050 adatlapjában mindent leírnak részletesen. A hozzászólás módosítva: Márc 8, 2017
Tehát akkor lényegében olyan jelet ad amilyet én is írtam. Akkor nem olyan nehéz. Köszönöm a segítséget.
Ez érdekes, hogy éppen az nincs benne, amiért megveszi az ember.
Erre a hozzászólásodra: Bővebben: Link.
Sziasztok!
MPU9250-el, pontosabban inkább a benne megbújó AK8963-al (magnetométer) szeretnék beszélgetni, adatokat lekérdezni róla. Az MPU9250-al magával tudok kommunikálni I2C-n, mert ha beolvasom a 0x75-ös címét akkor 0x71-et kapok vissza. Az AK8963-al viszont nem tudok beszélgetni, hiába címzem meg a 0x0C címen nem küld ACK-t sajnos. Az MPU9250 I2C-je két fajta módon tud működni: Idézet: „I2C Master Mode: Allows the MPU-9250 to directly access the data registers of external digital sensors, such as a magnetometer. In this mode, the MPU-9250 directly obtains data from auxiliary sensors without intervention from the system applications processor. Pass-Through Mode: Allows an external system processor to act as master and directly communicate to the external sensors connected to the auxiliary I2C bus pins (AUX_DA and AUX_CL). In this mode, the auxiliary I2C bus control logic (3rd party sensor interface block) of the MPU-9250 is disabled, and the auxiliary I2C pins AUX_DA and AUX_CL are connected to the main I2C bus through analog switches internally. Pass-Through mode is useful for configuring the external sensors, or for keeping the MPU-9250 in a low-power mode when only the external sensors are used. In this mode, the system processor can still access MPU-9250 data through the I2C interface. Pass-Through mode is also used to access the AK8963 magnetometer directly from the host. In this configuration the slave address for the AK8963 is 0X0C or 12 decimal.” Nyilván a "Pass-Through" mód lenne az egyszerűbb, mert ha jól értem ennél a módnál az I2C AUX lábai fizikailag összekötődnek a normál I2C lábakkal. Megnéztem hogy hogyan lehet ezt a módot beállítani: az MPU9250 106-os címen lévő USER_CTRL nevű regiszter I2C_MST_EN bitje felel ezért. Ha nulla, akkor "Pass-Through" módban van. Ennek a regiszternek a reset értéke 0x00, tehát gyárilag bekapcsolás után ebben a módban kell működnie. Ennek ellenére sajnos a 0x0C cím nem válaszol, nincs ACK. ![]()
Nem lenne egyszerűbb direkt iránytűt használni? Pl. HMC5883L
Sziasztok!
Egy MPU6050 modullal ismerkedem (ez az), de kicsit döcögősen indul. A modult egy PIC24FJ64GA002P-re kötöttem, az I2C2 portra. MikroC-ben programozom a kontrollert. Két fő probléma adódott: Az első, hogy a modullal a PIC valamiért csak akkor képes kommunikálni, ha a PICKit 3 1-1 lába rá van kötve az SDA és az SCL vonalra. Erre akkor jöttem, rá, mikor a PICKit logikai analizátorával rá akartam nézni a vonalakra, hogy miért nem válaszol a modul. Mihelyst rácsatlakoztattam a PICKit 5-ös és 6-os lábát a vonalakra, máris jó. Azt szeretném kérdezni, hogy hogy tudnám elérni, hogy a PICKit nélkül is hajlandó legyen beszélgetni a modul? ![]() A második problémám pedig az, hogy a modulból hiába olvasom ki a "kimeneti" regisztereket, az összes 0 lesz. A kommunikáció egyébként működik, a "Who am I?" regiszter pl. stimmel is. Van erre valami inicializálási folyamat? (Nem kalibráció, csak simán, hogy valami jöjjön ki a szenzorból.) Eddig úgy tudtam, hogy elég, ha a "Power management 1" regiszterben a Sleep bitet 0-ra állítjuk, és már pörög is a mérés. Ezek szerint tévedek? Köszönöm előre is segítségeteket!
A GND felé ha beteszel 1-1 100nF kondit az SCL és SDA vonalakra, akkor mi történik? Illetve azt a két felhúzóellenállást is kimérném a helyedben és előfordulhat, hogy az értékükön is kicsit változtatni kellene a helyes működéshez.
Oszcilloszkóppal kellene megnézni milyen az SDA és SCL jelalak.
Köszönöm a tanácsot, ha beteszek egy-egy 100 nF kondit, akkor sajnos ugyanúgy nem működik. Sőt, akkor már úgy se működik, hogy rajta van a PICKit. Viszont a másik gyanú lehet, hogy megállja a helyét, mert most látom, hogy 2,2 kOhm-os ellenállás van ráforrasztva a panelra, annak ellenére, hogy a kapcsolási rajzán 4,7k szerepel. (Hogy miért?
![]() @nagym6 az a baj, hogy sajnos szkópom nincsen, egyedül a PICKIT logikai analizátorára tudok támaszkodni, de ugye ha azt csatlakoztatom az I2C vonalakra, akkor meg rejtélyes módon máris működnek a dolgok. ![]() |
Bejelentkezés
Hirdetés |