В чем отличие цифрового порта в режиме ШИМ от аналогового?

Тема в разделе "Arduino & Shields", создана пользователем Nikola, 29 окт 2015.

  1. Nikola

    Nikola Нуб

    Понимаю, что есть цифровые порты и аналоговые, но когда работаешь с цифровым портом в шим, то к нему обращаешься как к аналогу, то есть analogWrite и т.д. Но например, чтобы регулировать яркость светодиода, то значения от 0 до 255, а например аналоговый считывает значения до 1024. То есть у аналоговых портов больше дискретность?
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

    да, разная дискретность, потому что внутри за это отвечают разные функциональные блоки.
     
  3. Vetrinus

    Vetrinus Гик

    Вкратце, все верно, но немного не так.
    На аналоговых портах https://ru.wikipedia.org/wiki/Аналого-цифровой_преобразователь. У него, в случае с ардуино, разрядность 10 бит. 2^10=1024 состояний.
    А на цифровых (которые пригодны для ШИМ) https://ru.wikipedia.org/wiki/Цифро-аналоговый_преобразователь
    У него разрядность 8 бит. Т.е. 2^8=256 состояний. Именно этим, как я думаю, обусловлено отличие..
    Тапками не кидать, изложил в силу своих познаний) Если не прав, поправьте, пожалуйста.
     
  4. Tomasina

    Tomasina Сушитель лампочек Модератор

    ну это то же самое, просто более учеными фразами ;)
     
  5. Vetrinus

    Vetrinus Гик

    я когда начал пост писать, тема была пуста))) И мое "немного не так" относилось к топикстартеру, а не к вам)
     
    Tomasina нравится это.
  6. Nikola

    Nikola Нуб

    Спасибо за ответы
     
  7. DrProg

    DrProg Вечный нерд

    Аналоговый на вход, цифровой шим на выход. Вообще разные задачи у них. Если, например, нужно прямо пропорционально регулировать яркость светодиода подключенному к ШИМ при помощи переменного резистора подключенного к аналоговому порту, следует делить значение последнего на 4, ну или сдвигать биты вправо на 2. )
     
    ИгорьК нравится это.
  8. Vetrinus

    Vetrinus Гик

    А вот про это, пожалуйста, можно поподробнее?))
     
  9. DrProg

    DrProg Вечный нерд

    Подробнее можно почитать тут. И вообще, разобраться с битовыми операциями очень полезно, иной раз они здорово упрощают и ускоряют программу.
     
    ИгорьК и Vetrinus нравится это.
  10. Megakoteyka

    Megakoteyka Оракул Модератор

  11. Vetrinus

    Vetrinus Гик

    Вот выдержка из вики:
    Чет я подзапутался тогда, немного
     
  12. Megakoteyka

    Megakoteyka Оракул Модератор

    Ну ОК, валялись, но не рядом.
    В ардуино нет фильтров, ШИМ выходит просто в виде цифровой последовательности.
    ЦАП должен давать постоянное напряжение, а ШИМ постоянно шатает сигнал туда-сюда.
    Для светодиода можно и ШИМ считать ЦАПом, а для построения синусоиды одним ШИМом отделаться уже не получится. Нужно учитывать конкретное применение и исходя из этого решать, можно ли считать ШИМ ЦАПом.
     
    Kopilov нравится это.
  13. iglooshtosser

    iglooshtosser Гик

    Логика тут такая: Аналоговый выход (ЦАП) позволяет задать НАПРЯЖЕНИЕ. А выход с ШИМ (как в ардуино) не позволяет управлять напряжением, а только МОЩНОСТЬЮ. Там какое-то время "1" на выходе, остальное "0". Чем больше значение передается в analogWrite, тем больше времени для единиц и меньше для нулей.