Yeni yapay zekaya yer açalım.

TunahanC

SbX
Katılım
31 Mayıs 2024
Mesajlar
159
Çinlilerin geliştirdiği yapay zeka, Deep Seek, yeni bir model olmasa bile yeni hype oldu. Şu anda ilgilendiğim konu olan FOC hakkında kendisine şöyle bir soru yönelttim

Bana stm32 için bir FOC algoritması yaz. Idref ve Iqref değerlerini parametre olarak alsın ve akımlar IA, IB ve IC olsun bunları da parametre olarak alsın.

Promptu bilerek biraz kötü yazdım sonrasında ise gelen kod.

C:
#include <math.h>

// PI kontrolör yapısı
typedef struct {
    float Kp;
    float Ki;
    float integral;
    float limit;
} PI_Controller;

// PI kontrolör güncelleme fonksiyonu
float PI_Update(PI_Controller *pi, float error) {
    pi->integral += error;
    if (pi->integral > pi->limit) pi->integral = pi->limit;
    if (pi->integral < -pi->limit) pi->integral = -pi->limit;
    return pi->Kp * error + pi->Ki * pi->integral;
}

// FOC fonksiyonu
void FOC(float Idref, float Iqref, float IA, float IB, float IC, float theta) {
    // Clarke Dönüşümü
    float I_alpha = IA;
    float I_beta = (1.0f / sqrt(3)) * (IB - IC);

    // Park Dönüşümü
    float I_d = I_alpha * cos(theta) + I_beta * sin(theta);
    float I_q = -I_alpha * sin(theta) + I_beta * cos(theta);

    // PI Kontrolörleri
    static PI_Controller PI_Id = {1.0, 0.1, 0.0, 100.0}; // Örnek PI parametreleri
    static PI_Controller PI_Iq = {1.0, 0.1, 0.0, 100.0}; // Örnek PI parametreleri

    float V_d = PI_Update(&PI_Id, Idref - I_d);
    float V_q = PI_Update(&PI_Iq, Iqref - I_q);

    // Inverse Park Dönüşümü
    float V_alpha = V_d * cos(theta) - V_q * sin(theta);
    float V_beta = V_d * sin(theta) + V_q * cos(theta);

    // SVPWM (Bu kısım donanıma özgü olabilir, burada sadece örnek bir fonksiyon çağrısı yapılmıştır)
    SVPWM_Generate(V_alpha, V_beta);
}

// SVPWM fonksiyonu (Örnek, gerçek uygulama donanıma bağlıdır)
void SVPWM_Generate(float V_alpha, float V_beta) {
    // Burada SVPWM sinyalleri üretilir ve PWM çıkışları ayarlanır.
    // Bu fonksiyon donanıma özgüdür ve STM32'nin PWM modülleri kullanılır.
}

int main() {
    // Örnek değerler
    float Idref = 0.5; // Referans Id akımı
    float Iqref = 1.0; // Referans Iq akımı
    float IA = 0.3;    // Faz A akımı
    float IB = 0.4;    // Faz B akımı
    float IC = 0.5;    // Faz C akımı
    float theta = 0.0; // Rotor pozisyon açısı (radyan cinsinden)

    // FOC algoritmasını çağır
    FOC(Idref, Iqref, IA, IB, IC, theta);

    return 0;
}

PI istemediğim halde saçma bir PI kodu yazdı. Fakat sonrasındaki kısım olan FOC'ta istenilen verileri parametre olarak aldı ve mantıklı bir kod yazdı.

Özetleyecek olursam; DeepSeek ücretsiz bir şekilde GPT-o1 seviyesine yakın hizmet verdiğini iddia eden bir Çinli yapay zeka. Söz konusu Çinli ve ücretsiz denildiği zaman akla nelerin geldiği az çok belli. Fakat kritik olmayan projelerde kullanılabilecek seviyede olduğu düşünüyorum.

Kendi websitelerinde benchmark sonuçlarını da eklemişler. Kendi adıma söylemem gerekirse Claude ve ChatGPT'ten sonra 3. bir alternatif olarak duruyor.
 
Bildiğim kadarıyla modeller açık kaynaklı. Bir yerde 8 tane H200 kart sahibi en üst modeli deneyebilir okumuştum.
 
Deepthink modunu açınca sanki kendi kendisine konuşuyormuş havası veriyor.

FOC için SVPWM yerine Reverse Clark kullansam nasıl olur? diye sordum.

Tamam, kullanıcı Reverse Clarke Transformasyonu kullanarak PWM sinyallerinin duty cycle değerlerini nasıl hesaplayacağını soruyor. SVPWM yerine Reverse Clarke'ı kullanmak istiyor. Öncelikle Reverse Clarke Transformasyonunun ne yaptığını hatırlamam gerekiyor. Reverse Clarke, alpha-beta bileşenlerini üç fazlı gerilimlere (Va, Vb, Vc) dönüştürür. Bu gerilimler daha sonra PWM duty cycle'larına dönüştürülebilir.

Şu şekilde bir düşünce ile karşıladı beni.

Sam Altman'ın da 500 milyar dolar yatırım aldığını düşünürsek. Daha düşünecek yerim kalmıyor. Daha ne yapacaklar göreceğiz.
 
Evet, modelin bu davranışını Deep Seek tasarımcıları yazdıkları makalede belirttiler.

Eski soğuk savaş nükleer silah üzerinden yürüyordu. Yenisi yapay zeka üzerinde kurulmuş.
1737553336339.png
 
Şimdi benim email adres ile hesap oluşturmaya çalıştım. "Bu domain ile hesap oluşturmaya izin yok" dedi. rastgele gmail hesabı denedim kabul etti. Yani arka kapıdan girebildiğimiz bir servis sağlayıcı kullanman lazım demek istiyor :katil2:
 

Forum istatistikleri

Konular
7,254
Mesajlar
122,695
Üyeler
2,928
Son üye
acbatro

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top