Схема на генератор на сигнали за Arduino PWM

Схема на генератор на сигнали за Arduino PWM

В тази публикация ние подробно проучваме как да направим базирана на Arduino PWM схема на генератор на сигнали, която може да бъде настроена или регулирана с потенциометър или гърне до всяко предпочитано съотношение на работния цикъл.



ОтАнкит Неги

КАКВО Е ШИМ?

pwm или модулация с широчина на импулса, както самото име предполага, е модулация на ширината на импулсите, т.е. колко дълго импулсът е висок или нисък в даден период от време. Това променя работния цикъл на импулса, което в крайна сметка определя средната стойност на импулса, тъй като работният цикъл е по време, разделен на общия период от време.





И честотата играе много важна роля в pwm, която трябва да е достатъчно висока, за да генерира стабилна мощност

Pwm се прави за различни цели, като управление на устройство, което работи на ниско напрежение, или за превключване като SMPS.



ШИМ, ИЗПОЛЗВАЩ ARDUINO UNO

Pwm също е един от факторите, които правят arduino най-простата дъска за разработка, тъй като pwm може да бъде направено чрез добавяне на само един ред код към вашата програма. Имайте предвид, че в arduino UNO има отделни цифрови щифтове за pwm, което означава, че тези щифтове могат да дадат pwm изход.

Налице са общо 6 pwm пина на arduino UNO, които са 3, 5, 6,9,10 и 11 от 14 цифрови щифта. Имайте предвид, че броят на pwm щифтовете варира от един тип arduino платка до друг.

Сега има два начина, по които pwm може да се изпълнява от arduino:

1. Чрез директно присвояване на аналогова стойност на pwm щифта между 0 и 255.

Тъй като цифровите щифтове в arduino могат да осигурят максимум 5v, това означава, че 0 аналогова стойност е равна на 0 волта и 255 е еквивалентна на 5 волта.

И за да направите това, трябва просто да добавите този код към вашата програма:

analogWrite (PWM пинов номер, стойност между 0 и 255)

Например: analogWrite (10,64) // записваме 64 аналогови стойности в pwm пин № 10.

Сега това означава :: (5/255) * 64 волта = 1,25 волта, т.е. 25% работен цикъл.

2. Чрез присвояване на стойност според входа, получен от аналогови щифтове на arduino.
Входът може да се вземе от компоненти като IR сензор или потенциометър.

Имайте предвид, че arduino получава аналогов вход по стойност между 0 до 1023, което е еквивалентно на 0 до 5 волта. Така че, за да извършите pwm на пин, трябва да преобразувате тази входна стойност в еквивалентност в число между 0 и 255 и това се нарича картографиране на езика на arduino.

За това има прост код:

y = map (x, 0,1023: 0,255) // където x е входната променлива

След това можете да изпълните pwm на щифт, като използвате:

analogWrite (PWM pin no, y) // запис на получената отчетена стойност в пин 10

ПРИМЕР ЗА ШИМ:

Ще научим и двете техники с този пример. За това ви трябва:

1. Потенциометър
2. Два светодиода
3. Два 100 ома резистора

Направете връзки, както е показано на електрическата схема:

ДИАГРАМА НА КРУГА:

КОД:

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
}

Как работи

Основната работа на предложения проект за генератор на PWM сигнали за Arduino може да бъде проучена от следващия параграф

На щифт № 9 може да се присвои произволна pwm стойност, докато на щифт №. 10 дава pwm стойност в съответствие с положението на потенциометъра по отношение на земята. Продължавайте да променяте тази произволна стойност за щифт 9, както и да завъртате потенциометъра, за да видите различен pwm изход на двата щифта.




Предишен: Сила на тока за управление на двигателя с използване на Arduino Напред: 2.4 GHz 10-канален превключвател за дистанционно управление