AD9833 SIN-GEN ARDUINO IDE(SPI lib.)

gürcistan'dan mal almak yatar.

Zaten bizim gümrük tam bir baş belası, bir de Gürcü gümrüğü ile uğraşmak istemezsin. Allah bilir heriflerin prizi veya şebeke voltajı da farklıdır sonra ucuza getireceğim derken bir sürü ilave masraf çıkarırsın. Bozulur garanti hizmeti alamazsın. Uygun bir zaman TDS Mühendislikten al. Öğrenci olduğunu söyle indirim de yaparlar.
 
Zaten bizim gümrük tam bir baş belası, bir de Gürcü gümrüğü ile uğraşmak istemezsin. Allah bilir heriflerin prizi veya şebeke voltajı da farklıdır sonra ucuza getireceğim derken bir sürü ilave masraf çıkarırsın. Bozulur garanti hizmeti alamazsın. Uygun bir zaman TDS Mühendislikten al. Öğrenci olduğunu söyle indirim de yaparlar.
onun çeşitli yolları var kutu,fatura,irsaliye yoksa kimse o üründen vegi alamaz ister kapıkule ister farklı gümrükler.

sadece cihazı sırtlayıp getirirsen sorun yok.
ama 1-2bin tl ucuza gelecek diye dediklerinden vazgeçmek ahmaklık olur abi.
yarı yarıa gelseydi alırdım gürcistandan.

şebekemiz aynı gürcistan ile ordan gelen bir akü şarj aletimiz var arabanın aküsünü dolduroyurz oradada şebeke 220v
 
yeniden ad9833 setup'unu kurdum programı biraz sadeleştirdim.
C++:
//D13---->MODÜL CLOCK
//D11---->MODÜL DATA
//D10---->MODÜL SYNC
//

#include <SPI.h>
#define cs 10
unsigned long frequency = 550;//İSTENEN FREKANSI BURAYA YAZIN


void setup() {

  pinMode(cs, OUTPUT);

  SPI.begin();
  SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE2));

}
void loop() {

  long frq = (frequency * pow(2, 28)) / 25000000;
  int frq1 = (frq & 0x3FFF);

   frq1 |= 0x4000;

  digitalWrite(cs, LOW);
  SPI.transfer16(0x2100);

  SPI.transfer16(frq1);

  SPI.transfer16(0xC000);

   SPI.transfer16(frq1);
 
  SPI.transfer16(0x2000);//İSTENEN DALGAYI BURAYA YAZIN
  digitalWrite(cs, HIGH);

  delay(5500);
  frequency = frequency +5;

Frekans hesabını değiştirmedim çünkü daha deneyemedim onun çalışıp çalışmadığını.

önce 14'e frekans yazıorum sonra 15i seçip yazıyorum ama yine'de olmuyor
 
Datasheet'e göre programın şöyle olması lazım. AD9833 olmadan sadece UNO ile denedim bunu, değerler doğru gözüküyor. Burada Serial ile ilgili olan herşey çıkarılabilir, onlar programın doğru çalıştığını anlamak için konan şeyler.

C++:
#include <SPI.h>

#define AD9833_CS 10

static double frequency = 120000.0;

void setup()
{
  Serial.begin(115200);

  pinMode(AD9833_CS, OUTPUT);

  digitalWrite(AD9833_CS, HIGH);

  SPI.begin();
  SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE2));
}

void loop()
{
  char buffer[100];

  unsigned long freq0 = round(frequency * 10.73741824);

  snprintf(buffer, sizeof(buffer), "freq0 = %lu\n", freq0);
  Serial.print(buffer);

  unsigned int freq0_lo = freq0 & 0x3fff;
  unsigned int freq0_hi = (freq0 >> 14) & 0x3fff;

  snprintf(buffer, sizeof(buffer), "freq0_lo = 0x%04X, freq0_hi = 0x%04X\n", freq0_lo, freq0_hi);
  Serial.print(buffer);

  digitalWrite(AD9833_CS, LOW);
  SPI.transfer16(0x2000);
  SPI.transfer16(0x4000 | freq0_lo);
  SPI.transfer16(0x4000 | freq0_hi);
  digitalWrite(AD9833_CS, HIGH);

  while (1)
  {
    ;
  }
}
 
ufak tefek tuzakları atlatııktan sonra artık süsleme kısmına geldik.

1 encoder.
1 lcd display.
ve birkaç program müdahalesi
 
Çalıştı mı? Özellikle yüksek frekansları dene, mesela 3 MHz.
 
6m.jpg
3.5m.jpg

6 ve 3.5MHz'deki çıktılar bu şekilde.

NOT:ölçümler osiloskop probu ile yapılmamıştır. bir ucu krokodil diğer ucu BNC olan kablo ile yapılmıştır bu sapmalar büyük ihtimalle bu sebepten bu kadar yüksek frekans için üreitlmiş kablolar değil.

 
Pek çalışmışa benzemiyor yav ... Sinüs olması gereken birşey yanlışlıkla kare dalga olmaz. Tam tersi olur, sen temiz kare dalga istersin, ekrandaki gibi pis kare dalga veya sinüs çıkar.
 
Pek çalışmışa benzemiyor yav ... Sinüs olması gereken birşey yanlışlıkla kare dalga olmaz. Tam tersi olur, sen temiz kare dalga istersin, ekrandaki gibi pis kare dalga veya sinüs çıkar.
ya ben kare dalgaya ayarladıysam abi :)

C++:
  SPI.transfer16(0x2000);
  SPI.transfer16(0x4000 | freq0_lo);
  SPI.transfer16(0x4000 | freq0_hi);
  SPI.transfer16(0x2028);
 
böyle çizimler yaptım hangi dalga şekli seçili olduğunu göstermek için.

ünlem'in amacı anlık çıkış olup olmadığını göstermek.
ünlem yanıyorsa dikkat et frekans çıkıyor demek yanmıyorsa frekans çıkışı yok demek.
 

Ekler

  • vid.mp4
    11.6 MB
@taydin abi düzeni nasıl yapayım.
mesela 1MHz'ye ayarlamak için binlerce tur çevirmek gerekiyoır bunun pratiği nasıl olabilir?
 
@taydin abi düzeni nasıl yapayım.
mesela 1MHz'ye ayarlamak için binlerce tur çevirmek gerekiyoır bunun pratiği nasıl olabilir?

Hem tuş takımı olacak, hem de 4 yön ok tuşu, hem de enkoder tekerleği :) Bu bütün kullanım senaryolarını kapsıyor.
 
Hem tuş takımı olacak, hem de 4 yön ok tuşu, hem de enkoder tekerleği :) Bu bütün kullanım senaryolarını kapsıyor.
@Gokrtl abinin kurduğu düzen mi abi.
O kadar tuşa ne ekleyeceğiz ya.

Benim istediğim tekerlek ile ayar encoder üstündeki dahili buton ile çıkışı on/off yapma birde harici bir buton ile dalga tipi değiştirme.
Ama bu yöntem'de 1MHz ayarlamak en az 15 dakikakımızı alacak daha pratik bir frekans ayarlama yöntemi düşünüyorum ama aklıma gelmedi
 
Bu gün projeyi bitirmeye odaklanıyorum kullanılabilir bir cihaz haline gelecek.
 
enkoder ve ekran kullanaak ayarladığım frekansı çıkışa aktarabiliyorum.

hazır program kullanmayı pek sevmem ama @taydin abinin rotary encoder programını enjekte ettim.
 

Ekler

  • WhatsApp Image 2022-07-12 at 09.02.05.jpeg
    WhatsApp Image 2022-07-12 at 09.02.05.jpeg
    241.4 KB · Görüntüleme: 81
  • WhatsApp Image 2022-07-12 at 09.02.20.jpeg
    WhatsApp Image 2022-07-12 at 09.02.20.jpeg
    342.6 KB · Görüntüleme: 81
Aldım bunu. Marka ismi olarak kullanacağım :D

singen marka.png
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,958
Mesajlar
118,805
Üyeler
2,825
Son üye
bekinci

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top