Fórum témák
» Több friss téma |
Frissítés érkezett:
4.0.15.9 (14.01.2015) --------------------- - Fixes: - Fixed problems with PIC16F73/4 and PIC16F873/4(A) in interrupts. - Schmitt-Trigger: The 8-Bit mode didn't function correctly. Sajnos hw szorzás nem jött vele..
sajnos hiba elég sok van az új Parsicban , pl. pic16f88 és pic12f1840 esetében nem működik a hardware pwm. Ugyanaz a szoftware, pic16f887-re generálva rendesen működik.
Ez a következménye ha "500" féle processzor struktúrát csinálnak. Elég lenne 8-10 féle és a fejlesztési költségek is kisebbek lennének, u.a. összegért lehene kapni teljes kiépítettséget. Én személy szerint a 18F8722-re kattantam rá, és nem érdekelnek a kisebb feladatra való kisebb pocik. A munka értéke többet ér mint a proci árak 100FT-os eltérése. Ezt még egyenlőre nem nőttem ki. Ha nem jó napom van, pill. forrasztóval is beforrasztom a TQFP80 tokot. nyákkal már régóta nem bajlódom. Esetleg 18F4550. Ezeket azért írtam le, mert ezekkel eddig nem volt problémám. Illetve Kb 38000 ASM sor generálásakor EEprom kezelési gondjaim adódtak, de ezt már javította a pacák.
itt nem az ár volt a fontos, hanem a méret, ugyanis 50*25 milliméterben kell spi, pwm és bldc vezérlés, híddal, mindennel.Itt már számít az a pár négyzetmilliméter különbség. Így is csak 603 méretű alkatrészekkel fértem bele. Attól tartok hogy asm-ben kell megbuheráljam, de már lusta vagyok rá, ezért szívesen venném, ha ajánlanátok egy kisebb méretű pic-et amelyik aránylag könnyen elérhető, (ugyanis a 887-es is létezik kisebb lábszámmal, csak nem lehet rendelni, több kínai szállítóval is próbálkoztam) amelyen ezek a funkciók működnek a parsic-ban. A pic12f1840 8 lába csak belső órajellel lenne elég, de pl. a pic 16f88 18 lába már több mint elég. Kell egy AD átalakító, spi (jó lenne erre 4 láb, de ha három jut az sem baj), 1pwm és még egy kimenet, ugyanis a bldc-re létezik egy egyszerű megoldás, úgy hívják hogy A4960 az Allegrotól, (ez már off az irányváltáshoz kell egy kis ravaszság, de megoldható, ha valakit érdekel, egy megfelelő topicban szívesen megosztom az ezzel kapcsolatos tapasztalataimot, sajnos a datasheet-ből kimaradt, ilyennel sem találkoztam eddig), ajánlom bárkinek, szuper.
A18f4550 jó ötlet, lehet egy következő munkához ezt fogom használni, de ez alkalommal már nincs időm vele kísérletezni, ugyanakkor az a hátránya ez esetben, hogy hídmeghajtó mindenképpen kell, és a vezérlő szoftwer bonyolultabb lesz. AzA4960 spi-vel nagyon elegánsan és egyszerűen vezérelhető és annyi mindent tud hogy ugyanazt megírni pl.a 4450-re jó nagy feladat lenne és az áramkör nem lenne kisebb.
De miért nem jelzed a feljesztőnek a problémát?? Lehet, hogy nem is tud róla, mert pontosan azért nem kap visszajelzést, mert mindenki átvált másik kontrollerre, ami működik, és el van felejtve. Hadd dolgozzon kicsit ő is, a mi visszajelzéseinken múlik, hogy mennyire lesz korrekt a program, amiért fizettünk! Egy dolog az új funkció kérése, egy másik a hibajelzés, mert azt kifizettem és működőképes verziót várok érte!
igazad van, már írtam,többször is, legutóbb két hete már, de még válaszra sem méltatott, kértem azt is hogy frissíteni szeretnék, meg jeleztem ezeket a problémákat is, de se kép se hang. Még szerencse hogy Csabi feltette a frissítő linket a 152 oldalra. Amúgy nagyon kommunikatív volt ameddig kifizettem az árát. Ugyanakkor a win8-ban sem igazán működőképes a program. Nem akartam ezekkel a részletekkel untatni titeket, habár ez is hozzátartozik a parsichoz. Végül is hadd tudja mindenki, hogy mire vágyik. Gondolkozom rajta, hogy marad a jó öreg asm, ezt meg hagyom a fenébe, habár az ötlet jó, de a kivitelezés egy kicsit el van kapkodva. Amúgy az új mplabx-hez van ingyenes code generator plugin, azt próbálgatom egy pár napja, szerintem az is belefér a modulrendszerű grafikus pic programozás témakörbe.
Mondjuk én is csak Csabi linkje alapján tudok frissíteni, abszolúte nem egy kommunikatív a srác. Hiába kértem a regisztrációs e-mail címem javítását is két hete, az sem történt meg, se kép, se hang.. De akkor is azt mondom, hogy mivel sok éve készíti a programot, és nem olcsó dolog, jelezni kell neki a hibákat! Aztán amikor kiad egy új frissítést, ismét jelezni, hogy nem lett javítva a jelzett hiba! Ha nem jelezzük, egészen biztosan nem történik semmi.. (Ha asm-ben akarnék nagyon szenvedni, nem kellene ez a progi. C-re sem akarok visszaállni olyan feladatokhoz, amit ezzel a progival 5 perc összerakni, mert már régen nem programoztam, megkopott erősen a C is.. csinálja csak meg rendesen!)
(szerk: ha vissza tudnám fejteni a .PIC fájl összetételét, akkor mondjuk tuti nekiállnék AVR-re megcsinálni egy kódgenerátort C alapon. Nézegettem hex editorral, extra nincs, benne vannak a modulok és a tulajdonságaik, majd a 'netlista'. De még nem volt elég időm belemélyedni). A hozzászólás módosítva: Jan 19, 2015
Én erre a feldatra biztosan nem 8 lábú tokot használnék. Pontosan a 12f1840-el játszottam néhány hete. Aztán evés közben jött meg az étvágy, ez is meg az is kéne bele. Aztán elfogyott a láb, meg a modbusz sem akart menni Quartz nélkül... Ekkor döntöttem a már bizonyított 4550 mellett. A fejlesztő, az egy olyan hobbista mint mi (csak éppen más gazdasági környezetben) és nem biztos, hogy naprakészen megold minden igényt. A windows XP-t évek után is módosítgatták, lásd SP-ok.
Ha valakinek, egyedi "félvezető" igénye van jelezze, hátha tudok segíteni. Van HK kapcsolat, még nem sikerült olyant kérnem ami nem volt! (De "1db" 74HCT661G ne kérjetek) A hozzászólás módosítva: Jan 19, 2015
felteszem a kérdést kedves Csabi, hogy 14-18 lábas pic-et melyiket használnád amelyikben van spi, és működik a hardware pwm is a Parsicban.
Erre a feladatra bármelyik tok alkalmas gyakorlatilag, amelyikben van HW PWM. Az SPI ha jól értelmezem az SW. én használtam már egy szerre kettőt is. Eddig ahol használtam: 877A, 4550, 8722. A quartz használata fontos lehet. A P4 szerint a 16FXXX 18 lábú processzorok is szóba jöhetnek. A 18F1XXX, csak egy két példány van. Vegyél először dip tokosat és drótozz össze lyukas panelom egy próba áramkört, ha nincs kéznél hasonló átalakítható cucc. Keress egy SPI szolgát... akár próbára. A rutin részeit neked kell összeraknod, lásd Help. és lementeni az elérési ut szerinti helyhez A pwm biztosan megy, eddig nem volt vele gondom. Az SPI-nél én is játszottan egy két órát mire ment...(példa)
Köszönöm válaszodat. A spi működik, Pic16f887-ben a pwm is, tehát rendesen tudom vezéreli a bldc motort, szuper minden, De ugyanaz a szoft átírva egy pic16f88-ra nem működik a pwm, Néztem a generált asm filet, a tmr2 nincs meghatározva. A 16f88 hardware jó, más alkalmazással megy, pl ezzel vezérelem az uv levilágítómat, szándékosan rosszul szűrve, zajos környezetben, stabilan megy.
Ha érdekel a pic file, fel tudom tenni holnap, mert ugye nekem a parsic csak az xp-s gépemen megy, amelyet most bonyolult lenne elindítani, de pofon egyszerű, a spi csak ír, nem olvas ez határozza meg a forgási irányt és indítja a motort. A sebesség pedig kitöltésfüggő. A biztonsági és egyéb jellegzetes funkciókat az A4960 gyári beállításokkal tudja. Próbáltam változtatni rajta, kíváncsiságból, de ez a motorral az alap beállításokkal megy a legjobban.
a régi parsikkal én is 877a-t használtam, ott működött a pvm.
Egy ötlet: a fórumon itt-ott előforduló hőérzékelő ugrálásra. Ha a HW renden van. méretes szűrőkondi a kijelzőre pl 10µF ker, vagy TA...stb A melléklet szerinti SW egy változó adatot késleltet, illetve a változását késlelteti, (ami állítható) ha éppen ugrálna. ez jó lehet hőérzékelőnél esetleg AN bemenetnél, stb...mindkét Parsic alatt megy...Ha nem akarjuk menüből állítani akkor a SET1 változó helyett egy számot írunk pl 10 ekkor 1sec a késleltetés. Képet közlök, hogy a régebbi verzióhoz is lehessen használni.
A hozzászólás módosítva: Jan 22, 2015
Végre jelentkezett egy olasz a parsic italiatól, küldött egy frissítést, nem a legújabbat, de semmi változás vele
itt van 3 file. Ugyanaz 3 controllerre, pic16f887-ben működik, de pic12f1840-ben és pic16f88-ban nem. A clock itt belső, de használhatok külsőt is kristállyal, nem változtat a helyzeten, nincs hardware pwm az 1840-ben és a 88-ban
Külső kristállyal pedig a 12F1840 megy! A 16f88 nálam sem okés. Szerk.: de, megy az is, csak rosszul állítottad be a config biteket! Mindhárom működik!
A hozzászólás módosítva: Jan 26, 2015
ok, köszönöm, akkor még próbálkozom, de a 887-el megy a belső oszcillátorral is. 1840 pedig nem elég a láb a külső oszcillátorral
Nézz szét a konfig (bitek) körül, tuti ott lesz a bibi, mert a HW pwm-nek mindegy, hogy mi adja az órajelet. Ha kaviccsal rendesen megy, akkor intRC-ről is mennie kell!
Sziasztok!
Nemrégen szó volt a PWM körfrekvencia csökkentésének lehetőségéről, parsic-os környezetben. Most nekem is adódott egy projektem amihez szükséges lenne a frekvencia csökkentése. Megpróbáltam az előző hozzászólásokban tárgyalt lehetőségeket, de nem jártam sikerrel. Idézet: „MOVLW 255 BSF STATUS,RP0 ; Bank 1 BCF STATUS,RP1 ; Bank 1 MOVWF PR2 MOVLW 12 BCF STATUS,RP0 ; Bank 0 MOVWF CCP1CON CLRF CCPR1L ; 0 -> f MOVLW 4 MOVWF T2CON” Ha a 255-ös értéket csökkentettem akkor nőtt a frekvencia, de hát nem ez a cél. Ha a 4-es értéket változtattam meg 1 re vagy 16 ra MPLAB fordítás után a PWM nem működött a program többi része viszont igen. Ha visszaírtam 4 re az értéket ismét megfelelően működött minden. A kérdésem az lenne, jutott-e valaki előrébb ez ügyben? Előre is köszönöm!
Ebben a felállásban most már én is úgy látom ez nem vezet eredményre. A napokban rámértem szkóppal. A quartz freki amivel lehet vaktában csökkenteni. Vagy az ASM-et módosítíni, vagy INC filet betenni. ( a Timer2 előosztást beállítani) Most nincs időm, de hamarosan nekem is szükségem lesz rá. Ha nem juttok előbbre, majd felteszem ide, mire jutottam. Addig is egy forrás...PWM_info
Kérdés az, hogy mért kell csökkenteni. Ha az a cél, hogy a motor csendesen működjön, véleményem szerint a pwm frekvenciát növelni kell, nem csökkenteni, ugyanis a felharmonikus hullámok is zavaróak tudnak lenni. A legutóbbi munkámnál kipróbáltam többféle kristály használatát. A legjobban 20 mhz kristállyal tetszett a motor hangja.
Vegyük alapul a 16F87x procit.
Ha PR2 értékét, vagyis a 255-öt csökkented, csökken a periódus, ergo nő a freki: PWMperiod = [ (PR2) + 1 ] x 4 x Tosc x (TMR2 prescale value) Innen marad a Tosc és a TMR2 prescale value, mint befolyásoló tényező. Tosc-hoz kellemetlen nyúlni, marad a TMR2 előosztás, ami a T2CON alsó két bitje. 00: 1-es (tehát nincs) osztás, 01: 4-es osztás, 1x: 16-os osztás. A második bit mindenképp 1-ben kell legyen, hiszen az kapcsolja a Timer2-t ON-ba, tehát ha 1-et vagy 16-ot írsz a 4-es érték helyett, azzal kikapcsolod a TMR2-t, persze, hogy nem működik a PWM. Tehát ha a 4-es értéket lecseréled 5-re, akkor 4-es osztást kapsz, ha 6-ra vagy 7-re, akkor 16-ost. Ha ez a két osztás nem megfelelő, marad a fenti képlet alapján a Tosc változtatása. Mindez benne van az adatlapban...
Ja, lemaradt, hogy ha beállítottad az előosztást, onnan már felfelé hangolhatsz a PR2-vel, azaz a jelenleg 255-ön lévő érték csökkentésével. Fenti képlet alapján...
A hozzászólás módosítva: Feb 3, 2015
Sziasztok!
Köszönöm mindenkinek a segítő szándékát. "snapscan" Az említett adatlapnál én az alábbi táblázat ajánlását vettem figyelembe 10 bit-es felbontásnál. Ezek szerint nem jól értelmeztem a leírást, az iránymutatásod alapján sikerült csökkentenem a frekvenciát, még egyszer köszönöm. Idézet: „TABLE 8-3: EXAMPLE PWM FREQUENCIES AND RESOLUTIONS AT 20 MHz TABLE 8-4: REGISTERS ASSOCIATED WITH CAPTURE, COMPARE AND TIMER1 PWM Frequency 1.22 kHz 4.88 kHz 19.53 kHz 78.12kHz 156.3 kHz 208.3 kHz Timer Prescaler (1, 4, 16) 16 4 1 1 1 1 PR2 Value 0xFFh 0xFFh 0xFFh 0x3Fh 0x1Fh 0x17h Maximum Resolution (bits) 10 10 10 8 7 5.5”
Sziasztok!
A régi PARSIC-al lehet-e 1-3 KHz között frekvenciát generálni. Az alap órajel 2 msec ami 500 Hz? Üdv: Gábor
Ha 20Mhz-s quartz-ot használsz helyből közte lesz az érték. Továbbá a mellékelt kép szerinti mintaprogram (működő!) alapján INC modul beillesztve az INIT végére. az értékekkel kell variálni az adatlap szerint, illetve a kissé föntebbebb belinkelt PWM_info segít.
Figyelembe kell venni, hogy a 255 (PR2) értéke ha változik, akkor ez is befolyással lesz a kitöltési tényezőre, -mindamellett, hogy az alap modul byte-s bemenete is erre szolgál. A 2ms alap időt nem célszerű használni mert nagyon leterheli a procit bizonyos esetekben, helyetee 20 vagy nagyobb értéket. A PWM-hez (és egyéb esetben ahol CF bementre van kötve ott az adott adat frissítés ideje) Tehát PWM esetén is, - nem sok köze van a kimeneti frekihez. A hozzászólás módosítva: Feb 4, 2015
RS232-n kellene vennem 8db 16bites adatot. Ergo 16 byte egymás után. Feldolgozás pedig csak akkor, ha már mind a 16 byte beérkezett. Az 16 byte-os "csomag" 1s-onként érkezik, tehát bőven van idő feldolgozni. Hogyan oldanátok meg a 16 byte vételét, és csak akkor elkezdeni a feldolgozást, ha már mind egészen biztosan beérkezett?
Nincs a jelsorozat végén valamilyen újsor vagy kocsivissza karakter? (0A 0D)
Ha van, akkor azt kell figyelembe venni. Én a GPS jel vételénél így oldottam meg. Ha nincs, akkor időzíteni kell a feldolgozást. Ha eltelt valamennyi idő, és nem jött semmilyen karakter, akkor dolgozhatja fel. |
Bejelentkezés
Hirdetés |