- Milyen okostelefont vegyek?
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- iPhone topik
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Milyen hagyományos (nem okos-) telefont vegyek?
- Samsung Galaxy A56 - megbízható középszerűség
- iGO Primo
- Amazfit Active 2 NFC - jó kör
- CMF Phone 2 Pro - a százezer forintos kérdés
-
Mobilarena
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
-
Tomika86
senior tag
Sziasztok!
Egy könyvtárban az hol van megírva, hogy figyelmeztetést adjon, hogy nem arduino eszközre való? header fájlban nincs. Amikor fordítom le a programot, akkor ír ki egy figyelmeztetést az arudino ide.
Köszönöm! -
-
-
Janos46
tag
Sziasztok.
Segítséget szeretnék kérni. ESP8266 amit ha a COM portra dugok eként látom: Silicon Labs CP210x USB to UART Bridge (COM5), azonban a routerben nem (MAC és IP cím). A driver fennt van (CP210x_6.7.4 ) Mi lehet az oka? -
válasz
Tankblock #17086 üzenetére
Ez érdekes. Úgy emlékszem, hogy én is azzal próbálkoztam először, csak nem volt benne Attiny12 támogatás
Most az AVR stúdió 4 van fent, mert ezzel sikerült csak működő kódot fordítani. Létezik, hogy ennyire béna lettem volna?
Megtennéd, hogy írsz és fordítasz rá valami egyszerű kódot, mondjuk ledvillogtatást, esetleg ha van lehetőség, UART-on kiíratni vmi szöveget, és elküldöd nekem a hex fájlt? Most már igazán kíváncsi vagyok.
-
-
Úgy tudom volt valamilyen próbálkozás RAM nélküli C compiler létrehozására, de sajnos nem találtam sehol letölthető formában, szerintem félbe hagyták a fejlesztést. Nyilván nem volt értelme túl sok energiát fektetni bele, se változók, se szubrutinok használatára nem lenne lehetőség, 3word-nyi hardware stack van a CPU-ban, 3-nál mélyebb rekurzió fölött gyakorlatilag lábon lövi magát a program.
Lehetne a programmemóriát adat tárolására is használni, de mivel összesen 1kB áll rendelkezésre, ez sem lenne túl előremutató. Az UART modulom assembly-ban írva is jelenleg több mint 800 Byte, miközben magát a programot, ami használni fogja, még el sem kezdtem írni. -
válasz
Tankblock #17082 üzenetére
Szoftveres UART-ot írtam, és a 32 regiszterrel az RX buffert is meg tudtam oldani viszonylag egyszerűen.
1,2MHz órajel mellett piszkosul ki kell számolni minden utasítás ciklusidejét, hogy kijöjjön a 115200b/s sebesség. Az oszcillátor kalibrációja nélkül nem is sikerült.
-
-
válasz
Tankblock #17079 üzenetére
Vettem egy marék Attiny12-t (Attiny85 helyett küldték Kínából, hogy véletlenül, vagy szándékosan, azt sosem tudom meg), nincs benne ram, ezért nem lehet C-ben programozni. Mérgemben megtanultam assembly-ban programozni, hogy ne vesszenek kárba (régebben 6510 assembly-al volt már dolgom). Nem túl hatékony vele dolgozni, de nagyon büszke vagyok, mikor sikerül valamit megírni rá.
Épp egy ubtech robothoz csinálok belőle külső szenzort.
-
Tankblock
aktív tag
-
válasz
Tankblock #17077 üzenetére
Általában igaz, hogy illik tudni mi történik, mert jöhetnek a meglepetések...
20 év alatt ez az első alkalom, hogy találkozom ezzel a formulával, és nem érzem úgy, hogy bármiről is lemaradtam volna
Hozzátartozik, hogy nem múlik rajta a megélhetésem, tehát könnyen vagyok nagyvonalú. De már csak az alaposságom és a kíváncsiságom miatt is utána fogok olvasni.
Minél többet tudok a C++-ról, annál jobban szeretem az assembly-t.
-
Tankblock
aktív tag
Nem a programozó írja meg ugyanazt a fv, structúrát, classt, többféle típusra, hanem fordítási időben hozza létre a template alapján, ahogy a deklaráció(k) vannak. megelőzhető egy csomó copy-paste error ha használná az ember int, float,.... típusokkal ugyanazt....
A legtöbb standard library is így van megírva.Operator overload is standard c++,
Általában igaz, hogy illik tudni mi történik, mert jöhetnek a meglepetések... -
Tankblock
aktív tag
Szimpla c++ template megvalósítása a mozgó átlagnak, és némi fv operátor ....
Semmi extra, egy N elemű tömböt hoz létre és azt addig tölti fel adatokkal amíg nem éri el a megadott méretet, utána meg szépen kicseréli a legrégebbit a legújabbra, és számolja közben a mozgó átlagot.Lehet float, double, bármi ami szimpatikus....
C++ én így szeretlek..... -
Tankblock
aktív tag
válasz
Tomika86 #17069 üzenetére
template <typename T, typename Total, size_t N>
class Moving_Average
{
public:
Moving_Average& operator()(T sample)
{
total_ += sample;
if (num_samples_ < N)
samples_[num_samples_++] = sample;
else
{
T& oldest = samples_[num_samples_++ % N];
total_ -= oldest;
oldest = sample;
}
return *this;
}
operator double() const { return total_ / std::min(num_samples_, N); }
private:
T samples_[N];
size_t num_samples_{0};
Total total_{0};
};Moving_Average<double, double, 3> ma;
for (int i = 0; i < 10; ++i)
std::cout << (i * i) << ':' << ma(i * i) << ' ';
std::cout << '\n';Igen megoldható.... [link] Google is segít.
Inkább a cppreferenct kellene linkelni : [link] -
Tomika86
senior tag
válasz
Janos250 #17067 üzenetére
Bővítetted amióta elküldted?
Van például 6darab analóg bemeneten beolvasott érték, mindegyiket mozgóátlaggal "szűrném". Ezt egy darab paraméteres visszatérési értékű függvénnyel nem tudom megcsinálni, ha jól gondolom, mert a bemenetek "összemosódnak".
Mind a 6bemenethez külön függvény kellene.Ezt oldja meg az osztály?
hogy akkor így lesz:
adc0.avg(be1)
adc1.avg(be2)
.
.
adc5.avg(be6)
így egy osztállyal megoldható mind a 6?
Köszi! -
-
Tomika86
senior tag
Sziasztok!
Lehet hülye kérdés lesz. Ha ugyanazt az átlagoló függvényt fel akarom használni különböző helyekre, akkor nem lesz jó, mert az összes jel bent lesz a tömbben.
Ezt, hogy lehet megoldani? Erre vannak az osztályok, példányosítás?
Köszönöm!
-
válasz
tothferenc #17062 üzenetére
Próba:
display.print(temp, 1);
Formázd kódként legközelebb pls.
-
tothferenc
aktív tag
sziasztok. Egy kis programozói segítségre lenne szükségem. Egy Ds18b20 szenzorral, egy arduino nanoval és egy oled kijelzővel reszeltem egy egyszerű hőmérőt. Viszont nem jövök rá, mi kell a sketch-be, hogy csak 1 tizedesjegyig írja a hőfokot.
eléggé az elején vagyok az arduinoba.
bedobom ide a kódot:
//Libraries available at: https://github.com/adafruit/Adafruit_SSD1306
// https://github.com/adafruit/Adafruit-GFX-Library
//https://github.com/milesburton/Arduino-Temperature-Control-Library
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const int SensorDataPin = 2;
OneWire oneWire(SensorDataPin);
DallasTemperature sensors(&oneWire);
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire, -1);
void setup() {
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
dispTemp();
display.clearDisplay();
}
void dispTemp(void) { // function to read and display temperature
sensors.requestTemperatures(); // Send the command to DS18B20 to get temperatures
float temperatureDegC = sensors.getTempCByIndex(0);
displaytemp(temperatureDegC,'C'); // call to function void displaytemp(float temp, char C_F) giving temperature in Deg C and character C
}
void displaytemp(float temp, char C_F) // function to display temp, takes temperature and character C or F from calling function void dispTemp(void)
{
display.drawRect(1, 1, display.width()-1, display.height()-1, WHITE); // draws the outer rectangular boundary on the screen
//display.print("Temperature: "); display.print(temperature_Celsius); display.println(" *C");
display.setTextSize(1,2);
display.setCursor(32,6);
display.print("Homerseklet");
display.setTextColor(WHITE); // i have white OLED display, you can use other colors in case you have multicolored display
display.setTextSize(1); // i have used large font to display temperature, it can be varied as per your taste
display.setCursor(106,30);
display.print("o"); // this prints the "o" symbol to show Degree
display.setTextSize(2);
display.setCursor(112,37);
display.print(C_F); // this takes character from function call either C or F for centigrade of farenheit
if(temp >=100 || temp < 0){ //i have reduced font size if temp goes in 3 digits or is -ve, keeps text in center of display , it can be varied as per your taste
display.setTextSize(3);
display.setCursor(25,30);
}
else if(temp < 10 && temp >= 0){ //some adjustments to keep text in center of display , it can be varied as per your taste
display.setTextSize(3);
display.setCursor(25,30);
}
else
{
display.setTextSize(3); //i have used large font to display temperature, it can be varied as per your taste
display.setCursor(10,30);
}
display.print(temp); // finally prints the temperature on your OLED display
display.display();
}
-
-
Janos250
őstag
válasz
tibi-d #17055 üzenetére
Sok jelentősége nincs. ha a default pineket használod, akkor talán 1-2 ns-sel gyorsabb.
Ha nem azt használod, akkor meg teljesen mindegy, ugyanis van egy hardware mátrix - olyasmi mint a fóliás billentyűzetekben - azon keresztül megy. A mátrix egyik oldalához vannak kötve a perifáriák, a másikhoz meg a pinek, és amikor összerendeled őket, akkor egy adott sort összekötsz egy adott oszloppal.
Az analogokat a defaultból válaszd. Az UART1-nek is van default, de az nem jó, mert azt a memória kezeléshez használja, a lapok többségén ki sincs vezetve.
Én az I2C-t, és az SPI-t (VSPI) az alapértelmezetthez szoktam kötni, de csak megszokásból. Itt elég jól fel vannak tüntetve:
https://i2.wp.com/randomnerdtutorials.com/wp-content/uploads/2018/08/ESP32-DOIT-DEVKIT-V1-Board-Pinout-36-GPIOs-updated.jpg
Meg itt is:
https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2018/08/esp32-pinout-chip-ESP-WROOM-32.pngVagy ez:
#ifndef Pins_Arduino_h
#define Pins_Arduino_h
#include <stdint.h>
#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 16
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
#define digitalPinHasPWM(p) (p < 34)
static const uint8_t LED_BUILTIN = 2;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN
static const uint8_t TX = 1;
static const uint8_t RX = 3;
static const uint8_t SDA = 21;
static const uint8_t SCL = 22;
static const uint8_t SS = 5;
static const uint8_t MOSI = 23;
static const uint8_t MISO = 19;
static const uint8_t SCK = 18;
static const uint8_t A0 = 36;
static const uint8_t A3 = 39;
static const uint8_t A4 = 32;
static const uint8_t A5 = 33;
static const uint8_t A6 = 34;
static const uint8_t A7 = 35;
static const uint8_t A10 = 4;
static const uint8_t A11 = 0;
static const uint8_t A12 = 2;
static const uint8_t A13 = 15;
static const uint8_t A14 = 13;
static const uint8_t A15 = 12;
static const uint8_t A16 = 14;
static const uint8_t A17 = 27;
static const uint8_t A18 = 25;
static const uint8_t A19 = 26;
static const uint8_t T0 = 4;
static const uint8_t T1 = 0;
static const uint8_t T2 = 2;
static const uint8_t T3 = 15;
static const uint8_t T4 = 13;
static const uint8_t T5 = 12;
static const uint8_t T6 = 14;
static const uint8_t T7 = 27;
static const uint8_t T8 = 33;
static const uint8_t T9 = 32;
static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;
// PWM Driver pins for PWM Driver board
static const uint8_t PWM0 = 12;
static const uint8_t PWM1 = 13;
static const uint8_t PWM2 = 14;
static const uint8_t PWM3 = 15;
static const uint8_t PWM4 = 16;
static const uint8_t PWM5 = 17;
static const uint8_t PWM6 = 18;
static const uint8_t PWM7 = 19;
#endif /* Pins_Arduino_h */Apropó!
Szerintetek ennek a sornak mi az értelme:#define LED_BUILTIN LED_BUILTIN
-
-
Brain75
senior tag
Sziasztok.
Adott egy arduino és azon egy hall sensor modul.
Ez ad ki analóg és digitális (on-Off) jelet is.
Hogy tudom ezt a digitális (on-OFF) jelet úgy kivezetni mintha egy switch lenne ?
Tehát az kellene nekem hogy valamelyik 2 lábon kimenetben kapcsoló jelet adjon addig amíg a hall szenzor digitális jelet ad.Valaki tud segíteni a megvalósításban, vagy abban hogy hol nézzrk utána ? Vagy esetleg kell még valami ahhot hogy ezt meg tudjam csinálni ? Mondjuk egy relé ? Elég szűkös ahely és költség érzékeny a téma, ezért minél kevesebb alkatrészből kellene megépíteni.
Sajnos a reed relé nem jó megoldás mert azt bármilyen mágneses jel akár a kábelen be tudja húzni.Köszönöm
-
tibi-d
tag
Sziasztok!
Adott egy NodeMCU32s kocka. Szeretnék hozzá csatlakoztatni 3.2-es Nextion kijelzőt, 24C256-ot, 6db analóg bemenetet, 2db digit. kimenetet, és 4db PWM kimenetet.
Melyiket, melyik lábra célszerű kötni? Sok bemenet sokféle funkcióra is használható, de biztos van egy célszerű kiosztása is.
Tanácsokat előre is köszönöm. -
dew28
aktív tag
válasz
DrojDtroll #17052 üzenetére
akkor nekem van egy felesleges. irj ram, ha aktualis.
-
Janos250
őstag
válasz
Sebiferi #17047 üzenetére
Erre én is kíváncsi lennék, mert irreálisan alacsonyak az árak. pl. ESP32CAM 1100 Ft.
Lehet, arra játszanak, hogy nem küldik, és mivel hosszú a szállítási határidő, és az nem is a rendelés napjától, hanem attól a naptól számít, amikor ők postára adták, így aki nagyon erősködik annak visszautálják, de sokan addigra el is felejtik, és az a hasznuk. -
Sebiferi
tag
válasz
Killer man #17041 üzenetére
Kicsit gyanúsnak találom a túl alacsony árakat. Vásárolt már itt valaki?
És ha igen, akkor mi a tapasztalat? (Szállítási idő, minőség) -
válasz
Killer man #17044 üzenetére
Milyen ledet? Nem mindegy. Piros vagy zöld ledből 3-at sorba kötve összesen 10-15mA kell nekik. Mármint feltételezve, hogy 5V a tápfesz (és a magas jelszint).
-
válasz
Killer man #17041 üzenetére
Attiny88 van rajta ezek szerint? Az adatlapja alapján bírja a 40mA-t.
DC Current per I/O Pin ............................................... 40.0 mA
Mit szeretnél rákötni, ami ennyit igényel? -
Horv
csendes tag
válasz
Killer man #17041 üzenetére
Az adatlap alapján (206. oldal) a maximum 40mA, viszont ez okozhat kárt a mikrovezérlőben! Szerintem 20mA-t bátran használhatsz. Nagyobb áram esetében érdemes egy FET-et használni.
-
válasz
Killer man #17039 üzenetére
Sosem hallottam még ilyen nevű eszközről. Milyen uC van rajta?
Látatlanban azt mondom, hogy nem bír el 40mA-t. Az AVR-ek talán bírnak ennyit, de inkább sink módban, push módban asszem 27mA a max. Az esp-k még ennyit se, ott talán 17mA a max áram. -
Killer man
tag
Sziasztok! MH-ET Live panel-ről kérdeznék. 1 pin elbír 40 ma-t? Illetve jól tudom, hogy csak egy GND van rajta? Külső forrásról használnám.
-
válasz
Brain75 #17034 üzenetére
Túl konkrét vagy, az a baj.
Az eszköz gondolom egy játékvezérlő, a készülék funkciója pedig valamiféle csalás lenne.
A feladatot valószínűleg meg lehet oldani a fent említett usb host shielddel, és egy Arduino Pro micro-val olyan módon, hogy rögzíteni kell a gamepad jeleit a host shielden keresztül, a pro micro-val pedig egy másik gamepad-et emulálni. Némi késleltetéssel lehet számolni. -
Brain75
senior tag
A lényeg az hogy van egy USB-s eszköz ami működik PC-n és konzolon is.
Ez ad egy digitális jelet.
Ezen az eszközön egy gombnyomást kellene "lelopni" egy másik eszközre, aminek a funkciója csak az hogy ezt az egy gomnyomást emulálja.
Itt a probléma az hogy bele kellene "keverni" a rendes eszköz digitális adatfolyamába a plusz eszköz esetleges gombnyomásait.
Tehát olyan elektronikát kellene összerakni aminek van egy USB bemenete és kimenete is.Lehet hogy így kínai amit írok, de ez lenne a feladat és nem tudom mivel lehetne megvalósítani.
-
válasz
Brain75 #17032 üzenetére
Szia! Az első két bekezdés egyszerűnek tűnik, mintha egy tanítható infra távirányítóról lenne szó.
A gondok itt kezdődnek:
A jel USB-n jön és USB-n kell továbbmennie
Erről kicsit többet kéne tudni, mert elég sokféle jel közlekedhet usb-n, viszont Arduinoval csak egy részét lehet feldolgozni vagy emulálni. Valószínűleg szükség lesz egy olyan eszközre, amit pont kettővel feletted linkelt a kolléga. -
Brain75
senior tag
Sziasztok.
A következőben keresek segítséget.
Olyan áramkört kellene összeraknom, ami egy bejövő digitális jelet rögzít és utána egy gombnyomáshoz párosítja.Tehát, van egy bejövő digitális jel halmazom. Amikor egy vezérlőn megnyomok egy gombot, akkor az ugye megjeleni a digitális jelben. Nekem ezt a digitális jelet kellene rögzítenem és utána egy gombként emulálni, és a kimenő oldalon a digitális jelbe beilleszteni.
Mivel lehetne ezt megvalósítani?
A jel USB-n jön és USB-n kell továbbmennie.
Tehát magyarán egy bejövő digitális jhelben egy gombnyomás jelét letárolni és utána bármikor visszaadni beillesztve az átmenő digitális jelbe.Köszönöm
Üdv
-
dew28
aktív tag
válasz
DrojDtroll #17029 üzenetére
erre gondolsz?
-
DrojDtroll
veterán
Sziasztok!
Van ötletek hol tudnék itthon usb host shield-et venni nem 8-10e Ft környékén?
-
-
Ton-ton
tag
válasz
Janos250 #17022 üzenetére
Elvben grafikus programokhoz (inkább ablakosnak nevezném) találta ki a Microsoft.
Tehát hogy összekattintgass egy grafikus felületet...
S persze kizárólag az ő rendszerükön futott...
Így ha írtál egy jó kis programot, azt csak win-re tudtad fordítani, ezzel növelve a felhasználók számát, ami ugye nekik bevétel...Azóta előfordulhat, hogy kiadták más rendszerekre is, vagy mások megírták, nem követtem figyelemmel...
-
Ton-ton
tag
válasz
Janos250 #17014 üzenetére
A tálca benn marad. Egyik oldalról a robotkar tud dolgozni, a másik oldalról lehet cserélni a tálcát.
Mondjuk a tálcák elkészítésén még agyalok...
Elsőre 3D nyomtatásban gondolkodtam. Azonban ABS-ből kellene nyomtatni, azt pedig az olcsó nyomtató nem kedveli...
Így kinyomtatom sima PLA-ból. Majd ha jó a méret, akkor erről veszek pár szilikon formát, és kiöntöm műgyantából (némi üvegszál erősítéssel). Kb. 20%-al drágább, de biztosan elbírja a terhelést, és egyszerre készülhet 4-5 darab...Sajnos az y vezérlés és kar forgatása nem jó. Nehézkessé teszi a szerkezetet... (Nehéz a keret amit emelni kell, tehát lassú)
Marad a scara...
Ennek a vezérlése sem vészes. Egy lapon max 1200 alkatrész van. Összesen úgy 10-15 alkatrészféleség van. Ennyit kézzel is le lehet "programozni". S mivel nem tudtam kiszámolgatni mekkora szögelfordulásra van szükség, írtam egy kis php scriptet. Ez csak annyit csinált, hogy kiszámolta adott szögelfordulásra (szög elfordulásnak a léptetőmotor szögelfordulásának egész számú hányadosát adtam meg) adott kar hosszal a kar végét.
Egy képre oda tett egy pöttyöt, majd ment tovább...
Lefutott 1,5 perc alatt. Kb. 10 próbáljozásból meglett a karok hossza, és hogy mennyivel kell leosztanom a léptetőmotort. :)
Az alkatrészek középpontját megadva, szerintem meg is lesz a szükséges "adatbázis"...
(Ok, megoldja a gép 1-2 perc alatt, de legalább fél nap míg megírom... :) ) -
Janos250
őstag
Most akadtam erre a cikkre. Szerintetek van valami előnye, ha nem C++ -t , hanem C# -ot használunk? Én nem találtam, de nem sikerült teljesen átlátnom a témát.
https://csharptutorial.hu/c-kod-futtatasa-esp32-mikrovezerlon -
válasz
razorbenke92 #17020 üzenetére
Köszönöm, így világos!
És ez a benne maradt megnyúlás hogy befolyásolja a mérést? -
Mutatok képet, másról - érthetően, a szóban forgóról nincs. De majd behozok a melóba egy MPU modult és meglövöm azt is.
Amit látni ezen, az egy QFN16-os tokozás röntgenképe. A hűtőlapra általában gyártói előírás van, ami az IPC-t felülírhatja. Ebben általában két dolgot határoznak meg: teljes zárvány (void) százalék, és maximális egybefüggő zárvány százalék.
Ha nagy/sok a bubi, az jelentősen rontja a thermal-pad hőleadó képességét, így olyan esetekben kritikus ez, amikor jelentős disszipációt végez a chip.
Az MPU mems szenzorai ezzel szemben nem fejlesztenek sok hőt. A baj azzal van, hogy a thermal-pad a leadframe része, gyártás közben erre rögzítik a szenzort. A csatolt képen látod, hogy a "sarkokba" kinyúlik, de a lábakkal nincs összeköttetésben.
Emiatt, ha a lábakat leforrasztod, akkor az epoxy tokozás kevésbé adja át a gondot a MEMS-nek.
Viszont, ha leforrasztod a hűtőlapot, akkor lehűlés közben a forrasz kb. 200 foktól mereven tartja a felületet, amiben még bennevan a hőtágulásnyi alakváltozás. Amikor lehűl, akkor nem tudja felvenni a hideg méretét, marad benne egy kis "megnyújtás".
Ekkora méretekben a hőtágulás persze elképesztően kis méreteket ölt, de a benne lévő MEMS léptékeivel óriási számokról beszélünk.Szerk.:
Az Invensense előírások az MPU-t fogadó PCB-re. Harmadik oldal közepén keresd az "exposed die pad" részeket. Nem hogy leforrasztani nem szabadna, de még copper layert alárakni sem. [link] -
válasz
razorbenke92 #17018 üzenetére
"5% void limittel engedik át a röntgenes vizsgálaton."
Ez mit jelent?A statikus feszültség pontosan mit okoz a tokon belül?
-
Kedvencem ezekkel az MPU chipekkel, hogy a hasuk alatti thermal-pad-re kiköti az invensense, hogy tilos leforrasztani, mert lehűlés után statikus feszültséget okoz a tokozásban.
Na ehhez képest 0, azaz 0 olyan MPU modullal találkoztam a piacon, ahol ne forrasztották volna le.
Hova tovább, egyszer egy csillió dolláros hadiipart kiszolgáló cég bérgyártóinál dolgoztunk, és a munkám végzése közben véletlenül felismertem az MPU egyik chipjét a quality checklisten. (Csak a helyzete és a PCB footprint alapján felismertem, kombinálva azzal, hogy volt sejtésem róla, hogy mibe építik.)
Felröhögtem, amikor megláttam, hogy nemhogy forrasztják, de 5% void limittel engedik át a röntgenes vizsgálaton. Odahívtam a qualitys mérnököt, és mondtam neki, hogy tegyünk úgy, hogy ezt nem én mondtam - mert amúgy nem lett volna szabad másra sem bámészkodnom, mint amiért odamentünk, nemhogy még kitalálni mi az és milyen IC-ket használnak rajta - de menjen, és szóljon a feletteseinek, vagy akinek akar, és mutassa meg az Invensense PCB design guideline doksiját nekik. Mókuska elment, majd az iroda ahová bement hangyabollyá változott 5 percen belül -
Ez az a library, ami felhekkel egy bináris kódot az IMU-ra indításkor? Én játszottam egy időben sokat vele, és a raw értékekkel nem érdemes vesződni, hagyd, hogy a DMP dolgozzon! És igen, idő kell neki, hogy megálljon a drift, attól függően, hogy mennyire találod el az alap kalibrációs értékeket, 1-5 percig is tarthat. A rossz hír, hogy pontosan sosem fogod eltalálni, mert mindentől függ, főleg a chip hőmérsékletétől, ami meg ugye bekapcsolástól kezdve folyamatosan változik, a környezet hőmérsékletétől függően. Próbáld ki, ha kézbe veszed és az ujjaddal elkezded melegíteni, rögtön elkezd driftelni.
-
MPM
tag
Lenne más kérdésem is, ami leginkább Aryes fórumtársnak szól:
Korábban volt már szó az MPU 9250-es IMU-szenzorról, amit a JRowberg-féle i2cdevlib könyvtárral célszerű használni. (A 9250-es könyvtár félkész állapotban van, de a 6050-es és a 9150-es könyvtárak is jók hozzá).
Na most ott akadtam el, hogy nem tudom beállítani az offseteket. Két fajta példakód van: van a nyers (raw) és van a feldolgozott (DMP) adatokat adó szkeccsek. Ha nyugalmi állapotba, vízszintes pozícióba teszem a szenzort és kiolvasom a nyers gyorsulásokat és szöggyorsulásokat, akkor látom hogy mind a 6 mennyiségnek van egy saját offsetje. Na most, ha beadom kezdetkor offsetnek ezeket az értékeket (megadott skálázással, amiknek az értékeit megtaláltam más fórumokban) akkor a szöggyorsulások szépen beállnak 0 környékére, viszont a gyorsulásértékek maradnak az eredetiben, egyáltalán nem változnak.
Nem tudom eldönteni, hogy én rontok el valamit, vagy 2 szenzor is hibás, mert egyiknél se tudom így bekalibrálni a gyorsulásokat, más fórumokon pedig azt írták, hogy ezeket is ugyanígy kell, mint a szöggyorsulásokat, amik valóban működnek. Az enyémhez hasonló problémát pedig nem találtam. (Ja igen, és tudom hogy z irányban nem 0 kell, hanem az 1G-hez tartozó érték.)
Egyébként ugye a DMP-s kód kalibrál önmagán, és így annál más offset értékeket olvasok le, a gyorsuláshoz, mint a nyersnél, de ez is értelmezhetetlen, és általam beállított offset itt se változtat semmin.
Van ötlet mi lehet a probléma? (A szenzor egyébként mér, mert a mozgatással összhangban változik a leolvasott érték.) -
MPM
tag
#16551And és #16552 gyapo11: Így több mint két hónap után köszi a felvilágosítást!
Esetleg valami könyvet/irodalmat tudtok ajánlani, ami ilyen (leginkább DC) áramköri elemekről ír, és az ilyen gyakorlati problémákra is felhívja a figyelmet, meg hogy milyen jelenségekre kell figyelni tervezéskor meg hasonlók? -
-
Ton-ton
tag
válasz
Janos250 #17011 üzenetére
Nos csupán reménykedhetem, hogy más nem fedezi fel...
Picit félreértettél. A legfontosabb a korrekt működés, s persze a gép költsége sem mellékes.
Egy csavarbehajtónál is a megbízhatóság, és hogy kézreálljon a lényeges szempont. Hogy az szürke, narancs, vagy fekete színű, egyáltalán nem foglalkoztat. (Mondjuk kb. 8 éve negyedáron adtak rózsaszín Makita csavarbehajtót, azt már azért kihagytam... :D )
Itt sem lényeges, hogy tetszen.Igen, az y vezérlés egyszerűbb. Gondolkodtam ma ezen.
Azonban picit módosítanom kell, mivel nem áll rendelkezésemre egy üzemcsarnok ehhez... :)
Tehát egy polc szélességű kar, amit 180 fokkal el tudok forgatni. Így relatív rövid a kar, és egyszerű marad a vezérlés is. Ami mindenképp mellette szól, hogy alacsonyabb mint a xsara kar (függőlegesen közelebb lehetnek a "polcok", ami kezelés szempontjából lényeges.)
Bár még más megoldást sem vetettem el teljesen...
Tehát kísérleteznem is kell... -
Janos250
őstag
válasz
Ton-ton #17006 üzenetére
"Sikerült találnom egy piaci rést"
Az jó, csak ha 2-3 évbe telik, mire megcsinálod, nehogy más előbb megcsinálja, és befurakodik abba a résbe.
Nekem is volt fiatal koromban, hogy amikor megtaláltam egy rést, addig szerencsétlenkedtem, míg más furakodott be abba a résbe!Egyébként, a több választható megoldás közül természetesen azt válaszd, ami neked kedvesebb, mert annak elkészítéséhez nagyobb lelkierőd lesz, és az nagyon fontos!
Hajrá, akár ilyen, akár olyan megoldással. -
vegyszer
addikt
válasz
Janos250 #16988 üzenetére
Én most egy egyszerű projekthez vettem két M5Stack M5StickC PLUS - t a banggood oldalán 20$ volt darabja. De 4 hét alatt se adták még fel.
Az egyikből Canon EOS M50 fényképezőgép mellett lesz távirányító (intervalometer). Mert a kis kínai kispórolta a megszokott 2.5mm-es jack dugót, csak Bluetooth/Wi-Fi irányítása van.
Szerencsére van rá komplett megoldás, csak rá kell töltenem. BR-M5: An open-source Bluetooth Remote for Canon DSLRs -
vegyszer
addikt
válasz
Janos250 #17007 üzenetére
Én ezt a koordináta transzformációt Descartes koordinátákból belső koordinátákra molekulák számolása esetén követtem el, majd 20 éve. De rég is volt...
Egy ezer karakteres feladványomon a PC-m egy hétig csámcsogott. És bosszúból 5 TXT fájlban negyed gigabyte adattal válaszolt. -
Janos250
őstag
válasz
Ton-ton #17006 üzenetére
Nem erőltetem, te látod át az egészet, csak érveket mondok. Ha csuklós karral végzed, akkor is ugyanannyit kell ott tölteni. Persze biztosan vannak a robotkarra is bevált, kidolgozott, publikált megoldások, hogy hogyan lehet transzformálni X,Y,Z-ből a kar nagyjából polár koordinátaira, hiszen a robotkar már régóta alkalmazott megoldás. Ezt a részét nem ismerem, lehet, tényleg egyszerű.
-
Ton-ton
tag
válasz
Janos250 #16999 üzenetére
Köszönöm.
Még gondolkodom rajta. (Gép méreteit, kezelhetőségét, és hasonlókat is figyelembe kell venni.)
Így elsőre az a gond azzal amit írsz, hogy arra a lapra amire az alkatrészeket gyűjti elég hosszú úton jut el (a polc szélén lévő alkatrésszel sok ideig dolgozik). De még átgondolom.
Új hozzászólás Aktív témák
Hirdetés
- Formula-1
- Eredeti játékok OFF topik
- Milyen okostelefont vegyek?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Fire/SOUL/CD: INGYENES Clone és Backup-Restore alkalmazások tesztje [2024]
- One otthoni szolgáltatások (TV, internet, telefon)
- Elemlámpa, zseblámpa
- Bluetooth hangszórók
- Milyen billentyűzetet vegyek?
- Trollok komolyan
- További aktív témák...
- SZÜNETMENTES TÁPOK
- Apple Watch SE 2 44mm, Újszerű, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- Intel Core i7-8700, i7-9700 CPU, processzor - Számla, garancia
- BESZÁMÍTÁS! Asus TUF B550M R7 5700X 16GB DDR4 512GB SSD RTX 3060 Ti 8GB Rampage SHIVA FSP 700W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest