Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   523 / 1320
(#) szilva válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Légy szíves valami képfileban feltenni a rajzot!

Nálam az ingyenes Eagle azt mondja rá, hogy sérült, vagy illegális Eagle verzióval lett csinálva.
(#) icserny válasza szilva hozzászólására (») Júl 8, 2009 /
 
Az Eagle-5.6.0 Lite szereti.


kapcsrajz.png
    
(#) Prince86 válasza icserny hozzászólására (») Júl 8, 2009 /
 
Köszi az átalakítást!
(#) icserny válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Egészségedre!

A termisztort levehetnéd próbaképpen! Én inkább arra gyanakodnék (mármint a vezetékére), nem a kijelzőre.
(#) norby1 hozzászólása Júl 8, 2009 /
 
Sziasztok!
Segítségeteket szeretném kérni. A konkrét probléma az, hogy ha az USART -on küldök pl. egy hexa 10-es értéket, akkor az őt követő switch-case parancson belül nem ugrik a "case 16:" -ra, hanem a default részre. Beszúrtam az alábbi sort kód a legelejére, hibakeresés céljából:
  1. char command;
  2. while(!DataRdyUSART());
  3. command = ReadUSART();
  4. WriteUSART(command);
  5. while(BusyUSART());


A csatolt képen látható, hogy milyen értékek jönnek vissza. Érdekes, hogy pl. a 33 visszajön.

txrx.JPG
    
(#) trudnai válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Esetleg probalkozhatsz az LCD adat ill vezerlo vonalaira egy-egy 50pF kornyeken levo keramiaval is.
(#) norby1 válasza norby1 hozzászólására (») Júl 8, 2009 /
 
Megoldódott a probléma. Az OpenUSART() -ból hiányzott a "USART_BRGH_LOW" paraméter. Nem tudom, hogy hagyhattam le Bocs a felesleges kérdésért.
(#) watt válasza norby1 hozzászólására (») Júl 8, 2009 /
 
Már majdnem írtam, hogy biztosan jó-e a Baud Rate, de látom már minden okés...
(#) watt válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Próbáld meg, hogy a 4MHz-es kritály mellé 33pF kondikat teszel. A 15pF inkább a 20MHz mellé való.
Az MCLR lábra is tegyél egy 100n-t.
(#) watt válasza watt hozzászólására (») Júl 8, 2009 /
 
Az analog bemenetet sem szoktuk kondi nélkül tervezni. Oda is érdemes lenne egy 100n. (Még akkor is, he nem ez a baj.)
(#) szilva válasza watt hozzászólására (») Júl 8, 2009 /
 
Vagy még inkább a termisztor osztópontjáról minimum egy RC taggal"szűrt" jelet vezetni az analóg bemenetre. Vagy méginkább RCR hálózatot használnék.
(#) watt válasza szilva hozzászólására (») Júl 8, 2009 /
 
Igen, én is RCR-t szoktam(?R, 1..100n, 2k2 -> ANx). Ha osztó is van, akkor R/RCR. Ha van veszélye, hogy a fesz túlhaladja az A/D bemeneten megengedettet, akkor még egy 5,1-es, vagy 4,7-es zenert is be szoktam tenni, ha nem hamisítja a mérést. Ha hamisítja, akkor tranyós védelem...
(#) Prince86 válasza icserny hozzászólására (») Júl 8, 2009 /
 
Van benne igazság mert míg nem volt rajta a termisztor addig nem is fagyott le soha, csak miután rátettem és visszakerült az áramkör a motorra utána rögtön össze vissza ugrált a sebeség kijelzés amikor forgott a kerék de ezt megoldottam, de a fagyással nem tudok mit kezdeni.

Leforrasztom a termisztort és megnézem mi lesz, hát berosálok ha az a baja. De ha az is a baja akkor egy árnyékolt vezetékkel elvileg megoldható ugye?

És írok a programba egy részt ami egy ledet villogtat másodpercenként egyszer és kiderül melyik fagy le a kijelző vagy a PIC. Ezt a timer0 felhaszánlásával tervezem úgy hogy 1:256 os előosztást választok ki és minden túlcsorduláskor növelek egy regisztert. Kiszámolom azt hogy meddig kell növelni a regisztert hogy kb 1 másodperces legyen a villogási sebesség.
Elvileg a port lába elbír egy ledet 10mA áramaml.
(#) potyo válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Árnyékolt vezetéket nem hinném, inkább a pic oldalára kell az említett diódás illetve RC szűrős megoldást odatennni.
(#) Hp41C válasza szilva hozzászólására (») Júl 8, 2009 /
 
Szia!

A sok új típus miatt egyre több az Errata. Sok csúnyaság szokott bennük lenni. Egy tÍpusnál több kiadása is lehet és még azt is tudni kell, milyen verziójú az a példány, amit programozunk.
(#) Prince86 válasza potyo hozzászólására (») Júl 8, 2009 /
 
Értem de így ugrik a KTY81 mert elég nehéz volt így is kb pontosra belőni az osztót hogy 1fokra egyet lépjen mert elég nonlineáris. Ha betennék még egy ilyen RC szűrőt akkor elállna a pontosság. Lehet hogy LM35-öst kéne használni az elvileg lineáris és ahhoz mehet az RC szűrő.
(#) trudnai válasza Hp41C hozzászólására (») Júl 8, 2009 /
 
Sziasztok!

Mai napi felfedezes, hogy a Microchip-nek van egy speci microcontroller csaladja (lehet tobb is nem tudom) amelyik kifejezetten nagy felhasznaloknak es elsosorban a Nagy Kina teruletere keszult (Greater China, nem tudom jol irom-e magyarul?). A nagy felhasznalok gondolom 100 ezres vagy meg ennel is tobb peldanyszamban rendelnek, de ez csak egy feltetelezes mert nincs semmi konkret info a reszletekrol.

Ez az MCVxx csalad ami ugy tudnik a PIC baseline alapjaival kozoskodik. Kulonosebb infot errol a Microchip oldalan nem talaltam (sem a keresojevel, sem a product tree-ben sem pedig a MAPS-ben nem latszik a termek). Ha a tpusszamra rakeresek a googlival akkor fokent kinai site-okkal talalkozom ahol az MCU-t meg lehet rendelni. Az egyetlen nyom ami elarulja, hogy ez nem egy esetleges hamisitvany, hogy az adatlap letoltheto a Microchip oldalarol:

MCV14A DataSheet

Ha minden igaz ki lehet ezzel ill a csalad mas tagjaival valtani nehany PIC baseline-t:

Idezet egy kinai nyelvu forumrol -- Google-lal nagyjabol angolra lehet forditani
  1. MCV18A can replace PIC16F54   CF745
  2. MCV28A can replace PIC16F57    CF775
  3. MCV08A can replace PIC12F508  PIC12F510  PIC12F629
  4. MCV14A can replace PIC16C505   PIC16F526  PIC16F630

Amit meg sikerult kideriteni, hogy ez egy olcsobb valtozata a PIC-eknek, ami egyreszt magaval hordozza hogy nincs a Microchip altal teljes mertekben letesztelve (azt a felhasznalo teszi meg), masreszt nincs olyan bo valasztek tokozasban.
(#) icserny válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Idézet:
„De ha az is a baja akkor egy árnyékolt vezetékkel elvileg megoldható ugye?”

Van egy olyan gyanúm, hogy az antennaként működő vezeték a tápfeszre visz tüskéket. Ott kellene valami zavarszűrés. Induktivitás és kapacitás (vannak gyári zavarszűrők is) lenne szerintem a legjobb, mert az nem szól bele a termisztoros osztód lelkivilágába.

(#) lidi válasza trudnai hozzászólására (») Júl 8, 2009 /
 
Hogy mik vannak ! Még jó hogy a "normál" baseline tipusok se túl drágák. Gondolom azért nem veri nagy dobra ennek a létezését, mert nem akar magának konkurenciát házon belül sem.
(#) icserny válasza trudnai hozzászólására (») Júl 8, 2009 /
 
Érdekes lesz, ha ezeket a "nem teljes mértékben letesztelt" vezérlőket ilyen "ICD2"-vel debug-olják!
(#) Csaplar hozzászólása Júl 8, 2009 /
 
Sziasztok!

Segítséget szeretnék kérni MPLAB-MCC18 környezethez.

Egy PIC18F1220-at akarok felprogramozni, de elkadtam.
Létre kellett hoznom néhány tömböt:
  1. #pragma udata Structures
  2.     char cardnumber[30];
  3.     char datetime[13];
  4.         _flags flags;
  5. #pragma udata

És vannak egyéb változóim is.
A probléma az, hogy nem fordul le a kód:

  1. Error - section '.code_main.o' can not fit the section. Section '.code_main.o' length=0x0000045e


Nem akarok már több tömböt, de amik vannak, kellenének. Nincs valami trükk, hogy elférjenek a memóriában és leforduljon a kód?
Mit kellene tennem?

Köszi
Zoli
(#) benjami válasza Csaplar hozzászólására (») Júl 8, 2009 /
 
Használd az acces ram területet is, mert a simából alig marad szabad mivel a stack-et is oda teszi a fordító.
  1. #pragma udata access my_access_session
(#) szilva válasza Prince86 hozzászólására (») Júl 8, 2009 /
 
Nem történne semmi az A/D bemenetre kerülő feszültséggel. Az A/D bemenet elég nagy impedanciát képvisel ahhoz, hogy a bemenettel sorbakötött pár k-s ellenállás a DC szintbe ne szóljon bele. A soros ellenállás -> párhuzamos kondenzátor -> soros ellenállás így nem fogja elállítani a belőtt skáládat, csupán a nagyobb frekvenciás zavarokat fogja eliminálni. A hőmérséklet-mérésnél amúgy is olyan lassú a változás, hogy nincs szükség gyors mérésekre és nagy sávszélességre.
(#) Csaplar válasza benjami hozzászólására (») Júl 8, 2009 /
 
Sajnos még mindig ugyanaz a helyzet, hiába írtam oda az access kulcsszót.
(#) lidi válasza Csaplar hozzászólására (») Júl 8, 2009 /
 
Nem ismerem a C18-at, de hi-tech nél volt olyanom, hogy egy függvény akkora lett hogy nem fért bele a psect-be, bármi is legyen az. Felosztottam kisebb darabokra, és úgy már jó lett. Lehet hogy nálad a main nagyon nagy, csinálj pár függvényt, átláthatóbb is lesz a main tőle.
(#) trudnai válasza lidi hozzászólására (») Júl 8, 2009 /
 
Ebben lehet valami lidi, az az uzenet szerintem inkabb a kod meretre utal minthogy a ram-ra. Ott van, hogy a
  1. Section '.code_main.o' length=0x0000045e

tehat egy min ekkora kod szekcionak kellene lennie a linker scriptben -- mar feltetelezve, hogy egyaltalan van-e osszessegeben ekkora kod terulete a kerdeses PIC-nek?

Szerk: Mar latom, 18F1220 -- annak ugye 2kword program tara van, annak elegendonek kell lennie -- akkor lehet a linker scripttel kell farigcsalni vagy a darabolasos modszer hatha segit.
(#) Hp41C válasza trudnai hozzászólására (») Júl 8, 2009 /
 
Szia!

Már én is olvasgatom. Több, mint érdekes, amit a kinai írt:
A 16F630-ban pl. 8 mélységű a stack, a MCV14A-ban pedig 2. ("Can replace...") Az MCV14A-ban van A/D konverter, így keveredethetett ide a 16F630 - 676.

A többiről még nincs adatlap...

Más programjukban is van "problems introduced":
Az MPlab 8.15 még jól tette fel a kérdést, hogy a megnyitott lista állományt frissítse-e a fordítás után, ha hibát talált. A 8.30 és a 8.33 hibás fordítás után a kérdést csak akkor tesz fel, ha a fókuszt elveszti és visszakapja.

Szia.
(#) trudnai válasza Hp41C hozzászólására (») Júl 8, 2009 /
 
Idézet:
„A 16F630-ban pl. 8 mélységű a stack, a MCV14A-ban pedig 2. ("Can replace...") Az MCV14A-ban van A/D konverter, így keveredethetett ide a 16F630 - 676.”


Ez a 2 szintu stack dolog normalis lehet mert az MCVxx csalad ugye a baseline-on alapszik, a 16F630 me mid-range-es. gondolom a kivaltasnal nem azt ertettek, hogy 100% kod kompatibilitas, hanem hogy amit esetleg 16F630-cal megtehetsz valoszinuleg ezzel az MCV14A-val is megteheted?

Amugy kinai nyelvu adatlapot talaltam... nem sikerult meg kiexportalni es lefordittatni.... viszont... a nagy keresgelesekben egyre erdekesebb helyekre jutok Pl PIC16C5X kompatibilis TSK165x
(#) Prince86 válasza szilva hozzászólására (») Júl 8, 2009 /
 
Értem, és tényleg az volt a baja mert elvágtam most a hőmérő vezetékeit és mentem vele kb 10km-ert és egyszer sem fagyott le. Tökéletesen működik. Kipróbálom az általatok említett RC szűrőt és köszönöm a segítséget mindenkinek.

Még a dudára kell tennem valami kondit mert az megzavarja még az elektromechanikus fordulatszámmérőt is pedig az gyári.
Szerintem párszáz nF párhuzamosan vele megoldja ezt a problémát is.
(#) Stefan hozzászólása Júl 8, 2009 /
 
Frekimérést(négyszögjel) C be hogy érdemes megoldani, ha kb 0-4khz ig kéne mérnem(pontosság nem szükséges)?
Periódusidőt mérjek, vagy x idő alatti periódusokat?
Gondolom célszerű előbbinél a T0 számláló túlcsordulását számolni.
Esetleg valaki egy kódrészlettel ha megdobna azt is megköszönném
Következő: »»   523 / 1320
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem