Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
A regiszterek beállításával már elindítottad a PWM modult. Jobban belegondolva, a "pwm1_init(1000)" valószínűleg egy normál, egy csatornás PWM-et indít, felülírjva a te beállításaid. Az előző hozzászólásomban lévő három sort töröld és úgy ellenőrizd a PWM működését.
Üdv!
PICKIT-2 mizéria... Egy 93C...nevű epromot szerettm volna kiolvasni, de a piros LED (busy) villogása és a menü behívása csak nagyon felületesen történik meg. Az égető panelemen a kimenő feszültséget LED jelzi, ami most nem jelez. Gyanakodtam egy sot23-as diódára, de az jó... Valaki, aki tud jótanácsot...?
A hibaüzenet szerint a PK2-ben lévő kontrolleren nincs program. A Tools menüből tudod életre hívni: Download PICkit2 operating system. Ha minden igaz.
pickit_2_v2.61.00_setup_a.zip
Letöltöttem, indítottam...semmi.
Miért történt volna bármi? Bakman leírta, és ott van a sárga mezőben mit kell csinálni... Megpróbáltad?
Elvileg neked egy HEX fájl kell, amit ide kell rakni:
C:\Program Files\Microchip\PICkit 2 v2 A másolás után elindítod a PK2 programot, majd a jelzett menüpontra kattintás után a programból ki tudod választani a HEX fájlt, amit a PK2 programja feltölt a PK2-re. 65 és 66. oldal, lásd melléklet. Egy HEX fájlt is mellékeltem, hirtelen ezt találtam.
Köszönöm! Újra kerek a világ...
Akkora kő esett le!
Sziasztok!
Évek óta mikroC-t használok, de most úgy alakult, hogy kicsit módosítanom kellene egy régebbi, működő programomat. Ezt még a PicBasic PRO és a Microcode Studio együtessel csináltam. Amiben elakadtam, hogy hol tudom a beállításokat módosítani, hogy az MCLR láb digitális bemenet legyen? Bármilyen megoldást próbáltam, a fordítás sikertelen, és szeretném megspórolni az időt, hogy átírjam C-ben az egész programomat PicBasic PRO 2.5 Microcode Studio 4.0.0.0 PIC16F690 az áldozat típusa Köszönöm előre is!
Lásd melléklet, 4. oldaltól kezdve.
_MCLR_OFF
Üdv Mesterek!
Boldog újévet minden kedves fórumtársnak! Szóval akadt egy kis gondom a DsPIC33fj128-al kapcsolatban. Sehogy sem sikerül SPI-n keresztül fogadnom adatokat. Írni tudok, szépen megy minden. A RAM-ba bele tudok írni, a DAC-ba is, de a RAM-ból sehogy sem kapok adatokat vissza. Az SPI sebessége beállítva, 8 bites módban van, a Proteus-ban látom is szépen a CLK-t, az instukciók is kimennek szépen, a RAM SIO lábán is megjelennek a dolgok, csak a PIC felől nem értem sehogy sem mi a baj. A RAM 23K256-I/P. Ezzel írok aRAM-ba:
Ezzel olvasnék ki:
A Main-ben pedig:
És a csatolt képen látszik, hogy a kiolvasásnál a PIC -hez kötött input lábán a z adatot mintha 3 bájton akarná fogadni. Nagyon fáradt vagyok már, nem is látom miket csinálok, de a csatolt képen mintha az első adat jól jönne be, de utána 3 byte széles a MISO lábon az adat! ... Légyszi segítsetek! Köszönöm! A hozzászólás módosítva: Jan 2, 2023
Úgylátszik megvan a hiba.
Nagyon este van, de mintha a lábak map-elése lett volna hibás... Ühüm.... //RB3 input MISO (AN4) RP3 //Ez már Input!!! //Itt már annak a lábnak a száma kell binárisan, amit szeretnék, most nem Funkciót adok meg!! //Az RB03 pedig a 3-as... RPINR20bits.SDI1R=0b0010; Az 10 az három ugye... A hozzászólás módosítva: Jan 2, 2023
Hello.
Van egy hex file-om egy 8bites pichez de nem lehet kapni. Azt szeretném kérdezni hogy ha egy hasonlo picet találok és az alábbi adatok eggyeznek lábkiosztás,sram size,voltage,cpu mhz..... akkor hellyetesithetem más piccel? el indul ? elvileg a intel hex file nem tartalmazza csak a beállitásokat?
Szinte biztos, hogy nem, de azonos családban nagyobb RAM-mal rendelkezőre lehet cserélni (pl: 16F882 -> 886 mehet). Milyen típusról van szó?
Szia.
Pic16f916 amire van a hex és bármi más szóba jöhet amit nem fél év múlva lehet venni. 16f886-ot néztem
Milyen perifériák vannak használva?
Ebben van LCD meghajtás, ha az is akkor nehezebb lesz helyette találni.
Digitális pin 2 be kettő ki. timmer, más nincs
A trimmerhez ADC kell, az ADC már a 916-ban is ANSEL-t használ meg a 886-ban is, de más a kettő regiszter kiosztása. Ha a forrás megvan, akkor könnyen át lehet írni, de megnéztem az include fileokat, és 0x91-es címen alig néhány kontrollernek van az ANSEL, azok is mind más lábszámú.
'timmer' = 'timer' vagy 'trimmer' ?
Jogos, ha timer akkor más a helyzet
Sziasztok!
Haladok, de kissé lassan. Sokminden megy, jók is de vannak azért kérdések. Nagynehezen összeraktam az FFT -t a dsPic-ben. Az eredmények float-típusúak, azokat kiküldtem UART-ra, modelleztem, Excelben megjelenítettem stb. A problémám kettős. Az egyik, hogy a PIC-ben generált próba jelem 10Hz szinuszos. A hossza 1s, és éppen 256 mintát "veszek" belőle. Egyrészt érdekes, hogy a jel második felében jelennek meg az FFT eredmények de ez érthető, de jó hogy ellenőrzöm excelben. No de az eredményemben a 10. bin-nél van egy 1-es érték, ami jó is lenne, de van 17 és 60. ban is. Mivel a mintavétel éppen akkora, mint az FFT tömb, ezért a frekinek meg kellene egyeznie most a bin számával. De nem ez a gond, hanem az, hogy miért jelenik meg 3 csúcs? jel tömb feltöltve, utána twiddle, utána fftcomplex, utána bitreverzálás, utána a jel kirak uart-ra.Természetesen mindegik fractcomplex, és használom a Fract2Float és a Float2Fract-függvényeket is. Csatolom az excelről a képet. Van ötletek? Köszi! A hozzászólás módosítva: Jan 22, 2023
Blackman ablak esetleg?
Biztosan jól generálod a szinuszt?
Az ablakozás akkor segít, ha a mintavétel vége nem esik egybe a jel null átmenetével! Jelen esetben a 10Hz az pontosan a null átmenetnél ér véget(feltéve, hogy nullátmenetnél kezdted a fázist), tehát ide felesleges az ablakozás még...
Minden adatot kinyerek a PIC-szimulálásából virtuális terminálon kersztül Proteus-ból. Direkt ezért csináltam az UART-ot, hogy minden részadatot lássak, mert fejelsztéskor tudni kell mindent. Szóval a csatolt képen a generált szinusz látszik. A többi részadat is megvan.
Az ablakozás esetleg akkor kell majd, ha FFT-t hajtok végre nagyobb mintán, mint amekkora az FFT mérete. Már ha jól gondolom. A hozzászólás módosítva: Jan 22, 2023
Akkor feltehetően az algoritmusban lesz a hiba...
Ezt a jelet FFT-zve határozott, elmosódás-mentes értéket kell kapj a 10Hz-hez tartozó bin-en!
Csak aludnom kellett kicsit hozzá. Ha már itt járok akkor kipróbálom a Blackman ablakot is, de az még nem jó.
Vedd figyelembe, minél erőteljesebb ablakozó függvényt használsz, annál jobban el fogja kenni a bin-eket! Tehát azzal már nem lesz pont csak a 10-es bin-en jeled, mint most... Cserébe tetszőlegesen vághatod el a jelet, ahová a feldolgozási méret esik...
Az fog kelleni majd később szerintem igen, de gond van.
Az előző kép jó, de csak véltlenül....
Próbaképpen megcsináltam több jelre is. Nem működik a dolog. A Float2Fract-ban lehet a gond. Nézem a dsp.h-t, de mintha ott 16 bites floatra írták volna meg, nekem meg azt hiszem 32bites a float változóm. Ha az értéket szorzom 10-el, majdnem jó. Ha 0.5-el, akkor több értéket kapok, amiknek a mértani közepe lenne a jó megoldás, azaz pl 5-nél és 18-nál jelenik meg a csúcs. A kettő közepe 5+(13/2)= kb jó. Csatoltam a dsp.h-t amit használok. Szóval egyelőre sajnos ez sem megy. A hozzászólás módosítva: Jan 23, 2023
Ez mi akar lenni? |
Bejelentkezés
Hirdetés |