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.
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.
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.
apmc96e linkine baktim, dedigim testere disi sinyali sayfa 13'te. Fakat yardimci olamayacagim. Gerçekten isin içine girip saglam kafa ile bakmak gerekiyor.
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.