Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
cs:sw:01-mervis:advanced-modes-of-digital-outputs-hidden [2020/05/11 13:33] avsetula |
cs:sw:01-mervis:advanced-modes-of-digital-outputs-hidden [2022/05/02 10:54] avsetula [K čemu je magická konstanta 4,8 * 10^7] |
||
---|---|---|---|
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 125: | Line 135: | ||
{{ :en:sw:01-mervis:pwm-01-selecting-module.png?direct |}} | {{ :en:sw:01-mervis:pwm-01-selecting-module.png?direct |}} | ||
- | 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]]. | + | 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]]. |
{{ :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 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. | + |