Fórum témák
» Több friss téma |
Vadi új a PIC és próbáltam másikkal is. (de mindjárt dobok be egy vadi újat a biztonság kedvéért)
Foglalatban van. Módosítottam az előző hsz-om azon látszik jobban a probléma. Foglalatban van a PIC. A hozzászólás módosítva: Nov 18, 2014
Egyelőre nincs jobb ötletem. Vizsgáld felül a szoftvert is.
A legminimálisabb program van benne.
Egy led villog. És a célhardverben persze tökéletesen működik a PIC. Ezzel a teszt áramkörrel lesz valami gubanc. Most dobok be egy új PIC-et, hátha útközben megsérült.. Az érdekessége az, ha már nyúlok a D0 felé és kb 10-15cm-re megközelítem elkezd a program gyorsabban pörögni aztán ahogyan közelítek felé úgy egyre gyorsul. Fura Készítek egy videót, ez kész A hozzászólás módosítva: Nov 18, 2014
Esetleg nem lehet, hogy az oszcillátor nem jól van konfigurálva ?
Azt nem hinném, de igazad van, több szem többet lát:
No feltettem a videót.: Bővebben: Link
Érdekességképpen még kipróbáltam az asztal alatt is közelíteni és ott is működik ez az elképesztő dolog, hogy egyre közelebb vagyok annál gyorsabban fut a program Fura..
Nem inkább az RB0 -ról lenne szó? Az az INT0 bemenet egyben. Ha közelítesz hozzá egyre több megszakítást okoz. Az RD0 (a 19. láb) a másik oldalon van.
A hozzászólás módosítva: Nov 18, 2014
A videón látszik.
RD0.. A B port az ellenkező oldalon van..
Ha tőlem távolra ven az ICSP csatlakozó, akkor a jobb hátsó láb a 40. Az RB0 a 33. láb a kontroller jobb oldalán van, ahova tart a kezed. Az RD0 a kontroller bal oldalán előlről a 2. láb. Vagy csak én látom rosszul?
A konfigurációban a VREGEN be van kapcsolva, a Vusb lábon nincs 470nF kerámia kondenzátor. Valamint ez a láb nem használható másra a 16F4550 -nél. Az is lehet, hogy a LED -et használod fénymérésre... És a mért fényerő szerint villogtatja a porogram.
Esetleg mindig ujraindul?
Tegyel az elejere egy nagy varakozasi ciklust vagy eppen egy csipogast, amikor indul, es igy latod, hogy ez-e a hiba.
Az ICSP felül van, a jobb felső láb a 40.-es
D0-ás láb amihez hozzáérek illetve közelítek. D3-as lábon LED van az villog. USB nincs bekötve, de a láb ki van hozva, jobb oldalon van a D port alatt. Ne a kontrollert nézd mert a kivezetések át vannak hozva a túl oldalra. Kicsit feljebb csatoltam a nyáktervet. Lehet hogy a D0 az inkább D7 lesz most hogy megnéztem a nyáktervet...
Az elején várakozással indul..
Header file amit linkeltem van indulási késleltetés és a programban is kicsi. Észre lehet venni, ha újra indulna..
Az valóban a D7 és nem a D0...
A Vusb (18. láb) és a GND közé kell egy 470nF-os kondi, ha használod az USB-t ha nem, ezt sem a nyákterven sem a videón nem látom. A többi kondi értéke (22p, 100n) biztos jó, nem tettél mást véletlenül? Szerintem a földvonallal lesz a gond, mivel teljesen körbemegy a panelen így egy zárt hurkot képez és ennek a huroknak a közepén van még egy sáv amire a PIC VSS lábai vannak rákötve, így lehet, hogy a közepén az a sáv az egész hurokkal együtt antennaként működik és ezzel az egész áramkört megzavarja, mert a GND a referencia szint és mivel a D7 pont mellette van lehet, hogy emiatt átvesz róla valami zajt. Esetleg póbáld másik programmal, ha annál is így megy akkor az áramkör, ha nem akkor a program a hibás. Jó lenne egy oszcilloszkóppal is megvizsgálni az áramkört Szerintem jobb lenne a jövőben teleföldes nyákokat készíteni, így az áram a lehető legrövidebb úton (legkisebb ellenálláson) tudna visszafolyni a föld ágban és nem kellen körbekerülnie a teljes áramkört, így nem szedne össze fölösleges zajokat (természetesen alacsony frekvenciákon, mert magas frekin a legkisebb impedanciát keresi a visszáram). Esetleg próbáld megszakítni valahol a földhurkot, és a PIC földjét is jobb lenne inkább a kvarc felöli oldalon rákötni a GND-re és nem a másik oldalon. Megpróbálhatos a D7-et kimenetre és 0-ra állítani.
Húú akkor lépésről lépésre:
Igen ez a D7 lesz, rosszul mondtam az elején a D0-t. Vusb nincs bekötve, nem használom ezért nincs ott a kondi, természetesen a láb ki van hozva.. Minden programmal ezt csinálja a teszt boardom. Természetesen minden kondi jó. Kvarcnál 22pF, PIC GND - 5v 100nF mind két oldalon, 12v be 330nF - LM7805 - 5v kimenetnél 100nF. Más nincs is nagyon a nyákon. A programban minden port digitális és kimenet 0 szinten. D3 kivétel ott LAT regiszterrel változtatom a szintet ciklusonként. Oszcillátort pont eladtuk és még nem jött meg az új, így az sajnos nincsen. Teli földes nyákokat készítek már, tanulva az ilyen és egyéb más problémákból. Igazából én is erre gondolok, hogy maga a GND amit körbe vezetek el, felszedi a környezeti zajokat mint amolyan antenna és azért gerjed be amikor közelítek felé.. Amikor hozzáérek, akkor kisül vagy amolyan földelés levezetődik a zaj és egyből normálisan tud dolgozni a kristály. Erre gondolok most.. A hozzászólás módosítva: Nov 18, 2014
Most komolyan. Még hányszor írják le neked, hogy a VUSB lábra kell az a szerencsétlen 470nF-os kondi? Még akkor is ha nem használnád, de mivel nálad be van kapcsolva a VREGEN még használod is.
Értettem elsőre is, de soha nem okozott problémát mivel az összes célhardveremben amin nem használom az USB-t nincs ilyen gond, pedig megcsináltam párat...
Inicializálásnál pedig az USB ki van kapcsolva... Nem hiszem, hogy ez befolyásolja a dolgokat, de teszek fel egyet, hogy maximálisan kizárható legyen ez a téma is...
Nos betettem a kondit a Vusb-re, de semmi változás..
Földhurok is el lett távolítva, de ez sem hozott eredményt.. A hozzászólás módosítva: Nov 19, 2014
Akkor már csak a villogtatós tesztprogram maradt ki, azt még közölhetnéd.
Megoldódott a probléma..
Már mindent kipróbáltam így nem volt más hátra csak az MPLAB és fórdító törlése majd újra telepítése. Valami beragadhatott vagy a projektben vagy maga a program viccelt meg. Bár ugyan az a projekt és most működik, szóval nemigazán értettem a dolgot. Most már jó. Köszi a segítséget mindenkinek...
Sziasztok!
Tudtok valami pontos 1hz órajel generátort? A Quartz órás megoldást ismerem, de nincs ennél valami elegánsabb megoldás? XR2206 van, de azt sajnálom erre a feladatra. 16F877-et zsúfoltam tele, így a benne lévő órának kellene egy külső pontos órajel.
Szia! Pontos 1hz csak quartz oszcillátorral állítható elő. Rossz órából a kavics kinyerhető, a picek nagyon jól tudják használni, ennél elegánsabb nincs .
Külön oszcillátorhoz már kell pluszban pár alkatrész, a pichez nem, gugli a barátod. Az XR2206-ot felejtsd el, nem erre való, erősen tápszűrés és hőmérséklet függő. PLL kéne a megfogásához, különben mászkál a frekije.
Mekkora is az a program? Megtölti mind a 8K -t? Nekem még csak egyszer sikerült a Wand óraban. DCF77 dekódolás, infra távvezérlés, I2C RTC kezelés, 40 ébresztési időpont, PC -s kommunikáció és rengeteg fajta kijelzés belefért...
A hozzászólás módosítva: Nov 21, 2014
A 16F877-nek nincs belső órajele, ha kvarcról járatod abból csinálhatsz 1 Hz-et, ha van még szabad timer.
Egy magasabb szintu nyelv (akar c) eseten tucskot-bogarat odafordit.
Én szoktam itt írogatni, hogy a free XC8 legalább négyszer hosszabb kódot fordít, mint az assembly megoláds... De rá lehet beszálni az optimalizálásra...
Srácok, MCP23S17-es expandernél szeretném, kiolvasni a PORT regisztert (GPIOx), hogy milyen beállítások vannak rajta, de sajnos az istenért sem akar együttműködni velem és a PIC-emmel.
C18, SPI-n kommunikálnék vele. A regiszterbe írni tudok (OLATx), de kiolvasni a már beírt állapotot nem tudom, így a maszkolásokat nem tudom elvégezni ami nagyon nagy baj mert állandóan, ha írok a regiszterbe az utolsó beírt adat kerül bele. Tehát:
Szimulátorban tökéletesen működik a program, de élesben nem működik a kiolvasás. Mivel írni tudok a regiszterekbe, így az expander működik és jó a program ezen része, de az olvasás nem. Az olvasás részének kódja:
Az MCP23S17 inicializálása:
A regiszter címeket az adatlapból másoltam ki, így azokkal nem lehet gond. Arra gondolok, hogy az MCP konfigurációja nem megfelelő, de persze ez nem biztos.. A kábelezéseim biztos, hogy jók, többször ellenőriztem és más SPI-s eszköz gond nélkül működik. SPI init:
Kérném megtisztelő segítségeteket.. A hozzászólás módosítva: Nov 21, 2014
Köszönöm mindenkinek a segítséget!
Gondoltam rá hogy fogok egy kis nyolclábút és csak az órajelet fogom vele létrehozni, de előtte megkérdeztelek inkább titeket hátha van valami jobb megoldás. Kíváncsiságból kizárólag az órát írtam bele belső órajelről és az lcd meghajtását. Így egy nap alatt 5mp-et csúszott a referenciához képest ami azért elég sok mert 2 hónap alatt ez már 5 perc lenne sajnos.
Az nem jó amit csatoltam? Még az elválasztó pöttyöt is tudja villogtatni az ellenfázisú kimenettel.
Sziasztok!
Egy olyan szabályzót szeretnék készíteni, amivel motor fordulatszámát tudom szabályozni, olyan módon, hogy a motor tengelyén van egy jeladó, ami a fordulattal arányos feszültséget ad, ebből lesz egy AD értékem. Egy másik AD érték adná a motor "kívánt" fordulatát. A lényeg, hogy ha a motor fordulata a terhelés miatt lecsökken, amit a jeladó csökkent jeléből "tudna" a pic, megnövelné a kitöltési tényezőt annyira, hogy a fordulat ismét elérje a beállított értéket és fordítva. Tehát ha a terhelés csökken és a jeladó AD értéke elkezd növekedni, akkor csökkentse a kitöltési tényezőt. A pic egy 16F877A a program assembly nyelven íródna. A programra kezdetnek egy elméleti összefoglalót ha tudna valaki adni az nagy segítség lenne. Köszönöm! A hozzászólás módosítva: Nov 21, 2014
|
Bejelentkezés
Hirdetés |