Пульсация сигнала при analogread

Slavat
Offline
Зарегистрирован: 15.12.2015

Доброе время суток ... ситуация - собираю тестовую схему в Протеусе , все просто : на 9 пин вешаю светодиод и управлятью им по analogWrite . при подаче сигнала светодиод мерцает с непостоянной частотой

код простой как топор :

void setup() {
}

void loop() {
  analogWrite(9, 125);
}

если выставить уровень 255 - стоит четко, не мигая

где я туплю ?

lex2k
Offline
Зарегистрирован: 17.12.2015

на всякий случай

void setup()

{
    pinMode(9, OUTPUT);      // установка порта на выход
}

 какой результат ожидаешь получить не понятно

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

протеус не симулирует в реальном времени, легко увидеть если посмотреть счетчик времени, внизу слева насколько помню

а analowrite это шим, и весь его смысл подавать 1 и 0 на выход с нужной частотой и скважностью

купи ардуину и балуйся, и попробуй увидеть моргание

Slavat
Offline
Зарегистрирован: 15.12.2015

ну, при использовании analogWrite переключать пин на выход вроде не обязательно ...

на выходе хочу получить напряжение в 2,5 в.

Ардуину купил , да сжег быстренько :)

вторая едет , но НГ у всех

Я так понял , это издержки симулятора ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

ну, при использовании analogWrite переключать пин на выход вроде не обязательно ...
переключить - надёжнее , чем скрытое необязательное...

#2 - вход в реальность :)

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Slavat пишет:

на выходе хочу получить напряжение в 2,5 в.

Не получится, ШИМ не так работает. Амплитуда всегда будет 5В, меняется скважность.

Slavat пишет:

Я так понял , это издержки симулятора ?

Да, как уже сказали, протеус не может корректно симулировать ШИМ в реальном времени. Но даже если бы мог, 2.5В таким способом всё равно не получишь. Нужна доработка схемы, чтобы сглаживать ШИМ.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а зачем тебе 2.5в?

Slavat
Offline
Зарегистрирован: 15.12.2015

Jeka_M пишет:

Не получится, ШИМ не так работает. Амплитуда всегда будет 5В, меняется скважность.

Да, как уже сказали, протеус не может корректно симулировать ШИМ в реальном времени. Но даже если бы мог, 2.5В таким способом всё равно не получишь. Нужна доработка схемы, чтобы сглаживать ШИМ.

тоесть , для управления нагрузкой через транзистор  использовать только аналоговіе порты ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Slavat пишет:

тоесть , для управления нагрузкой через транзистор  использовать только аналоговіе порты ?

нет !

Logik
Offline
Зарегистрирован: 05.08.2014

Jeka_M пишет:

Не получится, ШИМ не так работает. Амплитуда всегда будет 5В, меняется скважность.

Получится. Любое от 0 до 5В в зависимости от скважности. Среднее значение будет таким. Потому функция и называется   analogWrite. Если надо, можно включить фильтр НЧ и получится просто постоянка диапазона 0-5В и пульсация маленькая. Многие виды нагрузки сами по себе хороший фильтр НЧ, потому не парятся и считают, что ШИМ и есть аналоговый вывод. (Про ЦАП знаю, не надо туточки того.)

Кстати амплитуды 5 вольт тоже не будет. Амплитуда считается по отклонению от среднегр в обе стороны, т.е. ШИМ 50% на уровнях логических 0 и 5В = постоянка 2,5В и прямоугольная пульсация амплитудой тоже 2,5В. Она пол периода отнимается от постоянки, пол периода складывается.

 

lex2k
Offline
Зарегистрирован: 17.12.2015

ты хочешь что то регулировать через транзистор по средствам шим?

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Slavat пишет:

тоесть , для управления нагрузкой через транзистор  использовать только аналоговіе порты ?

В микроконтроллерах AVR (которые стоят в ардуине) нет настоящих аналоговых портов на выход (ЦАП). Аналоговые есть только на вход (АЦП), на выход только цифровые. На некоторых цифровых можно выдать ШИМ-сигнал (функция analogWrite)

Slavat
Offline
Зарегистрирован: 15.12.2015

lex2k пишет:

ты хочешь что то регулировать через транзистор по средствам шим?

да

lex2k
Offline
Зарегистрирован: 17.12.2015

а регулировать нужно именно плавно или можно сделать из нескольких ступений

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Logik пишет:

Получится. Любое от 0 до 5В в зависимости от скважности. Среднее значение будет таким. Потому функция и называется   analogWrite.

Я настаиваю на том, что не получится. Если замерять осциллографом, амплитуда всегда будет одинаковая и равнятся VCC. Функцию можно назвать как угодно, но законы физики никто не отменял.

Logik пишет:

Если надо, можно включить фильтр НЧ и получится просто постоянка диапазона 0-5В

Воооот... я и писал выше, что нужно сглаживание, чтобы получить аналоговый сигнал диапазона 0-5В.

Logik пишет:

потому не парятся и считают, что ШИМ и есть аналоговый вывод.

И вводят новичков в заблуждение.

lex2k
Offline
Зарегистрирован: 17.12.2015

lex2k
Offline
Зарегистрирован: 17.12.2015

а так если

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Slavat пишет:

Доброе время суток ... ситуация - собираю тестовую схему в Протеусе , все просто : на 9 пин вешаю светодиод и управлятью им по analogWrite . при подаче сигнала светодиод мерцает с непостоянной частотой

код простой как топор :

void setup() {
}

void loop() {
  analogWrite(9, 125);
}

если выставить уровень 255 - стоит четко, не мигая

где я туплю ?

ни где !!!!!
собери реальную схему - мигать не будет , и тупления закончатся :)

Logik
Offline
Зарегистрирован: 05.08.2014

Jeka_M пишет:

Logik пишет:

Я настаиваю на том, что не получится. Если замерять осциллографом, амплитуда всегда будет одинаковая и равнятся VCC. Функцию можно назвать как угодно, но законы физики никто не отменял.

Настаивать на своей безграмотности глупо. Можете подключить осцилограф в режиме закрытого входа, исключающего постоянную составляющую, и убедится что амплит будет 2,5В. Уровень логического 0 будет -2.5В, а 1  будет +2.5. Это и есть амплитуда. Название функции отражает её назначение, может Вам и привычней черное белым называть, но разумные люди дают разумное название. Законы физики часто не понимают, Вы это сейчас илюстрируете. По законам физики сигнал может быть представлен как сумма сигналов кратных частот и постоянного смещения (нулевой частоты в общем то). Фамилия Фуре вам ни о чем не говорит?

Jeka_M пишет:

Logik пишет:

Если надо, можно включить фильтр НЧ и получится просто постоянка диапазона 0-5В

Воооот... я и писал выше, что нужно сглаживание, чтобы получить аналоговый сигнал диапазона 0-5В.

Чукча не читатель чукча писатель?! Разница между "Если надо, можно.." и "нужно" есть? Лампы, светодиоды, нагреватели, и часть индуктивных нагрузок (обмотки реле например) ни в каких фильтрах не нуждается.

Jeka_M пишет:

Logik пишет:

потому не парятся и считают, что ШИМ и есть аналоговый вывод.

И вводят новичков в заблуждение.

Я Вас в заблуждение не вводил, это или кто другой был или Вы сами. И вероятно просто это не учили. 

 

lex2k
Offline
Зарегистрирован: 17.12.2015

в данном случае идет речь о использовании шим для управления транзистором с регулировкой

получить просто  2,5в  не достаточно ...тут диапазон нужен

Kolchugin
Offline
Зарегистрирован: 15.12.2013

Slavat пишет:

ну, при использовании analogWrite переключать пин на выход вроде не обязательно ...

на выходе хочу получить напряжение в 2,5 в.

Не слушайте никого, даже меня :)
Просто экспериментируйте. По напишут всякого, осцилографф с открытым/закрытым входом,
амплитуды там разные, хрен что разберёшь. Поставте делитель, схему вам уже нарисовали,
получите 2,5 вольта или сколько там нужно без всякого шима,
ткните мультиметром и весь шим до копейки. 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

Kolchugin пишет:

Slavat пишет:

ну, при использовании analogWrite переключать пин на выход вроде не обязательно ...

на выходе хочу получить напряжение в 2,5 в.

Не слушайте никого, даже меня :)
Просто экспериментируйте. По напишут всякого, осцилографф с открытым/закрытым входом,
амплитуды там разные, хрен что разберёшь. Поставте делитель, схему вам уже нарисовали,
получите 2,5 вольта или сколько там нужно без всякого шима,
ткните мультиметром и весь шим до копейки. 

не тупи ТС !!!!!
...сам-то понял что написал ?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Logik, Можете подключить осцилограф в режиме закрытого входа, исключающего постоянную составляющую, и убедится что амплит будет 2,5В. Уровень логического 0 будет -2.5В, а 1  будет +2.5. Это и есть амплитуда.

Не пойму, что вам не понравилось в словах Jeka_M ? Какая разница сколько будет в минусе, а сколько в плюсе. Размах амплитуды всё равно не измениться ни при какой скважности.

А напряжение RMS это вообще чисто математическое понятие. И согласен,  с Jeka_M название для функции analogWrite  придумали очень некорректное, отсюда постоянные недопонимания со стороны начинающих. Что было не назвать PWMout ?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

dimax ,   всё правильно...
но для начинающих - что analogWrite() , что PWMout() - НЕ ПОНЯТНО !
...если не читать мануалы :) и не видеть осциллограмм сигналов на пине....

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

dimax ,   с Наступившим !!!!!!!!!!
спасибо за все комменты !!!!

Logik
Offline
Зарегистрирован: 05.08.2014

О и осцилограмма как раз что надо. Спасибо за илюстрацию!

dimax пишет:

Не пойму, что вам не понравилось в словах Jeka_M ? 

Не понравилась категоричность в ложном утверждении о отсутствии постоянной составляющей напряжения на выходе ШИМ без НЧ фильтрации.  

dimax пишет:

 Какая разница сколько будет в минусе, а сколько в плюсе. Размах амплитуды всё равно не измениться ни при какой скважности.

Разница огромная.  Не сложно сделать, к примеру на ОУ с двухполярным питанием, генератор формирующий прямоугольники с амплитудой 2,5В и не содержащий постоянной составляющей. Осцилограмма в режиме закрытого входа будет точно как на картинке выше. Т.е. переменная составляющая напряжения с этого генератора  будет аналогичен ШИМу 50%. А в чем их разница?! Смотрим на осцилограмму при открытом входе и явно видим. Именно в постоянной составляющей. Которой у ШИМ без НЧ фильтра как бы нет согласно утверждениям Jeka_M. По его логике получается что фильтр НЧ преобразует переменное напряжение в постоянное, на подобии выпрямителя. Думаю написаного достаточно, чтоб понять и запомнить:

1. ШИМ действительно формирует постоянное напряжение, величиной которого изменяется параметром функции analogWrite, в полном соответствии с её названием.

2. Кроме постоянного напряжения на выходе присутствуют значительные помехи в виде переменного напряжения высокой частоты (там целый спектр, что тема отдельная). В некоторых случаях для борьбы с ними необходим фильтр низкой частоты, в некоторых нет. Зависит от влияния помех на то, что подключено к ШИМ.

3. При наблюдении на осцилографе с открытым входом (что обычно для цифровой техники) сигнал ШИМ мы видим как сумму сигналов из п.1 и п.2, эта сумма и выглядит как прямоугольные импульсы с логическими уровнями.

4. (без конкретной пользы, так, в напоминание) ШИМ - сигнал аналоговый, передача информации в нем происходит в аналоговой форме - длительностями. Их дискретность в случае ардуино - чисто проблемы реализации, легко реализуется на аналоговых компонентах честный без дискретности ШИМ. 

dimax пишет:

А напряжение RMS это вообще чисто математическое понятие.

Ничего подобного, абсолютно физично. Эквивалент производимой работы. Вот вики, че пишет, да и так хороше известно. 

Действующим (эффективным) значением силы переменного тока называют величину постоянного тока, действие которого произведёт такую же работу (тепловой или электродинамический эффект), что и рассматриваемый переменный ток за время одного периода.

Грубо говоря греть и светить будет как раз исходя из RMS, какая ж тут математика, чистая физика. Даже более физично чем определение напряжения - как разности потенциалов!

Slavat
Offline
Зарегистрирован: 15.12.2015

вот это волна :) спасибо за коменты, приедет плата , таки попробую :) всех с наступившим !