-
Fototrend
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Teasüti
nagyúr
MPU6050 lelkivilágához ért itt vki?
Átnyálaztam magam ezen, mellé felcsaptam még ezt is.
Viszont akad pár kérdésem, amit nem értek, infót neten nem találtam, a program és a kézikönyv nem tárgyalja.
Pl. a FIFO olvasása és írása hogy működik?
Van egy FIFO_R_W regiszterem, de ez csak egyetlen bájt az 1024-ből. Szóval ezt miként használja a modul? Az olvasás gondolom úgy megy, mint a 60 KB soros puffer esetén, hogy a kiolvasott adat helyére a sorban következő kerül míg ki nem ürül a FIFO. Így van?
Viszont az írás teljesen ködös, egyáltalán mit és miért kéne ebbe írni kívülről az adatbusz felől?Aztán ott van a low pass filter és a sample rate.
Ha jól értem a kézikönyvet, akkor a chip a mintavételi frekinél alacsonyabb szűrő frekivel írja ki a szűrt értéket a regiszterbe.
Viszont ennek látszólag ellenmond az alábbi kód:// Configure MPU6050 gyro and accelerometer for bias calculation
writeByte(MPU6050_ADDRESS, CONFIG, 0x01); // Set low-pass filter to 188 Hz
writeByte(MPU6050_ADDRESS, SMPLRT_DIV, 0x00); // Set sample rate to 1 kHz
writeByte(MPU6050_ADDRESS, GYRO_CONFIG, 0x00); // Set gyro full-scale to 250 degrees per second, maximum sensitivity
writeByte(MPU6050_ADDRESS, ACCEL_CONFIG, 0x00); // Set accelerometer full-scale to 2 g, maximum sensitivity
uint16_t gyrosensitivity = 131; // = 131 LSB/degrees/sec
uint16_t accelsensitivity = 16384; // = 16384 LSB/g
// Configure FIFO to capture accelerometer and gyro data for bias calculation
writeByte(MPU6050_ADDRESS, USER_CTRL, 0x40); // Enable FIFO
writeByte(MPU6050_ADDRESS, FIFO_EN, 0x78); // Enable gyro and accelerometer sensors for FIFO (max size 1024 bytes in MPU-6050)
delay(80); // accumulate 80 samples in 80 milliseconds = 960 bytesTehát 80 ms-et vár, ami e szerint 80 minta (1 kHz). Viszont feljebb meg 188 Hz-es lowpass van beállítva, szóval ezt nem értem.
A célom az volna, hogy egy tetszőleges lowpass frekvencián megtöltsem a FIFO-t a gyorsulásérzékelő adataival, majd ezt burst read módban kiolvasni relatíve ritkán, hogy a fő programomat ne lassítsa be a 200 hz-es I2C olvasás szerencsétlen Uno-n. E helyett mondjuk a megengedhető legnagyobb késleltetéssel végezni egyetlen I2C műveletet a teljes FIFO puffert kiemelve, majd matekozni.
Ehhez talán interrupt se fog kelleni, max flag-ként.
Illetve azon fílózom még, hogy ha overflow interrupt-ot választok, akkor a FIFO eleje már felülírodott, mire jön a jel? Mert tök jó lenne úgy időzíteni a burst read-et is, hogy teli puffernél olvasson.szerk: illetve továbbra se tudok interrupt-ban I2C műveletet végezni. Ez normális?
Köszi!
Új hozzászólás Aktív témák
- Corsair VENGEANCE SODIMM 2x16GB DDR4 3200MHz CL22 - Új, bontatlan - Eladó!
- iPhone 16 Pro Max 256GB Fekete Titán 96%-os Akksi
- Béreljen minikotró gépet már 24 órától, akár hosszabb időre is
- Bomba Ár! Lenovo ThinkPad E15 Gen2 AMD - Ryzen 5 I 8GB I 256SSD I 15,6" FHD I HDMI I W11 I Gari
- Bomba ár! Lenovo ThinkPad T14s G2 AL - i7-1185G7 I 16GB I 1TSSD I 14" FHD Touch I W11 I Cam I Gari!
- Új monitor állvány- elegáns megoldás a dupla A/4-es papírcsomag helyett - csak össze lett szerelve
- GYÖNYÖRŰ iPhone 13 128GB Starlight- 1 ÉV GARANCIA, Kártyafüggetlen,MS3435
- HIBÁTLAN iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3546
- GYÖNYÖRŰ iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3327, 94% Akkumulátor
- BESZÁMÍTÁS! MSI B760 WIFI i9 14900KF 32GB DDR5 1TB SSD RTX 3090 Trinity OC 24GB LIAN LI PC-O11D 750W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest