Fórum témák
» Több friss téma |
Elolvastam az összes hozzászólásod, de nem találtam amit kerestem.. Egy léptetőmotor meghajtónak szeretnék impulzusokat generálni a pic-el, ezért gondoltam hogy ez jó lenne nekem...
Ha lesz időm holnap ujra be scannelem és felteszem a fordítást .
Köszönöm, ezt nem találtam meg.
Tehát ha jól értelmezem, akkor a csatolmány szerint működnie kellene. A 16f877 bármelyik kimenete képes ilyen nagy sebességű impulzusokra?
Ez volt számomra lényeges ezt fordíttattam le
Üdv.
Amiért érdeklődtem az impulzus kimenetről: Egy inkrementális jeladó ad két jelet egy plc-nek. Figyeli a fordulatot, és 1-2 fordulat/perc fordulatszám csökkenéskor megállítja a motort. Kicsit módosítottunk a gépen, és így a jeladó többet forog mint eddig, így a plc mindig hibát ír. A jeladó jeleit szeretném megváltoztatni, hogy ezen a bizonyos nagyobb fodulaton adjon ugyanannyi jelet mint régen a kisebb fordulattal, és ez arányosan változzon is fordulatszám függvényében. Csináltam egy parsic progit amiről csatoltam a képet (az impulzus kimenet nekem akart működni), így ki tudtuk próbálni, működött, de nemtudom a kimenő jelek sebességét hogyan lehetne arányosítani a bejövő jelek sebességével. Remélem érthető voltam, ha valakinek van ötlete azt megköszönném.
Picit le vagy maradva. Évek óta leálltak a fejlesztéssel, már a program sem elérhető a készítője oldalán.
A bejövő jelek számát oszd el a megfelelő értékkel ha mondjuk 5* öse a fordulatszám akkor 5 el oszd a jelet
Sziasztok!
A PARSIC-ban van-e lehetőség arra, hogy szoftveresen végrehajtsunk resetet? Üdv: Gábor
Azt sajnos én is tudom. De hátha valami lelkes amatőr...
Hello!
Ez azért nem ilyen egyszerű. Nem egy szám érkezik be, hanem egy időegység alatt mért impulzus számot kellene csökkenteni. Magyarul fout=fin/x frekvencia konverziót kellene végrehajtani, kb. mint ahogy egy PLL teszi. Mondjuk pld. minden 5. impulzust el lehetne "sumákolni", ekkor 20%-ot csökken a freki, csak akkor éppen a kimenti jel nem lesz egyenletes ütemű. üdv! proli007
Hello!
Egy include file-al a program elejére ugorhatsz. Vagy programszervezéssel eleve úgy építed fel a programot. üdv! proli007
BV elemmel csinálok bit->byte átalakítást. A byte adatot szeretném átvinni egy másik PIC-re.
Pl. 1-es PIC 8 bemenete átalakul bytra. A 2-es PIC-en szeretném ezt a byte adatot átalakítani 8 bitre. Ezt hogyan? Kösz!
Igazad van ! Csak rápillantottam a képre és ez volt az első ötlet :bummafejbe:
A Topic elején az UART kommunikáció támához hasonló példát tettem fel ...(#271404)
Értem. Tehát mindenképpen kell az UART. Oké! Megtanuljuk. Ja, és megnézzük (#271404).
Kösz!
Köszönöm!
Ez a része nekem nem fog menni, a programba még csak berajzolgatok, de az assambly nem az én világom. Programból szeretném kiváltani a resetet hasonlóan mintha megnyomnék egy gombot. Üdv: Gábor
Az a nyomógomb amit "képzeletben" a program egy bizonyos állapota is előidézhet.(?) Parsic-ban ez akár egy ÉS kapu kimenete. Ennek van egy bit száma Pl: S0.4 ehhez a bithez rendeled az INclude részletben a resetet, ami adott esetben szerintem a WDT is lehet.
Ehhez csak pár sort kell írni... Példa (#224537)hozzászólás (MAIN.inc) file... Alakítsd át a CLRWDT utasításhoz. Akár a nyomógombbal is tesztelheted a valóságban. Pl: csak akkor aktíválja a program a WDT-t, ha lenyomod a gombot...
Idézet: „Ez azért nem ilyen egyszerű. Nem egy szám érkezik be, hanem egy időegység alatt mért impulzus számot kellene csökkenteni.” Így van. Próbálkoztom a feltöltött kép alapján megváltoztatni az időegységet, de abba képtelenség beavatkozni, vagy esetleg számlálókkal de akkor még 2ms-os impulzusokkal is lassú lesz az egész... Vagy próbáltam impulzus bemenetet, ez egy byte adatot ad és azzal számolgatni de nem volt stabil. Vagy a frekvenciamérős megoldással (csatolt kép) ami nagyon stabilan mér, de kimeneti jeleket nem tudtam generálni belőle... szerk.: Minden x-edik jel kihagyása csak akkor működne ha minden 2.ról lenne szó, más esetben nem jó... :S
A program hoz valami féle magyar nyelvü leírás létezik?
Én nem tudok róla. De a saját helpje elég jó még egy internetes fordítóval is.
Esetleg ha a frekimérőd alapján csak három kimenőjel sorozatot generálnál?
1 normális fordulatszám 2 Gyorsan forog 3 lassan forog Ha egyébként nem szabályoz, csak tilt akkor ez elég lehet.
Itt mind két BV tartalma kikerül a Tx(RC.6) kimenetre? Szimulálás közben ki lehet íratni a kimeneti változó tartalmát?
Így talán menni is fog...Ellenőrizd, mi a különbség!
Esetleg ellenőrizd a RA portot 6-7 nem létezik, helyette írj másikat akár RC.0...
Oké, mindjárt megnézem. A portcímek a 877 lábkiosztását követik az enyémen.
Szia!
Köszönöm a választ. Megpróbálok valamit kiokoskodni, de az assamblyvel sok minden sötét. Abban a .inc fileban amit küldtél még csak értem, hogy hogyan írom be az ugrást, de nem tiszta, hol hivatkozik a bit számra amit írtál. ; If M0.0 Is High, call the SetClock-subroutine banksel a0 btfss a0,0 goto noSetClock call PCF8583SetClock Az M0.0 gondolom megjegyzés ha ezt átírom még nem vagyok a célnál. Gondolom a goto PCF... sornál kellene megadjam a programom elejét. Például az járható-e, hogy ide a a system_init labelt állítom be? Ha nagyon nagy butaságokat írtam bocsásd meg. Üdv: Gábor
Igen az m0.0 az olyan mint a s0.0 , s0.1...annak nevezed aminek akarod.
Nem tudom miért van szükséged, ilyen fajta resetre? Mi a célod pontosan ezzel? Az PIC-nek van egy reset lába ezt egy nyomógombbal simán lehet nyomkodni. Programból meg valamelyik kimenet kapcsolhatja esetleg egy kondi vagy egyéb segítségével. A WDT miért nem jó?
Szia!
Van egy áramköröm amiben elég sok minden ki be kapcsolható nyomógombokról. Szeretnék egy demo módot tenni, de amikor elindul előtte minden részét szeretném alaphelyzetbe hozni, hogy ténylegesen azt csinálja amit szeretnék. Ez a demó mód időzítésre indul, nem gombnyomásra ezért kellene a soft reset. A WDT is jó de azt hol állítom be? Gábor |
Bejelentkezés
Hirdetés |