HobbyCNC fórum
FTP tárhely: http://cnctar.hobbycnc.hu v0.9.6 Régi HobbyCNC oldal: http://archiv.hobbycnc.hu

Új regisztráció / Átregisztráció a régi fórumról
    
   


Elektronika

Léptetőmotorok, vezérlőbeállítások

 

Időrend:
Oldal 386 / 492 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   382  383  384  385  386  387  388  389  390   Következő ►  Utolsó ►|

  Fórum főoldal  |  A lap aljára

KisKZ | 6456    2010-01-03 23:48:00 [5391]

Bocs! Egyet!
A túláramvédelem tehát termikus alapokon van, a legkisebb leoldás pedig elektromágneses.

Előzmény: KisKZ, 2010-01-03 23:47:00 [5390]


KisKZ | 6456    2010-01-03 23:47:00 [5390]

Az elektron féle linkről:

A gyorskioldó az elektromágnes, (ez a legkisebb kioldási áramot határozza meg),
az ikerfémes túláramkioldó pedig ugye a neve szerint gondolom bizonyos mértkű túláram esetében lép működésbe.

Tehát a legkisebb leoldási áramot elektromágneses elv határozza meg valahogy.
Ott pedig ha jól emléxem a tanulmányaimra az áram az amely meghatározzta a kialakuló mágneses tér erősségét.

(persze vagy nem, ha nem jól emlékszem)


Kulcsar Zoltan | 4197    2010-01-03 23:38:00 [5389]

Igy van az olvado másként müködik mint a kismegszakito .

Kicsit szélsöséges a példa de ha egy 20mm hosszu 0.2mm Cuz huzalt 1V 1A terhelek akkor az langyos ( vagy még az sem ) és ha ugyan ezt az ampert csak 230V-al csinálom akkor ott lessz egy jo kis villanás .Vannak már régen kisfeszültségö ( nyákba ültethetö ) bitositékok .

Használhato a 230V-os olvado is csak az áramot másként kell választani .

Öszintén szolva nem is használtam még csak a primer oldalon biztositékot ( ott meg egyértelmü ) .

Előzmény: Sir-Nyeteg, 2010-01-03 23:23:00 [5385]


LZ | 1538    2010-01-03 23:31:00 [5388]

Csalóka amúgy.
A "teljesítmény " fogja kinyomni a biztit, de az a teljesítmény amit a biztosíték ellenállása generál. Ha mondjuk 1 Ohm a bizti ellenállása és 10A folyatsz rajta akkor 10V esik, de az hogy most 230V rendszerben van-e az mindegy mert akkor is 10V fog esni rajta. Egyedül azért használnak 12Vos körökben nagyobb biztiket, mert ott fontos a kis ellenállás, más a kilakításuk.

Előzmény: Kulcsar Zoltan, 2010-01-03 22:53:00 [5383]


elektron | 15859    2010-01-03 23:31:00 [5387]


Biztosíték info

KisKZ | 6456    2010-01-03 23:30:00 [5386]

"..Én 250-es olvadóbiztiket használok a 12V-os napelemes rendszeremhez, eddig egyik sem hagyott cserben. ..."

Nekem ennyi elég!


Próbálták már nekem ezt sokféle képpen megmagyarázni, (a kismegszakítók lelkivilágát) de mndenki mást mondott.
Sajnos a HOW IT"s MADE sorozatomban nem találom ezt, hogy hogyan készül és működik, pedig volt ilyen rész...


Sir-Nyeteg | 1319    2010-01-03 23:23:00 [5385]

Mondjuk az olvadó biztosíték kicsit másabb, mint a kismegszakító. Arra nem is gondoltam, hogy egyen vagy váltóra van tervezve, elvileg mindkettő névleges feszültségnek rajta kellene lennie a biztosítón. Legjobb lenne egy sima teszt, pudling próbája az evés alapon!

Előzmény: Sir-Nyeteg, 2010-01-03 23:13:00 [5384]


Sir-Nyeteg | 1319    2010-01-03 23:13:00 [5384]

Van egy 10A-es kismegszakítód. Ha tegyük fel 15A-ert eszik a klíma, akkor a kismegszakító leold. Hova esik a feszültség? A kismegszakítóra, aminek nincs fogyasztása, vagy a klímára, ami zabálja az áramot, a teljesítménye által?
A falban levő vezeték is melegszik, ha áram folyik át rajta. És körülötte mágneses mező alakul ki. Az meg csak a rajta átfolyó áramtól függ.
Én 250-es olvadóbiztiket használok a 12V-os napelemes rendszeremhez, eddig egyik sem hagyott cserben.

Előzmény: Kulcsar Zoltan, 2010-01-03 22:53:00 [5383]


Kulcsar Zoltan | 4197    2010-01-03 22:53:00 [5383]

Sziasztok

Nem ismerem az olvado biztositékok lelki világát , de ahoz hogy valami elégjen ahoz teljesitményre van szükség az pedig U*I= P
szerintem számit a feszültség és az áram eggyütt .


elektron | 15859    2010-01-03 22:47:00 [5382]

Csak arra próbáltam rámutatni, hogy azért egész egyszerű dolgoknál hihetnél kicsit jobban a saját logikádban is, meg az enyémben, ha valami nagy marhaságot írok úgyis beszól valaki.

Előzmény: KisKZ, 2010-01-03 22:43:00 [5380]


KisKZ | 6456    2010-01-03 22:44:00 [5381]

köszönöm!
A téma lezárva!

Előzmény: Sir-Nyeteg, 2010-01-03 22:43:00 [5379]


KisKZ | 6456    2010-01-03 22:43:00 [5380]

Elektron!
Nem hülye vagyok csak tudatlan és azért nem annyira!

Előzmény: elektron, 2010-01-03 22:42:00 [5377]


Sir-Nyeteg | 1319    2010-01-03 22:43:00 [5379]

A sima üvegházas biztosítéknál hiába 230-as a bizti, az áram hatására elolvad. A 230 (250) talán az átütés miatt szerepel rajta.
1A-es 230-as biztosíték kiolvad 1V 1A hatására is.
Valószínűsítem a kismegszakító is így működik.
Rajta nem eshet feszültség, hiszen akkor feszültségosztóként működne, (illetve egy rövidrezárt áramkörben feszültség nem nagyon esik).
Magyarán az áram számít

Előzmény: KisKZ, 2010-01-03 22:34:00 [5375]


KisKZ | 6456    2010-01-03 22:42:00 [5378]

Ezek a megszakítók teljítmény elvűek?
VAgyis inkább: Hőre működnek?
MErt akkor egyértelműen nem mindegy.


elektron | 15859    2010-01-03 22:42:00 [5377]

Az U=I*R szerinted jó ?

Előzmény: KisKZ, 2010-01-03 22:34:00 [5375]

elektron | 15859    2010-01-03 22:41:00 [5376]

Egyik irányba nem mindegy, ha 5000V-van rákötve, a két vége közt áthúzhat, oda pl. hosszabb kell, de kisebb fesznél nem.

Előzmény: Nemes János, 2010-01-03 22:27:00 [5374]


KisKZ | 6456    2010-01-03 22:34:00 [5375]

Várnám mások véleményét is! CSak hogy biztos legyen.
Előre is köszönöm!

Előzmény: Nemes János, 2010-01-03 22:27:00 [5374]


Nemes János | 951    2010-01-03 22:27:00 [5374]

Szerintem nem mindegy! Nem véletlen van a biztosítékokra a feszültség és az amper is ráírva.
Vagy rosszul gondolom?

Előzmény: elektron, 2010-01-03 22:14:00 [5372]


KisKZ | 6456    2010-01-03 22:14:00 [5373]

köszönöm!

Előzmény: elektron, 2010-01-03 22:14:00 [5372]


elektron | 15859    2010-01-03 22:14:00 [5372]

A 10 amper az 10 A szerintem. Ha nem húz át, mivel 230V-os , akkor kisebb fesznél is jónak kell lennie.

Előzmény: KisKZ, 2010-01-03 22:08:00 [5371]


KisKZ | 6456    2010-01-03 22:08:00 [5371]

Ez az építés még ehhez készült anno.
Lehet azokat izzitom be mégis előbb.
KÖszönöm. Már csak a 10A-es kérdésem lenne a secunder körben.
Lent irtam ezt a kérdést is.


KisKZ | 6456    2010-01-03 22:07:00 [5370]

Közben lejött a dolog. Az MSD vezélőkhöz kell a 32-es.


elektron | 15859    2010-01-03 22:05:00 [5369]

Na ugye, gondoltam, hogy valami nem stimmel, azt akartam mondani, hogy mérd már meg a kimenő tekercs ellenállását, mert ha 10A-t ad le, és 1 Ohm legalább, akkor elhittem volna.

Előzmény: KisKZ, 2010-01-03 22:03:00 [5367]


Amatőr | 2184    2010-01-03 22:05:00 [5368]

Pont azt számoltam hogy vagy nem jó trafót használsz, vagy igen nagyot csal a multimétered

Előzmény: KisKZ, 2010-01-03 22:03:00 [5367]


KisKZ | 6456    2010-01-03 22:03:00 [5367]

N hát ez szép!!!!
Most derül ki, hogy az első trafó amit vettem nem 24-es.
De ez jó lesz máshoz.
Ez 32V-os.
Nem baj
Feldobom rá a másikat. Az 24V os.


A többi kérdést is nézd már meg légyszives!

Előzmény: elektron, 2010-01-03 22:00:00 [5366]

elektron | 15859    2010-01-03 22:00:00 [5366]

24*1.4=33.6, hogy lesz abból 42 V ? Ilyen méretű trafónál ekkora feszültség esés van ?

Előzmény: KisKZ, 2010-01-03 21:55:00 [5364]


svejk | 33042    2010-01-03 21:55:00 [5365]


Elektromos emberkék!
Nézzétek már meg az Adok-veszek #11323-at!




KisKZ | 6456    2010-01-03 21:55:00 [5364]

Sziasztok! Segítséget kérnék!
Az uj évet azzal kezdtem hogy számot vetetten azzal amit csináltam eddig.
Rájöttem, hogy ha nem csinálom, csak beszélek butaságot, akkor bizony nem akar magától semmi elkészülni.
Igy nekiestem a H2-es vezérlő tápjának és a dobozolásának.
Ez volt a kezdet:




MOst estére sikerült egy régebbi kezdeményezért rendbetennem és igy állok:



VAn rajta 6 db 5V-os kimenet, 1 db 12V os kimenet és egy power a vezérlőhöz.
A toroid elvileg egy 250VA-es 230/24V-os darab, a diódahíd egy 35A-es 800V-os SB358-as, egy 10000uF-os 63V os kodi. A megszakítók 2A-esek (egy-egy a primer mind két oldalán), és egy 10A-es a szekunder oldalon.
A primer oldali ugye egyértelmű hiszen ott 230V van, igy a sima 230/2A-es megszakitók jók.
De a kérdésem először az, hogy a szekunder oldalra van-e értelme 230/10A-est tenni? Másképpen viselkedik-e mint egy sima mondjuk 60V környéki 10A-es olvadó? Vagyis egyáltalán működik-e ha kell?

A másik kérdésem:
Ugyan ez a felépítés egy az egyben stimmel a H2 doksijában referenciaként megadotthoz, aonban ott kifejezett követelmény az, hogy a tápfez (még terheletlen állapotban se haladja meg (érje el?) a 35V ot.

Most a tápfesz 42.7V ezen az összeállításon.
milyen elemet építsek be és hova tanácsoljátok, ahhoz, hogy semmiképpen ne lépjem túl a 35V ot? (mondjuk inkább 34-et)

Előre is köszönöm a segítséget!


Szalai György | 9490    2010-01-02 18:31:00 [5363]

mostakkor vege vagy folytkov

Előzmény: alfcoder, 2009-12-28 22:53:00 [5352]


elektron | 15859    2010-01-02 10:27:00 [5362]

Az is lehet, hogy az alsó oldalra ráteszek egy procit is, meg ami kell még neki, és 2 oldalasra is meg lehetne csinálni, de ezt csak úgy mondom most. Most tegnap hoztam olyan állapotba, hogy lassan neki állhatok egy példányt kimaratni belőle, csak még pár furathelyet megnagyobbítok hogy könnyen lehessen forrasztani.

Előzmény: KisKZ, 2010-01-02 10:20:00 [5361]


KisKZ | 6456    2010-01-02 10:20:00 [5361]

NEm baj!

Előzmény: elektron, 2010-01-02 09:57:00 [5360]


elektron | 15859    2010-01-02 09:57:00 [5360]

Várjál, ez egy shield, ezt kell rádugni az ARDUINO-ra majd, ez csak egy kísérleti valami.

Van rajta memória tároló IC, RS485 csatlakozás, kapcsoló üzemű táp, meg egy hőmérő PT100-hoz, de lehet variálni, rátenni valamit, vagy ilyesmi.

Előzmény: KisKZ, 2010-01-02 09:33:00 [5359]


KisKZ | 6456    2010-01-02 09:33:00 [5359]

Szuper!!!!
Kérek belőle!
Egyet rendelek tőled!

Ez soros ha jól látom?

Előzmény: elektron, 2010-01-01 22:46:00 [5358]


elektron | 15859    2010-01-01 22:46:00 [5358]

KisKZ !

Csináltam egy ARDUINO shieldet.



elektron | 15859    2010-01-01 19:23:00 [5357]

Azt hiszem ez olyan egyszerű hogy kaparós technikával csinálom meg, mert csak egy kell most hirtelen, már látni szeretném, a 4. forgó tengelyt végállásra beállni.

elektron | 15859    2010-01-01 19:12:00 [5356]

Végálláshoz csináltam egy kis paneltervet, opto réshez jó, és a rés tranzisztora, mint kapcsoló funkcionál, sorosan kötött végállásra jó.




Szalai György | 9490    2009-12-29 11:20:00 [5355]

Én is másolom ezt az egész © alfcoder attrakciót Word-be és fordítom programozó-Magyarról bevásárlós-Magyarra.
De már lefutott ez a programrész, most ugrok a TV nézősre, mert annak teljesültek a feltételei.


keri | 14033    2009-12-29 11:11:00 [5354]

Én megírtam Wordben szerkesztve, és csak a linket raktam fel.
Bár igaz hogy úgy könnyebben elsikkad de áttekinthető, lementhető, nyomtatható.
Valahogy így: Fotózás alapjai

Előzmény: alfcoder, 2009-12-28 22:53:00 [5352]


n/a (inaktív)    2009-12-29 08:05:00 [5353]

Javaslat: készíts printscreent az editorról és szúrd be,vagy linkeld a képet.

Előzmény: alfcoder, 2009-12-28 22:53:00 [5352]


alfcoder | 182    2009-12-28 22:53:00 [5352]

elnezest igy sem mukodik ha valakit nagyon zavar, hogy a programnal nincsenek meg a tabulatorok, akkor maganban atkuldom neki a txt file -t, vagy valami tanacsot elfogadnek ezugyben

Előzmény: alfcoder, 2009-12-28 22:51:00 [5351]


alfcoder | 182    2009-12-28 22:51:00 [5351]

kernem egy operatort, hogy az elozot torolje, mert nem ment at a tabulator, most probalom fix space -el, koszonom






kerem a gyakorlo/profi programozokat, hogy stilszeru legyek, ugorjanak a *** bekezdeshez


sokat tortem a fejemet azon, hogy a most kovetkezo reszbe erdemes e belemenni, de vegulis ugy dontottem,
hogy mivel olyan egyszeru fogalmak fognak szobakerulni, hogy nem erne meg nem megtenni, arrol mar nem is
beszelve, hogy az itt megismerteket ha masra nem is, de egy alap eligazodashoz mindenki fel fogja tudni hasznalni

ha eddig nem lett volna vilagos, a programozasrol lesz szo, ugy fogjuk megkozeliteni a dolog, hogy sorravesszuk,
hogy milyen reszekbol/fogalmakbol all a programozas:

1.utasitas: ez egy elemi egyseg ami megmondja a cpu -nak (processzor/feldolgozo egyseg), hogy mit kell csinaljon
pl: a+b, egy kutyanak is lehet adni utasitast: gyere ide!

2.memoria: egysegesen felosztott tarolo hely, pl. egy kockas fuzetlap, nyilvan azt jo tudni, hogy mi hol van
a memoriaban, tehat szuksegesek a memoria cimek is, a postas is igy tudja, hogy hova hozza nekunk a leveleket

3.program-memoria: itt van eltarolva maga a programunk, azaz az utasitasok amiket szeretnenk, hogy a cpu
megcsinaljon, pl. ha lekuldenek valakit vasarolni, akkor a bevasarlo cetlit lehet tekinteni program-memorianak
vagy pl. egy hataridonaplot, hogy az elet ne legyen tul bonyolult, az egyes utasitasokat szepen egymas utan
szoktak elhelyezni a program-memoriaban, tehat amikor az egyik dolgot megcsinaltuk, megyunk a masikra

4.munka-memoria: ez semmi tobb mint a programunknak adott munkaterulet, ahol o tetszolegesen tarolhat, torolhet
modosithat, megnezhet dolgokat

5.valtozo: ez egy nevvel ellatott munka-memoria cim es meret, pl. a kutya nevu valtozo ezek utan a fuzet 3 -dik
oldalan belul az 5 -os sor 12db kockaja lesz, szoval ez arra jo csupan, hogy ne kelljen ilyen hulyen beszelni,
hogy itt meg ott meg hol mennyi helyen, hanem csak azt mondom, hogy irjal 3 x-et a kutyaba, vagy na mi van
a kutyaban?

6.aritmetika: a matematikaban szereplo muveletek, tobbnyire alap muveletek, pl. osszeadas, kivonas, osztas, szorzas
gyokvonas, hatvanyozas

7.feltetel: valami vagy igaz vagy hamis, pl. ha azt mondom, hogy a feltetelem az, hogy "alma es korte", ami nyilvan
csak akkor lesz igaz, ha mind az alma es mind a korte valtozo igaz, minden mas esetben a feltetelem hamis
eleg sok feltetel lehetseges, pl. az un. relaciok is feltetelek, tehat, hogy valami egyenlo valamivel, valami
nem egyenlo valamivel, valami kisebb valaminel, nagyobb, nagyobb es egyenlo stb.
nem art megjegyezni, hogy egyes utasitasok vegrehajtasat lehet kotni feltetelekhez, szoval valamelyik utasitas
csak akkor hajtodik vegre, ha egy feltetel igaz

8.kulvilag-kapcsolat: nyilvanvaloan a programunknak szuksege lesz arra, hogy a kulvilagtol kapjon, ill. a annak
kikuldjon dolgokat, ilyenekre gondolok, hogy merevlemez, file, monitor, billentyuzet, printerport

9.programfutas vezerles: ez egy nagyon egyszeru es nagyon fontos dolog, fentiekben mar volt rola szo, hogy
a program utasitasaink szepen sorban helyezkednek el a program-memoriaban, sajnos egy ilyen merev szerkezettel
nem tul hatekonyan tudnank dolgozni, kepzeljunk el egy peldat: minden nap be kell menni dolgozni, szepen sorban
nap, naputan, igen am, de mi van akkor, ha hetvege van, vagy valamilyen unnep, vagy betegek vagyunk???
nos a merev szerkezet, erre nincsen tekintettel! szoval meg kell engednunk, hogy a programfutas flexibilis legyen
mint ahogyan ezt mindjart lathatjuk, es ami a lenyeg, hogy ezek utan mar keszen is vagyunk

10.direkt ugras: ez egyszeru dolog, a cpu egyszercsak rafut egy olyan utasitasra, hogy ugorjunk a 123 -as sorra
es akkor a kovetkezo utasitast mar onnan veszi szepen sorban, ameg nem tortenik megint egy programfutas vezerles
az milyen jo moka mikor pl. a 42-es sorban levo utasitasnak azt adom meg, hogy ugrojon a 42-es sorra
hazi feladat, hogy egy ilyen szituaciobol hogyan tud kikeveredni a cpu, ugy ertem ha egy ilyen megtortent, hogyan
tudunk megis feladatokat elvegezni

11.felteteles ugras: nos itt az, van, hogy csak abban az esetben ugrunk, hogyha valamilyen feltetel igaz, pl.
fut a programunk es kozben egy valtozo csokken, majd e programresz aljan az van, ha a valtozo nem nulla, akkor
ugorjon a programresz elejere, belathato, hogy igy lehet iranyitani, a valtozo segitsegevel, hogy egy
programreszlet hanyszor fusson le, nem akartam de megis irok ide egy peldat:

221: ....
222: csokkenteni a macska valtozot 1-el
223: kiirni a kepernyore a macska valtozo ketszereset
224: ha a macska nem egyenlo nullaval akkor ugrani a 222 -es sorra
225: ....

(azert nem akartam ilyesmiket irni, mert velemenyem szerint egy ilyen huzas melysegesen megserti az olvaso
onerzetet, mert hulyenek van nezve, mert akarmennyire is az elejen legyen a programozasi ismereteknek azt
egybol kitalalja, hogy a cpu-ban nem ilyen szep-fogalmazasos modon mennek a dolgok)

12.fuggveny hivas: ennek is a matematikabol kolcsonvett alapjai vannak, tipikusan van egy elkulonitett
program reszlet aminek van egy cime nyilvan, namost fut a foprogram, majd mikor szuksegunk van az elkulonitett
reszre, akkor annyit mondunk, hogy eltaroljuk azt a cimet ahol vagyunk (jobban mondva a kovetkezot) es elugrunk
az elkulonitett programreszhez, ott lefutnak szepen egymas utan az utasitasok, majd a vegen az van, hogy ugorj
vissza az eltarolt cimre (most mar lathato, hogy miert a kovetkezo cimet kellett eltarolni
ez ilyen egyszeru, szoktak meg valamilyen adatot/parametert adni az elkulonitett programresznek, ill. az
elkulonitett szokott meg vissza adni erteket, pl. a fuggvenyem az, hogy a bejovo valtozo erteket megszorozza
kettovel es ezt adja vissza, akkor ha a foprogrambol meghivom ezt a fuggvenyt egy 10-es parameterrel, akkor
20-al jon vissza mint visszateresi ertek

13.megszakitas: ennek szerencsere csak a neve furcsa, amugy egy remek jo szolgalatot nyujto cuccos
itt arrol van szo, hogy nem nekem kell hivni egy elore meghatarozott fuggvenyt, hanem az automatikusan meghivodik,
ha egy szinten elore beprogramozott feltetel teljesul (igaz lesz), gondoljuk meg mifele kavarodas volna, ha nem
lehetne igy elore beprogramozni a fuggvenyt vagy a vegrehajtodasi feltetelet

milyen feltetelek lehetnek ezek? pl. egy vonal lehuzodik a foldre, megnyomnak egy gombot, eltelt egy adott ido,
minden egyes millisec -nel meghivodik egy fuggveny, a marha program nullaval akart osztani


*** igen, igen, ide ugrottak a profi programozok, na most, ha az un. state-machine is a mindennapi programozas
resze, akkor arra kernem meg oket, hogy megy egyszer, de mostmar utoljara legyenek szivesek ugrani a ****
reszhez, ahol a tenyleges iranyvaltos pwm algoritmus kerul ismertetesre


szoval akkor mi is ez a state-machine, nos ez egy programozasi trukk, amivel idot es energiat takarithatunk meg
magunknak, az algoritmusok igen nagy resze pontosan azert van kitalalva, hogy ne kelljen sokat dolgozni, vagy
tul sok mindenre figyelni, tul sok minden fejben tartani, a masik reszukkel a vegrehajtas hatekonysagat tudjuk
novelni (a harmadik tipusnal szellemi perverzioinkat eljuk ki

a state-machine eseteben kulonallo programreszek vannak, amik kozul mindig csak az egyikben vagyunk, ott futnak
a programsorok, ezekre a kulonallo programreszekre igaz egy allapot (state) azaz azert vagyok az egyikben mert
egy jol definialt allapot van ervenyben, hetkoznapi pelda: "lefekveses allapot" "reggelizo allapot" "tv nezo allapot"
"bevasarlos allapot" "dolgozo allapot" tehat ha a tv nezo allapotban vagyok akkor nyilvan nem vasrolok be, nem
dolgozok, hanem ulok a fotelban es nezem a musort, erre a tevekenysegre pontosan ez jellemzo, a masik fontos dolog,
hogy tudjak mozogni az egyes allapotok kozott, most kepzeljuk el, ha orokre beragadna valaki a bevasarlos allapotba
:) nos pontosan ugy mint a hetkoznapi eletunkben ezekhez az allapot-valtasokhoz (mozgasokhoz) egy nagyon jol
meghatarozott feltetel tartozik: ha mar keso este van es faradt vagyok, akkor a tv nezos allapotbol atmegyek a
lefekveses allapotba, de nyilvan olyat nem lehet csinalni (vagy nem erdemes) hogy a bevasarlos allapotbol atmegyek
csak ugy hirtelen ott a boltban a lefekvesesbe de olyan azert van, hogy a bevasarlosnal ha mar bevasaroltam
vagy tul sokan voltak a boltban es feladtam, akkor atmegyek a hazamenos allapotba, majd ha mar otthon vagyok akkor
ha faradt vagyok akkor atmegyek a lefekvesesbe, vagy a tv nezosbe ha meg nem vagyok faradt

szoval a lenyeg, hogy jol meghatarozott helyek vannak, jol meghatarozott atmenesi feltetelekkel a jol meghatarozott
atlepesi helyekre

maga az implementalasa a state-machine -nak ugy tortenik, hogy van egy valtozonk a state_num, ez mutatja, hogy melyik
allapotban vagyunk es egy fociklusbol allandoan megnezzuk, hogy milyen allapothoz, milyen programreszek szuksegesek,
tulajdonkeppen azt biztositjuk, hogy ha a state_num egyenlo 3-al akkor a 3-as programreszlet fusson le, de a tobbi
ne, termeszetesen az atmenetekre figyelni kell, tehat, ha a 3-asban vagyunk akkor kell figyelni, hogy nem e teljesult
egy atmenesi feltetel ami mondjuk atvisz minket az 5-os programreszbe, valahogy igy:


program itt indul:
.....
.....
state_num legyen egyenlo 2-vel
.....
.....

fociklus:


ha state_num egyenlo 1 -el akkor ezeket csinald:
.....
.....
ha ez akkor state_num legyen egyenlo 2-vel
.....
ha az akkor state_num legyen egyenlo 3-al
.....
ugorj a kozos-sorra


ha state_num egyenlo 2 -vel akkor ezeket csinald:
.....
.....
ha akarmi akkor state_num legyen egyenlo 3-al
.....
ugorj a kozos-sorra


ha state_num egyenlo 3 -al akkor ezeket csinald:
.....
.....
ha ez meg az, akkor state_num legyen egyenlo 1-el
.....
.....
.....
ugorj a kozos-sorra


kozos-sor:
.....
.....
.....
akar tv-t nezek akar alszok, lelegeznem azert kell!!!
.....
.....
ugorj a fociklus-sorra




**** iranyvaltos pwm algoritmus itt kezdodik:


magyarazo abra a konfiguraciorol:








ezekre a a program hivatkozik es hogy mi tortenik ilyenkor:


A_OFF kikapcsolja az A kapcsolot
B_OFF kikapcsolja a B kapcsolot
C_OFF kikapcsolja a C kapcsolot
D_OFF kikapcsolja a D kapcsolot

A_ON bekapcsolja az A kapcsolot
B_ON bekapcsolja a B kapcsolot
C_ON bekapcsolja a C kapcsolot
D_ON bekapcsolja a D kapcsolot

W_A_ON varakozas, hogy az A kapcsolo bekapcsolodjon
W_B_ON varakozas, hogy a B kapcsolo bekapcsolodjon
W_C_ON varakozas, hogy a C kapcsolo bekapcsolodjon
W_D_ON varakozas, hogy a D kapcsolo bekapcsolodjon
W_CD_ON varakozas, hogy a C es a D kapcsolo bekapcsolodjon

W_PWM_ON a pwm magas/aktive idejet kivarja

W_A_OFF varakozas, hogy az A kapcsolo kikapcsolodjon
W_B_OFF varakozas, hogy a B kapcsolo kikapcsolodjon
W_C_OFF varakozas, hogy a B kapcsolo kikapcsolodjon
W_D_OFF varakozas, hogy a B kapcsolo kikapcsolodjon
W_CD_OFF varakozas, hogy a C es a D kapcsolo kikapcsolodjon

W_PWM_OFF a pwm alacsony/passzive idejet kivarja



es akkor a program:


inicializalas:

K_MIN=0;
K_KOZ=200;
K_MAX=400;

A_OFF
B_OFF
C_OFF
D_OFF

kar=kar_old=K_KOZ;

state=0;

vissza:
if(state==0)
{ //itt egyik fet sincsen bekapcsolva
if(kar==K_MIN)
{
state=11;
goto kozos;
}
if(kar==K_MAX)
{
state=8;
goto kozos;
}
if(kar==K_KOZ)
{
state=1;
goto kozos;
}
if((kar>K_MIN)&&(kar<K_KOZ))
{ //hatra
t_on= T_ON[K_KOZ-kar];
t_off=T_OFF[K_KOZ-kar];
state=6;
goto kozos;
}
if((kar>K_KOZ)&&(kar<K_MAX))
{ //elore
t_on= T_ON[kar-K_KOZ];
t_off=T_OFF[kar-K_KOZ];
state=4;
goto kozos;
}
goto kozos;
}
if(state==1)
{ //state 0 -> full stop
C_ON
D_ON
W_CD_ON
state=2;
goto kozos;
}
if(state==2)
{ //full stop C-D bekapcsolva
if(kar!=kar_old) state=3;
goto kozos;
}
if(state==3)
{ //full stop -> state 0
C_OFF
D_OFF
W_CD_OFF
state=0;
goto kozos;
}
if(state==4)
{ //normal elore
if(kar!=kar_old) state=5;
A_ON
W_A_ON
D_ON
W_PWM_ON
A_OFF
W_A_OFF
C_ON
W_PWM_OFF
C_OFF
D_OFF
W_CD_OFF
goto kozos;
}
if(state==5)
{ //normal elore -> state 0
state=0;
goto kozos;
}
if(state==6)
{ //normal hatra
if(kar!=kar_old) state=7;
B_ON
W_B_ON
C_ON
W_PWM_ON
B_OFF
W_B_OFF
D_ON
W_PWM_OFF
C_OFF
D_OFF
W_CD_OFF
goto kozos;
}
if(state==7)
{ //normal hatra -> state 0
state=0;
goto kozos;
}
if(state==8)
{ //state 0 -> full elore
D_ON
W_D_ON
A_ON
W_A_ON
state=9;
goto kozos;
}
if(state==9)
{ //full elore A-D bekapcsolva
if(kar!=kar_old) state=10;
goto kozos;
}
if(state==10)
{ //full elore -> state 0
D_OFF
W_D_OFF
A_OFF
W_A_OFF
state=0;
goto kozos;
}
if(state==11)
{ //state 0 -> full hatra
B_ON
W_B_ON
C_ON
W_C_ON
state=12;
goto kozos;
}
if(state==12)
{ //full hatra B-C bekapcsolva
if(kar!=kar_old) state=13;
goto kozos;
}
if(state==13)
{ //full hatra -> state 0
C_OFF
W_C_OFF
B_OFF
W_B_OFF
state=0;
goto kozos;
}
kozos: kar_old=kar;
//itt lehet frissiteni a kar erteket
if(kbhit())
{
c=getch();
if(c==Ƌ') kar=K_MAX;
if(c==Ɗ') if(kar<K_MAX) kar++;
if(c==Ɖ') kar=K_KOZ;
if(c==ƈ') if(kar>K_MIN) kar--;
if(c==Ƈ') kar=K_MIN;
}

goto vissza;




a magyarazat a kovetkezo reszben fog szerepelni, de addig is, akik meg csak most ismerkednek a programozassal
nezzek meg, hogy milyen sok mindent mar siman meg tudnak erteni a programbol!!! (termeszetesen minden egyes
betu/jel el lesz magyarazva, szoval nem kell felni

akiket pedig a konkret pwm vezerles erdekli elsosorban, azok magat a kapcsolok kapcsolgatasat tanulmanyozzak
a kovetkezokben errol is lesz szo reszletesen

minden esetre az mar lathato, hogy egy ilyen masszive vezerlo azert nem olyan tul egyszeru dolog, na ugy ertem,
hogy oda kell figyelni, ha korrekt vagy egy megoldashoz, akkor a megoldas is korrekt lesz hozzad

a kovetkezokben, ha nem huzodik el nagyon az ismertetes, gozerovel elkezdjuk novelni a teljesitmenyt
ez abban fog megnyilvanulni, hogy egyreszrol kidobaljuk a p-feteket, masreszrol a tapfeszultseggel felmegyunk
ameddig csak tudunk


Előzmény: alfcoder, 2009-12-28 22:46:00 [5350]


alfcoder | 182    2009-12-28 22:46:00 [5350]




kerem a gyakorlo/profi programozokat, hogy stilszeru legyek, ugorjanak a *** bekezdeshez


sokat tortem a fejemet azon, hogy a most kovetkezo reszbe erdemes e belemenni, de vegulis ugy dontottem,
hogy mivel olyan egyszeru fogalmak fognak szobakerulni, hogy nem erne meg nem megtenni, arrol mar nem is
beszelve, hogy az itt megismerteket ha masra nem is, de egy alap eligazodashoz mindenki fel fogja tudni hasznalni

ha eddig nem lett volna vilagos, a programozasrol lesz szo, ugy fogjuk megkozeliteni a dolog, hogy sorravesszuk,
hogy milyen reszekbol/fogalmakbol all a programozas:

1.utasitas: ez egy elemi egyseg ami megmondja a cpu -nak (processzor/feldolgozo egyseg), hogy mit kell csinaljon
pl: a+b, egy kutyanak is lehet adni utasitast: gyere ide!

2.memoria: egysegesen felosztott tarolo hely, pl. egy kockas fuzetlap, nyilvan azt jo tudni, hogy mi hol van
a memoriaban, tehat szuksegesek a memoria cimek is, a postas is igy tudja, hogy hova hozza nekunk a leveleket

3.program-memoria: itt van eltarolva maga a programunk, azaz az utasitasok amiket szeretnenk, hogy a cpu
megcsinaljon, pl. ha lekuldenek valakit vasarolni, akkor a bevasarlo cetlit lehet tekinteni program-memorianak
vagy pl. egy hataridonaplot, hogy az elet ne legyen tul bonyolult, az egyes utasitasokat szepen egymas utan
szoktak elhelyezni a program-memoriaban, tehat amikor az egyik dolgot megcsinaltuk, megyunk a masikra

4.munka-memoria: ez semmi tobb mint a programunknak adott munkaterulet, ahol o tetszolegesen tarolhat, torolhet
modosithat, megnezhet dolgokat

5.valtozo: ez egy nevvel ellatott munka-memoria cim es meret, pl. a kutya nevu valtozo ezek utan a fuzet 3 -dik
oldalan belul az 5 -os sor 12db kockaja lesz, szoval ez arra jo csupan, hogy ne kelljen ilyen hulyen beszelni,
hogy itt meg ott meg hol mennyi helyen, hanem csak azt mondom, hogy irjal 3 x-et a kutyaba, vagy na mi van
a kutyaban?

6.aritmetika: a matematikaban szereplo muveletek, tobbnyire alap muveletek, pl. osszeadas, kivonas, osztas, szorzas
gyokvonas, hatvanyozas

7.feltetel: valami vagy igaz vagy hamis, pl. ha azt mondom, hogy a feltetelem az, hogy "alma es korte", ami nyilvan
csak akkor lesz igaz, ha mind az alma es mind a korte valtozo igaz, minden mas esetben a feltetelem hamis
eleg sok feltetel lehetseges, pl. az un. relaciok is feltetelek, tehat, hogy valami egyenlo valamivel, valami
nem egyenlo valamivel, valami kisebb valaminel, nagyobb, nagyobb es egyenlo stb.
nem art megjegyezni, hogy egyes utasitasok vegrehajtasat lehet kotni feltetelekhez, szoval valamelyik utasitas
csak akkor hajtodik vegre, ha egy feltetel igaz

8.kulvilag-kapcsolat: nyilvanvaloan a programunknak szuksege lesz arra, hogy a kulvilagtol kapjon, ill. a annak
kikuldjon dolgokat, ilyenekre gondolok, hogy merevlemez, file, monitor, billentyuzet, printerport

9.programfutas vezerles: ez egy nagyon egyszeru es nagyon fontos dolog, fentiekben mar volt rola szo, hogy
a program utasitasaink szepen sorban helyezkednek el a program-memoriaban, sajnos egy ilyen merev szerkezettel
nem tul hatekonyan tudnank dolgozni, kepzeljunk el egy peldat: minden nap be kell menni dolgozni, szepen sorban
nap, naputan, igen am, de mi van akkor, ha hetvege van, vagy valamilyen unnep, vagy betegek vagyunk???
nos a merev szerkezet, erre nincsen tekintettel! szoval meg kell engednunk, hogy a programfutas flexibilis legyen
mint ahogyan ezt mindjart lathatjuk, es ami a lenyeg, hogy ezek utan mar keszen is vagyunk

10.direkt ugras: ez egyszeru dolog, a cpu egyszercsak rafut egy olyan utasitasra, hogy ugorjunk a 123 -as sorra
es akkor a kovetkezo utasitast mar onnan veszi szepen sorban, ameg nem tortenik megint egy programfutas vezerles
az milyen jo moka mikor pl. a 42-es sorban levo utasitasnak azt adom meg, hogy ugrojon a 42-es sorra
hazi feladat, hogy egy ilyen szituaciobol hogyan tud kikeveredni a cpu, ugy ertem ha egy ilyen megtortent, hogyan
tudunk megis feladatokat elvegezni

11.felteteles ugras: nos itt az, van, hogy csak abban az esetben ugrunk, hogyha valamilyen feltetel igaz, pl.
fut a programunk es kozben egy valtozo csokken, majd e programresz aljan az van, ha a valtozo nem nulla, akkor
ugorjon a programresz elejere, belathato, hogy igy lehet iranyitani, a valtozo segitsegevel, hogy egy
programreszlet hanyszor fusson le, nem akartam de megis irok ide egy peldat:

221: ....
222: csokkenteni a macska valtozot 1-el
223: kiirni a kepernyore a macska valtozo ketszereset
224: ha a macska nem egyenlo nullaval akkor ugrani a 222 -es sorra
225: ....

(azert nem akartam ilyesmiket irni, mert velemenyem szerint egy ilyen huzas melysegesen megserti az olvaso
onerzetet, mert hulyenek van nezve, mert akarmennyire is az elejen legyen a programozasi ismereteknek azt
egybol kitalalja, hogy a cpu-ban nem ilyen szep-fogalmazasos modon mennek a dolgok)

12.fuggveny hivas: ennek is a matematikabol kolcsonvett alapjai vannak, tipikusan van egy elkulonitett
program reszlet aminek van egy cime nyilvan, namost fut a foprogram, majd mikor szuksegunk van az elkulonitett
reszre, akkor annyit mondunk, hogy eltaroljuk azt a cimet ahol vagyunk (jobban mondva a kovetkezot) es elugrunk
az elkulonitett programreszhez, ott lefutnak szepen egymas utan az utasitasok, majd a vegen az van, hogy ugorj
vissza az eltarolt cimre (most mar lathato, hogy miert a kovetkezo cimet kellett eltarolni
ez ilyen egyszeru, szoktak meg valamilyen adatot/parametert adni az elkulonitett programresznek, ill. az
elkulonitett szokott meg vissza adni erteket, pl. a fuggvenyem az, hogy a bejovo valtozo erteket megszorozza
kettovel es ezt adja vissza, akkor ha a foprogrambol meghivom ezt a fuggvenyt egy 10-es parameterrel, akkor
20-al jon vissza mint visszateresi ertek

13.megszakitas: ennek szerencsere csak a neve furcsa, amugy egy remek jo szolgalatot nyujto cuccos
itt arrol van szo, hogy nem nekem kell hivni egy elore meghatarozott fuggvenyt, hanem az automatikusan meghivodik,
ha egy szinten elore beprogramozott feltetel teljesul (igaz lesz), gondoljuk meg mifele kavarodas volna, ha nem
lehetne igy elore beprogramozni a fuggvenyt vagy a vegrehajtodasi feltetelet

milyen feltetelek lehetnek ezek? pl. egy vonal lehuzodik a foldre, megnyomnak egy gombot, eltelt egy adott ido,
minden egyes millisec -nel meghivodik egy fuggveny, a marha program nullaval akart osztani


*** igen, igen, ide ugrottak a profi programozok, na most, ha az un. state-machine is a mindennapi programozas
resze, akkor arra kernem meg oket, hogy megy egyszer, de mostmar utoljara legyenek szivesek ugrani a ****
reszhez, ahol a tenyleges iranyvaltos pwm algoritmus kerul ismertetesre


szoval akkor mi is ez a state-machine, nos ez egy programozasi trukk, amivel idot es energiat takarithatunk meg
magunknak, az algoritmusok igen nagy resze pontosan azert van kitalalva, hogy ne kelljen sokat dolgozni, vagy
tul sok mindenre figyelni, tul sok minden fejben tartani, a masik reszukkel a vegrehajtas hatekonysagat tudjuk
novelni (a harmadik tipusnal szellemi perverzioinkat eljuk ki

a state-machine eseteben kulonallo programreszek vannak, amik kozul mindig csak az egyikben vagyunk, ott futnak
a programsorok, ezekre a kulonallo programreszekre igaz egy allapot (state) azaz azert vagyok az egyikben mert
egy jol definialt allapot van ervenyben, hetkoznapi pelda: "lefekveses allapot" "reggelizo allapot" "tv nezo allapot"
"bevasarlos allapot" "dolgozo allapot" tehat ha a tv nezo allapotban vagyok akkor nyilvan nem vasrolok be, nem
dolgozok, hanem ulok a fotelban es nezem a musort, erre a tevekenysegre pontosan ez jellemzo, a masik fontos dolog,
hogy tudjak mozogni az egyes allapotok kozott, most kepzeljuk el, ha orokre beragadna valaki a bevasarlos allapotba
:) nos pontosan ugy mint a hetkoznapi eletunkben ezekhez az allapot-valtasokhoz (mozgasokhoz) egy nagyon jol
meghatarozott feltetel tartozik: ha mar keso este van es faradt vagyok, akkor a tv nezos allapotbol atmegyek a
lefekveses allapotba, de nyilvan olyat nem lehet csinalni (vagy nem erdemes) hogy a bevasarlos allapotbol atmegyek
csak ugy hirtelen ott a boltban a lefekvesesbe de olyan azert van, hogy a bevasarlosnal ha mar bevasaroltam
vagy tul sokan voltak a boltban es feladtam, akkor atmegyek a hazamenos allapotba, majd ha mar otthon vagyok akkor
ha faradt vagyok akkor atmegyek a lefekvesesbe, vagy a tv nezosbe ha meg nem vagyok faradt

szoval a lenyeg, hogy jol meghatarozott helyek vannak, jol meghatarozott atmenesi feltetelekkel a jol meghatarozott
atlepesi helyekre

maga az implementalasa a state-machine -nak ugy tortenik, hogy van egy valtozonk a state_num, ez mutatja, hogy melyik
allapotban vagyunk es egy fociklusbol allandoan megnezzuk, hogy milyen allapothoz, milyen programreszek szuksegesek,
tulajdonkeppen azt biztositjuk, hogy ha a state_num egyenlo 3-al akkor a 3-as programreszlet fusson le, de a tobbi
ne, termeszetesen az atmenetekre figyelni kell, tehat, ha a 3-asban vagyunk akkor kell figyelni, hogy nem e teljesult
egy atmenesi feltetel ami mondjuk atvisz minket az 5-os programreszbe, valahogy igy:


program itt indul:
.....
.....
state_num legyen egyenlo 2-vel
.....
.....

fociklus:


ha state_num egyenlo 1 -el akkor ezeket csinald:
.....
.....
ha ez akkor state_num legyen egyenlo 2-vel
.....
ha az akkor state_num legyen egyenlo 3-al
.....
ugorj a kozos-sorra


ha state_num egyenlo 2 -vel akkor ezeket csinald:
.....
.....
ha akarmi akkor state_num legyen egyenlo 3-al
.....
ugorj a kozos-sorra


ha state_num egyenlo 3 -al akkor ezeket csinald:
.....
.....
ha ez meg az, akkor state_num legyen egyenlo 1-el
.....
.....
.....
ugorj a kozos-sorra


kozos-sor:
.....
.....
.....
akar tv-t nezek akar alszok, lelegeznem azert kell!!!
.....
.....
ugorj a fociklus-sorra




**** iranyvaltos pwm algoritmus itt kezdodik:


magyarazo abra a konfiguraciorol:








ezekre a a program hivatkozik es hogy mi tortenik ilyenkor:


A_OFF kikapcsolja az A kapcsolot
B_OFF kikapcsolja a B kapcsolot
C_OFF kikapcsolja a C kapcsolot
D_OFF kikapcsolja a D kapcsolot

A_ON bekapcsolja az A kapcsolot
B_ON bekapcsolja a B kapcsolot
C_ON bekapcsolja a C kapcsolot
D_ON bekapcsolja a D kapcsolot

W_A_ON varakozas, hogy az A kapcsolo bekapcsolodjon
W_B_ON varakozas, hogy a B kapcsolo bekapcsolodjon
W_C_ON varakozas, hogy a C kapcsolo bekapcsolodjon
W_D_ON varakozas, hogy a D kapcsolo bekapcsolodjon
W_CD_ON varakozas, hogy a C es a D kapcsolo bekapcsolodjon

W_PWM_ON a pwm magas/aktive idejet kivarja

W_A_OFF varakozas, hogy az A kapcsolo kikapcsolodjon
W_B_OFF varakozas, hogy a B kapcsolo kikapcsolodjon
W_C_OFF varakozas, hogy a B kapcsolo kikapcsolodjon
W_D_OFF varakozas, hogy a B kapcsolo kikapcsolodjon
W_CD_OFF varakozas, hogy a C es a D kapcsolo kikapcsolodjon

W_PWM_OFF a pwm alacsony/passzive idejet kivarja



es akkor a program:


inicializalas:

K_MIN=0;
K_KOZ=200;
K_MAX=400;

A_OFF
B_OFF
C_OFF
D_OFF

kar=kar_old=K_KOZ;

state=0;

vissza:
if(state==0)
{ //itt egyik fet sincsen bekapcsolva
if(kar==K_MIN)
{
state=11;
goto kozos;
}
if(kar==K_MAX)
{
state=8;
goto kozos;
}
if(kar==K_KOZ)
{
state=1;
goto kozos;
}
if((kar>K_MIN)&&(kar<K_KOZ))
{ //hatra
t_on= T_ON[K_KOZ-kar];
t_off=T_OFF[K_KOZ-kar];
state=6;
goto kozos;
}
if((kar>K_KOZ)&&(kar<K_MAX))
{ //elore
t_on= T_ON[kar-K_KOZ];
t_off=T_OFF[kar-K_KOZ];
state=4;
goto kozos;
}
goto kozos;
}
if(state==1)
{ //state 0 -> full stop
C_ON
D_ON
W_CD_ON
state=2;
goto kozos;
}
if(state==2)
{ //full stop C-D bekapcsolva
if(kar!=kar_old) state=3;
goto kozos;
}
if(state==3)
{ //full stop -> state 0
C_OFF
D_OFF
W_CD_OFF
state=0;
goto kozos;
}
if(state==4)
{ //normal elore
if(kar!=kar_old) state=5;
A_ON
W_A_ON
D_ON
W_PWM_ON
A_OFF
W_A_OFF
C_ON
W_PWM_OFF
C_OFF
D_OFF
W_CD_OFF
goto kozos;
}
if(state==5)
{ //normal elore -> state 0
state=0;
goto kozos;
}
if(state==6)
{ //normal hatra
if(kar!=kar_old) state=7;
B_ON
W_B_ON
C_ON
W_PWM_ON
B_OFF
W_B_OFF
D_ON
W_PWM_OFF
C_OFF
D_OFF
W_CD_OFF
goto kozos;
}
if(state==7)
{ //normal hatra -> state 0
state=0;
goto kozos;
}
if(state==8)
{ //state 0 -> full elore
D_ON
W_D_ON
A_ON
W_A_ON
state=9;
goto kozos;
}
if(state==9)
{ //full elore A-D bekapcsolva
if(kar!=kar_old) state=10;
goto kozos;
}
if(state==10)
{ //full elore -> state 0
D_OFF
W_D_OFF
A_OFF
W_A_OFF
state=0;
goto kozos;
}
if(state==11)
{ //state 0 -> full hatra
B_ON
W_B_ON
C_ON
W_C_ON
state=12;
goto kozos;
}
if(state==12)
{ //full hatra B-C bekapcsolva
if(kar!=kar_old) state=13;
goto kozos;
}
if(state==13)
{ //full hatra -> state 0
C_OFF
W_C_OFF
B_OFF
W_B_OFF
state=0;
goto kozos;
}
kozos: kar_old=kar;
//itt lehet frissiteni a kar erteket
if(kbhit())
{
c=getch();
if(c==Ƌ') kar=K_MAX;
if(c==Ɗ') if(kar<K_MAX) kar++;
if(c==Ɖ') kar=K_KOZ;
if(c==ƈ') if(kar>K_MIN) kar--;
if(c==Ƈ') kar=K_MIN;
}

goto vissza;




a magyarazat a kovetkezo reszben fog szerepelni, de addig is, akik meg csak most ismerkednek a programozassal
nezzek meg, hogy milyen sok mindent mar siman meg tudnak erteni a programbol!!! (termeszetesen minden egyes
betu/jel el lesz magyarazva, szoval nem kell felni

akiket pedig a konkret pwm vezerles erdekli elsosorban, azok magat a kapcsolok kapcsolgatasat tanulmanyozzak
a kovetkezokben errol is lesz szo reszletesen

minden esetre az mar lathato, hogy egy ilyen masszive vezerlo azert nem olyan tul egyszeru dolog, na ugy ertem,
hogy oda kell figyelni, ha korrekt vagy egy megoldashoz, akkor a megoldas is korrekt lesz hozzad

a kovetkezokben, ha nem huzodik el nagyon az ismertetes, gozerovel elkezdjuk novelni a teljesitmenyt
ez abban fog megnyilvanulni, hogy egyreszrol kidobaljuk a p-feteket, masreszrol a tapfeszultseggel felmegyunk
ameddig csak tudunk



LZ | 1538    2009-12-28 22:35:00 [5349]

Nagyrészt az optó szed össze valami szart. Tápot is kell neki adni valószínű onnan. (TLP113)
De anélkül direktben hajtva is voltak gondok ha jól emlékszem, már annyi mindent végigzongoráztam. De ez a kondi meg digit szűrés lett a megoldás. Nálam az is nagy probléma, hogy egy panelon van minden, betáppont ugyanaz. Egyedül az optó bemenet megy külön az lpt-re. Nehéz tökéletesen szűrni a motorzavarokat, de egész jól lehet csökkenteni őket.

Előzmény: keri, 2009-12-28 21:58:00 [5348]


keri | 14033    2009-12-28 21:58:00 [5348]

Ha üresen lóg a levegőben akkor nekem is mozog össze vissza, de ha rajta van a számítógép az stabilan tartja. Mondjuk ha a printerkábelt a motor vezetékeivel keverem akkor néha bejönnek fals lépések, de ez üzem szerűen nem fordul elő.

Nekem felfutó élre azonnal megszakít, viszont a PIC egyetlen megszakítás vonallal rendelkezik ezért muszáj ellenőrizni hogy melyik esemény okozta a megszakítást ez időbe telik. Ha a tranziensnek vége mire ellenőrzöm a step jelet, akkor nem történik semmi csak visszatér. Szerintem ez önmagában is elég jó zavarszűrés.

De mint mondtam nem érzékeny a PIC. Csináltam egy számlálót ami a radarunk encoderének az impulzusait számolja megszakítással fordulatonként, mert az volt a gyanúja az egyik kollégának hogy téveszt az enkóder. 2 hétig atom stabilan 4096-on állt a számláló (raktam bele szélsőérték memóriát) pedig ott direkt kiiktattam mindent ami a tranzienseket elnyomhatja.

Előzmény: LZ, 2009-12-28 21:31:00 [5347]


LZ | 1538    2009-12-28 21:31:00 [5347]

Igen dettó u.a mint nálam.
Nekem van még a bemeneten egy 10mbites optó is. Nem volt felesleges megszakításod? Mert nálam
a megszakítás vonalra olyan zavaró jelek ültek rá, hogy össze vissza lépkedett még magában is nemhogy amikor küdtem neki a lépésjeleket. Küldtem neki 100 lépést majd lépett 2xx. Aztán úgy sikerült kompenzálnom, hogy került az optó kimenetére egy 4.7n kondi, a megszakításban pedig kénytelen vagyok várni 5us és utána törölni a megszakítás flaget. Így elfogadhatóan működik, többször is leszámoltam a lépéseket amiket kapott és kiirattam magamnak. Eddig jó, de valahogy félek tőle, nehogymá meló közben találja ki hogy többet vagy kevesebbet lép.

Előzmény: keri, 2009-12-28 21:25:00 [5345]

keri | 14033    2009-12-28 21:26:00 [5346]

régebben olyan pic volt benne amin nem volt megszakítás, ott pedig egy ciklusban figyeltem a bemeneteket és kapcsolgattam a kimeneteket.

Előzmény: LZ, 2009-12-28 21:17:00 [5343]


keri | 14033    2009-12-28 21:25:00 [5345]

Igen, a step jelre megszakít, és a dir alapján hozzáad vagy levon egyet a pozíció változóból, ami megcímez egy programsort, ami a megfelelő kimeneteket kapcsolja.
Elég egyszerű.
Aztán ha egy adott ideig nincs léptetés, akkor elkezdi ki be kapcsolni 20% PWM-el a kimenetet, hogy ne melegedjen álló helyzetben a motor.

Előzmény: LZ, 2009-12-28 21:17:00 [5343]


LZ | 1538    2009-12-28 21:17:00 [5344]

Helyesen megszakításban.

Előzmény: LZ, 2009-12-28 21:17:00 [5343]


LZ | 1538    2009-12-28 21:17:00 [5343]

Had kérdjem már meg, hogyan vezérled programból a lépést. A step jel egy megszakítás lábon van és ha felfutó él jön lépsz egyet megszakításból?

Előzmény: keri, 2009-12-28 21:15:00 [5341]


keri | 14033    2009-12-28 21:17:00 [5342]

A másik panel amiről az egész megy az csak a tápegység.


  Fórum főoldal  |  A lap tetejére

Időrend:
Oldal 386 / 492 Ugrás ide:
Sorok:
|◄ Első  ◄ Előző   382  383  384  385  386  387  388  389  390   Következő ►  Utolsó ►|


 ◊