Fórum témák
» Több friss téma |
Csináltam ezt az pic fájlt és az lenne a feladata hogy am4
órátol fokozatosan felkapcsoljon egy lámpát és pm10 kor fokozatosan vissza.Ez egy ellenállásos relés dac rel lesz megcsinálva.Szerintetek működne?Szerintem sok hiba lehet benne mert asm be hibátlanul "beconvertálja" de a .hex nél egy rakás kb 42 hibát talál szerk:Most vettem egyet észre az óra pergető számláló rossz helyen van vagy csak próbálgattam és elfelejtettem visszakötni a sec számlálóhoz
Melyik uC lenne erre a feladatra a legalkalmasabb?
Nah észrevettem egy sor hibát látszik hogy 3 kor csináltam Most jön a service pack
Sziasztok!
Már vagy egy éve beleszeretnék fogni megtanulni programozni, de eddig valahogy a látványa miatt sose sikerül belefogni/megtanulni. Közbe sikerült olyan tapasztalatokra szert tenni(ami most is tart), hogy plc-t programozok. A bizonyos FESTO féle gépeken "kontárkodok". Azok nagyon jól mennek, tehát egész bonyolult progikat megtudok írni a flag-ezéstől kezdve időzítőkig, meg tényleg sokmindent. És mikor láttam ezt a topikot nagyon megörültem, hisz, ha az megy ez is fog. De ott valamivel másabb, mert úgynevezett "létradiagram" módszerrel programozok. Megadom eggyik oldalt a feltételeket, másik oldalt a paracsonyt. Most elolvastam a topikot, de az a nagy problémám, hogy megnéztem itt szintem mindegyik rajzot, de már alapvetően ott bukok el, hogy tulajdonképpen azokat a kapcsolatokat meg mindent hogyan kell összeilleszteni. És miért mi hova megy. Tehát nekem ez még így is teljesen "kínai". Alapvető elektronikai tudásom van, bár az a kevés is inkább erősítők esetleg tápok terén. Szerintetek érdemes lenne ezt olvasva belefognom? Vagy azon gondolkodok ez nekem túl nagy falat.... Ha elindulok merre induljak el?
Mint teljessen kezdő pickező ajánlom vágj bele.
Nem anyira bonyolult mint elsö látásra tűnik. Használd a keresöt. Ha elakadsz kérj segitséget. Tapasztalatból mondom ennyi segitőkész emberrel még soha sehol sem találkoztam.
Bizosan azért furcsa mert amivel először találkoztál
programozható cuccok "más elven müködtek" Én is előbb tudtam PLC-t vagy hasonló vezérlőmodult mint Te programozni... Így utólag visszatakintve a PIC-el nagyságrendekkel több lehetőség van, még ezzel az egyszerű grafikus programozó felülettel is mint a parsic... A siemens logo vezérlómodulhoz is ilyen logikai rajzjelekkel kell programot írni (ez hasonló mint a Festo) Olyan mintha "drótoznál", csak tudni kell az adott vezetéken bit vagy byte van jelen (nem szabad összekeverni, a progi nem is engedi, de előfordulhat!) Csak helyesen kell rajzolni... a szimulátor is nagyon jó segítség... Szinte a kezdetektől fogva minden pogramom elsőre elindult, csak minimális korrekciókat kellet végrehajtani, ami néhány perc alatt kész... Ez nem mondható el más PIC-es fejlesztőkról.
Egy kis gyakorló progi, ha valaki talál benne használható megoldásokat , ime... (leírás a nullás oldalon)
Több oldalas, lépegetés a szám billentyükkel...
Pl:a 16f628A simán megcsinálja, a kapacitása 10-ed része sem kell hozzá...
Én a feladatot egy triac-al oldanám meg amit a PIC egy Moc3021 optocsatolón keresztül hajt,-ennek anyagi igénye 300-400 ft a PIC-en kivül esetleg valamelyik bemenetre rávezetném egy váltóáramú opton keresztül a hálózati szinkront, de ez már hab a tortán...
Hát...Nagyon szivesen belefognék, de kicsit félek tőle.
Hát ha bele is fogok, remélem van erőtök elmagyarázni pontrol pontra.... Úgy gondolom, hogy szép lassan semmit se elkapkodva, ez az én jelszavam. Szóval ha tényleg van kedvetek (sokat) segíteni akkor kezdésnek: Itt van ez a rajz. Ezt elmagyaráznátok, ha megkérem szépen, hogy pontosan mit is csinál, és, hogy melyik ikon mi/miért kell és hogy mi alapján van összekötve. Ha ezt sikerül megértenem akkor teljes lendülettel belefogok! Bár ehhez is kell egy kis idő... Hát előre is köszönöm!
Kezdjük az RS1-el (ez a lelke)
a bemenetei az "S" set -tehát ezzel bekapcsol az "R" reset -tehát kikapcsol Ha a resetet folyamatosan bekapcsolva tartjuk a kikapcsolt állapot lesz érvényes ha az "S" be is van kapcsolva... Az "Y" természetesen a kimenet. az LG1, LG2 és kapuk, tehát ha minden bemenetére logikai 1 kerül, akkor lesz a kimenetén logikai 1... (lehet több bemenetüt is csinálni...16-ig) Ha valamelyik bemenetére "gombócot rajzolunk", ekkor forditott módon értelmezi az érkező jelet (invertált) (a jobb egér gombbal rákattintasz és átírható, -ez mármelyik ki és-bemenettel megtehető) OS1 egy kapcsoló jelre ad egy impulzust, ami a processzor egy ciklusára érvényes... (ha invertált a bemenet, akkor negativra kapcsoláskor ad egy impulzust, ha normál, akkor pozitivra... ezt lefutó illetve felfutó él figyelésnek is nevezzük) vezérlésekben ez nagyon fontos!!! Pl: a kapcsoló zárás csak egy impulzus idejére van hatással a bemenetre, utána üjabb ki be kapcsolás szükséges...ez a léghengerek végállásánál is fontos alkalmazási mód... Más esetben a kapcsoló pergésmentesítését is megoldhatjuk vele. LG3 egy bemenetü ÉS-kapu, valójában csak átmegy rajta a jel, de mivel a processzor tényleges portjára csatlakozunk ezért ez közbe szoktam iktatni, nehogy rajzolgatás, módosítgatás közben összekeveredjenek a belső bitek a ki vagy bemenetekkel. Müködés: bekapcsolás után minden alaphelyzetben van, tehát RS1 kimenete is...LG2 alsó bemenete invertált tehát magas szinten van, és így ga érkezik egy pozitiv inpulzus az OS1-tók akkos az LG2 kapun áthalad és bekapcsolja az RS1 kimenetét... Ekkor az Lg1 felső bemenete lesz magas szinten, tehát ez fogja átengedni a következő pozitiv impulzust, tehát kikapcsolja az RS1 kimenetét. A szimulációban ha rámész egérrel az OS1 bementére és a bal egér gombbal kapcsolgatsz ez jól látszik... A programnak elég jó helpje van, ez is sokat segít.
Én ezt így oldanám meg...
Az óra nem ilyen egyszerű, nem fog pontos lenni, meg ki is kell jeleztetni... Fényerő egyik iránv: nyomógombbal indul, leddel kipróbálhatod... A pwm kimenet meg fogja hajtani a Triacot és kb 6-8sec alatt eléri a teljes fényerőt az izzó.
Szia!
Köszi a segítséget, olvastam amiket írtál, közbe tanulmányoztam a rajzot, és rövid időn belül világossá vált! Ezt a kis rajzot már értem. Szórakoztam is vele, és 1-2 dolognak tudom már a működését. Közbe a helpbe megtaláltam a leírásait a dolgoknak. Ezt majd elolvasom és akkor már nagyjából tudom a többi dolog működését is, bár kár, hogy angolul van. Viszont van 2kérdésem amin fent akadtam. Az egyik az lehet hülyén hangzik, de mi a különbség a bit-és byte között. Tehát amikor egyiket a másikká alakítja, akkor mi lesz a különbség? A másik hogy, ha megvan írva a program. Beletöltöm a PIC-be, akkor az hogy fog kinézni? Azaz a PIC nek az egyik bemenete az ugyanaz mint a rajznak az egyik bemenete, az egyik kimenet meg a rajznak megfelelő kimenet és a rajz gyakorlatilag "benne" van a PIC-be? És akkor mi határozza meg, hogy melyik PIC-lábra kerülnek a "dolgok"?
8 bit=1byte pl ha egy bit értéke 128 akkor bitekre bontva 1 0 0 0 0 0 0 0. 2 es számrendszer.A bitekkel már kimeneteket is kapcsolgathatsz a parsicban
Alapban van a PIC-hez egy ASM-ben írható szöveges utsításkészlet...
A legtöbben ezt használják... Ezen kivül létezik még egy sor fordítóprogram a szokásos szöveges programokhoz... Ha rajzolsz a Parsic-al a menüből bekapcsolhatod a forrásfile oldalt (ekkor a képernyőd fele ez lesz, ezt csak érdekességnek...) ha leraksz egy rajzjelet azonnal megjelenik a forrásfile-ban ennek megfelelő szöveges utasítás, ez lehet 5 sor de lehet akár 15 is... a bit egyszerűsítve a villamosságból vett hasonlattal: -egyetlen kapcsoló állapota-... le vagy felkapcsolva... A byte az 8 db kapcsoló állapota 0-255ig - egyes kapcsoló állapotok szerint az értéke 2-es számrendszer szerint... a 2 byte az 16 kapcsoló állapota 0-65535 ig ugyanigy... ezeket be kell állítani az adott objektumon amiket használatba vettél, ez attól függ mekkora értékekkel akarsz dolgozni. az egymáshoz kapcsolt objektumoknak(a dróton) passzolni kell, bit, 1 byt illetve 2 byte... Segítségedre lehet, ha leteszel egy objektumot, és egy rövid lábat huzol neki, - ha "tizedes tört" a sorszáma, akkor az bit-es "változó" ha pl S0 vagy S3... ZV1... ezek byte-os változók ( jobb egér gombbal kijelölve átálltható 2 byte-osra -ott 16bit) Vannak olyan objektumok amikbe fix értéket is adhatunk (ezeket konstansnak nevezzük) az adott lábat kijelölve egyszerűen csak odaírjuk pl 0, vagy 75, vagy 1000 ...tettem fel néhány rajzot, ezekben van sok mindenre példa... ezenkivűl több külső eszkőzzel : kijelző, PC, másik processzor, RS232-es eszközök stb lehet kommunikáltatni ezekre mind tettem fel példát... Első a feladat teljeskörü megfogalmazása, majd egy áttekintés, vázlat , hogy melyik elmekkel lehet megvalósítani...Lehet több oldalon is rajzolni, tettem fel 10 oldalasat is! ennel ha megnézed az ASM file-ját több ezer sor, na ezt kezdőként (meg nem kezdőként is) hibátlanul megírni?(??) hibátlanul !? Az a Port amit bemenetnek jelölsz, Pl: RA.0 RC.1...stb az a PIC megfelelő lába lesz a valóságban Kimenetként ugyanígy RB.0 , RA.1, RC.5...stb Ha kész a rajz és helyesen rajzoltad, akkor lemented egy rövid névvel, ekkor az ASM fele is lementésre kerül... mielőtt egy "égetővel" beletöltenénka PIC-be le kell fodítani HEX formátummá. Erre az MPLAB ingyenes fordítóját használjuk. Célszerű régebb verziók v5.05...v6. ...stb a parsic sem "mai gyerek" ezt miután a gépedre tetted, a Parsic-ban Tools-ban be kell állítani az MPASMWIN.exe elérési utját... ezután az F10 billentyü lenyomásakor a rajzodból egyből hex file lesz... Jó szórakozást...
Helyesbítek: az előbb említett Tools menüben a segédeszközök projamjait PL: égető, Rs kommunikáció ...stb lehet meghívni.
Az Mpasmwin.exe elérési utját a beállítások, >programok alatt tudjuk megtenni
A pwm cf feletti lábára 1byte kell pl egy számláló vagy egy ad converter?
0-1023 a felbontása PWM esetén impulzus kimenetként
0-65535 (help) Ha egy analóg bemenetet pl:potival, akkor ez teljesen megfelel... Vagy egy másik változó, amit ebben a tartományban tudunk használni...akár "számláló"is (valójában 2 byte-os változót kell beállítani) Amit példát feltettem, azt a valóságban előtte kipróbáltam.
Köszönöm szépen a kielégítő választ!
Akkor most nekifogok kielemezni pontról-pontra a működését. Ha útközbe felmerül valami, majd írok.
Üdv mindenkinek!
Építgetés közbe van egy kis gondom. Szeretnék egy potival PWM et csinálni. Eddig nem jött össze. Csatolom az ötletemet. Mi lehet a gond? A segítséget előre is köszönöm.
Az analóg bemenet meg kell nevezni, te egy adatforrást tettél oda ami 100 konstans értéked ad...
nevezd át PL: ADC0 -ha erre az analóg bemenetre tetted a potit, vagy ADC1 ADC2...stb (16 bitesre állítsd)
Szivesen.
ez valójában az 50 Hz (20ms miatt) "fázishasítása" amit a triacos vezérlésekhez lehet jól használni teljesítményszabályozásra... -nem árt azért a bemenetre a fázis szinkront rátenni egy váltóáramú optocsatolóval... (a 20ms helyett) Ezt csak érdekességnek jegyeztem meg...
Encodert kezeltél már parsiccal?
Szétkapva egyforma osztású.
Az előző oldalon feltett, PA_szin File-ban van...
Csak egyik irányt használom, nyomóval váltok irányt. (egyszerü,100 ft-os mech. cucc, nyomógombbal...Lomex) Egyszerű, felfutó élt figyelünk One-shot modullal, illetve ezek sorrendjét... Nyomógombok és menügombok helyett jól jöhet, olcsó és egy furattal szerelhető a "dobozba"
Meglesem, nekem mindkét irány kell majd, kitaláltad, tényleg menüt akarok csinálni. Egyelőre olyan encoderem van ami 2 irányt tud, de beszerzés alatt van az a fajta amibe be van építve 2 gomb. Csavargatással lépked a menübe, a 2 gomb pedig az OK és a BACK.
Szia Thowra!
Én így oldottam meg a LOMEX-os encodert, mind két irány + benyomás. Nekem működik, remélem neked is fog. Az az egy baj van vele, hogy nem elég határozott a kapcsolók ugrása az encoderben, de azért árhoz képest tökéletes. Ja és a bemenetre kötöttem egy 10nF-os kondit, úgy jobb lett.
Üdv!
Köszönöm az ötletet. Eddig ezt hoztam össze, az alsó részen van az encoder kezelés. Egy számlálót növel vagy csökkent. Sajnos a pic amire terveztem kipurcant, így gyakorlatba még nem tudtam megnézni.
Szia!
Na eljutottam a Shifterig a tanulmányozásban. Ám ezt a shiftert nemigen értem, hogy is működik. És a countereknek azaz a számlálóknak mi szerepük van egy rajzban? Azon kívül, hogy én látom mennyit számol nemigazán értem. Meg a down counternél miért jó, hogy lefele számol? Különben csináltam ez alapján két kicsi rajzot. Mindkettő egy villogó lenne. Ha a bemenet H szinten van akkor a kimenet villogni fog. Időzítővel csináltam. Ezek elvileg működnének, vagy sem? És ha nem, akkor miért nem? |
Bejelentkezés
Hirdetés |