Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
cs:sw:01-mervis:advanced-modes-of-digital-outputs-hidden [2020/05/11 13:36]
avsetula [Nastavení PWM v Mervisu]
cs:sw:01-mervis:advanced-modes-of-digital-outputs-hidden [2021/08/05 11:58]
avsetula [Pokročilá funkce digitálních výstupů: PWM]
Line 1: Line 1:
-FIXME přeloženo 
 ====== Pokročilá funkce digitálních výstupů: PWM ====== ====== Pokročilá funkce digitálních výstupů: PWM ======
-Zkratka PWM skrývá slova Pulse-Width Modulation, v překladu "​pulzně-šířková modulace"​. Tato funkce slouží pro generování obdélníkového signálu dané frekvence a střídy na digitálním výstupu. Typicky se PWM používá pro regulaci komponent napájených stejnosměrným proudem způsobem, který by u analogové regulace nebyl možný. ​+<WRAP group 100%> 
 +<WRAP half column 81%> 
 +Zkratka PWM skrývá slova Pulse-Width Modulation, v překladu "​pulzně-šířková modulace"​. Tato funkce slouží pro generování obdélníkového signálu dané frekvence a střídy na digitálním výstupu. Typicky se PWM používá pro regulaci komponent napájených stejnosměrným proudem způsobem, který by u analogové regulace nebyl možný. 
 +</​WRAP>​ 
 +<WRAP half column 15%> 
 +;;# 
 +<​html><​span class="​dev-tag dev-patron">​Patron</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-neuron">​Neuron</​span></​html>​ \\ 
 +<​html><​span class="​dev-tag dev-axon">​Axon</​span></​html>​ 
 +;;# 
 +</​WRAP>​ 
 +</​WRAP>​
  
-Jako příklad použijeme ​24V DC elektromotor. Aby motor dosáhl plných otáček, vyžaduje napětí 24 V. Pro 10 % otáček mu bude logicky postačovat pouze 2,4V napětí. Při takto nízkém napětí by se ale motor nerozběhl kvůli vlivu tření a zátěže. Pokud by se pak přeci jen rozběhl, měl by jen velmi nízký točivý moment. Jde o jednu ze slabin analogové regulace. ​+Jako příklad použijeme ​24 V⎓ elektromotor. Aby motor dosáhl plných otáček, vyžaduje napětí 24 V. Pro 10 % otáček mu bude logicky postačovat pouze 2,4 V⎓ napětí. Při takto nízkém napětí by se ale motor nerozběhl kvůli vlivu tření a zátěže. Pokud by se pak přeci jen rozběhl, měl by jen velmi nízký točivý moment. Jde o jednu ze slabin analogové regulace. ​
  
-PWM lze použít **pouze na digitálních výstupech**,​ které mohou generovat pouze 0V nebo 24V napětí. Pro možnost regulace proto PWM generuje dvouhodnotový obdélníkový signál o dané frekvenci, čehož dosahuje periodickým přepínáním výstupu mezi ''​ON''​ a ''​OFF''​. Parametrem regulace je **střída signálu**, tj. délka ''​ON''​ a ''​OFF''​ signálů v rámci jedné periody. Pokud je střída signálu reprezentována procenty a její hodnota je 50%, výstupní signál stráví 50% časového úseku ve stavu ''​ON''​ a zbytek ve stavu ''​OFF''​. Při střídě 66% bude poměr 66% ''​ON''​ a 34% ''​OFF''​ apod. +PWM lze použít **pouze na digitálních výstupech**,​ které mohou generovat pouze 0 V⎓ nebo 24 V⎓ napětí. Pro možnost regulace proto PWM generuje dvouhodnotový obdélníkový signál o dané frekvenci, čehož dosahuje periodickým přepínáním výstupu mezi ''​ON''​ a ''​OFF''​. Parametrem regulace je **střída signálu**, tj. délka ''​ON''​ a ''​OFF''​ signálů v rámci jedné periody. Pokud je střída signálu reprezentována procenty a její hodnota je 50 %, výstupní signál stráví 50 % časového úseku ve stavu ''​ON''​ a zbytek ve stavu ''​OFF''​. Při střídě 66% bude poměr 66 % ''​ON''​ a 34 % ''​OFF''​ apod. 
  
 ===== Výběr frekvence ===== ===== Výběr frekvence =====
Line 16: Line 26:
 ===== Rozlišení PWM ===== ===== Rozlišení PWM =====
  
-Druhým parametrem PWM je **rozlišení**. Tato hodnota indikuje, **na kolik kroků** chceme regulaci rozdělit. Pokud je rozlišení 3, můžeme nastavit tři hodnoty střídy - 0%, 50% a 100%. U rozlišení 11 pak můžeme střídu v rozsahu 0-100% nastavovat po 10% krocích. ​+Druhým parametrem PWM je **rozlišení**. Tato hodnota indikuje, **na kolik kroků** chceme regulaci rozdělit. Pokud je rozlišení 3, můžeme nastavit tři hodnoty střídy - 0 %, 50 % a 100 %. U rozlišení 11 pak můžeme střídu v rozsahu 0-100 % nastavovat po 10 % krocích. ​
  
 Maximální možné rozlišení u kontrolérů Unipi činí 65536 kroků. ​ Maximální možné rozlišení u kontrolérů Unipi činí 65536 kroků. ​
Line 32: Line 42:
 === Příklad 1 === === Příklad 1 ===
  
-  rozlišení = 101 kroků (0 - 100% po 1% krocích)+  rozlišení = 101 kroků (0-100% po 1% krocích)
   ​   ​
   střída [%] = 34   střída [%] = 34
Line 40: Line 50:
                            ​100 ​                                ​100 ​                            ​100 ​                                ​100 ​
  
-Pro rozlišení 101 kroků a žádanou střídu 34% je třeba v Mervisu nastavit střídu na hodnotu **34**. To bylo poměrně jednoduché,​ nyní proto zkusíme něco složitějšího. ​+Pro rozlišení 101 kroků a žádanou střídu 34 % je třeba v Mervisu nastavit střídu na hodnotu **34**. To bylo poměrně jednoduché,​ nyní proto zkusíme něco složitějšího. ​
  
 === Příklad 2 === === Příklad 2 ===
  
-  rozliseni = 6 steps (0 - 100% po 20% krocích)+  rozliseni = 6 steps (0-100 % po 20 % krocích)
   ​   ​
-  strida [%] = 40%+  strida [%] = 40 %
   ​   ​
                        ​rozliseni - 1                       6 - 1                        ​rozliseni - 1                       6 - 1
Line 52: Line 62:
                             100                             ​100 ​                             100                             ​100 ​
  
-Pro rozlišení 6 kroků a žádanou střídu 40% je třeba v Mervisu nastavit hodnotu střídy na **2**.+Pro rozlišení 6 kroků a žádanou střídu 40 % je třeba v Mervisu nastavit hodnotu střídy na **2**.
  
 ===== Výpočet konfiguračních parametrů Mervisu ===== ===== Výpočet konfiguračních parametrů Mervisu =====
Line 78: Line 88:
 === Příklad 1 === === Příklad 1 ===
  
-  Rozlišení = 11 (střída signálu 0 - 100% s 10% kroky)+  Rozlišení = 11 (střída signálu 0-100 % s 10 % kroky)
   ​   ​
-  Frekvence = 4kHz+  Frekvence = 4 kHz
   ​   ​
   PWM_Cycle = rozlišení - 2 = 11 - 2 = 9   PWM_Cycle = rozlišení - 2 = 11 - 2 = 9
Line 92: Line 102:
   Rozlišení = 41 (krok 2,5%)   Rozlišení = 41 (krok 2,5%)
   ​   ​
-  Frekvence = 0.1Hz+  Frekvence = 0.1 Hz
   ​   ​
   PWM_Cycle = rozlišení - 2 = 41 - 2 = 39   PWM_Cycle = rozlišení - 2 = 41 - 2 = 39
Line 106: Line 116:
 === Příklad 3 === === Příklad 3 ===
  
-  Rozlišení = 10001 (krok 0,01%)+  Rozlišení = 10001 (krok 0,01 %)
   ​   ​
-  Frekvence = 0.1Hz+  Frekvence = 0.1 Hz
   ​   ​
   PWM_Cycle = rozlišení - 2 = 10001 - 2 = 9999   PWM_Cycle = rozlišení - 2 = 10001 - 2 = 9999
Line 129: Line 139:
 {{ :​en:​sw:​01-mervis:​pwm-06-searching-for-ports.png?​direct |}} {{ :​en:​sw:​01-mervis:​pwm-06-searching-for-ports.png?​direct |}}
  
-Nyní zapněte **Mód ladění** a ve sloupci **Hodnota PLC** uvidíte současnou hodnotu PWM pro digitální výstupy 1.01 - 1.04. Pokud jste ji již dříve nezměnili, uvidíte zde nuly. Změňte hodnotu **PWM_1.01** na 50 a potvrďte kliknutím na ''​V'' ​či stisknutím klávesy **ENTER**. ​+Nyní zapněte **Mód ladění** a ve sloupci **Hodnota PLC** uvidíte současnou hodnotu PWM pro digitální výstupy 1.01-1.04. Pokud jste ji již dříve nezměnili, uvidíte zde nuly. Změňte hodnotu **PWM_1.01** na 50 a potvrďte kliknutím na {{:​files:​dialog-confirm_button_2.png?​nolink|}} ​či stisknutím klávesy **ENTER**. ​
  
 Pro ověření můžeme k DO 1.01 připojit osciloskop a zkontrolovat podobu signálu. ​ Pro ověření můžeme k DO 1.01 připojit osciloskop a zkontrolovat podobu signálu. ​
Line 135: Line 145:
 {{ :​en:​sw:​01-mervis:​pic_425_2.gif?​direct |}} {{ :​en:​sw:​01-mervis:​pic_425_2.gif?​direct |}}
  
-Jak ukazuje osciloskop, frekvence je 4 kHz při střídě signálu 50%. +Jak ukazuje osciloskop, frekvence je 4 kHz při střídě signálu 50 %. 
  
 ===== K čemu je magická konstanta 4,8 * 10^7 ===== ===== K čemu je magická konstanta 4,8 * 10^7 =====
 Při výpočtech hodnoty **PWM_Prescale** využíváme konstantu ​ Při výpočtech hodnoty **PWM_Prescale** využíváme konstantu ​
-In calculations of the **PWM_Prescale**,​ we use constant 4,8 * 10^7. Konstanta představuje ​48MHz zdroj pro interní časovače/​čítače,​ které se společně s PWM_Prescale a PWM_Count starají o nastavení požadované frekvence. ​+In calculations of the **PWM_Prescale**,​ we use constant 4,8 * 10^7. Konstanta představuje ​48 MHz zdroj pro interní časovače/​čítače,​ které se společně s PWM_Prescale a PWM_Count starají o nastavení požadované frekvence. ​