Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Azt a D1 diódát onnan az MCLR lábról azonnal vedd le és zárd rövidre! Az a dióda ott csak arra jó, hogy összevissza reseteljen tőle a PIC!!!
Idézet: „A bemenetre csak egyetlen impulzus kerül, a sebességváltás bekövetkeztekor.” Ebben biztos vagy? Mechanikus kapcsolótól tud onnan jönni több száz impulzus is, az áramkörnek ezeket meg kell különböztetnie az alapján, hogy mennyi idő telt el két ilyen impulzus között. Ha elég sok az idő, akkor az két külön impulzus, ha kevés, akkor az a kapcsoló pergése. A késleltetésed időben mennyi időt jelent?
Ez teljesen jó. Én is így raktam kb a korábbi paneljeimre, csak azok nagyobb mérettel rendelkeztek és nem volt zavaró, hogy melegszik a 7805. De most egy 60x60mm-es panelen lesz elég sok alkatrész közel egymáshoz, kicsi légtérben.
De lehet, hogy mégis így fogom megoldani, mert 3eFt-ért nem akarok stab ic-t venni.... :S Na mindegy. Köszi
Ez teljesen jó. Én is így raktam kb a korábbi paneljeimre, csak azok nagyobb mérettel rendelkeztek és nem volt zavaró, hogy melegszik a 7805. De most egy 60x60mm-es panelen lesz elég sok alkatrész közel egymáshoz, kicsi légtérben.
De lehet, hogy mégis így fogom megoldani, mert 3eFt-ért nem akarok stab ic-t venni.... :S Na mindegy. Köszi Idézet: „A 100nF kondi közvetlen a 7805 stab IC lábain helyezkedik el.” A stab IC OUT-jara tegyel egy 100µF-os elkot is, azonkivul a PIC Vdd-Vss labaihoz fizikailag minel kozelebb a labakhoz is tegyel egy 100nF keramiat - nem art ha 1 raszternyire vannak (0.1"). Az a kapcsolo amire rakaszkodsz hogy nez ki? Mechanikus kapcsolo? Vagy valami hal elem, esetleg reed?
Megnéztem. A dióda nem volt beépítve a nyákon, automatikusan rövidre zártam szerelésnél. 3,2768Mhz-es a kvarc. Ha jól számoltam a késleltetési ciklus 182.8 ms, meg még az utasítások végrehajtási ideje. Egy impulzus érkezik be, mert hiba nem a sebesség váltás alatt jelentkezik. Valamikor eltelik 5-10 perc is hiba nélkül. Azt vettem észre akkor csinálja mikor a motor fordulatszáma 3000f/perc alá esik. Én egy nagyfeszültségi zavarjelre gyanakszom, ami a hibát előidézi. Nem hiszem hogy a pic resetelődne, mert egyesével számol visszafelé, nem ugrás szerűen. Javítsatok ki ha tévedek.
Idézet: „Az a kapcsolo amire rakaszkodsz hogy nez ki? Mechanikus kapcsolo? Vagy valami hal elem, esetleg reed?” Mechanikus mikrókapcsoló végzi a jeladást.
PIC mondjuk 5mA, DS1307 lehet vagy 20uA, SN75176 attól függ, hogy a buszon mi lesz inaktív állapotban. A lezárást érdemes RC taggal csinálni, akkor a lezárás miatt nincs statikus áramfogyasztás. A többit nemtudom, nem mondanám összesen többnek 50mA-nál. De az adatlapok megnézése sokat tudna segíteni a meghatározásban...
Javíts ki ha tévednék: a programod azt csinálja:
1.nézi mint az őrült a bemeneteket. 2. hirtelen lát egy érvényes impulzust 3.megváltoztatja a kijelzett értéket 4. vár egy csomót 5. újra nézi a bemeneteket De gondolj bele: szépen pöfékel a motorod, és néha pont be tudja rezonáltatni (jaj de csúnya szó) a mikrokapcsolódat, ami nem igazi váltás, de attól a PIC-ed még annak érzékeli! Szóval én úgy csinálnám, hogy: 1.nézem a bemeneteket 2.lát a PIC egy impulzust, ugrik a neki megfelelő függvényre. 3. vár valamennyit 4. megnézetem vele, hogy még mindig érvényes-e a jel 5. ha igen akkor növelem, ha nem akkor hagyom békén (a kósza impulzus feltehetően sokkal rövidebb ideig tart mint a váltás)
Köszi, sokat segítettél!
Lenne még egy nagyon lényeges kérdésem. Ha az egészet egy alumínium dobozba rakom, akkor az RFID-t mennyire fogja zavarni? Le fogja árnyékolni? Vagy kisebb lesz a leolvasási távolság, mint műanyag doboz esetén?
Szinte biztosan le fogja árnyékolni, de legalábbis drasztikusan lecsökken a távolság.
Sziasztok!
Van nekem egy gyári PICKit2-m, ezzel ismerkedem, 16F690-es PIC van benne, asmben programozgatom ( a kapott leckéket írogatom hozzá.) Eddig még LEDvillogtatás, meg poti-használat volt, ez igazából nem jelentett akkora gondot (bár az utóbbi kicsit bonyolultabb), viszont most érkeztem arra a területre, amikor a nyomógombot is használni kéne. Az elméletet értem, hogy minek kéne történnie a háttérben. az egyetlen baj az h úgy veszi minthogyha meg se nyomnám a gombot. (A leckék, amihez hozzá se nyúltam, se működnek ) Feszültségmérővel lemértem a testhez képest ha nem nyomom le a gombot 0,6 ha igen 0,1 V megy a PIC-be. Annyit csinálok ( a programban ) hogy beállítom digitális bemenetre, utána pedig kérném le az értéket ciklusban az IO portjáról de ez mindig 1, ha meg van nyomva, ha nem. (.asm mellékelve.) Hol rontom el, vagy egyáltalán hol lehet ezt elrontani? köszi
Hello pumpa.
Megadtad magadnak a választ: Idézet: „a testhez képest ha nem nyomom le a gombot 0,6 ha igen 0,1 V megy a PIC-be.” cca 10k-val húzd VDD-re, BTFSS-el vizsgálhatod (ha nem nyomod meg: 1 azaz VDD, ha megnyomod: 0, azaz VSS. ui: vagy tedd PORTB-re, ha van RBPU! (nem ismerem a 16f690-t.
Az a helyzet, hogy ez egy gyári próbapanel, ebbe forrasztani nem nagyon tudok (akarok). A példaprogramok elvileg ehhez a gyári próbapanelhez vannak készítve. Elvileg értem, igen h ilyen egyszerűen kéne működnie, mert a példaprogramokban is így van. De mégse megy. Nem igazán tudom, hogy miért kell az a 10k oda? Mi változik ilyenkor? Biztos nem én szúrom el? Nem ehet, h nem jó a panel?
Hello pumpa!
Közben megnéztem a 690 adatlapját Szóval a PORTA-nak van PU hálózata (datasheet 62. oldal). A WPUAx bitekkel tudod a belső felhúzókat bekapcsolni. De pont a PORTA3-nak nincs! (PORTA0,-1,-2,-4,-5 -nek van). Tehát vagy beraksz egyet, vagy átteszed másik portlábra a gombot. Idézet: Csak annyi, hogy a port észreveszi a gombnyomást... „miért kell az a 10k oda? Mi változik ilyenkor?”
Hello!
Most nézem, hogy a PORTA3 alapesetben MCLR/VPP ! Inkább másik bitre tedd a figyelt gombot. Tanulás, fejlesztés alatt a legfontosabb alkatrész a RESET-gomb!
Én inkább a bemenetet alakítám jól ki. Ha jól emlékszem, az volt a felvetés, hogy a motor alacsony fordulatánál hülyéskedik. A motor alacsony fordulatán a 12V-on akár még nagy beharapások is lehetnek, így én tennék oda egy diódát nyitóirányban, majd azután pl. egy 1000uF+47uF+100nF tagot, még a stab IC bemenete elé.
Ha ez a "Low pin count demo board" akkor a JP5-ön van-e jumper? Közvetlenül a nyomógombon mérve is ennyit látsz, vagy csak a PIC oldalon (a kettő között van egy soros 1k ellenállás)?
Ja, ez kicsit félreérthető volt: a tápfeszültség-bemenetre gondoltam.
Sziasztok!
A segítségeteket kérném! Először leírom a körülményeket, hogy mit használok: -MPLAB -ICD2 -CCS Compiler -PIC18F14k50 Az a gondom, hogy ezt a PICet szeretném programozni, de mindig ezt a hibaüzenetet dobja vissza. Az ICDt már többször használtam, más PIC-el nem volt gond. 3db van ebből a PIC-ből és mindegyik ezt csinálja. Próbáltam áramkörön belül és foglalatban is! A hiba üzenet: [code=c]ICD0161: Verify failed (MemType = Config, Address = 0x300002, Expected Val = 0x18, Val Read = 0x38) ICD0275: Programming failed. Amire rájöttem,hogy egyértelműen az a gondja, hogy a CONFIG2L 5. bitjéről 1et olvas, ahonnan csak 0-t olvashatna, mert oda nem lehet írni, az egy nem használt terület. Az adatlapjában az a hely szürke és egy "-" jel van ott, aminek a jelentése "unimplemented" Szóval a kérdésem, hogy találkozott már valaki ilyennel? Esetleg tudja valaki a megoldást?
Nem az van az adatlapban, hogy "unimplemented, read as 1", te pedig nullát akarnál írni oda?
Közben megnéztem, és azt írja, hogy nullának kellene olvasnia. A kód többi részét rendesen beégeti? Legújabb MPLAB?
Bocsánat még annyi van, hogy:
"Shaded cells are unimplemented, read as ‘0’" Tehát a ICD-nek verify-nél 0-át kellen olvasnia, de ehelyett 1-et olvas és ezért áll le hibaüzenettel. Ja és én nem írok oda! Kipróbáltam, hogy semmi mást nem írok bele a picbe, hogy: void main(void) {} Se FUSE se semmi és akkor is!
MPLAB 8.10 van nekem és ahogy néztem, most a 8.30 fut. Próbáljam meg? Csak újra telepíteni ezt a sok cuccot hozzá...
De, ha más nincs... Biztos ami biztos már húzom is le!
Blint!
Úgy dolgozik a program ahogy leírtad. Amit javasolsz azt már teszteltem. Én is gyanakodtam a mikrókapcsoló hibájára. A lefelé váltó mikrókapcsolót kikötöttem, vezeték leszigetelve, de a jelenség sajnos ugyan az volt. A számláló lefelé lépkedett. Ezért gyanakszom elektromos zavarjelre. Ha a tápbemenet lenne rossz, akkor nem resetelne a PIC? MIért csak a lefelé impulzus bementre hat ez a jelenség? A felfelé számlálásra miért nem? Megpróbálom a dióda és a kondenzátorok sorozatát a bemenetre ahogy Szilva javasolta. Hátha segít.
Úgy néz ki ez a probléma megoldódott az új MPLAB-bal. Köszönöm!
Low pin count demo board, az stimmel. Jumper nincs a JP5ön viszont lemértem mind2 oldalán 4,88V van (?) . Próbáltam, h beteszek egy 12k-s ellenállást a JP5-re, de ugyanazt csinálta..
ybanez: Idézet: , „Inkább másik bitre tedd a figyelt gombot.” Idézet: Ezt hogyan? Küldök kapcsolási rajzot, mutasd meg rajta, h hol vagy h hogy. „Tehát vagy beraksz egyet, vagy átteszed másik portlábra a gombot.”
A kesleltetest a kapcsolo vizsgalat utanra tetted, ami persze normalis korulmenyek kozott okozhatja, hogy az aramkor kielegitoen mukodik, de nem bombabiztos a dolog!
Egyszerubb lenne, ha a minimum a kovetkezot csinalnad (ambar jobb lenne egy tisztesseges perges mentesito) 1. Erzekeled a kapcsolo bekapcsolodasat 2. Varsz X ms-ig (hogy mennyi azt scoppal lenne jo megnezni, de ha nincs tapasztalati tuon is rajohetsz mennyi a boncing ido es arra ra kell meg tenni vagy 20%-ot minimum) 3. Megint megnezed a kapcsolo tenyleg bekapcsolt-e, ha igen akkor bizonyara megnyomtak... Namost ez nem bomba biztos, mert mi van ha annyira zajos a dolog, hogy epp veletlenul a masodik vizsgalatnal is kapcsolot erzekelsz. Ezert szoktak ezt finomitani, hogy: 1. Erzekeled a kapcsolot, nullazodt a szamlalot/timert 2. Varsz X ms-ig _vagy_ kikapcsolt allapotig 3. Ha kikapcsolt allapotba kerult meg mielott X ms eltelt akkor vissza 1. pontra 4. Ido lejart es meg mindig magas a kapcsolo, tehat folyamatosan kapjuk a jelet, nyilvan a bouncing time lejart es valoban gombot nyomtak... Kapcsolotol fugg mennyit kell varnod itt is, de ennel a masodiknal mar eleg szokott lenni 1-2ms is, mert a bouncing frekvenciaja ennel joval magasabb szokott lenni, ill a zavartuskek is ennel joval rovidebb ideig tartanak. Nekem olyan kapcsoloim vannak ahol a bouncing 2ms alat mar garantaltan le is zajlik, de azalatt 10-20-at is pereghet akar. Amugy az elkot mar felraktad a 7805-odre? 100nF-et kozvetlen a PIC laba melle? Idézet: „Amugy az elkot mar felraktad a 7805-odre? 100nF-et kozvetlen a PIC laba melle?” Ezek még nem történtek meg. Az előzőleg leír kapcsoló teszt sem mai akció. A kondikat majd elhelyezem és remélem lesz javulás.
A SW1-et én spec nem bántanám, hadd maradjon reset gombom, de ha azt szeretnéd használni, akkor először át kéne konfigolni DI-nak, mert alapesetben MCLR.
Az R1 a"jobb" oldalát fel kell hogy húzza +5V közelébe. Ezt megmérted? Mert a main reset alacsony állapotban aktív. Ha másik nyomigombot be akarsz tenni, akkor a vezérlő mellett ott figyel RA0, 1, 2. Ezeken van PU, ha bekapcsolod, csak egy záró kell VSS (GND) felé, máris van gombod. Ha nem akarsz beleforrasztani (pedig ez a panel arra (is) szolgál), simán egy vezetékdarab megteszi föld felé, ha naggggyon óvatos akarsz lenni, akkor kb. 200 Ohmmal húzod le... Ha a portbitet bemenetre állítod (TRISAx =1) nem teszed tönkre... |
Bejelentkezés
Hirdetés |