PBP Osilatör yapımı?

Başlatan garfie, 04 Aralık 2003, 10:26:20

garfie

:shock: Merhaba,

Infrared vericide kullanmak için 38-40khz

osilatöre ihtiyacım var.
4mhz 16F84 ile (ve basic ile) bunu yapabilirmiyim?.
Freqout 6 khz'den yukarı

çıkmıyor.

Sevgiler...

Murat[/url]

DumrulBey

Merhaba,

Öncelikle aramıza yeni katılan arkadaşımıza ufak bir mesaj:
Hoş geldin

"garfie" ;)

Aşağıdaki şemada görüldüğü gibi 555 ile bu işi yapabiliyorsun. Denemedim ama bir dene istersen. Çalışır gibi gözüküyor. Zaten 555

kullanılan devreler çok komplike

değildir!


Kaynak:[/color:5f2f40a

fca]http://www.reconnsworld.com/ir_ultrasonic_555timer40khzir.html

Kolay gelsin...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

z

Kendimi her şeye maydonoz oluyor gibi hissetsem de, problem görünce dayanamıyorum.

Ledleri paralel bağlama

fikri hoş değil. Seri bağlayıp seri direnç değerini düşürmek
daha doğru olacaktır.

Sebebine gelince,ledler  aynı marka hatta peşpese  seri üretimden çıkmış olsalar dahi iki yarıiletken

yeterince eşlenik olmayabilir. Dolayısı ile iletim voltajları farklı olur bu durumda paralel bağlı diyod led vs den iletiim voltajı düşük olan diğerinin iletime geçmesine engel olur yada tam iletimde

olmasını engeller.

Bu nedenle ledleri yada diyodları paralel bağlamak gerekiyorsa ya her lede (diyoda)seri direnç bağlanmalı daha sonra paralellenmeli yada her led yada diyod kendine bağlı

akım sınırlayıcı dirence sahip olmalıdır.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

aster

Alıntı YapKendimi her şeye maydonoz oluyor gibi hissetsem de, problem görünce dayanamıyorum.


doğru bilgiyi verdikten sonra niye kendini böyle hissedesinki
tv 2 ir led li uk larda da ir lar seri dirençlidir
ya ledler seri olacak yada led+direnç paralel

led+direnç olmalı
bunun biri normal led olursa onuda indicator gibi kullanırsın yani monitor

DumrulBey

Alıntı yapılan: "bunalmis"Kendimi her şeye maydonoz oluyor gibi hissetsem de,

problem görünce dayanamıyorum.
Dostum bildiğinden vaz geçme. Sonuna kadar katılıyorum ve seni kutluyorum. Yanlış şeylerden kurtulmamız lazım. Bu arada

seni biraz tanıyabilir miyiz?

Sevgiler, saygılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

garfie

Merhaba,
Ledler konusundaki hatayı ben de yapmıştım. Uyarı için teşekkürler.
PicBasicPro kullanıyorum,

zamanında 250$ verip almıştım, 2.44 güncellemesi
için 20$ daha vermeye hazırlanıyordum ki burayı keşfettim.

Osilatör için 555 çözüm olabilir ama ben bunu PIC ile (ve pbp ile)

yapmak istiyorum.
Amacım, Farklı TV kumanda kodlarını tek PIC üzerinden göndermek. Osilatör frekansları farklı olduğu için belli aralıklarda ayarlayabileceğim bir OSC istiyorum.
4

mhz pic bu işi yapabilir mi?

Sevgiler...

Murat

fsan

Alıntı YapPicBasic Pro Code:

' Setting up hardware PWM for 38KHz

operation.

http://www.rentron.com/Infrared_Communication.htm

belki asm dan anlayan arkadaslar bunu 16f84 icin cevirmene yardimci

olabilirler  
#include "p12c508.inc"
   __CONFIG  _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC
   #DEFINE PORT 

B'11111101'
	MOVF OSCCAL
	MOVLW PORT
	TRIS GPIO
		
   BEGIN
	BCF GPIO, 1     ;1uS
	NOP	        ;2uS each nop is 1uS 

long
	NOP		;3uS
	NOP		;4uS
	NOP		;5uS
	NOP		;6uS
	NOP		;7uS
	NOP		;8uS
	NOP		;9uS
	NOP		;10uS
	N

OP		;11uS
	NOP		;12uS
	NOP		;13uS
	NOP		;14uS
	NOP		;15uS
	NOP		;16uS
	NOP		;17uS
	NOP		;18uS
	NOP

t        ;19uS low on gpio.0
	BSF GPIO, 1 	;1uS Begin HIGH duty cycle
	NOP		;2uS
	NOP		;3uS
	NOP		;4uS
	NOP		;5uS
	GOTO BEGIN     

 ;2uS (26uS total for 38KHz)
	END

z

Fsan'ın önerdiği yöntemin benzerini TIMER INT lada yapabilirsin.
Timer, peryodik

olarak interrupt çakar, sende int programı içinde ledi yakıp söndürürsün. Bir diğer çözümde seri portu uygun bauda ayarlayıp TXD pinini ledi on of etmede kullanabilirsin.

DumrulBey,

bende sizler gibi elektonik ve mekanik'e gönül vermişlerdenim.
http://www.geocities.com/pidpwm/kisacaben.html adresinde bir şeyler yazmıştım.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

PBP yu yakından hiç görmedim ama nasıl bir şey olduğunu tahmin ediyorum.

Aslında arkadaşlarımız, PIC'e

basic gibi bir dille program yazmakla hata yapıyorlar.

Neden diye sorarsanız. PBP, ömründe hiç PIC kulanmamış bir kişinin programlama öğrenmesi, bir işlemci ile basit devreler yapması

için tasarlanmış fevkalade öğretici
insanın içindeki tasarım isteğine pratikte destek olan bir yazılım. (Tahminimce)

Ancak PIC gibi görece olarak zaten yavas ve veri saklama alanları kıt

bir işlemcinin
BASIC hatta C gibi bir dille etkili kullanılması mümkün değil.  

Çok basit bir işlem için dahi gerekli gereksiz pek çok komut kullanması (asm komut) zaten yavaş olan

işlem hızının iyice düşmesine neden olmaktadır. Dolayısı ile hız gerektiren uygulamalarda BASIC ile çözüm daha hızlı ve/veya daha kapasiteli bir PIC satın almaktan geçecektir.

Buda daha

çok para demektir.

Gerçi BASIC ile programı çok hızlı yazıyoruz dolayısı ile tasarım zamanından kazanıyoruz diyebilirsiniz. Bu doğru ancak bu düşünceyi bir kenara koymakta fayda var.

Farzedinki bir fabrikada PICli bir devre tasarlamakla görevlendirildiniz. Tasarımınız, üretilecek ve yüzbinlerce yada milyonlarca satılacak, bu durumda çeyrek dolarlık ek harcama  bile toplamda

büyük paralar tutacaktır.

Bu nedenle PIC'i  PBP ile kullanmayı öğrenen arkadaşlarımızın bir an önce yaklaşık 30 komuttan oluşan komut setini öğrenip ASM ile program yazmaya

başlamalarında larında korkunç fayda var. Göreceklerki  PIC, alıştıklarından çok daha hızlı bir işlemci ve program yazmak çok daha zevkli.

Bu nedenle PBP'yu atlama taşı olarak

kullanmakta fayda var.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

byka

katılıyorum dostum her zaman asm.Hangisi olursa olsun
DWIN LCD Satış Türkiye email:info@kamantek.com  web:http://www.kamantek.com/shop/index.php

james

bence de sonuna kadar asm.
ARAMIYORUM , BULUYORUM

fsan

bende size katiliyorum picbasic pro ile herseyi yapamiyoruz sanirsam.
ama adamlar bazi isleri acaip kolaylastirmislar

mesela su alttaki örnegi asm ile yapip buraya yazabilirmisiniz?
veya sadece "PAUSE 500" yazan kismini yazin merak ediyorum asm ile nasil oluyor?

Alıntı Yap'

PicBasic Pro code for blinking an LED on portB.0
' BASIC code:
'

================================================
BEGIN:
   HIGH 0  

        ' Turn LED on
   PAUSE 500       ' Wait

500mS (1/2 second)

   LOW 0           ' Turn LED

off

   PAUSE 500       ' Wait 500mS (1/2 second)  


GOTO BEGIN       ' Loop continuously
'

==================================================
"Bunalmis" : hemserim senin dedigin gibi yapacagiz herhalde.. su asm olayina biran önce

büyük bir siddetle girsek iyi olacak :)

mmengi

hocam burası bayağı kızışacak gibi, darılmaca kızmaca yok ama bende bir şey istiyorum sevgili arkadaşlar asm de kendine

güvenen şu satırı yazabilir mi? bu formul sht11 in okudu değerlerin değerlendirilmesiyle ilgili birkaç formülden en basit olanı. Bu işlemi asm de yapmak için ne kadar yıllık tecrübe ve bilgiye sahip

olunması gerektiğini merak ediyorum.


RH=((C1+C2)*A)+(C3*A*A)

RH=liner rutubet
A=16 Bit bir sayı
c1= -4, c2= 0.0405, c3= -2.8 *10 -6

DumrulBey

Önce şunu bilin: Bende ASEMECİ'lerdenim... 8)



Bülent ağabeyin bu görüşüne tam destek veriyorum. ASM, başka ne denebilir ki?

Fikret arkadaşım ise çok basit örnek vermiş ama

yazayım:
BASLA	BSF	PORTA, 0
	CALL	BEKLE
	BCF	PORTA, 

0
	CALL	BEKLE
	GOTO	BASLA

BEKLE	MOVLW	.25
	MOVWF	xBEKLE1
BEKLE1	MOVLW	.255
	MOVWF	xBEKLE2
BEKLE

2	DECFSZ	xBEKLE2, F
	GOTO	BEKLE2
	DECFSZ	xBEKLE1, F
	GOTO	BEKLE1
	RETURN

Tamam, şimdi diyeceksiniz sen

o kodu yazana kadar ben bir proje bitiririm. Ancak işin aslı öyle değil! Siz önce gecikme programı gibi ufak örnekler ile başlıyorsunuz. Her bir örnek yavaş yavaş alt program (subroutine)

kütüphanenize yeni bir şeyler kazandırıyor. Tabii kütüphane oluşturmak için illaki o uygulamayı kendiniz yazmış olmanız gerekmez. Mesela ben matematiksel fonkisyonları internetten araştırıp

kütüphaneme ekliyorum. Öyle ya ben matematik profesörümüyüm işin teorisini falan yazayım. :)

Diyelim ki bu kütüphaneyi oluşturdunuz. Sonra program yazarken aynı PBP'de olduğu

gibi makrolarınızı çağırıyor ve şakır şakır programı yazıyorsunuz. Mmengi arkadaşımızın örneğinin karşılığını şimdi buraya yazamam. Ama kütüphanedeki makrolarımı kullanıp çok sürmeden

yazılabiliyor. Üstelik esneklik mevcut! Yani makronuzu geliştirmek veya programa göre düzenlemek sizin elinizde.

Sorarım size, PBP'de (stamp olmayanında) LOG fonksiyonu var mı?

Geçenlerde bir arkadaş istemişti de araştırmıştım. Böylece kütüphaneme bir matematiksel fonksiyon daha koymuş oldum. Olay budur:

:arrow: LOG

Assembly Code:
http://www.dattalo.com/technical/software/pic/piclog.html

Ben savaşa hazırım. Çıkarın kodlarınızı...:D

Sevgiler,

saygılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)

mmengi

sevgili dumrulbey

"Tamam, şimdi diyeceksiniz sen o kodu yazana kadar ben bir proje bitiririm."

işte

mesele bu gündüz maaşla başka işle, gece kendi projelerimle uğraşınca zaman ve hız benim için önemli.Elbette bu işe motorola 6510 ve intel 8088 asm ile başladık ama uzay gemisi yapmıyoruz ya

yaptığım işlerde basic yeterli oluyordu şimdilerde C ile uğraşmaya başladım daha az kod üretiyor ve daha esnek. Aslında akılcı kullanıldığında basic de hızlı çalışıyor. Bilmiyorum hiç inceleme

fırsatınız oldumu ama picbasic in asm macrolarına baktınız mı gerçekten bu makroları yazan kişiler ustaca yazmışlar seninde dediğin gibi benim hazır lib lerim var diye Basic ile çalışanların da libleri

bu makrolar. Herkesin seçimine saygılıyım bu da benim görüşüm.

:arrow:  sonuç olarak elbette ASM ama .......