Fórum témák
» Több friss téma |
Például csinálsz egy új init változót a poti értékét belemented és megszorzod 11-el utána ciklusonként kivonod belőle a poti értékét. Elvileg ekkor 10 x lassabban indul és minden ciklusba 1x maximum értékkel gyorsul, az utolsó lépésben meg a maximum lesz.
A helyzet az hogy hiába lesz ez jól megírva , nem lesz jó a tekercselés minősége! A szálvezetőt folyamatosan kell mozgatni , nem fordulatonként mozdítani valamennyit . Én azt csinálnám hogy a tekercselő tengelyre tennék egy tárcsát mondjuk 36 lukkal a kerületén ez egy optovillát bizergélne és minden imulzusra lépne egyet a stepper .Tehát 10 fokonként mozdítana a szálvezetőn egy picit és 360 fokonként vinne arrébb egy szálvastagságnyival. A helyedben én eldobnám ezt a programot (letöltöttem a demo verziót) Az új programban használd a stepper vezérlését és a megszakításkezelést is megtanulhatnád .
A hozzászólás módosítva: Okt 18, 2014
Lehet, hogy ez így is lessz. "encoder tárcsa amire gondolsz" igen ez pontosabb lenne.
De puding próbája az evés. Kipróbálom. És meglátjuk.
Na neki veselkedem.
Köszönöm. Ja kipróbáltam a progit jó lett a nyomógomb rész, de valamiért ha változtatom a 10 lépést mondjuk 500-ra akkor nem áll meg... Úgy látom nagy falat lesz ez nekem...de nem adjuk fel
Persze hogy nem áll meg, mert a változód BYTE ami max 255 lehet így sose lesz 500..
A hozzászólás módosítva: Okt 18, 2014
Sziasztok.
Szeretnék egy kis segítséget kérni, mégpedig hogy valaki megmondaná nekem hogy a chip config nak mi az elérési utja? pontosabban az (Build-> Forditási opciok->programmer-> és itt a hely nek a linkjét) keresném, kissé elnyomkodtam és most nem tudom mi volt az. Köszönöm.
Szia!
Nyomj egy alap visszaállítást a fordító beállításánál ( legfelül option list: lenyíló fül)
Ó igen, közben rájöttem.
A ciklus számlálót kell használni. Köszönet.
Igen szerintem.
Még átfaragom, gyorsabban érje el a maxot..
Még valami.. nem kellene úgy átalakítani, hogy a stepper alacsonyról magasra és a magasról alacsonyra lépéskor is ugyanannyi időt várjon? ( Most nem így csinálja..)
Kipróbáltam ezt is de melegszik a motor...
Kicsit leegyszerűsítettem..
Hi Mesterek!
Bele akadtam egy prg hibába, vagyis szerintem az. A következő lenne az:külső megszakításból (RB0INT) akartam közvetlen elindítani megszakítást (TMR0). A flowcode leállt hibával, majd a projekt megnyithatatlan lett Erre vigyázzatok! nagyjából 1 napi munkám lett oda . Megjöttek a hőmérők, lassan de készül , ha kész van majd felrakom a prg.
A lényeg az lenne, hogy ha elindulok a kocsival akkor 20km/h-nál zárja le a központi zárat, de csak egyszer
Ezután ha megállok és volt ajtó nyitás akkor legyen újra aktív a "zárás" funkció. Így sikerült megoldani. A számláló azért pörög hogy lássam hogy a pic még él. A zárás nagyjából 60Hz nál történik. A gomb az ajtó nyitást imitálja a fordítás sikerült, ráraktam a pic-re az meg kifagyott mihelyst behívtam/megnyomtam a gombot. A gomb= RB0INT bemenettel, s ez egy makrót hiv meg. A makróban akartam bekapcsolni a TMR0-át. Itt kezdtem gyanakodni. Flow bezár,újraindít, projekt megnyit s egyből dobta az ismeretlen hibát. Ezután megfagyott a flow. Nagyából ennyi a történet A hozzászólás módosítva: Okt 18, 2014
Tényleg jobb, átláthatób..
Köszönet. Na így lehet tanulni, fejlődni.... van összehasonlítási alap..
Akkor nyugodtam bekapcsolhatom a TMR0-át az RBINT0-ban. Annyi a lényeg hogy ne legyen benne delay.
Köszi A hozzászólás módosítva: Okt 18, 2014
Csak halkan jegyzem meg, a kocsi ajtaját menet közben zárni felesleges. Csak azt éred el vele, hogy baleset esetén nem tudnak kiszedni a kocsiból. Az ajtó bezárása csak a zárat reteszeli, ettől még az ajtó bőven kinyílhat.
A gyári elektronikával párhuzamosan lesz ez az opció ráaggatva. Tehát ha isten ne adja , de megtörténne a baj a reteszelés oldása az maradt! A központi meg adod, kivülről nem , de belülről nyitható. Most ugyanezt csinálom csak kézzel, azaz minden induláskor lezárom a kocsit belülről. Mivel lusta vagyok ezért lesz pic-kel zárva, mihelyst eléri a 20 km/h-át a jármű.
Igen, mert ha mindig engedélyezve van, akkor folyamatosan aktiválná a kimenetet ahogy túlcsordul. Az meg nem lenne jó.Itt a flow-ban folyamatosan kapja a trigert a bemenetre, de így legalább tesztelhető a külső megszakítás is, össze rakva nincs vele gond
Itt a kész projekt és nyákterv. Várom a kritikákat (az első munkám a flow-val). Kezdőknek rengeteg példa, minta van benne: AD, makro, interrupt stb. Amit tud a kütyü: -Kocsi motor hőmérséklet mérés, a kis vízkörbe, beállítható riasztási érték -kiegyenlítő tartály vízszint figyelés, beállítható riasztási érték -akku fesz figyelés,beállítható riasztási érték -külső, belső hőfok,beállítható riasztási érték kinti hőfokra, pl.:jeges út -nagyjából 20km/h óránál zárja a központit, ajtó nyitás után újra zárja ha eléri a 20km/h (a figyelmeztetési értékeket csak a prg-ből lehet állítani!) Ja mivel elfogyott az AD-ém, így marad refnek az 5V, ezért a hőmérséklet vissza jelzés nem valami pontos, de nekem jó. Köszönöm Mindenkinek a segítségét, főleg aki időt szánt rám ! A hozzászólás módosítva: Okt 19, 2014
Kicsit átfutottam a programot. Makró van benne bőven. Kérdeznék is. Pl. a "VIZ_AD" nevű makróban van ilyen sor:
V_FOK = EREDMENY * 0.654 Ez működik rendesen? Mindkét változó Integer típusú, amiben csak egész számot lehet tárolni. a NYÁK tervet nem tudom kinyitni, de ami feltűnt a panelen, hogy a PIC táplábainál nem látom a 100nF -os kondit. Ha használsz digitális bemenetet (nyomógombok), akkor igyekezz aktív alacsony polaritást használni, sokkal ellenállóbb a zavaroknak, mint az aktív magas polaritás. Magyarán egy ellenállással (én 1k -t szoktam használni) felhúzod a bemenetet tápfeszültségre és a nyomógomb húzza le a bemenetet nullára. Első munkának viszont egész jó lett.
Hi
Nálam működik, nincs vele gond. Ahogy Én próbálgattam az egész számokig elossza, a tizedeket meg lehagyja. Ami a pontatlanság miatt annyira nem is érdekel. Az összes hőfok kijelzést így oldottam. Kivéve a feszültség mérést ott pontos vissza jelzést akartam. A kondi közvetlen a pic lábainál vannak, alulról a VDD és a VSS lábaknál. Az aktív alacsonyt pedig megszívlelem majd, a félhúzást itt is ellenállásokkal illetve a prell miatt kondi is van rajta. Bízok benne hogy nem lesz vele baj. Köszi a tippet/tanácsot!
Sziasztok.
Régen jártam erre, és kicsit kopott az a kevéske is ami a fejembe volt, de most van ismét időm játszani. Így segítségre, infóra lenne szükségem. A lényeg, hogy több 16F877A PIC közt kellene kommunikációt megoldanom. Láttam van lehetőség flow-ban SPI és I2C re. I2C-t választanám ha az megoldható, mert az kevesebb láb foglalással jár. Ez megvalósítható? Flow-ban csak I2C master módot látom és ha jól tudom a kommunikációban egy master és a többi gazda, aminek gazdamódban kellene lennie. Lehet rosszul emlékszem. A teszt program jelenleg annyi, hogy az egyik pic fix fényerővel (PWM kimenetén) világít egy led, és ezt az értéket, elküldené a másiknak, ami szintén ugyanazzal a fényerővel szintén ledet világíttat, és kiírja LCD-re az értéket. (Ez a kontroll, így látom hogy az érték nem 255 hanem annyi amit meg kapott akkor működik a dolog.) A program világítós része működik, az adat átvitel nem. Dugdosós lapon össze szerelve próba módon. A két pic 20Mhz-en mennek, A SCL, SDA lábak össze kötve és 5kOhm-al tápra kötve. PIC2 küldi a PIC1-nek.
Ha nem találtál I2C Slave komponenst, akkor hogyan akarod megoldani a "vételt"? Van ott még pár kommunikációs lehetőség, pl. szinte a legegyszerűbb az RS 232.
A kérdés pont ez. Miután egy pic-et sem találtam ami beállítható és van i2C slave. Lásd a 18f4620 és a 18f4550 sem dobja ki a i2C slave módot(ez van a polcon). Igaz nem néztem át az összes pic-ez amit a flow tud.
|
Bejelentkezés
Hirdetés |