Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   803 / 1320
(#) watt válasza PetAd hozzászólására (») Szept 19, 2010 /
 
Persze, ha a potival jó, akkor a megfelelő ellenállásokkal is jó lesz. Ez mióta PIC kérdés?
(#) PetAd válasza watt hozzászólására (») Szept 19, 2010 /
 
PIC-hez kellene, de igazad van a kérdésben semmilyen PIC-re utaló kérdés nem volt, de hogy ne csak offoljak:
16F690-nél melyik a 1-wire lába? Vagy nincs neki meghatározva és bármelyiket fel lehet használni?
(#) watt válasza PetAd hozzászólására (») Szept 19, 2010 /
 
Nincs 1wire láb, ezt le kell programozni, az adatlap(hőszenzor) szerint. A legjobb egy olyan lábat választani, ami nyitott drain-es. A 16F690-nél ilyen láb ha jól emlékszem nincs. A megoldás az, hogy bemenetté kell konfigurálni és állandóan L szintet kell beállítani a Port kimeneti bitjére(és soha nem szabad magasra vezérelni!), és a TRISx megfelelő bitjével kimenetté kell konfigolni, amikor alacsony szintet akarunk, azaz adatot akarunk kivinni, megszólitani a szenzort. Így nem ütközhet soha a hőszenzor kimenetével, ha netán az alacsony szintű. Az 1wire vonalon elvileg van felhúzó ellenállás, ha jól emlékszem...
(#) cs_gabor válasza Hp41C hozzászólására (») Szept 19, 2010 /
 
Mindkét általam próbált progiban lehet, és termésuetesen be is állítottam, enélkül a PIC felismerés sem működött (volna), sőt műszerrel "port check" is rendben volt, és mégsem oké a dolog. Holnap este meg fogok próbálni egy 16F628-ast csak úgy kiváncsiságból
(#) icserny válasza PetAd hozzászólására (») Szept 19, 2010 /
 
Szerintem az 1wire kommunikációt egy általános célú ki/bemenettel valósítják meg, tehát nincs erre a célra elkülönített láb. Bővebben: Link
(#) cs_gabor válasza potyo hozzászólására (») Szept 19, 2010 /
 
Most olvasom: http://wattmep.tvn.hu/pic_prog/PIC_pro_net_v03.html tényleg 22pF, ezt biza (sréviza) elnéztem, holnap este PIC és kondi csere egy próba erejéig
Igaz már csak kiváncsiságból, mert mérgemben és mert watt is ajánlotta rendeltem egy PK2 klónt az eBay-en.
Bővebben: Link
(#) PetAd válasza watt hozzászólására (») Szept 19, 2010 /
 
Köszönöm a leírást, igaz a nagy részét nem értettem
Találtam egy kész progit a hőszenzorhoz amit akarok használni, csak furcsálltam hogy sehol se írják a PIC adatlapján a 1 wire lábat ezért kérdeztem.
(#) Attila86 hozzászólása Szept 19, 2010 /
 
Köszönöm a linkeket! Végül is rájöttem hogy elég egy 32 bites négyzetgyökvonás is. Találtam egy szimpatikus rutint:
Bővebben: Link
De valami nem stimmel... Milyen parancs az a "movfp"?
(#) icserny válasza Attila86 hozzászólására (») Szept 19, 2010 /
 
Ezt a PIC17C43 utasításkészletében kell megnézni, a begyűjtött rutinodat ugyanis arra írták.

A TB040 alkalmazási mintapélda (Fast Integer Square Root) nem volna alkalmasabb helyette? Bővebben: Link
(#) Hp41C válasza Attila86 hozzászólására (») Szept 19, 2010 /
 
Szia!

Az első sorban említik, hogy a rutin egy 17C42 típusú pic -re íródott, adatlapjában le van írva a movfp és movpf...
(#) Attila86 válasza icserny hozzászólására (») Szept 19, 2010 /
 
Valóban. Átírogattam, remélem működni fog. Viszont nem tudom lefordítani a programot emiatt:
Idézet:
„Error - section '.udata_acs' can not fit the section. Section '.udata_acs' length=0x00000067”

Ha kevesebb regisztert definiálok akkor le tudom fordítani, de akkor meg bizonyos rutinokat nem tudok használni. Miért nem tudok több regisztert elnevezni és lefoglalni a memóriából?
(#) Attila86 válasza icserny hozzászólására (») Szept 19, 2010 /
 
Nézegettem ezt is és szimpatikus is lenne, csak nem értem hogy mely részt kellene nekem kimásolnom a pdf-ből. Mert elvileg 16 bites és 32 bites gyökvonás is van benne, nekem csak a 32 bites kellene és egyenlőre még nem sikerült rájönnöm hogy ez mettől meddig tart.
(#) icserny válasza Attila86 hozzászólására (») Szept 19, 2010 /
 
Az Sqrt32-től a RETURN-ig tart a 32 bites gyökvonás, de kell mellé az Sq16 nevű négyzetre emelő függvény is. Tehát végeredményben az Sqrt32 címkétől kell a lista végéig.
(#) icserny válasza Attila86 hozzászólására (») Szept 19, 2010 /
 
Az udata_acs az ACCESS blokkor jelenti. Ennek kötött (és nagyon korlátozott) a mérete. Amit nem muszáj ide tenni (bankolható), az ne ide tedd, hanem a sima udata szekcióba!
(#) PetAd hozzászólása Szept 20, 2010 /
 
Sziasztok
Szeretnék használni egy 16F690-est és hozzá egy LCD-t, de az LCD-n nem látok semmit.
Az alap CCS-es LCD parancsokat használom az lcd.c-ben, ott átírtam a tetején a portB-s részt portC-re, úgy kötöttem be ahogy a szürke kommentben volt csak a C portra. AZ LCD lábán mérve megvan a vezérlő és LCD tápfesz, RW láb földön van, RS lábon 5V, de az engedélyező lábon nincs meg az 5V a PIC lábán mérve se. A
fő program csak ennyi:
  1. set_tris_c(0b00000000);      // PORTC kimenet
  2. lcd_init();
  3.  delay_ms(200);
  4.  printf(lcd_putc,"\falma");
  5.  delay_ms(2000)


Ez tuti, hogy működik mert LED villogtatással is kipróbáltam.
Ennyit változtattam az lcd.c-ben, ezt írtam át portB-ről.:
  1. #define use_portc_lcd TRUE
  2. #if defined use_portc_lcd
  3.    #locate lcd = getenv("sfr: PORTC")    // This puts the entire structure over the port
  4.    #define set_tris_lcd(x) set_tris_c(x)

Valamint beledobtam egy delay clock... sort. A PIC adatlapja szerint a C port öszses lába general purpose I/O, szóval működnie kellene.
(#) vicsys válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Miért nem a flex_lcd -t használod? Annál nem portfüggő a bekötés. A kontraszt potit próbáltad?
(#) icserny válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Ha az LCD-n nem látsz semmit, akkor az inkább kontrasztbeállítási probléma lesz. Földhöz képest 0.5 V körül keresgélj. Ha nincs potmétered, akkor pedig egyszerűen max. 1 kohm-mal kösd le a földre! Legalább a felső sorban látni kell halványan a karakterek 5x8-as téglalapjait! (vezérlés nelkül is...)

Az E lábon alaphelyzetben alacsony szintnek kell lenni, csak rövid időre fut fel magas szintre (néhány us-os impulzus). Az tehát kifejezetten jó, ha nem 5 V-ot mérsz rajta!
(#) PetAd válasza vicsys hozzászólására (») Szept 20, 2010 /
 
flex_lcd ről még nem hallotam, de utánanézek, kontrasztpotit is csavargattam semmi eredmény, az is jól van bekötve, 4V körül van rajta a fesz.
Most megpróbáltam flex_lcd-vel szintén semmi.
De most kiszedtem az lcd-t és az engedélyező lábon 2,85V-ot mérek az elején utána semmit. Lehet, hogy kinyírtam azt a portot?
(#) vicsys válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Bővebben: Link
A kontraszt lábon (Vo) olyan 0.5-0.6V-kell lennie. A portokat próbáld ki leddel.
(#) watt válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Idézet:
„az is jól van bekötve, 4V körül van rajta a fesz.”

Most írta icserny, hogy 0,5V kellene ott lennie!
Ha semmit nem látsz, annak semmi köze a portodhoz! Első körben láss sötét kockákat a felső sorban!
(#) icserny válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Idézet:
„jól van bekötve, 4V körül van rajta a fesz.”
Mondom, hogy fél volt körül keresgélj! Az adatlap szerint a Vdd-Vo az, ami tipikusan 3,7 V, azaz a +5 V-os táfeszültségnél ennyivel kell kisebbnek lennie Vo-nak.
(#) PetAd válasza watt hozzászólására (») Szept 20, 2010 /
 
Előbb kezdtem el írni, minthogy láttam volna, hogy mit ír, elküldés után frissült csak az oldal. Most már letekertem a potit, látszanak is a karakterek, csak nem az amit kiküldtem, csupa o betü szerűség meg néha más karakterek is, most épp ugyanannyi karakter van mint amit én beírtam. A 4 adatvezeték jól van bekötve meg is mozgattam őket, újra az eredeti lcd.c-t használom. A 4-8 bites váltást automatikusan megcsinálja a PIC vagy az LCD?
(#) watt válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Az a programtól függ. Itt semmi nem automatikus, csak amit a programban megírtál. Meg kell nézni a rutint, amit alkalmazol, hogy 4, vagy 8 bitesre van-e írva, esetleg beállítható-e valahol a fordítás előtt, hogy milyen módban működjön.
(#) icserny válasza PetAd hozzászólására (») Szept 20, 2010 /
 
Tudtommal az LCD.c eleve 4-bites üzemmódra van megírva, tehát várhatóan ennek megfelelően tevékenykedik.
(#) jdani hozzászólása Szept 20, 2010 /
 
Hali. Egy KMZ 10C típusú HALL szenzorral szeretnék mérni jeleket PIC segítségével. Tudom hogy nem alkalmas ez a téma rá, de nem találtam emgfelelő témát, eligazítást szeretnék kérni. Nem tudom hogyan is kell bekötni, stb.
(#) Hp41C válasza jdani hozzászólására (») Szept 20, 2010 /
 
Szia!

Olyan pic -et válassz, amiben van A/D konverter. A legtöbben 10 bites van, de a 18F2423, 18F15553 stb. típusokban 12 bites a konverter. Az érzékelő és a pic A/D bemenete közé egy műveleti erősítőből kialakított differenciál erősítőt kell tenni, ami az érzékelő kimenő feszültségét 0 .. 5 V (a táp a referencia), vagy 0 .. Vref (külső referencia esetén) közé képzi le. Ügyelni a táp és a föld vezetékek elrendezésére, a mérőkör vezetékein más egységből származó áram ne menjen át...
Adatlap
(#) jdani válasza Hp41C hozzászólására (») Szept 20, 2010 /
 
Én PIC 16F877Ara tippeltem, ill. ehhez szeretném illeszteni. Ehez a hall szenzor működéséről-bekötéséről, valami téma, mert nekem, nem tiszta, most foglalkozok először ilyennel.

Simpi:
Igen, ez még az, de már vettem 2 ilyen szenzort, és valamilyen elektronikát utánaépíteni, nem nagy dolog. (attól függ milyen az az áramkör)
(#) Lozsa hozzászólása Szept 20, 2010 /
 
PIC12f683-as MCU-nál a következő a bajom.

12-17V közötti tápfeszt akarok mérni (akkufigyelés elemlámpához)
a fesz.osztó a következő:
12V---100K----AN0----22K---GND
Így az AN0 lábon 2.5 volt körüli értéket tudok feldolgozni A/D-vel.

A Pic 4Mhz belső oszcillátorról megy, az A/D pedig 1:64-es osztással, tehát a lehető legtöbb ideje van a mérésre...

A mérés eredménye mégis nagyokat ugrál. akár 10-15%-al is eltérnek az eredmények. Ez így használhatatlan.

Mi lehet a baj? Talán a feszosztón folyó 0.1mA túl kevés?

Mennyi lehet a minimum? A gond az, hogy az áramkör nyugalmi áramát növeli a feszosztó folyó áram. Ezáltal az akku kisüti önmagát.
(#) potyo válasza Lozsa hozzászólására (») Szept 20, 2010 /
 
Tegyél egy 100nF kondenzátort az analóg bemenet és a GND közé, a lehető legrövidebb mindkét lábhoz, hogy a PIC alacsony impedanciával lássa a mért értéket.

Az sem jó, ha túl lassú az átalakítás, be kell úgy állítani a frekvenciát, hogy a gyári ajánlott értékek közé essen.
(#) Attila86 válasza Lozsa hozzászólására (») Szept 20, 2010 /
 
Idézet:
„A gond az, hogy az áramkör nyugalmi áramát növeli a feszosztó folyó áram. Ezáltal az akku kisüti önmagát.”

Egy fettel (BS170) megoldható hogy csak a mérés idejére kapcsolódjon rá az osztó az akkumulátorra. Az osztó méretezésekor viszont vedd figyelembe az A/D bemeneti impedanciáját is, ami nevetségesen alacsony (kb 2,5kOhm).

Az A/D beállításait pedig alaposan át kell nézi ahogy Potyo is írta, a túl sok idő sem jó!

Az ugrálást még okozhatja a digitális részek áramfelvétel-ingadozása, ezen a nyák csillagpontos huzalozásával lehet javítani.
Következő: »»   803 / 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