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!? ![]() 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
![]() 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 |