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
cs:sw:01-mervis:advanced-modes-of-digital-outputs-hidden [2020/04/06 11:37]
avsetula
cs:sw:01-mervis:advanced-modes-of-digital-outputs-hidden [2022/05/02 10:54] (current)
avsetula [K čemu je magická konstanta 4,8 * 10^7]
Line 1: Line 1:
-<​html>​ 
-<​style>​ 
-    .card { 
-        max-width: 100%; 
-        height: auto; 
-        position: relative; 
-        display: inline-block;​ 
-        margin: 20px 0 20px 0;  
-    } 
-    .card img{ 
-        width: 100%; 
-        height: auto; 
-    }    ​ 
-    .card .img-top { 
-        display: none; 
-        position: absolute; 
-        top: 0; 
-        left: 0; 
-        z-index: 99; 
-    } 
-    .card:hover .img-top { 
-        display: inline; 
-    } 
-</​style>​ 
-</​html>​ 
- 
-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 =====
-Jedním z parametrů, který je třeba nastavit, je frekvence PWM, která musí odpovídat Vašemu regulovanému systému. Čím pomalejší Váš systém je, tím nižší musí frekvence být a opačně. Vysvětleno na příkladu bojleru - ohřev velké nádrže s vodou na požadovanou teplotu zabere dlouhý časový úsek, vysoká frekvence regulace proto není potřeba. Zde budou stačit pouhé desetiny či setiny hertzu. Pro regulace LED diody ale budeme potřebovat frekvenci alespoň 100 Hz, nižší frekvence by totiž ​nebyly ​pouhým okem viditelné+Jedním z parametrů, který je třeba nastavit, je frekvence PWM, která musí odpovídat Vašemu regulovanému systému. Čím pomalejší Váš systém je, tím nižší musí frekvence být a opačně. Vysvětleno na příkladu bojleru - ohřev velké nádrže s vodou na požadovanou teplotu zabere dlouhý časový úsek, vysoká frekvence regulace proto není potřeba. Zde budou stačit pouhé desetiny či setiny hertzu. Pro regulace LED diody ale budeme potřebovat frekvenci alespoň 100 Hz, nižší frekvence by totiž ​byly viditelné ​pouhým okem. 
  
 Dalším parametrem ke zvážení je prvek, který je mezi stavy ''​ON''​ a ''​OFF''​ přepínán. Pokud jde o mechanické relé, vysoká frekvence by jej mohla zničit. U SSR relé, MOSFETu či IGBT tranzistoru lze naopak použít kilohertzové až megahertzové frekvence (nezapomeňte důkladně prostudovat technické parametry dané komponenty). ​ Dalším parametrem ke zvážení je prvek, který je mezi stavy ''​ON''​ a ''​OFF''​ přepínán. Pokud jde o mechanické relé, vysoká frekvence by jej mohla zničit. U SSR relé, MOSFETu či IGBT tranzistoru lze naopak použít kilohertzové až megahertzové frekvence (nezapomeňte důkladně prostudovat technické parametry dané komponenty). ​
Line 42: 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 53: Line 37:
  
 <WRAP center round info 80%> <WRAP center round info 80%>
-strida ​[mervis] může nabývat pouze hodnot v rozsahu 0 až -1. Tyto hodnoty nastavíte v programu. ​+Střída v [Mervis] může nabývat pouze hodnot v rozsahu 0 až -1. Tyto hodnoty nastavíte v programu. ​
 </​WRAP>​ </​WRAP>​
  
 === 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 66: 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 78: 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 104: 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 118: 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 132: 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 151: Line 135:
 {{ :​en:​sw:​01-mervis:​pwm-01-selecting-module.png?​direct |}} {{ :​en:​sw:​01-mervis:​pwm-01-selecting-module.png?​direct |}}
  
-<​html>​ +Provedli jsme změnu v prototypu zařízení,​ což znamená, že jde o změnu konfigurace modulu PLC. Postup nahrání konfigurace naleznete v tutoriálu [[cs:​sw:​01-mervis:​unipi-configure-module-hidden|Konfigurace modulu Unipi]]. ​
-<div class="​card">​ +
-<img src="​https://​kb.unipi.technology/​_media/​en:​sw:​01-mervis:​pwm-01-selecting-module.png">​ +
-<img src="​https://​kb.unipi.technology/​_media/​en:​sw:​01-mervis:​pwm-01-selecting-module.png"​ class="​img-top"​ > +
-</​div>​ +
-</​html>​ +
- +
-Provedli jsme změnu v prototypu zařízení,​ což znamená, že jde o změnu konfigurace modulu PLC. Postup nahrání konfigurace naleznete v tutoriálu [[en:​sw:​01-mervis:​unipi-configure-module-hidden|Konfigurace modulu Unipi]]. ​+
  
 {{ :​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 168: 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 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. ​
-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. ​+