Fórum témák
» Több friss téma |
Sziasztok!
Lenne egy gyors kérdésem! ADott egy int16_t változó , és ezt ki akarom lökni uarton a pcre! Valaki tud nekem valami okosat mondani? Mert én nem tudom minidg ilyen összevissza kricckracc jön fel
Szia!
Byte-onként küldd át és a helyszínen ( a vétel után! ) rakd újra össze ! Steve A hozzászólás módosítva: Márc 11, 2013
Változót nem tudsz kiküldeni soros porton, csak karaktereket. Úgy, ahogy a papírra is leírnád a szám értékét: Előjel, tízezresek, ezresek, százasok, tízesek, egyesek. Vagy négy hexadecimális számjegy...
Igen sejtettem, akkor keresek valami tiny printf-t , De azért köszönöm szépen
Idézet: Nem kell túlbonyolítani, egy itoa() függvény is megteszi. Bővebben: Link „keresek valami tiny printf-t”
szia!
Persze megfelelő áramkört ha raksz mellé. De a többiek jobban tudják .
Persze, hogy működik. De ha visszalapoznál, találnál egy-két projektet ahol nem a LP-ban van a MCU.
A RESET lábat húzd fel egy 47k-s ellenállással, vagy old meg szoftveresen, és már megy is. Természetesen a digitális áramkörökre vonatkozó szabályok betartásával!
Szitko neked a gyro-d milyen "pontosan érzékel"? Ilyenre gondolok , pl 2000fok per másodperc meg stb
+-100deg/s. Analóg jelet ad ki, 0,67mV/deg/s, a referencia fesz 1350mV.
A program egyik fontos eleme, a válasz idő, mely ennél a gyro-nál 200Hz 90 fokos eltérés esetén. Ebből ki lehet számolni a lekérdezés ciklusidejét. Ha a segway-ről van szó!
én csak egy kis buta egyensúlyozó pici robotot akarok építeni most bírtam működésre az én gyromat. még csak a nyers adatok jönnek, csak érdekelt , hogy a tied milyen érzékeny mert elég jól megáll a lábán. most nekem 2000deg/s van megadva és 4g gyursulás. még játszadozok vele majd felrakom a kódot ha szebb lesz.
Sziasztok.
Egy kicsit bizonytalan vagyok. Összehoztam egy egyszerű fordulatszámmérőt, de nem vagyok benne biztos, hogy jól számoltam-e. A hardverről csak annyit, hogy egy CD-ből kioperált motorra ragasztottam egy mágnest, és elé raktam egy HALL szenzort (TLE4905), és a jelét egy ellenállás osztón keresztül kapja meg a g2231 capture modulja. (természetesen 100nF-al szűrve) Beállítottam a motor fordulatszámát ~6000-re, de szerintem nem forog annyit a motor. Hogy tudnám azt leellenőrizni, hogy jó-e a mért értékem? Prog:
A hozzászólás módosítva: Márc 12, 2013
Oszcilloszkóp?
Led-es stroboszkóp ( trafóval, 50 Hz-re ) ? Steve
A szkóp, és a frekimérő is ugyanazt írja mint a program. Tehát elméletileg a program jó?!, csak szerintem a motor nem forog 6000-et. Stroboszkópom nincs, csak egy ilyenem, de ez megbízhatatlan.
Egy LED-et rákötsz egy trafóra, akkor jó közelítéssel 50 Hz-el villog !, azzal meg tudod nézni a 3000-es és a 6000-es fordulatot !
Ezt most nemigazán értem. Mitől fog biztosan pl. 3000-et forogni a motor? Vagy nem is arról van szó, hanem a freki mérésről? (Reggel jöttem haza a munkából, és nem hagytak aludni, ezért lehet, inkább biztos, hogy egy "kicsit " nehéz a felfogásom.)
Ragassz a motor tengelyére egy fehér szig.szalagot, amit megvillogtatsz a LED-el. Mivel a hálózati frekvencia elég jó közelítéssel 50 Hz, ez másodpercenként 50 villanást jelent, ami azt jelenti, hogy ha a motor percenként 3000-et fordul, akkor minden fordulatnál látsz egy villanást ( azaz 1 db "álló" szig. szalagot !) ! Ha a fordulat ennél kisebb vagy nagyobb, akkor más-más pozíciókban kapja a villanást --> több csíkot látsz! Ha a motor fordulatát alacsony fordulatról emeled, akkor az első 1 darabos állójelet 3000 1/min-nél láthatsz, másodszor ilyet pedig a dupla, azaz 6000-es fordulatnál!
Remélem lebírod követni a "bagolyüzemmód" után ?!
Ba...us! Magyarul, csináljak egy stroboszkópot. (Lehet, hogy neki se kellett volna állnom ennek ma.)
Köszönöm szépen a segítséget!
Nincs mit, de nem olyan nagy dolog, a pákatrafódról elmegy !
Van 20-30 ilyen olyan trafóm. Azzal nincs gond. A pákatrafóhoz meg nem férek hozzá, mert be van öntve, a kivezetéssel együtt. Egy nagy műanyagdarab az egész. (ERSA i-CON pico)
Működik! (Mint ahogy a Ladán a gyújtást állítottam)
A szkóp, a "frekimérő", és a g2231-es is pontosan 50Hz-et mért, és ekkor a fordulat 299x10-301x10 között ugrált, a fehér szigetelőszalag, meg állt mint a cövek. A g2231-es SMCLK frekit megmértem, (0.981MHz) és a mért értékkel számolt a program. Most megpróbálom úgy megcsinálni, hogy visszavezetem egy másik capture modulba az SMCLK órajelet, és néha megméri a program. Így talán a hőmérséklet változása miatti frekiváltozást is tudom korrigálni, amire a megfigyelésem szerint nagyon kényes a g2231. Még egyszer köszi! Idézet: Minek ki- és bevezetni azt, ami már eleve benn van? Egyébként mihez viszonyítva szeretnéd ellenőrizni? Csak a 32 kHz-es órakvarchoz lehetne... „Most megpróbálom úgy megcsinálni, hogy visszavezetem egy másik capture modulba az SMCLK órajelet”
Benn, hogy tudom megmérni az SMCLK órajelet?
Idézet: „Egyébként mihez viszonyítva szeretnéd ellenőrizni?” Ez jó kérdés. Ezt megint nem gondoltam végig. Idézet: Számlálással (ökölszabály: nagyfrekvenciát számlálással, kisfrekvenciát periódusidő méréssel). A kérdés csak az, hogy mihez képest... „Benn, hogy tudom megmérni az SMCLK órajelet?”
Sziasztok.
Ismét akadt egy kis problémám, de ez nem teljesen MSP430. A gyönyörű szépen működő "kazánvezérlő"-ből ma, kíváncsiságból kiolvastam az EEPROM-ban tárolt adatokat, ami szintén jól működik. (pedig a két bluetooth között kb. 20m van) A gondom a következő. A Processingben íródott program így menti el az adatokat: Idézet: „ 30 6 13 3 13 20 32 21 32 21 32 20 32 21 32 20 32 20 32 20 31 20 31 20 31 20 31 20 31 20 30 20 30 20 30 20 30 20 30 20 30 20 30 20 30 20 30 20 30 20 29 20 29 20 29 20 29 20 29 19 29 19 29 19 29 19 29 19 28 19 28 19 28 19 28 19 28 19 28 19 28 19 28 19 27 19 27 19 27 19 27 19 27 19 27 19 27 19 27 19 26 19 26 19 26 19 29 19 33 19 35 19 37 19 40 19 42 19 45 20 48 20 49 20 51 20 255 255 19 18 13 3 13 20 52 21 53 21 59 21 73 22 83 22” A gond vele az aláhúzott, kiemelt számoknál van. Amikor be akarom hívni az adatokat a fájlból, megjelenítés céljából, akkor a program leáll, és hibát ír, de ha a számok elé rakok egy nullát akkor minden jól megy, és megjelenik a grafikon (lásd kép). Hogy tudnám azt megcsinálni, hogy az 1 és 9 közötti számok elé rakjon egy nullát? A számok értelmezése: 1=perc, 2=óra, 3=nap, 4=hónap, 5-6=év, 7- hőmérsékletek. Idézet: Ezt a "behívást" kellene közelebbről megnézni, mert láthatóan nem az adat hibás. „Amikor be akarom hívni az adatokat a fájlból, megjelenítés céljából, akkor a program leáll, és hibát ír”
Az írás és az olvasás:
Szerintem meg az adattal, illetve a fájlba írással van baj, mert ahogy írtam, ha van előtte nulla nincs baj: Idézet: „30 06 13 03 13 20 32 21 32 21 32 20 32 21 32 20” Ebben a sorba:"file.write(inbyte[i] + " ");" az " " jel közötti két szóközt, az átláthatóság miatt raktam be.
Ezeket a sorokat kellene átgondolni. - A sor hosszát mennyinek állítottad be? Lehet, hogy itt a bibi... - A szövegből számmá alakítás biztos, hogy jó így? S a nums milyen típusú lesz így? Float-tal kinódtam a múltkor, s nekem csak akkor volt hibátlan a konverzió, ha előbb split()-tel szétdaraboltam, majd egyenként konvertáltam float()-tal. Idézet: Nézőpont kérdése. De szerintem az nem normális, ha értéktelen nullákat kell kiírni. Ennek íg azért sincs értelme, mert nem azonosak a mezőszélességek (volt 3 karakteres számod is). „Szerintem meg az adattal, illetve a fájlba írással van baj” A hozzászólás módosítva: Márc 14, 2013
|
Bejelentkezés
Hirdetés |