16F1827 yeni nesil pic.

Başlatan F®T, 30 Aralık 2014, 19:21:59

Hattuşa

@F.T. hocam

amacınız roket gibi uçmaksa bunu;
Alıntı YapYıl 1633 Dördüncü Murat'ın kızının doğduğu gece şenlikler yapılır. Lagari Hasan ise ilginç bir gösteri yapar, kendi yaptığı 7 kollu fişeği barut ve özel karışımlar ile doldurur. Roket macunu hazırlar.Ve fişeklerin ateşlenmesiyle birlikte havalanır yaklaşık 20 saniye havaya yükselir. Daha sonra yakıtın bitmesiyle birlikte kendi hazırladığı kanatlarla denize iner.

yıllar önce bizimkiler yapmış, yalnız o kanat takıp denize iniş yapmış, dediğim gibi aman hocam kış kış ineceğiniz yere dikkat edin  ;D

F®T

pro-TR hocam espirileriniz hoş.Lagari Hasan o devirde ileri tekniğe sahipmiş.Aynı zamanda cesurmuş.
Roketten mana pic toplam komut süresi içinde 50 sn de yaptığı işi ,komutlar değişince 3 sn de yaptı.

Ömer merhaba.Ersin elektronik yukarda link var.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Hattuşa

#32
ya ft hocam bişey soracağım öncelikle yaptığım espri  şahsınızı rencide etmek değil sadece bizden önceki nesil çalışkanmış, bizler oldukça tembeliz, amacım lagari hasanı anmak olsun.
usta bu entegre ADC okuma süresini neredeyse 1uS civarı okuyor yani oldukça hızlı. şu sıralar 40 pinli 18F45K22 i inceliyorum. (gerçi bu cehaletle bişey anlarmıyım bilmiyorum). FT hocam araştırma doğru mu? yani ADC okuma vs bu kadar hızlı mı? yoksa kaçırdığım bişeyler mi var. üstelik proton destekliyor görünüyor değil mi?

Hattuşa

F.T hocam bu işlemcide dahili osc. varmı ustam? illa kristal bağlanması gerekiyor mu?

F®T

Dahili 8 mhz pll x4.  32 mhz
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

Hattuşa

slm arkadaşlar FT hocam, ete hocam bu işlemciden DAC çıkışını nasıl almamız gerekiyor. örnek bir kod varmıdır?
ADCON0 dan dac çıkışını set ettim.
DACCON0 ve DACCON1 i de set ettim ama işlemciye nasıl bir kod veya komut yazmalıyız ki çıkış versin

Burak

#36
Alıntı yapılan: pro-TR - 17 Ocak 2015, 11:38:24
slm arkadaşlar FT hocam, ete hocam bu işlemciden DAC çıkışını nasıl almamız gerekiyor. örnek bir kod varmıdır?
ADCON0 dan dac çıkışını set ettim.
DACCON0 ve DACCON1 i de set ettim ama işlemciye nasıl bir kod veya komut yazmalıyız ki çıkış versin

ADCCON0'dan analog kanal seçim bitini yaptıktan sonra equation 17-1'deki formülünü kullanarak istediğiniz DAC voltajını 5 bitlik bir hassasiyette , DACCON1<4:0> bitlerini değiştirerek ayarlayabilirsiniz . (DACCON0'ı zaten ayarladığınızı söylemiştiniz o yüzden ona değinmedim .)
DACOUT RA2 pinine bağlıymış ki bunu zaten biliyorsunuzdur.

Burak.
Ω Gens Una Sumus Ω

Hattuşa

burak ustam;
dediğinizi anladım ama uygulayamadım şöyle ki;


VSET   =ADIn 0
While ADCON0.1 ==1 :Wend
DACCON1 =VSET /32


ancak dactan bir çıkış alamadım. nerde hata yapmış olabilirim.

Burak

Alıntı yapılan: pro-TR - 17 Ocak 2015, 14:14:11
burak ustam;
dediğinizi anladım ama uygulayamadım şöyle ki;


VSET   =ADIn 0
While ADCON0.1 ==1 :Wend
DACCON1 =VSET /32


ancak dactan bir çıkış alamadım. nerde hata yapmış olabilirim.

Siz sanırım proton kullanıyosunuz . Öncelikle birlikte yorumlayalım sonuca ulaşmak çok kolay olacaktır . ADIN 0 komut satırı kısmı acaba 0 nolu adc kanalını mı okuyor ve okuduğu adc sonucunu VSET içine mi atıyor ? Picbasic'te biliyosunuzdur bu komut ADCIN CHANNEL , var (Proton bilmediğim için soruyorum bunları)
Başlangıçta buton ile artışsal olarak DACCON<4:0>'ı artıracak bir kod yazmak ile başlayalım .

ADIN 0 diyerek analog kanal seçiminizi 0 nolu analog kanala kaydırmış oluyoruz . Ve bu şekilde DAC ile analog sistem bağlantısı kopmuş oluyor , bize düşen ise ADCON0<4:0>'ı %11110 tekrardan set ederek DAC çıkışına analog kapıyı bağlamak olacaktır . Ardından ise DACCON1'i set ederek bir çıkış elde etmemiz mümkün olacak . DACCON1 , DACCON0 ve ADCON0 set değerlerinizi paylaşırsanız hocam ve diğer arkadaşlarla daha hızlı bir çözüme ulaşırız .

Burak.
Ω Gens Una Sumus Ω

Hattuşa

ADCON0 =%01111001
ADCON1 =%10000000  '1 kanal aktif                     
Declare Adin_Res = 10 ' 10-bit result required
Declare Adin_Tad =FRC ' RC OSC chosen
Declare Adin_Delay =50 ' Allow 50us sample time 
DACCON0 =%11100000


adcon0 in set edilmesi %01111001 bu şekilde 6-2 bitler 1110 olunca dac aktif oluyor sanırım.
adcon1 registerini pas gecelim.
daccon0 ise 7. bit dacı aktif etmek için 1 yapıldı, 6. bit pozitif üretim, 5. bit çıkışı temsil ediyor sanırım.

ana döngüde yazdığım daccon1 ise 32 adım (5 bitlik) değer olduğu için adc kanalımızı (1024/32) ile 32 kısma bölüp değeri daccon1 e yükledim ama çalışmadı.

bir yerde hata yapıyorum ama anlayamadım

Burak

Herhangi matematiksel bir işlem yapmadan DACCON1'e 0'dan 32'ye değişen değerler verip deneyin lütfen , Herhangi bir işleme uğraması gerekmiyor . Ama işlem sıralaması şöyle olsun . Her DACCON1 tanımlamasından önce ADCON0'ı yazdığınız gibi tekrar ifade edin .

ADCON0 =%01111001
DACCON1=%00010000  (VDD/2 değerini bize vermesi gerek DACOUT çıkış pininde )

gibi ....

Burak
Ω Gens Una Sumus Ω

Hattuşa

maalesef bir çıkış alamadım usta, hatta
cm1con1 in 4 ve 5 bitinde dac ile ilgili register vardı onuda 1 yaptım sonuç değişmedi

Hattuşa

yaw şu dac hatrına bir rezistivmeter yapayım dedim bu işlemci ile işlemciyide sipariş ettim ama 2 gündür alamadım bir çıkış... yapmak istediğim 137 hertzlik sinüs sinyaliydi oda hayal oldu

Burak

Alıntı yapılan: pro-TR - 17 Ocak 2015, 15:20:40
yaw şu dac hatrına bir rezistivmeter yapayım dedim bu işlemci ile işlemciyide sipariş ettim ama 2 gündür alamadım bir çıkış... yapmak istediğim 137 hertzlik sinüs sinyaliydi oda hayal oldu

Malzemelerim yanımda değil , proteusta uğraşıp size geri dönüş yapıcam .

Burak
Ω Gens Una Sumus Ω

ete

Data sheet'e göre yapılması gerekenler;
1. OUTPUT PORTA.2
1.ADCON0 =%01111000
2.DACCON0=%11100000
3.DACCON1=%00011111
Bu değerleri verince PORTA.2 den 5V okumanız gerekir.

Ete

Powered by EzPortal