renesas üç faz çalışmada PWM data hesabı sorusu!

Başlatan Ruges, 20 Kasım 2006, 14:34:07

Ruges

renesas m16c ile üç faz converter ile AC motor kontrolü yapmak istiyorum. ama takıltığım birkaç yer var.
M16C/62 Group Solutions for 3-Phase Motor Control Programming PDF inde aslında neredeyse sadece hardware 'i yapın sofware bizden demişler ama benim anlamadığım yer PWM dalga boyunun ayarlanmasındaki

PWMi = (carrier period / 4) - (carrier period / 4 )× sinN° * modulation rate

formülündeki bu "modülasyon oranı" kısmı

Benim daha önceki bilgilerim ile modülasyon oranını Vac (çıkış)/Vdc (giriş) olarak, özellikle v/f kontrolünde V ac çıkışının tepe değerini ayarlamak için kullanılan bir oran olarak biliyordum. Bu oranda tabiki 0 ile 1 arasaında olmalı.
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
not: PDF de modulasyon oranını tanımlarken

For example, if V/F control is used, the modulation value is varied in combination with the variation of the output frequency, and the relationship of the PWM wave length (V) and the output wave is controlled.

cümlesi herhalde modulasyon oranı konusunda yanlış düşünmediğimi ispatlar.
}}}}}}}}}}}}}}}}}}}}}}}}}}}}
Ama bu Pdf in software kısmında bu formüldeki adlandırmalar değişikliğe uğrayıp

/*pwm command value = carrier/4 - (sinN° × torq_data )   formulünü software da kullanmış.burada torq_data bu hesaplama işlemeden önce;

torq_data = Torque command value × carrier/4   gibi bir değişkende hesaplanıyor.


şimdi torq_data formülünü,  pwm command value formülüne koyunca

/* pwm command value = carrier/4 - (sinN° × (torque command  value × carrier/4))*/

bulunur. ve 1. fomulü isim değişikliği ile elde ediyoruz .yani sadece  "modulation rate" yerine "torque command  value" geliyor .

Ve torque command  value ise ilk değer olarak 1500 ile başlatıyor.

madem torque command  value ile modulasyon oranı aynı şey. o zaman torq değerini 1500 ile başlatamaz. 1 ile 0 arasına bir değer olmalı.
hatta torque command  value , torq isimli integer bir değişkende tutuluyor. yani tamsayı olmak zarunda.Buda torque command  value ile modulasyon oranının aynı şey olma olasılığını imkansızlaştırıyor.Ama benim yukarıdada gösterdiğim gibi aynı olmalı.
Bu adamların hata yapma olasılıpı çok düşük ve hatta bunlar denenmiş software lar olduğunu idda ettiklerine göre hata yapmış olmaları muhtemel değil.
o zaman hata benim yukarda anlatmaya çalıştığım yerde.
ya benim göremediğim bir hata var yada başından beri yalnış düşündüm. yardımcı olmanızı istiyorum.

teşekkürler.

picusta

PDF'lerin linklerini verirmisin lütfen?
Benim fikrimce modulation rate ile Torque command value ayni sey değil.
modulation rate söyle bisi :
hani PWM elde etmek için bir devre var, comparator ile yapilmis testere disi sinyali giriliyor, diger bacaktan istenilen PWM orani.
modulation rate = testere disi sinyalinin genligi / max komut.
Yani 1'den büyük olabilir.

Ruges

google da aramak daha kolay ve sorunsuz olacaktır.(üyelik için vs.)

benim kullandığım işlemci m16c/62 serisi
bununla ilgili pdf i google dan  
                           apmc96e m16c/62      ile aratırsan

ama yardımcı kaynak olarakta  m16c/28 grubundan
                           rej05b0486_m16ap     ile aratırsan
PDF leri bulabilirsin.

picusta

apmc96e linkine baktim, dedigim testere disi sinyali sayfa 13'te. Fakat yardimci olamayacagim. Gerçekten isin içine girip saglam kafa ile bakmak gerekiyor.

hunter

http://documentation.renesas.com/eng/products/mpumcu/apn/apmc96e.pdf
Sf:49
------------------------------------------------------------------------------------
There are many floating point calculations required, such as sinN data and modulation rate for continuous-arm output
process. However, the MCU can not perform the floating point operation with its registers.  To perform the operation
with this MCU, you multiply the floating data by 10n.  After your calculations have been completed, divide the
calculation results by 10n.  
For example, first make a sinN data table by a factor of 1000. After completing all your calculations, divide the results by
1000. Results are carried out as far as three decimal points.  
In addition, if you modify the data into even numerals, the shift operation can be used as divide-by-2.  In this way, the
operation can be must faster than actual dividing by 2.
------------------------------------------------------------------------------------


Floating point işlemlerin uzun sürmesi nedeniyle tüm reel sayı işlemleri integer türe cevrilerek yapilmis yani 0.001 i 1000 ile çarpıyor, işleme 1 olarak sokuyor daha sonra elde edilen degeri 1000 e bölüyor. Bu sorunuzun kısmen cevabı.. Ya da bu tür datasheetlerde karşılaşacağınız durumlarda akılınızda olması gereken bir durum.
İyi Çalışmalar.