- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
- Kapnak egy rakás reklámot a Roblox játékosai
- ArchiCAD és Artlantis topik
-
IT café
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
-
tvamos
nagyúr
válasz DrojDtroll #2748 üzenetére
Ha egy csatornán kezeled a felfutó éleket, akkor 400Hz. Ha mindkettőn mindkét élet, akkor 1600Hz. Én nem hiszem, hogy ez gond lehet. Megszakításból csinálnám...
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Janos250
őstag
válasz Teasüti #2733 üzenetére
Nem tudod csak úgy "felemelni". Nincs 12V-os mikrokontroller.
Helyette az Arduino lábával egy "villanykapcsolót" tudsz kapcsolni, ami be- illetve kikapcsolja a 12V-ot.
A "villanykapcsoló" relé, illetve FET.
FET-ből az IRL típusjelűek általában megfelelőek.
[link]
http://www.hqelektronika.hu/hu/category/tranzisztor_fet
Kulcsszó legyen IRL.
vagy ebay.
Reléből ebayen olyat is találsz, amit az Arduino tud kapcsolni.
Itt egy alapszintű leírás:
http://kkft.bme.hu/~johnny/Diplomamunka_OcskoSzabina_2011.pdf
30, 34. oldal
14, 18. ábra
Itt a PIC helyére gondolj Arduinot![ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Teasüti
nagyúr
válasz Janos250 #2753 üzenetére
Köszönöm!
A kimenet egyszerű. A digitális bemenetre is relét tervezek (12V behúzza a relét, ami kapcsolja a deszka 5V és pin2-13 lábait), hacsak nem indokolja vmi a bonyolult megoldást (optocoupler és pár ellenállás).
Az analóg bemenetre nincs megoldásom még, azon hogy lehetne 0-1x Volt közti feszültséget mérni?[ Szerkesztve ]
-
Gergosz2
veterán
válasz DrojDtroll #2752 üzenetére
Én úgy csináltam. Ha jött egy megszakítás, akkor növeltem egy változót , loopban pedig X ms elteltével fordulatszámot számoltam belőle.
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
-
fpeter84
senior tag
válasz Teasüti #2754 üzenetére
Szerintem ne relékben gondolkodj, nettó önszivatás - lassú, zizeghet (prell), csattog, fogyaszt, drága - félvezetőkkel sokkal egyszerűbb megoldani, de tényleg!
Kimenet: a fogyasztó pozitívja fixen a tápon (biztosíték persze kell valahová), a MOSFET pedig földre húzza és ezzel kapcsolja be
Ha egyéb félvezetős áramkört akarnál bekapcsolni arra nem feltétlenül használható, mert ha valami egyéb bekötésén keresztül kezd földelni az minimum parajelenséget okozhat, de akár tönkre is mehet. De LED/izzó/relé/motor stb stb ilyesmik kapcsolására ideális mert minimális a szivárgó áram, alig melegszik...
Digit és analóg bemenet: a kulcsszó a feszosztó! 2 ellenállás az egész, itt van egy kalkulátor hozzá... Ha autóról, vagy valami más külső jelforrásról van szó akkor ajánlott még 2 schottky-t is betervezni - ezek megeszik a túlfeszt, tüskéket...
Izolált digit bemenethez pedig opto:
A felhúzó ellenállás az arduinok bizonyos lábain el is hagyhatóak, mert van bekapcsolható belső felhúzó rajta...
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz fpeter84 #2757 üzenetére
Még úgy se éri meg relézni a bemeneten, ha csak kapcsolónak kell? Teszem azt figyelni egy világító berendezés bekapcsolását. Ehhez mindegy, hogy lassú, vagy csattog. A drága meg relatív, mikor 4 db Schottky diódáért elkérnek több, mint egy fontot...
Ebay-en se filléresek sajnos.[ Szerkesztve ]
-
fpeter84
senior tag
válasz Teasüti #2758 üzenetére
A relét se ingyen adják, sőt!
Egyébként első nekifutásra ezeket találtam: [link], [link] - kínából nyilván olcsóbb, csak arra többet is kell várni
Nincsen egy elektronikai alkatrészbolt a közeledben? Úgyis kellhet még sokminden - ellenállások, kondik, ilyesmik - nem tudom mit kapsz a starter készletben...
Egyébként digitális bemenetnek az opto-s leválasztás a legegyszerűbb... [link] - ehhez már csak egy soros ellenállás kell a bemenő oldalra - kb 0.68-1K 12-14V mellett
szerk: az még lemaradt hogy kimenet esetén a reléből csak a legkisebbeket tudná meghajtani közvetlenül a uC lába, de oda is kell 1 schottky mert a tekercs hajlamos nagyfesz tüskéket generálni ami kiütheti az egész procit. Átlagos autós relét már nem is tudna behúzni, ahhoz mindenképpen kell az előzőekben linkelt N-MOSFET vagy tranzisztoros (a FET jobb, kevesebb a szivárgó áram, nagyobb a terhelhetősége, kevésbé melegszik) kapcsolás + schottky a relével párhuzamosan. Ilyen paneleket egyébként lehet kompletten is venni 1-2-4-8 relével - ezeken elvileg rajta van minden [link]
[ Szerkesztve ]
-
távcsőves
senior tag
Üdv mindenkinek!
Kérdésem lenne. Arduino UNO ISP használható lenne Atmel Studio programmal pl ATtiny13a-hoz kód feltöltésre? Vagy, ha Atmel Studio-t szeretnék használni mindenképp vennem kell programozót? Ha igen, melyik az ami szükséges? (Ár nagyon fontos, abszolút hobby célok. Ezért is kezdenek érdekelni ezek az apróságok, mert pl Arduino Pro mini is overkill az én kis projektjeimhez.) Szintén ehhez kapcsolódik még egy kérdésem, Atmel Studio-ban készített kód kisebb méretű-e, mint az Arduino IDE-vel készített kód?
Elnézést, ha nem jó helyre írtam, de nem találtam kimondott Atmel fórumot. Válaszokat előre is köszönöm!
-
Teasüti
nagyúr
válasz fpeter84 #2759 üzenetére
Ahhoz, hogy megértsem a lehúzó ellenállás létjogosultságát, ahhoz ismernem kéne a digitális áramkörök lelki világát? Hiába kutakodok a neten, még nem leltem kielégítő válaszra, hogy tényleg megértsem. A működése se nagyon érthető, hogy lehúzza a földre, mert az "közelebb" van, meg hasonló magyarázatok. Meg a high/low inverz mibenléte...
Ugyanez a feszültségosztónál: miért kell tovább vinni a földre a második ellenállással az áramot? Ahelyett, hogy csak az első ellenállásom volna meg utána az alacsonyabb feszültségű áramkör, amibe be akarok csatlakozni.
Vagyis a leágazást nem értem a földre, ahelyett, hogy egyetlen ellenállással menne tovább elágazás nélkül.Meg a projektekben sem értem, hogy miért kell a mindenféle speciális ellenállás és kapcsoló után lehúzó ellenállás ahelyett, hogy közvetlen az analóg bemenetre kötnénk az 5V-ot? Tehát 5V -> kapcsoló/szenzor -> bemenet. Ez így miért nem jó? Vagy ha az 5V-ot ha közvetlen rádugom a bemenetre? Mi azzal a baj? Azt hinném mér rajta egy 5V-ot az ADC, aztán mindenki örül.
Köszönöm!
[ Szerkesztve ]
-
tvamos
nagyúr
válasz Teasüti #2762 üzenetére
Ahhoz, hogy megértsem a lehúzó ellenállás létjogosultságát, ahhoz ismernem kéne a digitális áramkörök lelki világát?
A Kirchhoff-törvényeket kéne először!Tehát 5V -> kapcsoló/szenzor -> bemenet. Ez így miért nem jó? Vagy ha az 5V-ot ha közvetlen rádugom a bemenetre? Mi azzal a baj? Azt hinném mér rajta egy 5V-ot az ADC, aztán mindenki örül.
Ne hallgass senkire! Próbáld ki, és meglátod.[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
fpeter84
senior tag
válasz Teasüti #2762 üzenetére
Fel/lehúzó ellenállás: anélkül "lebeg" a láb amikor a kapcsoló nyitva van - nem garantálható hogy tényleg 0 vagy 1 lesz rajta, viszont egy pár K ellenállással biztosra lehet menni. Az ATMEGA328P doksijából ki kellene túrni hogy minden lába tudja e, de elvileg van olyanja hogy szoftverből bekapcsolható internal pull-up, tehát az adott láb biztosan logikai 1-re kerül, a kapcsolóval meg földre lehet húzni - így elkerülhető a plussz alkatrész. (kivéve a prell/bounce jelenség, de ez még ráér)
Feszosztó: a feszosztó az 2 ellenállás, 1-el csak áramot tudsz korlátozni, de az adott kötési mód a bejövő feszültséget is arányosan letöri. Most csak hasraütésből - ki kéne ezt is túrni a manual-ból - de úgy 2-3V-tól már biztosan logikai 1-nek tekinti olvasáskor a digit láb állapotát. Tehát ha mondjuk az autóból érkező 12-14V-os jelet szeretnéd detektálni, akkor R1=100K, R2=33-47K, akkor a lábra érkező jel biztonságosan mindig a 3-5V-os tartományba fog esni...
Közvetlenül egybként akkor sem illik összekötni 2 áramkört, ha egymástól független tápról mennek. Pl ha 2 arduino beszélget egymással sorosporton vagy akárhogy máshogy, akkor illik a lábak közé berakni egy-egy soros 1-10K ellenállást, különben ha egyik oldalt kikapcsolod, akkor a digit lábon keresztül próbálhat egy kis áramot szipkázni magának a másiktól. Elég bolondbiztosra tervezték ezeket a kontrollereket, leginkább csak jelentős túlfesszel lehet kárt okozni bennük, de ez nem boldogít ha a tiéd éppen mégis megsérül...
"Ilyenből szokott sokat tanulni az ember"
Na ja, amikor véletlenül követed el a hibát, és már napok óta szívsz vele hogy miért nem azt csinálja amit vársz tőle...
-
bacus
őstag
válasz Teasüti #2762 üzenetére
pedig ez sem bonyolultabb mint a tasker , az időjárás taskod évek óta használom.
A lényeg, egy digit bemenet ne tudjon lebegni, ezért vagy le kell kötni a földre, vagy fel 5V-ra. Így, ha máshonnan nincs semmi jel, akkor is van határozott bemenete. Ne feledd, itt nem jó a nem értelmezett tartományba engedni egy bemenetet.
Nézzünk egy lehúzó ellenállásos példát. Adott egy bemenet, amire egy gombbal kapcsolsz 5V-t.
Amikor lenyomod a gombot, a bemenet határozottan 5V lesz, hiszen a gomb egy rövid zár. De mi van, ha nem nyomod a gombot? Akkor "lóg" a levegőbe, és ki van téve sok mindennek (csernobiltól barátnő hisztije), és hol 1V lesz rajta, hol 4V, hol 0V. Olyan ez mint egy nem inicializált változó, aminek nem adsz értéket, lekérdezed, számolsz vele és nem várt viselkedést kapsz. Itt jön képbe a lehúzó ellenállás, egyszerűen a bemenetet lekötjük a földre. Azért kell az ellenállás, hiszen a gomb lenyomásával nem szeretnénk a tápot rövidre zárni. Ezen az ellenálláson gomb lenyomása alatt áram folyik, Ohm bácsi akinek azért elég széles körben ismert a törvénye meg is határozta az összefüggést, ami alapján számolható.
A gomb felengedett állapotában az ellenálláson nem folyik áram (amíg bemenetnek van deklarálva a láb, meg amíg belül van még a füst az ic-ben, mert ha már kiszabadult onnan, akkor ez nem feltétlen igaz)Egy szó mint száz, az ellenállás meghatározásához figyelembe kell venni, hogy mennyi áramot akarunk átfolyatni az ellenálláson, ezt bírnia kell a tápnak, a kapcsolónak, a vezetéknek, és persze az ellenállásnak is. Nem érdemes sem túl kicsire méretezni, sem túl nagyra. Ha nincs kedved számolni, akkor 5V nál használj 10KOhmost.
Azt, hogy mikor le, mikor felhúzó ellenállást kell alkalmazni, az függ, hogy mi legyen pl az alapértelmezett bemenet. Ha gomb nyomáskor 0V-t akarok, akkor felhúzó kell, alapértelmezett 1 lesz, mikor nem nyomod a gombot. Vannak alkatrészek, pl egy 3 lábú hőmérő ic, aminél megmondja a gyártó, hogy a digit lábat fel kell húzni 5V-ra, hogy működjön..
Az analóg bemenethez nem feltétlen kell le v. felhúzó ellenállás, ez függ attól amit rákötsz. Ott nincs nem értelmezett szint, de ott sem jó, ha nincs jel !
A feszültség osztóhoz minimum elő kell venni egy 8. osztályos fizika könyvet és átlapozni soros, párhuzamos, vegyes kapcsolás, eredő ellenállás. Röviden: Adott egy egyszerű soros áramkör, amire feszültséget kapcsolva, az áram megindul, átfolyik mindkét ellenálláson. Megint csak Ohm bácsi tv szerint számolható, hogy adott ellenálláson mekkora feszültségek lesznek, de a sorba kapcsolt ellenállásokon eső feszültségeket összeadva megkapod a rá kapcsolt feszültséget, mondhatjuk fordítva is, hogy a rá kapcsolt feszültség megoszlik az ellenállásokon.
Miért kell két ellenállás? Az egyszerűbb válasz, hogy nem kell minden esetben. Az áramkörödnek (annak a résznek amit így bekötsz) is lesz egy ellenállása, ha ezt ismered, akkor a másik ellenállást ehhez méretezve is lehet feszültséget osztani. Példa, az áramköröd (fekete doboz, nem tudjuk mi az) 10KOhm ellenállású, 6V-t szeretnél rákapcsolni a 9V-os elemről. 5KOhmot sorba kötsz, feszültség megoszlik, áram folyik, happység van, a 9V táp 15KOhmot kap, le tudja adni az áramot elég tartósan, nem melegszik, stb.Általában azonban nem így van ! Egyrészt nem tudod az ellenállást, másrészt pl egy arduino bemenete nem úgy működik mint egy rezisztiv rész, pl egy analóg bemenetre akarsz adni 2-3V-t (ezt akarod tudni, hogy mekkora, de nem akarod, hogy ott áram folyjon). A csak sorba kötsz egy ellenállást, akkor oda igen nagy ellenállást kell sorba köss, és ráadásnak maga a bemeneti fesz sem lesz stabil, stb.
A párhuzamos kapcsolásnál, ha a két ellenállás nem egy nagyságrendbe esik, akkor bár a feszültség esés ugyanakkora a nagyobbik ellenálláson nagyságrenddel kisebb áram folyik, ami azt jelenti, hogy ez többé kevésbé elhanyagolható. (100x aránynál ugye 1% lesz). Nos ebből kifolyólag a méretezésnél nem foglalkozol vele, tisztán rezisztiv alkatrészekkel méretezed a feszültség osztót, majd a bemenetre kötöd az így osztott feszültséget, ami azonnal beleszól mindenbe, de jó méretezésnél csak 1% eltérés lesz...Kössünk egyezséget, megegyezős egyezséget... https://www.paypal.me/engiman/30
-
v2_rider
tag
Sziasztok.
Szeretnék némi infót. A terv az lenne, hogy egy 1-5V analóg jelet kiadó szenzor jelét kellen feldolgozni. Ez a jel viszonylag gyorsan változik, mondjuk 1000 hz-es. LCD kijelzőn szeretném az idő és amplitudó diagramot megjeleníteni. Milyen cuccokat lenne érdemes rendelni? Nyilván az analóg szenzor az adott, csak a döbbi cuccra lennék kíváncsi. Előre is köszi. -
Teasüti
nagyúr
válasz Gergosz2 #2764 üzenetére
Fpeter84:
Olvastam a lebegésről, ez ugyanaz a jelenség, mikor a PWM kimenetre mérnek rá multival terhelés nélkül és mindig közel 5V-ot kapnak eredményül?
Feszosztó: az áramkör egésze nem egy [második ellenállásnak] felel meg az első után? Tehát ugyanaz az áram megy arra, mint ami a leágazás felé a tényleges második ellenálláson, vagy ez bullshit? Bár nem, mert csomóponti törvény... Szóval gondolom ti ránézésre tudjátok szimulálni fejben mi történik az áramkörben?Illetve analóg bemenetnél a map(x, 12, 0, 5, 0) elektronikai megfelelőjére volna szükség.
Tvamos:
A Kirchoff törvények lényege megvan, meg elvileg a potenciálkülönbségből eredő áramlási irányok is érthető, csak azután ránézek egy kapcsolási rajzra és wtf...[ Szerkesztve ]
-
Teasüti
nagyúr
De ha a kapcsoló nyitva van a bemenet előtt, akkor miért is lebeg? Nincs rajta semmi egy darab dróton kívül, max zajt szedhet össze azon a pár centin, nem?
Ha bármiféle bekötés nélkül beolvasok egy bemenetet, akkor is lebegni fog? A felhúzó és lehúzó különbsége gondolom csak annyi, hogy a földre vagy tápra van-e kötve az ellenállás túlsó vége.Hmm, ez segített kicsit a megértésben, köszönöm!
Az a task tiszta szégyen, mikor az egész letöltés pár sor javaszkriptben az XML tábla natív kiolvasásával mindenféle buta split helyett.
Mondjuk épp ezért az IDE kódolása egy kis könnyű olvasmány volt csak a projekt könyvben. -
zka67
őstag
válasz Teasüti #2770 üzenetére
Szia, azt hiszem a lényeget nem mondták el, és ezért nem érted a dolgot.
A manapság gyártott procikban MOS tranzisztorokat használnak. Ezek "térvezérlésű" tranzisztorok, azaz nem árammal, hanem feszültséggel vezérlik őket. A bemenetük a GATE, ami rendesen el van szigetelve a tranzisztor többi részétől, azaz kapacitást képez. Ez a kapacitás képes töltéseket összeszedni a "levegőből" is, ha nincs semmi a GATE-re kötve, és ha megfelelő mennyiség összegyűlt, akkor kinyithat a tranyó. Csak úgy, a "semmitől". Ezért kell valamelyik potenciálra kötni a "lógó" bemeneteket egy nagyobb értékű ellenállással. Azért használnak nagyobb értékűt, hogy ha aktiválod a bemeneteket, ne zabálja feleslegesen a tápot. Használhatnál pl. 100 ohmos ellenállásokat is, de több tíz bemenet esetén ha kiszámolod, akár amperes nagyságrend is lehetne a feleslegesen elfolyó áram. Túl nagy értéket (>1Mohm) sem szoktak használni, mert ha hosszabb vezeték megy a lábra, akkor az képes annyi töltést összeszedni, hogy még az ellenálláson keresztül is kinyit a tranyó. Ahogy valaki írta is, a 10kohm-os ellenállás tökéletes választás otthoni használatra, kísérletezésre.
Üdv.
Zoli -
Teasüti
nagyúr
Köszönöm, a lehúzó ellenállás így már világos.
A feszosztó is kezd letisztulni; csak egy gondolat: a leágazás egyik szerepe a második ellenállással a közös GND volna? Az egyik projektnél láttam ilyet, ahol a motort egy 9V-os elem hajtotta és a negatív pólusát kellett összekötni a földdel. Bár magyarázat nem járt mellé, csak egy előírás, hogy több táp esetén ezt kell csinánié'.[ Szerkesztve ]
-
tvamos
nagyúr
válasz Teasüti #2769 üzenetére
Olyasmi, mint amikor az oszcilloszkóp probjának a végét megfogod az ujaddal ott lesz egy jel a levegôbôl. (Te vagy az antenna.)
A kimenetben van egy csomó tranzisztor. Azok akkot is ott vannak, ha bemenetnek konfigurálod. Mind szivárog kicsit. Nem tudod, hova áll be. Ez mind a hômérséklettel változik. Ráadásul, mind kondenzátor is, amiket töltöget, meg kisütöget. Tehát az idôvel minden változik, folyamatosan.De én még mindig azt mondom, érdemes ezt kipróbálni akkor, amikor van egy kis idô próbálgatni.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
fpeter84
senior tag
válasz v2_rider #2767 üzenetére
Mint tvamos kérdezte, fontos pont hogy realtime megjelenítést vagy bufferelést és utána tetszőleges megjelenítést szeretnél? Ha az utóbbi, akkor 1000Hz mintavételezés mellett milyen hosszan kellene felvenni? Ez se mindegy, mert ez a sebesség másodpercenként 2KB memóriát jelent 10-12 bites (tárolva akkor is 2 byte) ADC felbontás mellett... A Nano/Uno atmega328-nek 2, a Leonardo 32u4-nek 2.5, a mega2560-nak 8KB memóriája van "csak". A Due SAM3X8E ARM-ja más kategória, annak már 96KB RAM-ja van. Esetleg a PIC32-k között vannak még fél MB RAM-mal rendelkező típusok is...
-
fpeter84
senior tag
válasz Teasüti #2769 üzenetére
Azthiszem zka67 foglalta össze legjobban a lebegő bemeneti láb problémáját: a lényeg hogy mindig határozott potenciálra kell húzni a digit bemenetet, különben érhetnek meglepetések és rejtélyes hibákkal fogsz küzdeni...
A feszosztóra is nehéz lenne az Ohm törvénynél, és az itt lévő rajznál és kalkulátornál egyszerűbb magyarázatot adni.
Próbáltam kitúrni a doksijából hogy mi a minimum feszültség az 1 jelszinthez illetve a maximum a 0-hoz, de sugárban hányok ezektől az ömlesztett doksiktól amiket összetákoltak az Atmelnél - a PIC-ek doksijai nagyságrendekkel rendezettebbek és átláthatóbbak
Mindenesetre 5V tápfesz esetén saccra 3V felett már biztosan 1, 1V alatt már biztosan 0 a digit beolvasás értéke... Szóval a feszosztót úgy kell méretezni, hogy az autó 12-14V-ja (és még biztonsági ráhagyás) 3-5V nagyságrendűre csökkenjen vissza - erre írtam a 100K / 33-47K párosokat példának. Áramot is lehetne számolgatni, doksiból turkálni, de ökölszabálynak szerintem jó az hogy 10-100K nagyságrenden maradva jól fog működni... Ennél aprólékosabban akkor érdemes vele foglalkozni, ha pl gombelemről kellene évekig elműködnie a kapcsolásnak
-
gyapo11
őstag
válasz fpeter84 #2777 üzenetére
Mivel a kérdésben a feszosztó egy analóg input bemenetre megy, a lebegésnek itt nincs értelme. 0-5 V között lebeghet. Vagyis nem az a baj, hogy lebeg, hanem az, hogy ha nincs ellenállás a föld felé, akkor 5 V fölé mehet a bemeneten a feszültség.
Mielőtt valaki élesben próbálgatná érdemes bevetni valamelyik áramkör szimulátort, olcsóbban megmutatja a dolgokat.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
tvamos
nagyúr
válasz fpeter84 #2777 üzenetére
Nem kell... ha mondjuk veletlen generatort csinalsz...
(#2778) gyapo11 válasza fpeter84 (#2777) üzenetére
Ott a vedodioda, majdcsak megvedi.(#2776) fpeter84 válasza v2_rider (#2767) üzenetére
Nem tudom, hogy mit szeretsz azon a PIC-en, en inkabb egy Cortex M-et ajanlanek. Van Arduino is. Mondjuk a Teensy 3.2. Ha nem kell az Arduino, akkor ott vannak a STM32 Discovery board-ok. (En azt szeretem. Plane, ha ingyen kapom. )[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
v2_rider
tag
válasz fpeter84 #2776 üzenetére
Az 1000hz-el csak hasra ütés szerűen mondtam valamit. Lehet, hogy csak 500hz lesz. Realtime kell mindenképp, de nem kellene hosszan pufferelni. 1, de max 2 sec szerintem. Igazából maga a projekt egy injektor szinkronizáló lenne. Ez annyiból áll, hogy van egy 1-5V-os analog vákuum mérő szenzor, az menne az analog bemenetre. Viszont ez a vákuum elég gyorsan változik. Ennek a változásnak a "görbéjét" szeretném megjeleníteni. Ha mondjuk 1500-as motor fordulatszámmal számolunk, akkor az másodpercenként 25-ször rajzol meg egy fel és lefutási görbét. Tehát akár 1 másodpercenként lehetne törölni a puffert nyugodtan.
-
Gergosz2
veterán
válasz v2_rider #2780 üzenetére
Lehet, hogy csak 500hz lesz
Realtime kell mindenképp, de nem kellene hosszan pufferelni.
akkor az másodpercenként 25-ször rajzol meg egy fel és lefutási görbét
Ezt a hármat így nem nagyon sikerült összeraknom. Most akkor mi kell?
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
-
Teasüti
nagyúr
-
Teasüti
nagyúr
Uhm erre kérhetnék némi magyarázatot?
"The Uno has 6 analog inputs, labeled A0 through A5, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function."
Köszönöm!
-
fpeter84
senior tag
válasz Teasüti #2784 üzenetére
AREF: csökkenteni lehet vele az analóg mérés tartományát, ezáltal növelni a pontosságot. Alapból a 10bit, 1024 lépcsős felbontás kb 5mV-os felbontást ad, de ha mondjuk csak pár száz mV-ot szeretnél vele mérni akkor egy külső referenciával (akár feszosztó is lehet) beállítod 0.5V-ra az AREF-et, és 0.5mV-os felbontással számolhatsz... Okosabb típusoknál lehet akár külön AREF+ és AREF-, amivel még szűkebb tartományt is ki lehet jelölni a tápfesz és föld között tetszőlegesen...
A változók biztosan a RAM-ba, de már egy tök üres program is bekajál 9 byte-ot - ne kérdezd hogy mit tesz oda a fordító... De játszhatsz vele, és nézd hogy fordítás után milyen statisztikát ír rá az IDE... Valószínűleg van itt ott optimalizálási hibákból adódó pazarlás is, pl: ugye az alaphelyzet 9 byte használt
char x;
void setup() {
x = 1;
}
void loop() {
}ez 10 byte-ot eszik, de ha annak az x-nek ugyanezt az értéket már inicializáláskor is megadom, akkor meg 11 byte-ot ír, pedig elméletben ugyanarról változóról beszélünk - erre tud itt valaki magyarázatot adni?
char x = 1;
void setup() {
x = 1;
}
void loop() {
}A konstansok pedig elméletben a flash-be kerülnek, de most ahogy próbálgatom, 1 byte-al se nő ettől a program mérete...
const char y = 10;
char x = 1;
void setup() {
x = 1;
}
void loop() {
x = y;
} -
Teasüti
nagyúr
válasz fpeter84 #2788 üzenetére
A konstansokat az Arduino.org learning szekciója szerint egy progmem flag-gel kell bélyegezni, hogy a flash-be kerüljenek és ránézésre elég bonyolult behívni a ram-ba futás közben.
Ezt megoldhatták volna intuitívabban is... De van egy eeprom is, az még érdekes lehet adatot tárolni, majd arra kíváncsi leszek. Remélem egyszerűbb használni az idevonatkozó library-vel, mint a flash olvasós függvényeket!Az ám! Ram-ot üríteni hogy lehet? Mármint megszabadulni az ideiglenes adatoktól.
Valamint van-e bármilyen szerepe a globális és helyi változóknak? [Globális ami a setup() előtt deklarált és lokális ami a loop()-ban?]
Gondolok itt pl arra, hogy a ciklusban létrehozott változók törlődnek a ciklus végén?
Köszönöm![ Szerkesztve ]
-
fpeter84
senior tag
válasz Teasüti #2789 üzenetére
Az EEPROM használata irtó egyszerű: [link]
Azért arra figyelni kell vele kapcsolatban, hogy ~100e írási ciklust emleget a doksi - ez elég soknak tűnik első körben, de ha valaki mondjuk másodpercenként ír 1 adott byte-ot, akkor bő 1 nap üzemmel ki lehet végezni - tehát ezt elsősorban a ki/bekapcsoláskor, dinamikus paraméterváltoztatáskor illik írni, de nem állandó loggolásra használni pl...
-
fpeter84
senior tag
Az olcsósága és itthoni könnyű beszerezhetősége és sok típus DIP tokozása szól a PIC-ek mellett, és az Arduino-k által használt procikhoz képest rengeteg opcionális periféria: belső opamp, komparátor, DAC, periheral pin select, belső drótozhatóság a modulok között, stb stb. A DIP tokozással könnyebb breadboard-ozni és a prototípus nyák gyártása (lézeres vasalós) is egyszerűbb feladat. Tudom hogy bizonyos cortex altípusoknak is vannak mindenféle hasznos extra perifériái, de sok smd láb, ha nyákon veszed akkor sokszorosába kerül ugyanaz és a minimális méretet is rendesen megdobja...
Most többek között egy olyan projekten dolgozok, hogy egy hajó trim lap hidraulikus munkahengereinek az induktív pozícióvisszajelzését valamint vezérlését szeretném megoldani. Az induktivitás kissé szélsőséges tartományokban mozog, bőven kilóg az átlagos L-meter projektekből, de azért csak sikerült jó kiindulási alapot találnom egy oszcillátor kapcsolásra, ami a 30-250 mH (nem uH!) tartományban is képes szépen rezgésbe jönni, és pár tized voltos 40-90KHz-es szinusz-szerű jel jön ki belőle. Ha ezt egy mezei arduino uno/nano-val szeretném feldolgozni, akkor az 1 tranzisztorból és pár passzív alkatrészből álló LC körhöz kell először egy komparátor, majd mivel a 90KHz apró elmozdulásaihoz a uC InputCapture-je nem elég ezért kell hozzá egy bináris osztó (74HC590), és mindez 2 csatornára minimum 3 nagyobb csipp plussz a körítésük, és még ez után jön a nano. Ha csak monitorozni szeretném, akkor mindez egyetlen 8 lábú PIC12F1840-essel megoldható, mert a belső komparátor muxolható a lábak között, a komparátornak belülről lehet a programozható DAC-ból negatív referenciát adni, a kimenetét belül át lehet kötni a számlálóba ami képes hardveres osztásra így már lehet vele precízen mérni is, 2 lábra mehet egy kvarc hogy minimalizáljuk a hőfüggőségét, és még marad 2 láb a soros kommunikációnak. Ha ez kevés, akkor a köv fokozat a 14 lábú PIC16F18323 ami még mindig nagyon apró nyákot jelent de sok plussz lábat ad a szivattyú és szelepek vezérlésére is...
Mindennek megvan a maga felhasználási területe... A baltával fát vágunk, a vésővel faragunk - bár lehetne fordítva is, de nem ideális
[ Szerkesztve ]
-
tvamos
nagyúr
válasz fpeter84 #2791 üzenetére
Nem győztél meg. Én inkább ajánlok egy STM32-t annak, aki nem ragaszkodik az Arduino frameworkhöz. Az ebay-en is van egy rakat Cortex M3 alapú panel.
Ebay-ről gombokért van dip konverter.
Azt nem tudom, hogy te mit, honnan szerzel be. Én azt tapasztaltam, ha nem tudok elsétálni a cuccért, mindegy, hogy a szomszéd faluból, vagy az EU-ból akárhonnan jön a cumó.Induktivitás mérésre én a Texas új Induktivitás / digitális konvertert próbáltam tavaly, azt nagyon egyszerű használni. Az MSP430-at is imádom.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
fpeter84
senior tag
A DIP<>SMD konverter nagy, minek tennék egy 2.5x5cm-es pacát oda ahová elég egy 8-14 lábú apróság is? Mondom, van cél amire a balta jobb és van amire a véső
Nyilván a Texas féle LDC1000-re gondolsz - ugyan papíron létezik TSSOP tokozásban ami szintén elég szerencsétlen már, de normális forrást nem találtam ilyen tokozással csak a házilag gyakorlatilag kezelhetetlen WSON meg QFN-el, ezért kerestem saját megoldást rá... Ha csak 1-2-t szeretnék megépíteni akkor nyilván lehetne ügyeskedni és free sample-t kérni, de utánpótlás már nem lesz így belőle és az ilyen játékot sem szeretem mert előbb utóbb tényleg letiltják az országot a free sample lehetőségéről és akkor már azt se kapja meg az ember ami tényleg indokolt...
[ Szerkesztve ]
-
fpeter84
senior tag
Nagy alkatrész áruházakban / ebayen / aliexpressen nem találtam értelmes áron, csak kész devboard-okat. Te találtál valahol, vagy free sample formájában jutottál hozzá? A TSSOP-vel az a bajom hogy házilag gyártott nyáknál addig a vezeték szélességig már nagyon problémás lemenni, valamint ha nincsen forrasztásgátló lakk akkor forrasztani is nehéz mert mindenhová bemászik az átok ón/forrasztópaszta és nehéz kivadászni. SOIC és TQFP már nem gond, de az alá nem szívesen megyek, csak minőségi gyártatott nyákkal...
-
Janos250
őstag
válasz fpeter84 #2791 üzenetére
Sokáig a PIC-eket használtam, de ma inkább az Arduinot használom.
A PIC kétségtelen előnye, hogy rengeteg féle típus van, rengeteg periféria készlettel. A DIP tokozás előnye a próbapanelok könnyű alkalmazhatósága.
További előnye, hogy a cég által gyártott programok és leírások koherens egységet alkotnak. A fordítók elég jók, de - amikor utoljára használtam - a komolyabbak fizetősek voltak. Nagy sorozatú ipari célra, szerintem is mindenképpen előnyös.
Ezzel szemben az Arduino nyílt rendszer, rengeteg programot találsz rá ingyen, de bizony elég gyakran meg kell nézni a forráskódot, hogy biztonságosan használd. A koherencia álom. Még a beépített ledek címe sem állandó.
Előnye, hogy nagyon sok kész hardvert, kiegészítő panelt is lehet hozzá olcsón venni ebay-en. PIC-re ez nem áll.
Ha a kész panelen (Pl. UNO) bejátszod a programot, akár legyártott nyákba is ültethetsz ugyanolyan csipet, és működik. Előny, hogy minden láb ki van vezetve dugdosható csatlakozóra. Minden rajta van, a táp IC-től kezdve (ez persze gyengus) soros, vagy USB csatlakozásig.
Érdemes az UNO helyett más lapokat használni.
STM32F103C8T6-ARM-STM32-Minimum-System-Development-Board-Module-For-Arduino (850 Ft). Használom, tetszik:
Core: ARM 32 Cortex-M3 CPU. 72MHz work frequency. 64K flash memory, 20K SRAM. 2.0-3.6V power, I/O.
Nagyobb méretben 1400 Ft.
STM32 ARM Cortex-M3 Leaflabs Leaf Maple Mini Module for Arduino 1200Ft.
Ha WiFi is számításba jöhet, akkor ESP8266 (ESP12-E). "It's running at 80MHz 64KBytes of instruction RAM 96KBytes of data RAM 64KBytes boot ROM"
ESP12-E (670 Ft) Hozzá lapka 80 Ft Picike, és nagyszerű :-)
NodeMcu Lua ESP8266 CH340G ESP-12E Wireless WIFI Internet Development Board (1100 Ft)
Kiegészítő panel NodeMcu-hoz egy csomó csatlakozással (Pl. több GND csatlakozás) 1200Ft
OTA WeMos D1 CH340 WiFi Development Board ESP-12E ESP8266 For Arduino IDE (UNO "szerű" panelon) 2000 Ft
Ha több minden kell, pl nem csak ADC hanem DAC is:
STM32F103ZET6 144-PIN Core Development Board For Arduino 2500-5000 Ft.
(Ezt még nem próbáltam, úton van. 2600-ért vettem, de mások 4500 körül adják. Remélem tényleg be is jön)
MCU: STM32F103ZET6 (144pin) Core work at up to 72M frequency 512KB Flash and 64KB RAM[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
zka67
őstag
válasz Janos250 #2798 üzenetére
Szia, én is mindenkinek inkább az ARM vonalat ajánlanám, csak előnyei vannak neki az arduinohoz képest. És nem kicsik.
A legtöbb ARM proci 3.3V-ról működik, ahogy nagyon sok periféria is manapság, viszont a legtöbb lábuk 5V toleráns. Azaz magyarul szintillesztők nélkül lehet összekötni őket, szemben az arduinoval. (Az STM-nél figyelni kell, mert nem minden lába 5V toleráns, az NXP-nek viszont igen)
A sebességről meg ne is beszéljünk, lásd 8 bit vs. 32 bit, és 16MHz vs. 48-tól a csillagos égig.
A Keil fordítója meg olyan jó, hogy néha én is hanyatt esek tőle.
De ahhoz, hogy ARM procikat használjanak, el kellene szakadniuk az embereknek a delay használatától. A legtöbb gyártó minden procijához ad előre megírt könyvtárakat, külön-külön az összes, a prociban levő perifériájához, demóprogramokat, stb, stb... hogy amíg az emberek nem tanulják meg a perifériákat közvetlenül használni, addig se okozzon nekik gondot. (A közvetlenül alatt értem, hogy sok mindent jóval gyorsabban tud végrehajtani a proci, ha nem a könyvtár rutinokat használják, hanem direktben a perifériákat). Én nem vagyok híve annak, hogy megírunk egy programot úgy, hogy az bármelyik gyártó prociján fusson majd, és legfeljebb gyorsabb procit használunk. Úgysem fog, úgyis bele kell nyúlni a programba, akkor meg miért ne használjuk ki a lassabb proci képességeit maximálisan?
Az arduinoban is lehetne direktben használni ezeket a dolgokat, de itt még egyetlen egy hsz-ban se láttam ilyet. Még megszakítást sem, pedig az alapvető dolog a mikrokontrolleres világban.
Szóval amíg a delay a legfőbb utasítás, addig kár is próbálkozni az ARM vonallal...
Üdv.
Zoli[ Szerkesztve ]
-
tvamos
nagyúr
Az IAR is jo! Sot, neha meg jobb is.
Szóval amíg a delay a legfőbb utasítás, addig kár is próbálkozni az ARM vonallal...
Miert? A foprogram megy delay-el, minden masra, amit pontosan kel idoziteni, ott a megszakitas. Kulso, timer, stb. En is szokok ilyen programot irni, ahol kvazi delay-ben var a proci.No mindegy is, nagyon kenyelmes a framework... de az IAR EWB + STM studo is nagyon faja! Imadom, hogy milyen jol lehet folyamatosan monitorozni a belso valtozokat. Meg ilyesmi... kar, hogy a melohelyen most a Freescale/NXP vonalat nyomjak.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Új hozzászólás Aktív témák
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Microsoft Excel topic
- Fujifilm X
- Renault, Dacia topik
- OLED TV topic
- Építő/felújító topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- További aktív témák...