Interrupt?

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Meschu
Tranzisztorgyógyász
Hozzászólások: 163
Csatlakozott: 2009. december 3. csütörtök, 7:00

Interrupt?

Hozzászólás Szerző: Meschu »

Szervusztok

A segitségetekre van szükségem, már pár napja filózok mi lenne az ideállis megoldás de nem jutok zöldágra sehogyse..
Hogy oldom meg a feledatot a legegyszerűbben ill. egyáltalán.

Adott egy inkrementaladó mely egy bemeneti Pint a GND re tud húzni de a progi initáskor még nem tudni, hogy is áll jelenleg.
Ez még most nem lenne zavaró ettől még lehetne indulni.
A gond akkor van amikor vált és nem tudjuk honnan hova. A többi dolgokhoz pedig épp erre lenne szükség.

Most vagy még a progi inulás elött meg kéne állapitani a helyzetét mert ezután már minden váltásánál tudni honnan hova váltot. Vagy muszály mindkét ( Mega8 ) interruptot használni egyiket felfelé a másikat meg le?
Vagy nincs valami olyasmi amit nem érdekel mi volt hanem csak az hogy bármi volt is az most változott.
A részletekkel nem akarlak titeket terhelni remélem a problémám igy is érthető. Ha itt tévedek kérdezzetek rá.
Majd elfelejtettem gyorsnak kell lennie az meg nagyon interrupt szagú de mindkettőt nem szivessen áldoznám mert még lehet hogy másra is kéne egy.

Üdv

Meschu.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Avatar
Meschu
Tranzisztorgyógyász
Hozzászólások: 163
Csatlakozott: 2009. december 3. csütörtök, 7:00

Hozzászólás Szerző: Meschu »

Köszi nagyon Robert.

Hmm. Van mit tanulgatnom.

Üdv.

Meschu.
Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

Hozzászólás Szerző: kovacsna »

Kód: Egész kijelölése

$regfile = "m168def.dat"
$crystal = 16000000
$baud = 19200
$hwstack = 100
$swstack = 80
$framesize = 80

'Encoder bemenetek================
Chb Alias Pind.2
Cha Alias Pind.4

Config Cha = Input

Pind.4 = 1
'=================================

Config Int0 = Falling
On Int0 Getencoder


Enable Interrupts
Enable Int0


Dim Encounter As Integer

Indulási Értékek===================

Encounter = 0


Getencoder:

If Cha = 0 Then Decr Encounter Else Incr Encounter

Return


Így hirtelen ennyi:)

Ez egy működő programomból származik.
Egy omron 3600 imp/ford encodert használtam!

Üdv

KN
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Partszélről: Prellegés nem zavar be?
Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

Hozzászólás Szerző: kovacsna »

80e Ft-os ipari encodernél?:) Csúnya lenne, ha prellegne.

Amúgy a kérdésed jogos, a viccet félretéve.
Az áramkörben amúgy opton keresztül volt a kontrollerre kötve!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Ennyi pénzért ebédet is főzhetne.... :)
Nálam csak sima mechanikus van, az prelleg (24 lépés/fordulat). Innen merült fel.
Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

Hozzászólás Szerző: kovacsna »

Na igen!:)
Az fog is... Ez is prelleg jó eséllyel,, de a benne lévő elektronika ezt már megoldja.
Itt már csak 24V jön ki a csatornákon.
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

Másik partszélről:
Ez a rutin (ha jól látom)tényleg nem jó a prell ellen. Hiába 80e Ft, téveszteni fog. Olyan helyre persze jó, ahol mondjuk üzemmódváltáskor a belső számláló mindig nullázva van, de ott, ahol egyszer bekapcsolták a cuccot, kinullázódik és 2 hónapig megy ide-oda, ott már lesznek gondok. (vagy mindig alaphelyzet nullázás szükséges)
JAni
Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

Hozzászólás Szerző: kovacsna »

A folyóból:)

Valóban nem oldja meg a prell mentesítést! Nem is kellett!
Még sosem tévesztett!:) Hónapokig ment, bekapcsolva! Az elején volt csak nullázva! Ráadásul térfogatszámításhoz volt használva!

Természetesen az integerből sosem léphetett ki, mert mechanikailag sem volt lehetséges!

Ez "csak" az impulzusokat adta ki a két csatornán, eltolva. A csatornák optocsatolókat hajtottak, ami, meg a kontrollert!

Ilyesmi volt csak 24V-os.

http://www.ia.omron.com/data_pdf/data_s ... csm497.pdf
Avatar
winnerbt
Elektronbűvölő
Hozzászólások: 907
Csatlakozott: 2007. március 25. vasárnap, 6:00

Hozzászólás Szerző: winnerbt »

Akkor szerencséd volt. Igazából én nem mechanikai prell-re gondoltam ám (érintkezési hiba), hanem arra, amikor a vizsgált él ide-oda mozog, mert rezeg a gép, rávernek kalapáccsal, esetleg szélsőségesen nagy gyorsulás van (ejtősúlyos keménységmérő).
Na, olyankor ugyebár egyirányba elkezd számolni, de nagyon.
JAni
Avatar
kovacsna
Pákabűvész
Hozzászólások: 208
Csatlakozott: 2008. június 3. kedd, 6:00

Hozzászólás Szerző: kovacsna »

Megfelelő választás kérdése szerintem, nem szerencse kérdése. :)

Vibration resistance Destruction: 10 to 55 Hz, 1.5-mm double amplitude for 2 hours each in X, Y, and Z directions

Shock resistance Destruction: 500 m/s2 3 times each in X, Y, and Z directions

Azt hiszem az adatok magukért beszélnek!

Egyetértek az általad mondottakkal, de azokra is meg van a megfelelő, jeladó.
Avatar
Meschu
Tranzisztorgyógyász
Hozzászólások: 163
Csatlakozott: 2009. december 3. csütörtök, 7:00

Hozzászólás Szerző: Meschu »

végre haza jutottam és örömmel látom ki mindenki filozik.

Robert, én ugyan rögtön elolvastam a klassz irodalmat de be kell vallanom az egy interruptos megoldást nem kapisgállom sehogyse illetve nem ismerem fel:-)
Holnap talán lessz elegendő időm rendessen belemerülni.
Ez nekem olyan kb. mint fogorvoshoz menni:-)

Nállam nem lenne problema a prellel meg az esetleges jelvesztéssel.
ahhoz túl rövid ideig és aránylag nyugott környezetben mükszene 5 max6 sec. az adó meg nem mehanikus PEPPERL+FUCHS és optokopleren keresztül megy az Mc re.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az INT röviden:
Bárhol kóvályog a programod, beesik egy interrupt (enkoder lep 1-t), akkor programfutás elugrik az INT rutinra, itt megnézed, hogy balra/jobbra tekerted. Majd az interrupt rutinból kilépsz és a főprogramod fut tovább....
Avatar
Meschu
Tranzisztorgyógyász
Hozzászólások: 163
Csatlakozott: 2009. december 3. csütörtök, 7:00

Hozzászólás Szerző: Meschu »

Ok. értve, holnap kiproszállom.
Válasz küldése