Fórum témák
» Több friss téma |
Fórum
Üdv!
Még mindíg a Mátrix billentyűzetem megoldásán szenvedek. Az oszlopok (F-E-D) Kapcsolgatása nem jött be. Most azzal próbálkozom, hogy az első oszlop 1V-os jelet, a 2.oszlop 3V-os jelet, a 3.oszlop 5V ot kap. Analog bemenetekkel különböztetem meg őket. A következő a program. A kérdésem: Mennie kellene? F-E-D ahogy mondtam ráadom a különböző szintű feszültségeket, és a K-J-H-G a sorok. Ha az 1 V jön vissza a K soron akkor nyomtam le az 1-es gombot.És igy tovább
Válasz a 2. kérdésre:
erre a feladatra pl. az analóg bemenetet tudod felhasználni, ha mindenképpen PIC-el akarod. Legalább 60db led kell a 100-as felbontáshoz (6000 1/min-hoz) Továbbá 2db pic16f877A kontroller... Az első PIC veszi az analóg jelet, ami úgy van a fordulattal arányosan konvertálva, hogy beleférjen a 0-5V-ba. Az első pic30 kimenetet fog kapcsolni, a további 30ledet a másik pic tudja kapcsolni. Az átvitelt az UART-on lehet megoldani egy szál drót kapcsolattal (tx -> rx), a 30 leden tuli turcsoldult értékek adatait küldjük át. Ezt viszonylag egyszerű progi 10-15 perc alatt meg lehet írni... Az áramkör megépítése az elsődleges... Ha gondolod feldobom majd a progit hozzá... Az analóg jelet a néhai Uaa180-as Ic-vel megépített led soros fordulatszám mérőből tudod kimásolni, ez valójában egy 555-s Ic és néhány alkatrész a tövében... (valószínű itt a fórumon is fenn van néhány helyen)
Válasz első részre:
Tab formátuma a hétszemens kijelző egy ledje a 8bítes adat egy bitje pl: 00000110 ez mondjuk lehet adott esetben az egyes kódja ez attól is függ melyik irányból értelmezed. Tehát a táblázatba a kigyujtandó pálcikák sorrendjét kell beírnod minden számra (ez egy maszk valójában) akár lehet betü is csak a 7 pálcika értelmesen kiadja Pl: A vagy L stb... nem akarlak megkeverni. ha 0-9-ig számolsz, akkor természetesen a számok "képét" kell előállítanod". Az hogy közös anódos , vagy közös katódos természetesen meghatározza a kimenet alapértelmezését (normál, vagy invertált) ugyanúgy a dekád vezérléseknél is... A kérdésedre akkor a válasz: annak a táblázatba irandó értéknek meg kell felelni a a pálcikák "szimbolikus" értékének 0-255 közé eső szám lesz természetesen. A 8 bit bináris kiterített értékén az egyik végén természetesen mindig nulla lesz , mivel csak 7 bitet használunk. A tizedes pontot más logika kapcsolja...
Jól értem, hogy az examp3.pic program 4db 7 szegmenses led kijelzőt vezérel?
Ha igen akkor a "TABLE INFO"-ba honnan tudom, vagy hogyan tudom meghatározni milyen értékek legyenek, hogy 0-9 ig írja az értékeket. Másik kérdés. Ezt kombinálva a fordulatszám mérővel, jó lehet a kijelzés? (Vagyis fordulatszám értékeket leosztani 1esekre, 10esekre ...stb. és azt kijeleztetni) (Sajnos nem kapok Olyan 2 soros 20 karakteres LCD kijelzőt amiben a karakterek magassága 10-15 mm.) Még 1 kérdés. Egy ismerős nem szám formában, hanem led sorral szeretné kijeleztetni a fordulatszámot. 100 fordulatonként 1 lapos lednek kellene kigyulladni 0-8000 ig(bár 6000nél tovább nem forog a motor) Ezzel a programmal meg oldható? Ha igen akkor kérhetek súgást, hogy merre induljak?
Szia!
Ez anno nekem működött a három bemenetre kell 10k-s ellenállások ez egy LCD-re írja ki a számot. Ennek volt egy kódzár része is ha kell azt is előkeresem.
Sprint L 4.0 val...
Még nem ültettem be, felelőséget nem vállalok... Most készül a nyáklemez...
Most éppen ezen "makettezek"...
Ez egy PLC lesz jó sok bemenettel, és természetesen 24 kimenettel. A panelon két PIC 16f877A lesz, az egyik csak a kimeneteket kezeli, Uarton kapja a kimenet kapcsolás "állapotát" 3 byte-n RTC is van benne (I2C), ha kell (chip: 5c372a), és LCD kijelzőt is rá lehet dugni szükség esetén. A fizikai kapcsolatok sorkapcsosak... A kimenet Smd pnp tranzisztoros. minden ki és bemenet optcsatolós védettségű, és ledek jelzik az állapotokat. A PIC-eket akár a helyükön is lehet programozni... Kapcsolási rajzot nem csináltam, csak igy fejből rajzolgattam, azt hiszem, magáért beszél... Ha valakinek pont ilyen kell, vagy hasonló, itt van...
vagy két évvel ezelőtt volt egy projektem, és hamar meg kellett oldanom, és ott tapasztaltam...
Majdnem tele volt a PIC 16f876A és a kijelzés nem volt szép, ahogy telt a PIC úgy romlott el fejlesztés közben. (a szimulátor az sok mindent kibir, de a gyakorlat az megtréfálhat bennünket) Akkor úgy oldottam meg, hogy egyik PIC hajtotta csak a kijelzőket (4digit+ ledek) UART-on vette az adatokat hozzá (ezt oshon PIC simulatorral csináltam) A tényleges progit a másik PIC 16f876A csinálta és UART-on átküldte az adatokat a kijelzésre... Biztosan létezik más megoldás rá, de akkor ezt láttam biztosan, gyorsan megvalósíthatónak. Ma lehet, írnék egy szubrutint és INC modullal beolvasnám a Parsicba.
Így nem mehet?
A sorokra test pontot kapcsolgatok. Az oszlopokra 5V-ot, ellenálláson keresztül persze.
Hát ez igy nem túl nyerő. Ezek szerint PIC nélkül nem is lehetne használni egy ilyen billentyűzetet?
Hali!
Bogarászd át ezt a linket, van a közepe fele egy kapcsolási rajz. Azon elég szemléletesen van rajzolva. Az a lényeg hogy minden kapcsolót 2 érték határoz meg, de a kapcsolás magáért beszél Üdv.
De ha van analóg bemeneted egyszerűbben meg lehet oldani, a 97. oldal alján találsz rá megoldásokat.
Ezt egyáltalán nem értem... Milyen kimenetekre tegyem az OSZLOPOK-at?
Én ugy csináltam hogyaz oszlopokat felkötöttem ellenálláson keresztól 5V-ra és a közös pontokat vittem a bemenetre, csak ezzel az a gond, hogy az 1-es gomb, ugyan az mint a 4-es 7-es és a *...
Szia!
Az oszlopokat a PIC kimenetére kötöd, és felváltva adsz rájuk alacsony szintet. A sorokat a bemenetre, felhúzó ellenállással a bemeneteket pozitívra. De ne 330 ohmosat hanem pl:10kohm. A bemeneteket pedig ÉS kapuzod a kimenetekre adott alacsony szintekkel.
Szia dcsabi!
Hogy érted hogy nem ad szép kijelzésképet a hétszegmenses kijelzőnél? Esetleg a multiplexelés miatt nem egyforma ideig világítanak a digitek? Mert akkor ezt meg lehetne oldani egy tárolós BCD/7szegmenses átalakítóval (pl:CD4543) Úgy néz ki nekem is nemsokára kell egy nagy kijelzőt csinálni, és csak a LEDes kijelző jöhet számításba.
Én ezzel oldanám meg, ha ragaszkodsz a hétszegmens kijelzéshez...
Bár már vannak 1x8 vagy hasonló LCD kijelzők, annak a parsicban való kezelése néhány másodperces dolog és nem kell bajlódni a sok láb beforraszgatásával sem. Illetve ha bonyolítod a programot, a parsic nem ad szép kijelzés képet, -kell rá írni egy szubrutint és beilleszteni INC modullal. Az elsőre példa.... esetleg a számláló modult kicserélheted a másik tipusra... Eepromba való iráshoz tettem fel az első 20 oldalig valahol példát, ami "mindig nem ír", ugyanis hamar tönkremehet a belső eeprom... Normál módon a számláló bemenetére kell kotni invertáltan az Eepromnál.
Szia!
Hazudnék ha azt mondanám hogy teljesen átlátom a programodat, de talán megtaláltam a problémádat. A Parsicban az EEPROMba mentett tartalom csak akkor íródik vissza a számlálókba, ha a PICet teljesen reseteled (javítsatok ki ha nem így van). Tehát a te esetedben ez nem járható!? Bár nem találtam meg hogyan állítod a visszaszámlálás kezdeti értékét, (vagy mindíg 9:59?) de ez most nem is fontos. Rajzoltam egy programrészletet aminél nem kell EEPROM, és a ZV1,ZV2,ZV3 számláló resetelésével alaphelyzetbe állítható az időzítés. Ha a kezdeti értéket szeretnéd megváltoztatni, akkor IF1,IF2,IF3 "A" lábára konstans érték helyett, számlálót kell rakni. És ha azt szeretnéd hogy az utolsó beállítás megmaradjon a tápfeszültség kikapcsolása után is, akkor ezen számlálók értékeit kell az EEPROMba menteni. Ha valamit félreértettem akkor bocs. A konfigurációs beállításoknál a Watch Dog Timernek nem látom értelmét ezen alkalmazásnál, hiszen ha lefagyna a program és resetelne a WDT, akkor úgyis megáll a számlálás, ráadásul nem is ott ahol tartott. A BODnak szintén nincs jelentősége itt. Az oszcillátort pedig XT beállításon kell hagyni 4MHz-es kvarcnál.
Sziasztok! Új tag vagyok. Ez az első PIC -es és Parsic-os próbálkozásom egy időzítő-késleltető lenne (9perc 59sec). 7 szegmenses LED kijelzős, helyiérték szerinti beírással, visszaszámlálós és beállítható, hogy késleltessen vagy időzítsen. Parsicban szimulációban fut, de nem tudom hogy az eepromot hogyan használjam, hova kössem, hogy úgy működjön ahogy szeretném. Logikám szerint az adatok bevitele után kellene eltárolni a bevitt adatokat és amikor már lefutott az időzítés akkor kellene újra beírni a számlálók kezdeti értékét és startra kezdődhetne egy új időzítés. Hogyan vagy inkább hova kössem be az eepromot, illetve szeretném ha átnéznétek, hogy lehetne e egyszerűsíteni és a PIC alapbeállítása jók-e? Előre is köszönöm a válaszokat!
Hát kicsit átdolgozom, a nagyobb különbség annyi lessz, hogy egy rotari encoder-el fogom állítani a beállított hőt, és akarok bele egy környezeti hőt is, Tetszik a tápegységgel való közösítésed is. De egyenlőre azt nem.
REmélem menni fog , a nyákot mát tervezem hozzá .
Köszi szépen! Elég sok kérdésemre választ is adott!
Nézd meg az 531004 számú hsz-t
Köszi mindkettőtöknek az eddigi segítséget, még biztos jönni fogok tanácsokért. Kis pontatlanság nem számít forrasztó páka lesz. A vezérlést pwm el gondoltam, csak azt nem tudom, hogy a páka bírja e. Még a beállítást nem találtam ki, hogy hogy legyen, de ha lesz időm akkor agyalok rajta. Az alap elképzelés az annyi, hogy mutassa a beállított és az aktuális hőfokot, meg még esetleg a környezeti hőt is mert úgyis 2*16 os lcd lessz benne.
Az ADC0 is 16-bitre kell állitani mert hibát dobál be forditáskor,úgy indulj.Az ADC után rakj be egy multiplexert és átlagoljad akkor nem ugrál majd a kijelzésed.Tegyél bele hiszterézist vagy PWM-t mert össze -vissza fog kapcsolgatni
Szia!
Nem jó mert nem fordul le, csak ha az egész lánc 16 bites. A legpontosabb megközelítést 16 biten az adja ha szorzol 22-vel majd osztasz 45-el. Ez így egy kis pontatlanságot visz a mérésbe, de ennél a pontatlanságnál a szenzor linearitása úgyis sokkal rosszabb.
Sziasztok! Szeretnék csinálni forrasztó pákát pic-el Addig meg vagyok, hogy egy fok melegedésre 10 mV fesz növekedés van, tehát 450foknál 4,5V van 200foknál meg 2,0V A kérdésem az lenne, hogy a mellékelt progi jól fog szerintetek működni? elvileg teszt alatt működött 0-500ig a kijelzés, ami 0-5,00V-ot jelent ha minden igaz! és még az lenne a kérdésem, hogy az nem baj, hogy az ADC0 8 biten van a többi meg 16on, hogy ne legyen túl nagy a szám amivel szoroz, és oszt? Előre is köszi a válaszokat!
|
Bejelentkezés
Hirdetés |



