Fórum témák
» Több friss téma |
Szia!
Ne keseredj el! Visszaolvasva az első hozzászólást valami nem stimmel a dologban. Egy 1 wire kommunikációs érzékelő lekérdezését és adatainak feldogozását feladatul adni egy "LED villogtató" programozói tudással rendelkezőnek enyhén szólva is butaság. Tehát ha csak annyi volt megadva, hogy "hőmérséklet érzékelő" pontos típus nélkül akkor nem jót vásároltál. Ha a DS1820 típus meg volt adva, hogy ezt kell használni akkor a tanár nem nagyon volt korrekt.
Szia,
A hőmérséklet érzékelő típusa nem volt megadva, szabadon választható mit építek bele. Én láttam egy példát és az alapján rendeltem meg a DS1820-at. Még foglalkozok a témával, van egy szabad hétvégém.
Akkor hallgass nedudgi kollégára! Ha nem kell a komplett áramkört bevinned, csak a programot bemutatni akkor jobban jársz egy analóg hőmérővel pl LM35. Ennek a működését tudod szimulálni egyszerű potival. Minden fok változásra 10 mV-ot változik a kijövő feszültség. Ez a legegyszerűbb megoldás. A DS1820-at tedd félre későbbre!
OK, akkor még beszerzem az LM35 analóg hőmérőt. Amit vettem piezo zümmer az pedig egy aktív eszköz. Tudsz ajánlani passzív eszközt, hogy milyet kellene beszereznem? Köszönöm.
Gyakorlatilag bármilyen gerjesztő áramkör nélküli típus megfelel. Honnan akarod beszerezni?
Szészedett, leselejtezett számítógép van a környéken? Abban szokott lenni egy kb. 1cm átmérűjű, fekete.
Igazából mivel az LM35-öt úgyis meg kell vennem boltban, így onnan gondoltam beszerezni a hangszórót is, ezért kérdeztem milyet tanácsoltok. Habár ha mondom a boltosnak, hogy gerjesztő áramkör nélküli kell, akkor olyat ad. Délután lerendelem egy helyi boltban a cuccokat, holnapra itt lesz.
Néhány soros asm programmal elő lehet állítani a szükséges frekvenciájú négyszögjeleket, ami meghajtja a piezót.
Ezek úgyis kellenek bele, miért ne lehetne a frekvenciát egy hangszerhez igazítani. Ez a feladat nem lehet annyira idegen, sem nehéz annak, aki programozást, informatikát, vagy hasonlókat tanul. Különösen ha mérnök lesz. A fogorvisin persze kicsit szokatlan lenne. De nem zárnám ki azt sem
Srácok rajta vagyok erősen a képernyő fotó témán, de valamiért nem akar működni.
Eljutottam addig, hogy már olvasom a memóriát és jön is ki kép, de valamiért nem egy az egyben ugyan abban a méretben mint kellene. 320x240-es kép ugyan kijön, de maga a pixelek arányaiban összesűrűsödnek 64x48-as méretre és ebből 25db-ot tesz egymás mellé és alá. Csatoltam képet. A kijelzőt ILI9341 vezérli. Van esetleg valakinek valami ötlete? Lehet a kódban van a hiba?
A képet elvileg jól állítja elő, a memóriában lehet nem pixelemként van letárolva a kép?
Én azért kíváncsi lennék egy pár soros .asm példaprogramra, mi tíz féle hangszer hangját produkálja.
Nekem ugyan nincs ilyen kijelzőm (csak ILI9488-as van, 8 bites párhuzamos vezérléssel, 320x480-as felbontással) de úgy esnék neki, hogy a képernyő első 64k pixelét feltölteném egyre növekvő értékekkel. Így ki lehet találni, hogy a visszaolvasás milyen sorrendben történik. Amúgy fájlba mented SD kártyára a kiolvasott adatokat? A memória hozzáférési paraméterek jól vannak beállítva (írási/olvasási irány stb.) ?
Igen, fájlba történik folyamatosan a mentés.
Az SD része 100%-os, a kiolvasás körül gubancolódik össze valami. Most elindultam egy sejtésen ezt megnézem most és kiderül, hogy igazam lesz e. Arra gondolok, hogy nem kell pixelenként bejárnom a memóriát, egyszerűen csak be kell olvasnom a tartamát. Lehet nem lesz jó, de egy próbát megér. A lényeg, hogy nem kell pozíciót változtatnom mert arra gondolók, hogy az automatikus. Amúgy SPI-vel kommunikál a kijelzővel. Beigazolódott a sejtésem, bár még van egy kicsi hiba, annak még utána járok.. A hozzászólás módosítva: Jan 3, 2018
Nos már el is készültem vele.. Kösz mindent..
A hozzászólás módosítva: Jan 3, 2018
Pontosan erre küldtem mintapéldát kapcsolással, assembler programmal - de az csak hangkeltő eszköz, ami "fütyül" és nem zenél. Egy hangszer hangjához még sokat kéne csiszolni (hullámforma, felharmonikusok, lecsengés, stb.), de szintetizátor készítés nem szerepelt a feladatban.
A többivel egyetértek.
nedudki és hapci:
A feladathoz, a felkészültséghez illően a legegyszerűbb megoldásra gondoltam. Sima négyszögjel, semmi lecsengés, felharmonikus tartalom, egyebek. A LED villogtatás már megy, a hangkeltés mindössze abban különbözik, hogy rövidebb időzítések kellenek. Összesen 11 különböző frekvenciát kell előállítani. Ezen frekvenciák első eleme miért ne lehetne 880Hz, ami piezóvál már jól megszólal és egyezik a zongora egyik hangjával. Hasonlóan a többi 9-et. Elegánsabb ez, mint ugyanez hasracsapással. A hozzászólás módosítva: Jan 3, 2018
Még a Pille orgona is kemény falat lett volna egy kezdőnek
Miért nem azt írtad, hogy a normál zenei skála hangjaira gondoltál?
A felkészültséghez próbáltam igazítani és a legegyszerűbben fogalmazni.
A hangszerek egymástól eltérő hangolásúak. Az egyszerűség kedvéért én a zongora temperált hangskáláját részesítem előnyben, ahol az egymást követő hangok frekvenciája egy állandóval való szorzással számíthatók. Egyszerű programmal persze csak közelíteni lehet ezt az értéket. De jelen esetben ez másodlagos, viszont várható kérdés, hogy mi alapján választotta meg a hangokat. Csak jobb ez, mintha azt mondja az illető, hogy "így sikerült". A hozzászólás módosítva: Jan 4, 2018
Sziasztok! Breakout boardot keresgélek pic16F1459-hez (kell a 20 láb). Eddig az egyetlen, amit találtam jelenkori kínálatban, az ebay-en ez a board. Bárki bármi egyébről is tud, egy linknek örülnék. Előre is köszönöm.
Sziasztok!
Léptetőmotor vezérlő STEP/DIR jeleit szeretném előállítani egy PIC18F25k22-vel. Elég nagy pontosságra lenne szükségem, így 256 mikrolépéses felbontást használok. Jelenleg a STEP jeleket Timer modul megszakításaiban átbillentett Latch regiszterekkel állítom elő, viszont gyorsabb sebességnél(4-5us impulzusok) már nem jut idő másra, csak a timer megszakításokat kezelni. A kontroller 64MHz-en fut, UART-on keresztül kommunikál még egy HMI-vel, és szükség lenne még egy UART vonalra. Van esetleg valamilyen periféria, vagy külső alkatrész, amivel tehermentesíteni lehetne a kontrollert? Köszönöm előre is a segítséget.
Szia!
Meghatározott számú jel kiadásával vezérled, vagy encoderes visszacsatolással?
Egyelőre meghatározott számú jellel, viszont később lesz encoderes visszacsatolás.
Meghatározott jelszámnál bonyolultabb, de ott is rá lehetne bízni a motor(ok) vezérlését egy másik PIC-re. Encoderesnél én egy PIC10F322-est szoktam használni a motor vezérlésére. 1-Wiren mondom meg neki, mekkora legyen a PWM frekvencia, és az irány. Mivel a PWM automatikus, így közben tud kommunikálni. Mégpedig elég komoly, 800000 bit/sec-el.
Köszi, jó ötlet a második PIC alkalmazása, és a PWM modul is jobb, mert csak akkor kell vele foglalkozni, ha változik a sebesség, vagy ki/be kell kapcsolni. Már azzal is nyernék, ha a mostani kontrollerbe használnék PWM-et a Timer modulok helyett, viszont úgy látom, hogy a PIC18F-ben kisebb felbontáson tudom állítani a frekvenciát az általad linkeltben lévő 10bites felbontáshoz képest.
Nem lényeg a 10 bites felbontás.
64MHz-n egy utasításciklus 0,0625usec. Ha timer 2-őt előosztás nélkülre állítod, pr2-be 63-at írsz (ami voltaképp 64 utasításciklus) CCPR1L-be pedig 32-őt, 4usec-enkénti kapcsolásszámot érsz el. Azaz 250 KHz-s négyszögjeleket. Tud ennyit egyáltalán a motorvezérlőd? De ha ez a max . sebességigény, 16-os előosztóval egész nagy átfedés érhető el. Mert akkor az induló PR2-es érték 3, a CCPR1L pedig 2. Így a frekvencia 4KHz-ig levihető. A hozzászólás módosítva: Jan 8, 2018
A 10bit felbontást nem a nagy sebesség elérése miatt gondoltam, hanem a tág határok között szabályozható sebesség miatt.
A 250kHz-es négyszögjel már bőven jó, 12usec a legrövidebb impulzus, amit tud a vezérlő. A Timer megszakításos verziómnál minden megszakításban invertáltam a Latch regisztert, így két megszakítás kellett egy periódushoz, ezért számoltam 4-5usec-os impulzusokkal.
Nagy felbontáshoz és tág határok közti szabályozhatósághoz PIC-el is kivitelezhető szoftveres DDS-t, vagy NCO-t használnék.
Én lehet kettéválasztanám: a rövid léptető impulzust a timerrel, az impulzusok közötti szünetet (sebesség) a CCP Compare üzemmódjával állítanám, az 16 bites.
Köszönöm a szuper tippeket, mindegyik nagyon hasznos.
Jelenleg sikerült a PWM modullal elérnem a célt, nagyjából le is fedi a kívánt sebesség tartományt. Két külön PWM modult tudok egymástól független frekvencián járatni? ktamas66: Ezt le tudod írni kicsit konkrétabban? Bell: Köszi a tippet, ha a PWM modul kevés lesz, ez lesz a következő amit kipróbálok. |
Bejelentkezés
Hirdetés |