Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „Nem csak a kérdéseimből lehetett következtetni hanem ugy is kezdtem hogy kezdő vagyok.” A PIC kezdő és az Elektronikai kezdő nem ugyananaz! Ha elektronikai kezdő vagy, akkor nem jó topicban vagy! Idézet: „Azért gondoltam a PIC-re mert nagyon sok oktató anyagot találtam róla” A PIC anyagok nem taglalják az elektronikai alapokat, hanem feltételezik, hogy azok már megvannak! Így nem sokra mész velük, ha nem tudod felépíteni az elektroniki kapcsolást! A PIC elektronikai eszköz, nem egy PC, amit csak programozni kell! Idézet: „Amugy rajzokat tényleg merre találok.” Teljesen elvetélt ötlet rajzokat keresni. Már írtam, milyen egy rajz! Ha egy LED-et nem tudsz illeszteni egy kimenetre, akkor nem jó helyen jársz, irány a kezdők topicja! Idézet: „De lebeszélhető vagyok bármiről per pillanat.” Nem lebeszélünk, hanem a helyes irányt mutatjuk. Tanuld meg az elektronika alapokat és utána jöhet a PIC és a villogtatás! Idézet: „Nem szeretnék abba a hibába esni hogy mindent én+én+én” Pedig ez itt így szokott lenni! Helyetted nem fog dolgozni senki, csak akinek elment az esze! ![]() Ha netán nem az a célod, hogy megtanuld mindazokat az ismereteket, ami szükséges, hanem csak építeni akarsz egy fényjátékot, akkor azt az oldalamon találsz(fényfüggöny). LED-ekkel is van rajz... Idézet: „Ami nekem lényeg lenne hogy azt a 11 egység ledet ugy tudjam villogtatni ahogy én szeretném.” Olyan programot is találsz az oldalamon, ami LPT porton villogtat 12 LED-et. PIC sem kell hozzá...
Nem akarom átterveztetni az egész áramkört, de az NE5534 nem túl jó választás egy olyan áramkör esetében ami csak az OPA miatt kér negatív tápot. Ide egy MCP6001(microchip-chipcad) tökéletes lenne, ami Rail-to-Rail be és kimenetes és egytápos.
Az AD bemenetekre nem szokás direkt rákötni egy OPA kimenetet. Egy RCR kört érdemes beiktatni(pl. 1k előtét,100n testre, 1k bemenet elé sorba). Valami védelem is elkéne a negatív tápfesz ellen(shotky dióda), ha maradsz az NE mellett. Idézet: „Ami nekem lényeg lenne hogy azt a 11 egység ledet ugy tudjam villogtatni ahogy én szeretném. ugyhogy lehet hogy amiket te irtál azok egyszerübbek ebbe kérlek segíts.” Google, a barátod ügyesebb ebben, csak add meg neki egyenként az előző hozzászólásomban felsorolt kulcsszavakat! Néhány alapvető link: Aduino Magyarországon Wiring Pinguino PICAXE Parsic
Igazad van, Csak gondoltam mivel PIC-el szerettem volna elindulni ezért gondoltam hogy ide vág.
Persze meg kell tanulni az elektronikai alapokat. csak mivel a szgép közelebb ál hozzám mint a forrasztó ezért gondoltam megnézem hogy a programozását be tudom e venni és megis értem-e? mivel ezt hamarabb idő alatt kiderül minthogy az elektronikát megtanuljam. És ha megtudom tanulni a programozást akkor szánok rá időt és megtanulom az elektronika alapjait. De ebben igazat adok csak igy szerintem életszerübb A másik " helyetted nem fog dolgozni senki" amikor értam hogy nem akarok abba a hibába esni hogy mindent én. azt nem arra gondoltam hogy mindent én csinálni hanem arra hogy ne találjam már fel megint a spanyol viaszt mert valószinű hogy nem fog müködni. illetve egy kapcsolási rajzot kerestem csak egy alap panelhoz. nem azt kértem hogy valaki tegyen elém egy komplett rendszert Hanem inditson el az uton. De igazad van és bocsánat.
Mint írták, ehhez úgy kell nekiállni, hogy ez egy áramkör, nem pedig úgy, hogy egy programozható valami. Ha nem akarod feltalálni a spanyolviaszt újra, akkor olvasd végig ezt a témát az elejétől a végéig, mert itt ami a kontrolleres áramkörök építését illeti, már mindenről volt szó. De az elektronikai alapokat ez nem helyettesíti. Ha nem tudsz önállóan (adatlapok alapján) összeállítani pl. egy digitális órát, akkor még ne állj neki PIC-el foglalkozni.
Beiktattam az említett szűrőt a műv erősítő és a pic közé, annyi külömbséggel, hogy a pic felőli ellenállás 1k5-ös, mert nem volt 2 db 1k-s, a 100 nF-os kondiból csak nagy méretűt (160 V-ost) találtam. Nem a legkisebb távolságokkal van kialakítva, de az eredmény nagyságrendekkel jobb. Amikor nem fűt a fűtőszál, akkor már majdnem jó eredményt mutat +-1 vagy 2 egységet ugrál, ami sokkal jobb mint a kezdeti, viszont amikor a páka fűt, akkor mintha nagyobb eltérések lennének.
Érdemes lenne egy hasonló szűrőt tenni az erősítő elé is? Vagy a kondenzátor értékén kellene inkább változtatni?
Igen, növelheted a kondit, de inkább úgy, hogy tegyél a 100n mellé egy 1µF-ot is.
A műverősítő bemenetére is lehet tenni szűrést, ha ez nem elég.
Ma megint volt kedvem és időm kicsit az égetőkkel bíbelődni. Mivel az egyszerű LPT-s megoldottnak látszik, így a COM portossal kísérleteztem. Sok variációt kipróbáltam, mindegyikben egy MAX232 volt és utána vagy tranyó, vagy FET vagy 7407. Ezek közül az összes működött a WPB_F18-ammal hibátlanul, de másik égetőprogrammal egyik sem akart együttműködni. Lehet, hogy a MAX lassú, de az IC-Prog-ot olyan lassúra lehet venni, mint a csiga, még sem volt jó!
Most már ott vagyok, hogy dühömben nekiállok, és írok egy normális égetőprogamot 16F-ekre is! Bár a PICKit2 nagyon jó, még sem lehet ajánlani egy kezdőnek első égetőként, ezt be lehet látni. Akinek meg nincs LPT a gépén csak COM(épp most futottam össze egy ilyen helyzettel), annak nem lehet mit ajánlani, főleg miután a JDM nála sem működik(tönkretett egy halom 16F-et!). Úgyhogy most nem tudom mi legyen, mert tudom mekkora meló! Megvárom mekkora az érdeklődés. Kérem privátban, vagy e-mail-ben jelezni, és ha nem lesz nagy az érdeklődés, nem állok neki!
Elméletben átgondoltam az áramkört megtennéd hogy megnézed ? a legegyszerűbb PIC16fxxx topicba van
Egy nálam jól müködő jdm -hez hasonló de mégsem ugyanaz:Bővebben: Link/műhely sarok /pic égető
A +12v égetőfeszültséget az adatvonalak kapcsolgatásával állítja elő.A leírásban minden benne van.
Szakbarbár és PIC-re veszélyes, még a JDM-nél is ócskább megoldás. Mit akarsz ezzel elérni, hogy ilyeneket linkelgetsz(ráadásul nem jó a link)? Csak bajt okozol azoknak, akik ilyet akarnak építeni. Attól hogy neked működik, nem jelenti azt, hogy másoknál is! Én minden leírtam az oldalamon az elvről(és nem a 12V a lényeg, ezt is leírtam), ha elolvastad akkor nem tudom mit kell ezen rágódnod. Én nagyon unom ezt már...
Watt mester! Kérlek illes a talpaddal egy féreg vagyok! Kövezz meg! De ezzel az égetővel közel 200db. kontrollert égettem be hiba nélkül. Nem azt mondom, hogy jó megoldás, mert ez nem igaz. De sokan vannak akik még életükben soha nem égettek de lenne egy kapcsolás ami nagyon izgatja Őket. ...és csak egy... és csak próba képpen... és nincs 10-12000 forintja PICKIT-re. Na meg amúgy is, fingja sincs az egész PIC-es dologról!
Becsüllek a türelmedért, a kitartásodért, de ne húzd fel magad! Felesleges... Majd az 5. vagy 6. rontott PIC után rájön a delikvens, hogy nem biztos, hogy használhatóbb az olcsó. Én is rájöttem. ![]()
Nálam is működik az egyik gépemen, de miután látszólagos ok nélkül leégettem vele egy 18F2321-et, még próbák miatt sem használom. Évek óta küszködünk a JDM temetésén, de mindig jön valaki, aki elmondja, hogy neki milyen jól működik, ezzel félrevezetve másokat. Kicsit fárasztó és kiment a bizti.
Én aztán elmondhatom magamról ,hogy mindent megépítek ,ami 1-2 ezerrel olcsóbb ,mint a boltban.
Sokat rágódtam én is a dolgon ,nézegettem kapcsolásokat,többek közt a JDM-et is..... Aztán úgy döntöttem - mivel PIC -ben kezdő is vagyok - ,hogy legyen egy biztos pont a "fejlesztésben" . Vettem egy Pickit2 -t ,amit nem is bántam meg. Nem biztos ,hogy a legjobb döntés ,de erre volt pénzem. Ez kisebb eséllyel teszi tönkre a kontrollereket ,a gépemet,az idegeimet.......stb 8800Ft volt ,szerintem ,aki PIC-et akar égetni - fejleszteni - ez a minimum beruházás ,amit nem kéne elspórolni. De hozzáteszem ez az én véleményem.
Jól döntöttél. De nem olcsó, és nem mindenki tudja megengedni magának. Ekkor fontos, hogy ne egy olyan áramkört ajánljunk, ami eleve rossz tervezés és elvileg nem működhet. A gyakorlat persze más, mert nem szabványosak a COM portok sem a PC-kben, ezért működik néhányon.
Ellenőrizd légyszives ezt szültem meg a paraszt logikámmal annyi plussz hogy a piros kör helyére megy a feszültségstabilizátor az uin+12v meg az uout+5v egyértelmü és a középső láb GND meg megkapja a közös GND-t a vezérlóvel meg az ULN-el?
Hali
Ne mergelodj az nem tesz jot a szepsegnek. De ha minden igaz ezt az egetot meg en kovettem el a 90-es evek kozepen (keves alkatresz, keves irodalom, surgos munkak) es soha de soha nem vagott tonkre egy PIC-et sem. Probaltam sok gepen, es altalaban mukodott. Az igazsag az hogy a mai napig epitek soros porta egetoket amivel az altalanosan hasznalt PIC-eket lehet egetni. Jo, ha van minden a hatterben (alkatreszkereskedok dugig valasztekkal, kuncsaftok dugig penzzel) a modernebb eszkozoket kell csinalni. De ne feledd el hogy az elso 16C84-et bizony nehez volt beszerezni annak az idejeben. Fejleszto eszkozrol pedig nem is tudtunk almodni, mert penz es hozzaferes hijan sajat magunk probaltunk barkacsolni valami egetot a konyhaasztal sarkan. Na igy szuletett ez az egeto a DOS-os vilagban. Mukodott, hasznaltuk. Most termeszetes, hogy lemesz a sarki zoldsegeshez es kapsz barmilyen alkatreszt. Sajnos nem mindig volt igy. Ezert nem mindig jo otlet lehurrogni aki megprobal egyszeru dolgokkal elorehaladni. Bocs a szemelyeskedesert (nem az en kenyerem), de inkabb probaljuk segiteni a kedves ifju titanokat mert kulonben ki fog utanunk dolgozni ha mi mar kioregszunk (sajnos en mar nagyon kozel vagyok hozza). Ps: Ne szidd a JDM-et es tarsait mert sokat segitettek a regi idokben. Udv Vili
Üdv
Szeretném közzétenni az általam írt több bájtos binárisból BCDbe konvertáló progimat. Nagyon sok bajom volt hogy nem tudok egy több (5) bájtos számot átkonvertálni, így hát megcsináltam ezt. Minden bizonnyal van mit optimalizálni rajta. A program Assembler nyelven MPLABban íródott egy pic16F877en lett kipróbálva, működik. A kód soronként kommentálva van, hogy ha valaki bele akar bújni a magjába. Hivatkozások, magyarázat is van. Használjátok egészséggel, ha ötlet van írjatok :phone:
Erre egy idézettel felelek:
Idézet: „Sziasztok kezdö PIC-es vagyok.Van egy JDM programozom.és WinPic800.3.64 ver.programom hozzá.Beteszem az uj pic16f628-at. felismeri dev ID 0x07C0 minden ok .Tudtam is programozni mármint led villogtatas stb.Egy idő óta nem ismeri fel a 16f628-at és dev .Id-nek meg azt mondja ,hogy 0x3FFF.vagy 0x0000 stb.Már vagy 6db ujjat elcsesztem igy!!! Mi lehet a hiba oka?” Régi idők, régi PC-k! Ma már a PC-k is másak! Idézet: „inkabb probaljuk segiteni a kedves ifju titanokat” Hidd el, ez a célom! Különben nem lennék itt.
Helló Mesterek!
Tudna valaki segíteni? Van egy 16f887-es pic. Ebben van egy 16 bites TMR1. Van 3 változóm. Poti, TMR1L, TMR1H Amikor a számlálót megállítom és kiolvasom az értékét, akkor a Poti változóm (ami 0-255 értékeket fog felvenni) értékétől függően mondja meg, hogy az a TMR1H és a TMR1L hány százaléka. A csavar még ott van, hogy max 50% kell, azaz amikor a poti 255 értéken van, az legyen az 50%. 127-es érték pedig a 25% és így tovább. Például: TMR1H: 0x4E TMR1L: 0x20 Poti : .100 (39%) Akkor az új értékeknek ennyinek kellene lennie: TMR1H: 0x1E TMR1L: 0xA3 Az én algorítmusom vakvágánynak bizonyult, mert a poti állásától függően négyzetesen növekszik az érték. Amikor a potit a fél állástól tovább csavarom, azt már 50%-nak veszi.
Közben meg is oldottam.
Megválaszolom magamnak. A poti értékét egyel jobbra toltam. (osztottam 2-vel) A TMRH értékkel össze szoroztam. (mivel a TMR1L értékkel nem foglalkoztam, így a 16 bites eredményt tulajdonképpen osztottam 256-al) A szorzás felső 8 bitje lett a TMR1H az alsó 8 bit pedig a TMR1L. Így minden tökéletesen üzemel.
Visszatérve a forrasztóállomásomhoz: több szűréssel, erősítés előtt is szűrtem, sőt próbáltam kondenzátorral visszacsatolni az erősítő kimenetét az invertáló bemenetre (így ha hirtelen változik a bemeneti jel, akkor visszavezeti az invertáló bemenetre ezzel kompenzálva a nagy ugrást), de nem sikerült jobb eredményt elérnem, még mindig nem egész pontos, de forrasztóállomásnak megfelelő. Azért még megpróbálom a referenciát is szűrni, mert azt még nem próbáltam.
Köszönöm a segítséget! (nemcsak neked, lidinek is, az átlagolás is segít majd, de előbb a mérés legyen a lehető legjobb) Majd az eredményről beszámolok.
Egy utasítást rövidítettem, de ez nem tartozik a konverzióhoz, csak a teszthez.
movlw b'00000000' ; 0áról számolunk felfelé movwf REG_Y ; Y regiszterben számolunk movwf REG_Y+1 ; mert a konverzió után az Xregiszter movwf REG_Y+2 ; tartalma "megsemmisül" movwf REG_Y+3 helyett: ; 0áról számolunk felfelé clrf REG_Y ; Y regiszterben számolunk clrf REG_Y+1 ; mert a konverzió után az Xregiszter clrf REG_Y+2 ; tartalma "megsemmisül" clrf REG_Y+3 a movfw utasítást nem szeretem, mert eltakarja a valóságot (bár valószínüleg te is felfigyeltél rá) movfw akarmi valójában movf akarmi,w ez viszont már hozzá tartozik: decf REG_COUNTER,f btfss STATUS,Z ehelyett ajánlom a decfsz utasítást
Köszi a tippeket, átírom a megfelelő részeket.
Amúgy nem értem hogy takarja el a movwf utasítás a valóságot?
Nem a MOVWF-ről, hanem a MOVFW-ről van szó. Ilyen utasítás nincs, ez csak egy makró, amit szerintem is kerülni kell, ha használtad.
A MOVWF utasítás nem takar el semmit. A MOVFW utasítás takar el, mert ilyen utasítás nem létezik a PIC utasításkészletében. Létezik MOVF utasítás, aminek két paramétere van. Az egyik az, hogy melyik regiszter tartalmát mozgassa, a másik paraméter pedig az, hogy hová vigye (vissza regiszterbe, vagy pedig a work regiszterbe). A MOVF reg, W utasításra cseréli az MPLAB fordítás előtt a MOVFW reg "utasítást". A MOVFW tulajdonképpen egy előregyártott makró.
Amúgy csodálkozom hogy nem a skpc, skpz utasításba kötöttetek bele.
movfw-t minek fordítja az MPLAB? |
Bejelentkezés
Hirdetés |