Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Nem látom hol címzed meg a második sort? Ha az adatlapot megnézed, nem folytonos a cím a két sor között...
Szia kösz a gyors reagálást
MAIN MOVLW'H' CALL LCD_PUTCHAR MOVLW'E' CALL LCD_PUTCHAR MOVLW'L' CALL LCD_PUTCHAR MOVLW'L' CALL LCD_PUTCHAR MOVLW'O' CALL LCD_PUTCHAR CALL WAIT_10m ;Itt a címzés 2x4 bitben, persze emellett RS0 RW0 az már a LCD_CMD fvben van: movlwb'11000000' callLCD_CMD movlwb'00000000' callLCD_CMD CALL WAIT_10m MOVLW'U' CALL LCD_PUTCHAR MOVLW'S' CALL LCD_PUTCHAR MOVLW'E' CALL LCD_PUTCHAR MOVLW'R' CALL LCD_PUTCHAR MOVLW'!'
Próbálj más címet, lehet, hogy nem a C0h-n kezdődik a 2. sor. Esetleg próbáld növelni az engedélyezőjel hosszát.
Szia!
Az N bitet állítsd 1-re 2 soros kijelzéshez: movlwb'00101000' ;FUNCTION SET
Szia,
Azt már megtettem, véleményem szerint helyesen. A 4 bites üzemmód miatt az említett N bit a következő adatcsomagba kerül (szerintem) ezt bejelöltem. ;-LCD initialization starts- callWAIT_320m callWAIT_10m movlwb'00100000' ;FUNCTION SET callLCD_CMD callLCD_CMD movlwb'10000000' callLCD_CMD
Szia!
Vedd ki az egyik LCD_CMD hívást a movlw b'00100000' sor után.
Az engedélyező jel növelése egyenlőre nem hozott sikert ( 3 további nop-al próbálkoztam). Másik címet is probáltam 40h közelében - még egyenlőre nem javult a helyzet.
b'11000000' Ha jól tudom ebből az MSB a parancs DDRAM címbeállításhoz, a további 7 bit pedig a cím. Ezt is két részletben kell elküldenem, tehát a parancs ahogy említetted c0h: b'11000000' b'00000000' Ebből a cím 40h - ez szerepel a leírásban. Megpróbáltam növelni pl 41h 42h, csökkenteni 3F, de semmi eredmény.
Az sajnos kell. Anélkül semmi nem jelenik meg a kijelzőn, ez a 4 bites üzemmód beállítása miatt van.
Ettől függetlenül az előbb kipróbáltam, és az volt amire számítottam - üres kép.
Próbáld meg a MAIN-t ezzel kezdeni, azaz beállítani a 80h címet.
Ha nem működik az első sor sem, akkor időzítési gondok vannak, vagy valamit elnézünk...
Ez így nem jó, mert a két callLCD_CMD között elvész a munkaregiszter tartalma (a késleltetés meghívása miatt)! Tegyél be mégegy movlw utasítást!
Szia!
Igazad van. Átnézve a programodat a wait_10ms rutin átírja a w regisztert, így a function set érték helyett másodszorra már rossz értékkel hívod meg az LCD_CMD-t. ISIS-ben próbálva:
működik. A MAIN elejére:
E nélkül ISIS hülyeséget ír. A valóságban nem biztos, hogy szükséged van rá.
Első körben beállítottam a 40h címet rögtön a main után. Kurzor maradt az első sor elején, de nem írt ki semmit, az első illetve a második sorba.
Utána beírtam main után a javaslatodat, sajnos nincs változás.
Köszönöm a segítséget így már érthető, hogy mi volt a hiba, most már múködik
Az érdeklődők számára csatolom a működő kódot. teszteltem ISIS-el és élő panellel is.
Neked is köszönöm a helpet. Illetve Watt-nak is. igazi csapatmunkában segítettetek'
Sziasztok, nem találtam közös PIC topicot , ezért kérdezem tőletek:
Szeretnék megismerkedni a 32bites mikrokontrollerekkel, és azon belül is a grafikai résszel, ehhez szemeltem ki a "mikromedia for PIC32" érintőképernyős TFT paneljét, amihez lenne pár kérdésem, ami megválaszolást , vagy csak egy kis igazolást kérne, ha tudtok segíteni: - Ehhez ugye nem kell programozó, csak a botloader ,amivel beégetem a programot? - Muszály megvennem hozzá a Visual TFT -t hogy rendesen használhassam? -Érdemes még venni hozzá valamit? -Miben tudom a programoz megírni hozzá, ami le is fordítja hex re? KöszI!
Hali!
Lenne egy érdekes problémám, amit nem tudok megoldani. PIC16F887-el építettem egy hőmérős fűtés vezérlést. 4x20-as LCD-re iratom ki az összes adatom. Az LCD-t a processzor indulásánál átkapcsolom 4 bites módba, és az aló 4 adatlábat 10k-s ellenállásokkal a negatívra húzom. Az áramkör működtet egy nagy villanymotort is, amit egy nagy áramú relé old meg. A probléma, hogy az LCD majdnem midig a motor leállításánál lefagy és mindenféle kriksz-krakszot ír ki!? Biztos hogy az LCD-áll meg, mert a processzor utána még vezérli a kimeneteit és a motort is. A PIC és az LCD ugyan azon a 230V-on van, mint a motor. Nem tudja véletlenül valaki hogy mitől állhat meg? Mert lassan kifogyok az ötletből! Előre is köszi: Panzer
Sziasztok!
Volna egy kis AD-konverziós kérdés. Info: Egy szárazelemről működő berendezésnek figyelnie kellene a saját tápját. Kérdések: 1.: A PIC32-es család tagjainak nem kell referencia feszültséget adni az ADC-hez, ugye? Fel lehet őket konfigurálni belső referenciával, gondolom. 2.: Az elem kapocsfeszültsége 9VDC, a PIC AD bemenete maximum 3.3V, tehát szeretném leosztani 3V-ra, DE: elvileg a PIC-ek AD bemenetére (32-es PIC dokumentációban mondjuk nem találtam meg) ilyen max 10kOhm-os ellenállást lehet tenni (pontosabban azt írja, hogy "max source resistance = 10kOhm"). Ugyanakkor szeretném elkerülni, hogy a feszültségosztó zabálja az elemet. Mit tudtok ajánlani? Saját ötletek: Nagy értékű ellenállásokból fesz.osztó, majd utána az osztott feszültségre egy kondi, hogy legyen ott delej, amikor az AD konverziót végez (ritkán akarok AD-zni). VAGY Nagy értékű ellenállásokból fesz.osztó, és utána egy feszültségkövető műveletierősítős kapcsoláson keresztül mennék a PIC AD lábára. Szerintetek? Egyéb ötlet? Köszönöm! ádám
Csao! Nem akarok hülyeséget írni, de bennem biztos felmerülne, hogy a leállításnál fellép valamilyen tranziens jelenség, ami rászór az LCD logikájára, és attól lesz valami... Volt olyan nekem, hogy egy RADAR adóvevő-t vezérlő elektronikában meghülyült az SPI kommunikáció, amikor kikapcsoltam a nagyfeszt.
Próbált messzebb tenni a motortól és relétől a logikát, illetve tedd bele próbaképpen egy fémdobozba (régi PC ház is megteszi), azt FÖLDELD le, mármint a dobozt. Nem biztos, hogy megoldja, de én biztos kipróbálnám.
Hali!
Igen, ezzel próbálkoztam, be van kötve egy tranziens szűrő is. Próbáltam hogy kiveszem a motor mellől, de jó 2 méterre tőle is lefagy. Milyen hosszú lehet egy vezetősáv a PIC-és az LCD-között? Mert nekem olyan 20 cm, de szerintem ez még ok. Nekem még az jutott eszembe, hogy az alsó nibble-t ellenállás nélkül direktbe a 0-ra kötöm, úgysem használom kiolvasás módban az LCD-t.
Alapvetoen a rele kimenetere kellene parhuzamosan egy 10-22 nf/275V~ X2 kondi sorosan egy 47 ohm 2W ellenallassal, es egy 400 voltos VDR. Valamiont a rele tekercsere egy dioda. Az LCD nem hasznalt labait pedig direktben foldre kotni, de itt szerintem nem zavarhat ez.
Helló!
Értem! Jelenleg így van bekötve a relé: (melléklet)
Tápot leállításkor oszcilloszkóppal nézted már?
Az első gondolat az lenne, hogy a tápod nem (elég) jó.
De hianyzik az EMC csillapitas a rele kontakrol. Regen a '90-es evekben csinaltam egy 8 csatornas vezerlest, ami kis relekkel vezerelt magneskapcsolokkat. Persze a szures (RC tagok) nelkul zavarta a PC-t, es mindig elugrott a vezerles. Csinaltam a kimenetre egy panelt, ami tartalmazott 8 kondit (X2 tipusu) es 8 ellenallast. A kondik ongyogyulo tipusok voltak. Eveken keresztul dolgozott szepen a berendezes, majd egyszer megint elkezdett elugralni a vezerles. Megmertem a kondikat, es a kapacitas lecsokken1-5 nF koze. Uj kondikkal helyreallt minden. A magneskapcsolo kikapcsolasakor keletkezett nagy tuskek elegettek a kondit. Ez minden induktiv terhelesnel jelentkezik, ezert kell (!!!) a zavarszures (EMC csillapitas). Ezek nelkul a nagy zavatuskek megbolonditanak minden erzekeny kisfeszultsegu elektronikus vezerlest.
Sajnos nincs oszcilloszkópom ez nagy hiba tudom, gyűjtögetek rá, sajnos drágák.
A tápom egy ipari 230VAC-12VDC ha jól emlékszem OMRON kapcsoló üzemű ipari táp, próbáltam egy másik gyártmánnyal is, de akkor is megmaradt a hiba.
Oszcilloszkóp nélkül ilyen jellegű problémát nagyon nehéz lesz megoldani. Próbálj meg valami ismerőstől kölcsönkérni.
Maga a táp lehet, hogy jó, de ha az egyes alkatrészek tápellátása nincs rendben (kondik, vezetékezés), akkor is lehetnek ilyen gondok.
Értem köszi!
EMC-t még nem csináltam, megtennéd hogy küldesz még egy "móricka" rajzot, hogy ezt hova kössem be, és az mit jelent hogy x2 típusú?
Ok, megpróbálok szerezni egyet kölcsön. Köszi neked is!
Amúgy erre gyűjtök: http://shop.ageta.hu/product.php?id_product=184
Nekem egy 7102-m van... elég frankó cucc
De a Te problémádra egy 30 ezer forintos szkóp is megoldást jelentene.
z EMC altalaban valami elektromagneses zavart jelent. Jellemzoen nagyobb induktiv terhelesek kikapcsolasakor keletkezo zavar, ami rosszabb esetekben (csillapitas nelkul) elerheti a 20-30 kV nagysagrendet is, ami olyan tipusu zavarokat kelt, mint egy kozeli villamcsapas. Jellemzoen a keletkezes helyen kell (a rele kontakt, terheles) csillapitani. Az alkalmazott kondenzatorok X2 kategoriaju femezett PoliPropilen tipusuak, amik a keletkezo atutesek helyen elparolognak, ezzel ongyogyulo folyamat jatszodik le. Mas tipusu kondenzatorok alkalmatlanok ebben az alkalmazasban, mert atutes eseten fennmarad a zarlat.22 nF/275 V AC.
|
Bejelentkezés
Hirdetés |