$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 32
$swstack = 8
$framesize = 24
Config Portc.5 = Output
Config Pind.0 = Input
Led1 Alias Portc.5
Ulaz Alias Pind.0
Reset Ulaz
Config Portb.1 = Output
Tccr1a = &B10000000
Tccr1b = &B00001001
Ocr1a = 104
Dim Impuls As Byte
Impuls = 0
Const On = 12
Const Off = 232
Config Timer0 = Timer , Prescale = 1024
Load Timer0 , Off
On Ovf0 Timer0_isr
Enable Ovf0
Start Timer0
Enable Interrupts
Do
If Ulaz = 1 Then
Led1 = 0
End If
If Ulaz = 0 Then
Led1 = 1
End If
Loop
Timer0_isr:
Toggle Impuls
If Impuls = 0 Then
Tccr1a = &B10000000
Load Timer0 , Off
Else
Tccr1a = &B01000000
Load Timer0 , On
End If
Return
End
spojio sam po ovoj shemi i samo mi LED na izlazu stoji upaljena..kad uklonim IR led sa izlaza ugasi se i LED na izlazu... ali kako god da ju okrenem (u suprotnom smjeru od detektora) LED na izlazu i dalje stoji upaljena... :S
To je normalno zbog velike osetljivosti prijemnika.
Mozes probati staviti puno manji redni otpornik na led, pa ce slabije sijati, i samim tim manji domet imati...
Jesi li to promjenio kristal na 10 MHz? Neće ti bit dobar timing, moraš mijenjat vrijednosti u programu. S timerom0 više ne možeš dobit 32Hz, već min. 38,2Hz, A OCR1A ti treba bit 133 za 37,88 Khz
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
pedja089 wrote:To je normalno zbog velike osetljivosti prijemnika.
Mozes probati staviti puno manji redni otpornik na led, pa ce slabije sijati, i samim tim manji domet imati...
trenutno su udaljeni nekih 1cm jedno od drugoga.. čak i kad stavim zapreku između IR led i prijemnika ništa se ne događa...samo led na izlazu svijetli... kad ir led izvadim led na izlazu se ugasi..
Kukinjos wrote:Jesi li to promjenio kristal na 10 MHz? Neće ti bit dobar timing, moraš mijenjat vrijednosti u programu. S timerom0 više ne možeš dobit 32Hz, već min. 38,2Hz, A OCR1A ti treba bit 133 za 37,88 Khz
nisam ni ja primjetio dosad...evo vratio sam na 8MHz...
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack=40
$swstack=16
$framesize=32
Config Portc.5 = Output
Config Pind.0 = Input
Led1 Alias Portc.5
Ulaz Alias Pind.0
Reset Ulaz
Config Portb.1 = Output
Tccr1a = &B10000000
Tccr1b = &B00001001
Ocr1a = 104
Dim Impuls As Byte
Impuls = 0
Const On = 12
Const Off = 232
Config Timer0 = Timer , Prescale = 1024
Load Timer0 , Off
On Ovf0 Timer0_isr
Enable Ovf0
Start Timer0
Enable Interrupts
Do
Led1 = Not Ulaz
Loop
Timer0_isr:
Toggle Impuls
If Impuls = 0 Then
Tccr1a = &B10000000
Load Timer0 , Off
Else
Tccr1a = &B01000000
Load Timer0 , On
End If
Return
End
sve mi je isto kao što sam rekao već... :S i sad sam probavao nešto... čak i kad samo dotaknem žicu koja je spojena na OC1A upali se ledica na izlazu :S
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
Config Portb.1 = Output
Config Portc.5 = Output
Config Pind.0 = Input
Led1 Alias Portc.5
Ulaz Alias Pind.0
Tccr1a = &B10000000
Tccr1b = &B00001001
Ocr1a = 104
Dim Impuls As Byte
Impuls = 0
Const On = 12
Const Off = 232
config timer0=timer,prescale = 1024
Load Timer0 , Off
on ovf0 Timer0_isr
enable ovf0
start timer0
enable interrupts
Do
Led1 = Not Ulaz
Loop
Timer0_isr:
Toggle Impuls
If Impuls = 0 Then
Tccr1a = &B10000000
Load Timer0 , Off
Else
Tccr1a = &B01000000
Load Timer0 , On
End If
return
I još nešto, napravio sam sklop i radi dobro, pokrijem nečim crnim prostor između IR-LED i TSOP-a i led se upali. Gledao na osciloskop, i sve je u redu. Nacrtaj točnu shemu kako je sve spojeno.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
Evo opet odgovaram sam sebi , dobro si vratio na 8MHz, ko zna što sam ja gledao Ovaj kod što sam ti zadnjeg poslao je isto ok, samo malo razmješten, ma isto u biti. Evo radi već par sati, ne smeta mu ništa osim daljinskog od TV-a, razmak IR-LED-a je negdje 1cm i onda mi ne reagira na prst, ali na karton uredno radi, kad okrenem IR-LED u plafon, osjetljivost padne i onda reagira na svašta, pa i na prst. Doduše nemam baš taj TSOP, već neki izvađen iz satelitskog prijemnika, ali mislim kako tu ne bi trebala bit velika razlika.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
Nemam u multisimu ni Mege ni TSOP-a, a u paintu nije baš opcija crtati..napišem ti sve, stavim fotku kasnije ako hoćeš... ATmega: na pin 7 i 20 spojeno +5V, na pin 8 i 22 spojeno 0V. na pin 28 spojen otpornik 330Ohm i na njega anoda LEDice, katoda na 0V. Na pin 2 je spojen izlaz sa TSOP, prema onoj shemi koju si ti stavio (jedina razlika je kondenzatoru u filteru, stavio sam elektrolit od 10uF i umjesto 4,7kOhm sam stavio 5kOhm..). Na pin 2 je spojen i pull down otpornik (1kOhm). na pin 15 je spojen otpornik 330Ohm, a on dalje na anodu IR LED, katoda spojena na 0V.
I da, malo sam razmjestio i više ne reagira kad samo prstom diram žicu. Ali reagira (detektira signal) ako žicu sa pina 15 približim detektoru na nekih 1cm, možda malo manje.. ako je IR led spojena nebitno kud je okrenuta LED na izlazu samo svijetli, kao i prije...
I još nešto, ovaj moj nazovi TSOP ima malo limeno kućište koje je spojeno na srednji pin , tj. na masu. Pokušaj omotat svoj TSOP aluminijskom folijom i ostavit samo rupicu za prijemnu diodu i foliju spoji na masu. To bi trebalo spriječit induciranje smetnji u njemu. Vidim nemaš kristal, jel to koristiš interni oscilator i na koliko ti je podešen?
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....
nije zbog pull down-a, probao sam već...
probam kasnije ovo sa folijom, a nabavio sam i novi TSOP pa moram i s njim probati...
Da, interni je...na 8MHz..
Stavio sam negdje ranije već fuse bits kako su podešeni..
Nešto ti ipak ne štima, provjeri dobro mase, ja sam stavio čisto da sebi ne ispadnem glup onaj otpor od 1K za pull down, ma nema šanse da radi, odmah sruši napon ispod 1V. Da vidio sam upravo fuse bitove, ok.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....