• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь PWD и ADC. Гдеб найти документацию ?

SVP

New member
Пытаюсь создать примитивное приложение.
На pwm должен выдаваться сигнал в зависимости либо от подведенного к ADC напряжения, либо в зависимости от заданных установок через веб-интерфейс.

Начал с конца. Вроде есть ведь аппаратный pwm в чипе ?
(тут в таблице вижу https://esp8266.ru/esp8266-gpio-registers/)

Даже вроде бывает mgos_pwm_set (mongoose-os/mgos_pwm.h at master · cesanta/mongoose-os · GitHub), но как его использовать непонятно.
В хелпах ничего не нашел вообще :(
Очевидно что-то надо заинклюдить... но что ?
(пользуюсь пока js, но из него вроде можно вызывать и С-код)

Про ADC есть вроде "2 слова", тоже без примеров, а про pwm вообще ничего не нашел.

Заодно: какую реально частоту получить ? 1-5килогерц хотя-бы ?
 

lsm

Разработчик Smart.js
Команда форума
PWM пока нет. Использовать родной SDK, только на C.
ADC - есть, в JS ADC.read(pin), там он один.

Дока тут Mongoose OS
 

pvvx

Активный участник сообщества
Начал с конца. Вроде есть ведь аппаратный pwm в чипе ?
Он дельта-сигма и бьет на низкой частоте (+ большой джиттер). Кроме того наводит наводки на приемник и WiFi почти глохнет.
Является очередной недоделкой-ошибкой Espressif при разработке чипа.
Заменен на программный, путем дергания пинами по прерываниям с дырками на запреты прерываний при работе WiFi драйвера...
Про ADC есть вроде "2 слова", тоже без примеров, а про pwm вообще ничего не нашел.
Заодно: какую реально частоту получить ? 1-5килогерц хотя-бы ?
ADC работает и до 200 кГц... Но он тоже кривой и совместно с WiFi не работает.
Является очередной недоделкой-ошибкой Espressif при разработке чипа. Работа WiFi влияет на измерения и при этом выходит получить разрешение не более 2 бит. Возможно использовать только при отключенном WiFi, но вход данного SAR не имеет буфера и ток утечки на нем зависит от напряжения на входе. Компенсация линейности, емкостная функция заряда-переразряда коммутируемых емкостей SAR, сделана программно одним порогом и линейность у данного ADC выходит лесенкой... Сама реализация ADC в ESP8266 является полупограммной.
 
Последнее редактирование:

SVP

New member
Аааа... ммм.... а вообще у этих "чипов" тогда какое применение ?
Только в качестве фронтэнда некоторых устройств к смартфонам ?

Я надеялся примитивный алгоритм прям внутрь загнать, и то получается, что нифига работать не будет.
Всё равно придется тащить какой-нибудь STM8, чтобы в нём цифровать и делать pwm без глюков и танцев с бубнами. Между ними поддерживать какой-то интерфейс итд итп.
Эх... такое изящное решение не выгорело.

А эээ... что-нибудь другое в этом форм-факторе нормально работающее и с периферией бывает ?
 

pvvx

Активный участник сообщества
Аааа... ммм.... а вообще у этих "чипов" тогда какое применение ?
Только в качестве фронтэнда некоторых устройств к смартфонам ?
Для Arduino поделок. На PWM обычно ставят внешнюю микросхему, а ADC используют в паузах выключения WiFi.
А эээ... что-нибудь другое в этом форм-факторе нормально работающее и с периферией бывает ?
Из совсем дешевых SoC с WiFi ничего пока с более высокочастотным и качественным ШИМ не встречал. RTL871x/RTL8195 - у них тоже НЧ ШИМ (такт таймера 1/32768 сек) и тоже бьет фронт энного импульса, ADC в принципе 16-ти битный нормальный, но 2 "но" - нестабильный Ref - зависит от питания, и ноль не нуль, а со смещением, которое надо вычитать и калибровать...
Все замеры и данные по ADC и ШИМ на разные SoC c WiFi неоднократно обсуждались на форуме и сами найдете много тем по ним...
Возможно в более новых и дешевых SoC это побороли, но они пока не широко доступны...
 
Последнее редактирование:

NeoroN

Member
А почему бы не подключить по i2c ? Или так важно сделать все на одном чипе?
 

SVP

New member
Скорее "не так уж вперся этот wifi".
Была идея добавить в простое устройство, но корпуса там городить некуда, да и удорожает это все неслабо.
Можно и обойтись...
Нет, при определенном подходе, это все, вероятно, используемо, но не так, как хотелось бы.
После беглого чтения создавалось впечатление, что вот он МК, к которому еще и простой WIFI привернут,
а на деле, ну какой он МК беза ADC/pwm это игрушка какая-то... это скорее просто отдельно выделенный wifi,
впрочем так его вполне можно использовать. наверное :).
 
Сверху Снизу