Нужна помощь 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,
впрочем так его вполне можно использовать. наверное :).
 
Сверху Снизу