 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14668 Aktiv.: 61.98 Kraj: Koroška-okolica Dravograda
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14668 Aktiv.: 61.98 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Apr 26, 2009 7:20 pm Naslov sporočila: |
|
|
Branez je napisal/a: |
Pa dela? V tisti temi vidim samo cifre.  |
Seveda dela. Film je bolj temen- malo ga osvetli. Na desni strani displeja ga vrtim.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
borber Član


Pridružen-a: Pon 23 Maj 2005 8:40 Prispevkov: 3111 Aktiv.: 13.15 Kraj: LJUBLJANA
|
Objavljeno: Ned Apr 26, 2009 8:01 pm Naslov sporočila: |
|
|
Silvo, če si pri volji mi nariši algoritem branja enkoderja.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14668 Aktiv.: 61.98 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Apr 26, 2009 8:49 pm Naslov sporočila: |
|
|
borber je napisal/a: |
Silvo, če si pri volji mi nariši algoritem branja enkoderja. |
Informacijo o smeri prebereš v štirjih korakih.
Tole je assemblerska koda. (AVR) V danem primeru preverjam vsak vhod zase. (tole je bilo na hitro napisano, da sem stvar stestiral) , sicer bi bilo še bolj enostavno preverjati oba vhoda istočasno, ter čakati na spremembo. (seveda pa način branja zavisi čisto od same aplikacije)
Koda: |
.equ TGor=3
.equ TDol=4
#define SLevo PINB,TGor
#define SDesno PINB,TDol
;---------------------------------------------
;branje rotacijskega enkodra
;---------------------------------------------
Enkoder:
sbic SLevo
rjmp LSmer
sbic SDesno
rjmp DSmer
rjmp Enkoder
LSmer:
sbis SLevo
rjmp Enkoder
sbis SDesno
rjmp LSmer
LSmer3:
sbis SDesno
rjmp Enkoder
sbic SLevo
rjmp LSmer3
LSmer2:
sbic SLevo
rjmp LSmer
sbic SDesno
rjmp LSmer2
;če pride do sem je cel korak
rcall StejGor
rcall Osvezi
rjmp Enkoder
DSmer:
sbis SDesno
rjmp Enkoder
sbis SLevo
rjmp DSmer
DSmer3:
sbis SLevo
rjmp Enkoder
sbic SDesno
rjmp DSmer3
DSmer2:
sbic SDesno
rjmp DSmer
sbic SLevo
rjmp DSmer2
;če pride do sem je cel korak
rcall StejDol
rcall Osvezi
rjmp Enkoder |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
borber Član


Pridružen-a: Pon 23 Maj 2005 8:40 Prispevkov: 3111 Aktiv.: 13.15 Kraj: LJUBLJANA
|
Objavljeno: Ned Apr 26, 2009 9:18 pm Naslov sporočila: |
|
|
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem.
|
|
Nazaj na vrh |
|
 |
program_er Član


Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 10.34 Kraj: Maribor (Pohorje)
|
Objavljeno: Ned Apr 26, 2009 9:23 pm Naslov sporočila: |
|
|
Silvo, hvala, to bo tudi meni prav pršlo.
Doma imam 3 enkonderje iz laserskih mišk, od "koleščka". Vedno sem mislil, da enkonderji delujejo tako, da ko ga sučeš v eno smer, se za vsak korak pojavi signal na eni nogici, ko pa ga sučeš v drugo smer, pa na drugi. Ampak potem sem šel enkrat to sprobavat in sem videl, da temu ni tako, zato sem jih dal na stran. Zdaj pa jih lahko spet uporabim
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14668 Aktiv.: 61.98 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Apr 26, 2009 9:36 pm Naslov sporočila: |
|
|
borber je napisal/a: |
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem. |
V danem primeru berem vsak vhod mikrokontrolerja posebej ter ugotavljam kaj se z njimi dogaja. Najenostavneje pa je preverjanje obeh sočasno. Predpostavlja se, da so vhodi na najnižjih dveh pinih porta.
Prebereš stanje ter ugotoviš kje se enkoder nahaja. ( za orentacijo vzemiva gornjo tabelo)
-Reciva, da je stanje "3" oba logična vhoda sta visoka.
-čakaš na spremembo
-ob spremebi ugotoviš stanje
-A=1 B=0 (1) smer naprej
-A=0 B=1 (2) smer nazaj
-čakaš spremembo
-ugotavljaš gibanje glede na zadnje stanje
-če je bilo 1
potem sledi 0 za naprej 3 za nazaj
- če je bilo 2 sledi 0 za nazaj 3 za naprej
in tako naprej...
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.60
|
Objavljeno: Ned Apr 26, 2009 9:39 pm Naslov sporočila: |
|
|
borber je napisal/a: |
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem. |
Spremljas v bistvu en signal in to po moznosti tako, da ujames obe flanki (npr. z "interrupt on I/O port change"), potem pa glede na stanje drugega signala ugotovis smer vrtenja:
1: Ce je stanje drugega vhoda enako stanju prvega, potem se je enkoder zavrtel v eno smer.
2: Ce je stanje drugega vhoda drugacno kakor stanje prvega, potem se je enkoder zavrtel v drugo smer.
Lahko lovis samo eno flanko, ampak moras potem narediti 2x toliko poti za isto stevilo korakov. Princip je isti.
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14668 Aktiv.: 61.98 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Apr 26, 2009 9:41 pm Naslov sporočila: |
|
|
program_er je napisal/a: |
Silvo, hvala, to bo tudi meni prav pršlo.
Doma imam 3 enkonderje iz laserskih mišk, od "koleščka". Vedno sem mislil, da enkonderji delujejo tako, da ko ga sučeš v eno smer, se za vsak korak pojavi signal na eni nogici, ko pa ga sučeš v drugo smer, pa na drugi. Ampak potem sem šel enkrat to sprobavat in sem videl, da temu ni tako, zato sem jih dal na stran. Zdaj pa jih lahko spet uporabim  |
Verjetno obstaja več variant senzorjev v miškah. Sam sem pred leti naredil en merilec, ki se je služil za meritev folije. Uporabil sem senzor ter delilni kolešček miške s kroglico. Senzor je že imel vgrajeno logiko za ugotavljanje smeri. Impulzi so prihajali vedno le po eni nogici - glede na smer vrtenja.
Temo sem razdelil v novo z ustreznim naslovom.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.52 Kraj: Krško
|
Objavljeno: Ned Apr 26, 2009 10:25 pm Naslov sporočila: |
|
|
Silvo,kako kaže kaj tisti tvoj projekt za navijanje tuljavc?
_________________ Denis |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14668 Aktiv.: 61.98 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Apr 26, 2009 10:37 pm Naslov sporočila: |
|
|
dkone je napisal/a: |
Silvo,kako kaže kaj tisti tvoj projekt za navijanje tuljavc? |
Števec je končan. Upam, da ga bom uspel spraviti do na papir, do naslednje števije.
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
red_mamba Član


Pridružen-a: Ned 20 Feb 2005 17:56 Prispevkov: 1486 Aktiv.: 6.28 Kraj: Yogyakarta
|
Objavljeno: Pon Apr 27, 2009 1:36 pm Naslov sporočila: |
|
|
Sokrat je napisal/a: |
borber je napisal/a: |
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem. |
Spremljas v bistvu en signal in to po moznosti tako, da ujames obe flanki (npr. z "interrupt on I/O port change"), potem pa glede na stanje drugega signala ugotovis smer vrtenja:
1: Ce je stanje drugega vhoda enako stanju prvega, potem se je enkoder zavrtel v eno smer.
2: Ce je stanje drugega vhoda drugacno kakor stanje prvega, potem se je enkoder zavrtel v drugo smer.
Lahko lovis samo eno flanko, ampak moras potem narediti 2x toliko poti za isto stevilo korakov. Princip je isti. |
V bistvu se en signal veče na INTerupt (ni važno ali je padajoči ali naraščujoči), ko se zgodi interupt ti drugi signal iz enkoderja pove ali se je zavrtel korak levo ali desno. Torej če se vrti vedno v eno smer dobiš ob vsakem interuptu isto vrednost na sosednji liniji, in tako števec avtomatsko povečuješ, zmanjšuješ. NE rabiš nobene logike zadaj v kodi.
_________________ Bad things happen to good people all the time for no reason!
Blog |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.60
|
Objavljeno: Pon Apr 27, 2009 2:15 pm Naslov sporočila: |
|
|
red_mamba je napisal/a: |
Sokrat je napisal/a: |
borber je napisal/a: |
Silvo hvala za trud.
Želel sem diagram poteka, algoritem branja in na koncu spreminjanje neke spremenljivke. (torej bereš dva porta MCU...)
Delovanje enkoderja poznam, ne obvladam pa AVR ASM, da bi razvozlal algoritem. |
Spremljas v bistvu en signal in to po moznosti tako, da ujames obe flanki (npr. z "interrupt on I/O port change"), potem pa glede na stanje drugega signala ugotovis smer vrtenja:
1: Ce je stanje drugega vhoda enako stanju prvega, potem se je enkoder zavrtel v eno smer.
2: Ce je stanje drugega vhoda drugacno kakor stanje prvega, potem se je enkoder zavrtel v drugo smer.
Lahko lovis samo eno flanko, ampak moras potem narediti 2x toliko poti za isto stevilo korakov. Princip je isti. |
ubistvu se en signal veče na INTerupt (ni važno ali je padajoči ali naraščujoči), ko se zgodi interupt ti drugi signal iz enkoderja pove ali se je zavrtel korak levo ali desno. Torej če se vrti vedno v eno smer dobiš ob vsakem interuptu isto vrednost na sosednji liniji, in tako števec avtomatsko povečuješ, zmanjšuješ. NE rabiš nobene logike zadaj v kodi. |
Kaj sem pa jaz napisal ?
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.75 Kraj: Kranj - struževo
|
Objavljeno: Pon Apr 27, 2009 5:57 pm Naslov sporočila: |
|
|
Če pa se obe liniji hkrati spremenita, pa prižgeš rdečo ledico (z napisom Napaka).
_________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
dkone Član

Pridružen-a: Sre 07 Mar 2007 18:53 Prispevkov: 2116 Aktiv.: 9.52 Kraj: Krško
|
Objavljeno: Ned Jul 19, 2009 11:15 am Naslov sporočila: |
|
|
Čemu služi TTL 74hc14 spodaj na shemi? Imam tale IR dajalnik za enkoder ,pa me zanima ali tudi uporabim 74hc14?Oz. kakšno vlogo igra?
Opis: |
|
Velikost datoteke: |
21.85 KB |
Pogledana: |
39 krat |

|
_________________ Denis |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 486 dni
Powered by phpBB © 2001, 2005 phpBB Group
|