Okruh generátoru signálu Arduino PWM

Vyzkoušejte Náš Nástroj Pro Odstranění Problémů





V tomto příspěvku komplikovaně studujeme, jak vytvořit obvod generátoru signálu PWM založený na Arduinu, který lze nastavit nebo upravit potenciometrem nebo potenciometrem na jakýkoli preferovaný poměr pracovního cyklu.

PodleAnkit Negi



CO JE PWM?

PWM nebo modulace šířky pulzu, jak již název napovídá, je modulace šířky pulzů, tj. jak dlouho je puls v daném časovém období vysoký nebo nízký. Tím se změní pracovní cyklus pulzu, který nakonec určí průměrnou hodnotu pulzu, protože pracovní cyklus je v čase dělený celkovým časovým obdobím.

A frekvence hraje velmi důležitou roli v pwm, která musí být dostatečně vysoká, aby generovala stabilní výstup



Pwm se provádí pro různé účely, jako je řízení zařízení, které pracuje na nízkém napětí, nebo pro účely přepínání, jako v SMPS.

PWM POUŽÍVÁM ARDUINO UNO

Pwm je také jedním z faktorů, díky nimž je arduino nejjednodušší vývojovou deskou, protože pwm lze provést přidáním pouze jednoho řádkového kódu do vašeho programu. Všimněte si, že na arduino UNO jsou k dispozici samostatné digitální piny pro pwm, což znamená, že tyto piny mohou poskytovat pwm výstup.

Na Arduino UNO je k dispozici celkem 6 pwm pinů, což jsou 3, 5, 6,9,10 a 11 ze 14 digitálních pinů. Počet pinů pwm se u jednotlivých typů arduino desek liší.

Nyní existují dva způsoby, jak může pwm provádět Arduino:

1. Přímým přiřazením analogové hodnoty kolíku pwm mezi 0 a 255.

Vzhledem k tomu, že digitální piny v Arduinu mohou poskytovat maximálně 5 V, znamená to, že 0 analogových hodnot se rovná 0 voltům a 255 odpovídá 5 voltům.

Chcete-li to provést, stačí do programu přidat tento kód:

analogWrite (číslo pinu PWM, hodnota mezi 0 až 255)

Například: analogWrite (10,64) // zapíše 64 analogových hodnot na pwm pin č. 10.

To nyní znamená :: (5/255) * 64 voltů = 1,25 voltů, tj. 25% pracovní cyklus.

2. Přiřazením hodnoty podle vstupu přijatého z analogových pinů arduina.
Vstup lze odebírat z komponent, jako je infračervený senzor nebo potenciometr.

Pamatujte, že arduino přijímá analogový vstup v hodnotách od 0 do 1023, což odpovídá 0 až 5 voltům. Chcete-li tedy provést pwm na pinu, musíte tuto vstupní hodnotu převést v ekvivalentu na číslo od 0 do 255, což se nazývá mapování v arduinově jazyce.

K tomu existuje jednoduchý kód:

y = mapa (x, 0,1023: 0,255) // kde x je vstupní proměnná

Poté můžete provést pwm na kolíku pomocí:

analogWrite (PWM pin no, y) // zapíše přijatou namapovanou hodnotu na pin 10

PŘÍKLAD PWM:

Na tomto příkladu se naučíme obě techniky. K tomu potřebujete:

1. Potenciometr
2. Dvě led diody
3. Dva 100 ohmové odpory

Proveďte připojení podle schématu zapojení:

KRUHOVÝ DIAGRAM:

KÓD:

int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}

Jak to funguje

Základní práci navrhovaného projektu generátoru signálu Arduino PWM lze studovat z následujícího odstavce

Pin č. 9 lze přiřadit libovolnou hodnotu pwm, zatímco pin č. 9 10 udává hodnotu pwm podle polohy potenciometru vzhledem k zemi. Stále měňte tuto libovolnou hodnotu pro kolík 9 a otáčejte potenciometrem, abyste viděli rozdílný výstup pwm na obou kolících.




Předchozí: Řídicí obvod motoru s vysokým proudem pomocí Arduina Další: 2,4 GHz 10kanálový přepínač dálkového ovládání