BAM/Slow PWM -> Fast PWM с пилой на 555, аналоговые вопросы

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Доброго времени суток, all. Может быть логичнее было бы задать вопрос на easyelectronics у DiHalt'а, но там бы скорее всего мне посоветовали какую-нибудь новомодную микросхему, аргументировав (резонно), что моя - старая и дорогая.

Вопрос заключается в следующем:

Есть напряжение. Я могу его сделать ШИМом arduino с фильтром, сдвиговыми регистрами, в общем - есть некая аналоговая регулировка. Надо сделать из неё Fast PWM для светодиодов, чтобы те не лупили по глазам, мерцая от недостаточно резвой коммутации. Почему я не сделаю это на штатном режиме Fast PWM контроллера, уменьшив предделитель? Потому что там этих выводов -- считанное количество, а я хочу минимум 24; согласитесь, мутить под это четырехъядерную Arduino Uno - тупо. Mega2560 паять не умею (между ног слишком малое расстояние, плату такого качества на плоттере не сделать). TLC5940NT к сожалению закончились. Зато 555 и LM393 у меня ещё до чёрта.

Как я себе это представляю: есть выход с напряжением, дополнительно фильтрую допустим 4.7 кОм+0.1 мкФ, подаю вот в это:

Вопрос по этой схеме только один: я считаю, что здесь вместо усилителя допустимо ставить компаратор. Но возможно я не знаю какого-то волшебного колдунства и компаратор будет ошибкой. Так ли это?

Второй вопрос про то, где взять пилу.

Я тут вижу какую-то явную тёплую ламповость и дефицитные/древние детали, обозначения которых мне ни разу не попадались, и мне это не нравится. График пилы мне попадался на обычной схеме с 555 (плюс, резистор до 7, резистор до 2 и 6, конденсатор), почему бы просто не снять с конденсатора и подать в повторитель?

Третий вопрос, очевидно жи, опять про усилитель. Их у меня дефицит. Допустимо ли использовать в качестве повторителя компаратор? Допустимо ли вообще не делать никаких повторителей, а просто считать пилой на первой схеме плюс конденсатора у 555? Вроде как у компаратора огромное входное сопротивление и он такие фокусы позволяет.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Voodoo Doll пишет:

Второй вопрос про то, где взять пилу.

На выход (пин 3) цепляете конденсатор и резистор. Вот примерно так:

Как видите, нормальная пила.

Пояснения по логике и подбору номиналов нужны?

ВН
Offline
Зарегистрирован: 25.02.2016

так на 24-ти выходах ардуины планируется медленный ШИМ для регулировки 24-х каналов или как?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Voodoo Doll, я бы выкинул из первой схемы транзистор с обвязкой и сразу треугольник (вам ведь все равно - треугольник или пила) подавал на вход компаратора.

И что-то похожее на Вашу вторую схему, но без лишних входов:

ЕвгенийП, наверное, Вы хотели изобразить что-то вроде:

Еще, кстати, генератор на ОУ, у которого сигнал намного ближе к треугольнику, чем в процитированных схемах на 555:

 

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

andriano, да - всё равно какая форма. Насчёт генератора на операционном - учту что сигнал более треугольный, но какими-нибудь LM358 надо под это ещё закупаться. Думаю, пока остановлюсь на варианте с RC цепью на выходе 555.

Вообще, меня особо не интересует что пила эта на 555 получается с такими "круглыми" зубьями из-за того что напряжение на конденсаторе изменяется экспоненциально. У меня есть таблица (ну или не есть, а я в Corel нарисую и по новой рассчитаю) которой можно это компенсировать, что-то типа

const byte loga[64]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,18,
 22,25,28,29,30,33,36,39,42,46,49,53,56,60,64,68,72,77,81,86,
 90,95,100,105,110,116,121,127,132,138,144,150,156,163,169,
 176,182,189,196,203,210,218,225,233,240,248,255};

ЕвгенийП пишет:
Пояснения по логике и подбору номиналов нужны?

Из того как я понимаю, они связаны с постоянной времени, которую можно привязать к частоте. То есть хочу 10 кГц - нормально будет 1 кОм + 0.1 мкФ. Но может мне надо учитывать цифру 0.00000125 Дж в конденсаторе, и что оно растёт от напряжения и ёмкости. Это надо учитывать?

BH, да, для "типа" плавного ШИМ хорошего качества, который я могу допустим масштабировать на регистрах, пожертвовав чем-то (частотой или разрядностью). Про разрядность конечно сказки, т. к. напряжение на конденсаторе фильтра тоже будет изменяться ступеньками, но можно тут выезжать на большой ёмкости (мкФ так 10, а то и 47). Вообще, по умненькому надо бы делать драйвер для светодиодов (источник тока), но им я займусь когда куплю операционников. А пока чисто в качестве эксперимента.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Voodoo Doll пишет:

...но какими-нибудь LM358 надо под это ещё закупаться...

...То есть хочу 10 кГц...

...когда куплю операционников.

Должен заметить, LM358 - не лучший выбор. С одной стороны - у них выход асимметричный: примерно от -U до (+U-1.5V). С другой - скорость нарастания - всего 0.3V/us, т.е. на частоте 10 kHz на фронты триггера Шмитта будет приходиться примерно четверть периода, что не есть хорошо. В общем, треугольник тоже окажется скругленным, а значит, высокие скважности с последующего компаратора получить будет проблематично.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, таки да. Да и зубы вовсне не круглые, если постоянную времени правильно подобрать.

Я Вот Вам другой пример сделал.

Взял самую обычную схему мультивибратора на NE555, которая везде валяется (частота задаётся C1, R1 и R2) и просто добавил в неё конденсатор и резистор (С2, R3). Ну, и посмотрите на сигналы до R3 и после:

ВН
Offline
Зарегистрирован: 25.02.2016

вот можно попробовать собрать макетик и посмотреть, как оно получится на практике https://yadi.sk/i/7nBInhl6BWaRUQ

первый таймер формирует пилу частотой около 30кГц и импульсы сброса для 2-х каналов ШИМ, остальные каналы можнно добавлять аналогично. источники V2, 3 - входы медленного ШИМ. питаться все должно от +5В.

полевик на выходе покзан условно. выход 555-го относительно мощный и может вполне потянуть не слишком тяжелый затвор

 

ссылка на модель https://yadi.sk/i/mVF2ZBN3eRgBmA

если у кого есть желание посмотреть и попилить напильником =)

при текущих параметрах V2, 3 стоит отцепить интегрирующие кондесаторы 1мкФ в каналах, т.к. там сейчас формируется просто пила, которая моделирует интегрированный низкочастотный ШИМ. 

Гриша
Offline
Зарегистрирован: 27.04.2014

Voodoo Doll, регулировка яркости по каналам независимая или все каналы регулируются одновременно?

сколько групп каналов (если есть они) ну и сколько ступений яркости требуется? 

UPD  спросил потому, что можно замутить на r-2r  генератор переменной скважности на достаточно высокой частоте. Схемы не встречал, но теория не запрещает на 555й такое замутить. 

 

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Гриша, для моих задач достаточно восьмиразрядного (0-255). Каждый отдельно.

BH, я так понимаю это с 555 в качестве компаратора. Не совсем понятно как оно работает, всмысле в чём роль транзистора. Если не сложно, можно это как-то просимулировать или на бумажке нарисовать, что примерно там показывает осциллограф? Т. к. у меня его нет, а понять хочется. Вообще, в планах было использовать 555 именно как источник пилы и gate driver для транзисторов.

UPD. Вариант BH даже более заманчивый, т. к. 555 дешевле, с tmall можно грузить лопатой по 17 фэней в розницу.

BH, надо ли делать отдельный каскад на 555 в качестве драйвера затвора? Как у jeka_tm в теме про катер. Или тот корпус что работает в качестве компаратора, будет заодно и драйвером? Выход 555 240 мА вроде. Входная ёмкость в пределах сотен пФ (у меня транзисторы IRFR024N)

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

У ВН вторая ссылка на Ltspice модель. Сама программа - бесплатна, у тебя получится воспользоваться гуглем, я верю!

Там и увидишь, как оно на осцилографе будет.

ЛТспайс - фактически стандарт схемного моделирования. Он запускаетсмя как на винде Б..гопротивной ;), так и под Вайном на Линухе.

Потрать два дня на документацию по нему... есть простая от ВалВолодина, штоп сразу в бой! От валволоадина и доп модели поставь, иначе, наприммер модели 555-ого по умолчанию нету. А так - у ЛЮБОГО производителя есть спайс модекли на сайте для любой его херни, продаваемой на рынке.  (ну само-собой, акромя процессоров всяких и прочей цифровой сложности).

Ставить старый 4 спайс или новый, какой там он на сайте - выбор твой, все работает и в 4.

Еще раз советую - поставь LTspice! Два дня изучения тебе хватит, но жизнь станет сильно проще. Я даже сам тебе найду ссылку!

Это очень хороший совет

===============

Только время моделирования у ВН стоит настолько дохера (1000 мсек), что кажеццо, будто у него 64Гига на компе! и Ксеон 8ми ядерный ;)

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

wdrakula, спасибо.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

если что-то неясно по модели от ВН, как смотреть осцилограммы, как выбрать точку просмотра, что он вообще написал, что такое PULSE()? - и прочее, ты спрашивай.... почти все можно быстро найти в гугле, но если что - подскажу. У меня на Линухе с 8 гигами и на стареньком Core I5-3470 3.2 GHz его модель считается около минуты... ну может чуть меньше.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

У меня тоже минута, p6200 (более древний чем i7-like) 2.13 ГГц 6Гб мозга, ос Win7 ult x64. Пока что неясно, надо ли жать обязательно run или просто достаточно в кнопке с графиком (pick visible traces) выбрать интересующие точки, т. к. при этом график строится моментально. Если Run то где выбирать точки, по умолчанию оно думает и на графике темно-черно. Pulse как я понимаю задаёт темпоральный (временнОй то есть) профиль сигнала, только непонятен формат, очевидно что первый ноль и не первый ноль имеют какие-то различные значения, всмысле важен порядок. Короче надо понять синтаксис.

btw, где уменьшить время обсчёта, допустим меня интересует 100 мс а не секунда?

<нытьё>Софтина неудобная, зумишь график и нет полосы прокрутки, как в аудиоредакторе. Должно быть.</нытьё>

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

1. синтаксис пульса прям в хелпе проги. (LTspice/Circuit El/|V.voltage source) ну и там все есть.

Syntax: Vxxx n+ n- PULSE(V1 V2 Tdelay Trise Tfall Ton Tperiod Ncycles

Time-dependent pulsed voltage source
Name    Description    Units
Voff     Initial value     V
Von     Pulsed value     V
Tdelay     Delay     sec
Tr     Rise time     sec
Tf     Fall time     sec
Ton     On time     sec
Tperiod    Period     sec
Ncycles    Number of cycles(Omit for free-running pulse function)    cycles

2. время  Simulate.Edit SIm CMD ..... ну я сокращаю все что можно. (сам код строки написан на схеме: "tran 1000m Startup")

3. когда все построил (RUN), то на схема курсор преврящаеццо в картинку щупа и им тыкаешь куда хочешь - он выведет нужный график.

4. для всяких зумов и скролов куча горячих клавиш... вот их нужно будет учить ;) ;) ;)

Добавлю из человеколюбия: попробуй поработать мышкой в окне графиков с зажатым контролом. ;)

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

с зажатым Ctrl и так привычка есть от UnrealEd, blender и т. п. прог, но пока что логика неясна... Но учту.

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

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

еще добавлю, а то догадаться не просто: тыкаешь в узел - выводит напряжение, тыкаешь в детальку, например резистор, выдает ток через него.

Еще, а то не везде написано: когда новую схему делаешь, выбрав детальку Ctrl-E - отражение, Ctrl-R поворот. Остальное - разберешься в бою... ;) Модели есть на черта-лысого, но я, например, никогда не увлекаюсь точным выбором резиторов и конденсаторов... Беру базовые, только если что-то неясно, тогда можно всякие ESR и прочую муть учитывать. То же и с транзиторами, если это не подбор экзотических режимов. На почти любые аналоговые микросхемы написаны модели, их так и ищешь в сети: "LTspice model for NE555". Причем в сети полно моделей, разной степени аккуратности, это как программы для Ардуино ;) ;) ;)! Есть люди, что пишут мат-модели, есть маньяки, создающие модели на уровне элементов... разные есть люди... Схемное моделирование - чем-то и правда похоже на программирование.

ВН
Offline
Зарегистрирован: 25.02.2016

это почитать про LTspice  https://yadi.sk/i/bhb-_hOQaOdKQA

 

Voodoo Doll пишет:
BH, я так понимаю это с 555 в качестве компаратора. Не совсем понятно как оно работает, всмысле в чём роль транзистора.

В работе разбираться желательно с внутренней схемой 555-го. 

Тразистор меняет порог срабатывания внутренних компараторов, а внешние резисторы около базы согласуют уровни, т.е. пилу от генератора и сигнал от нч ШИМ ардуины, чтобы более-менее вписать параметры последнего в пилу первого. 

Voodoo Doll пишет:
BH, надо ли делать отдельный каскад на 555 в качестве драйвера затвора? Как у jeka_tm в теме про катер. Или тот корпус что работает в качестве компаратора, будет заодно и драйвером? Выход 555 240 мА вроде. Входная ёмкость в пределах сотен пФ (у меня транзисторы IRFR024N)

из-за  питания  +5в,  сейчас прямо на выходе 555 можно ставить только полевики с логическим уровнем управления. Можно запитать второй 555 от 10-12в и вроде как должно работать, надо глянуть в модели,  тогда можно будет пробовать использовать твои транзисторы

 

ВН
Offline
Зарегистрирован: 25.02.2016

wdrakula пишет:
Только время моделирования у ВН стоит настолько дохера (1000 мсек),

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

вообще в любой момент можно остаовить расчет, топнув по пикче ладони.

зы.  кстати, чем хорош LTspice, он считает математику на всех ядрах сразу, микрокап до 9 такого не умел. 

Voodoo Doll пишет:
<нытьё>Софтина неудобная, зумишь график и нет полосы прокрутки, как в аудиоредакторе. Должно быть.</нытьё>
щелкаешь правой кнопкой мыши, когда указатель в поле графиков, и в выпадающем окне выбираешь - убрать зум. Потом выбираешь новое поле зума. Это самый быстрый способ, есть и другие, не столь удобные и быстрые.

 

ВН
Offline
Зарегистрирован: 25.02.2016

немного попилил схему и вот что получилось https://yadi.sk/i/7Iw9ZqBMRmWPJg

синий график это пила уровни которой мы можем получить от ардуино после интегратора

красный график это та жк синяя пила только смещенная и масштабированная в диапазон белой пилы, которая идет от первого таймера

ну и зеленая эпюра это ток резитора в стоке полевика, конечный шим.

вначале, до 0,1мс, видно, что нижний красный уровень не до конца согласован, почему вначале и существуют импульсы.

Тут принципиално пока биться не за что, т.к. моделль это модель, более или менее удачная, и ее следует согласовывать с живым железом. Но принцип работы, чего сделедут добиваться и как нужно настраивать - понять впоне позволяет.

обновленная модель https://yadi.sk/i/C7GAzTooboHwPA

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Чего-то я или не понимаю, или от этих паразитных сработок компаратора на низких уровнях не избавиться. Опускаю CV ниже пилы, не помогает - всё равно при нулевом входном напряжении есть импульсы на выходе. Мой PNP - S8550, возможно у него слишком большой коэффициент усиления. Лечится это резистором между коллектором и базой, или нет?

UPD. Видимо, придётся на выход формирователя лепить конденсатор, чтобы заблурить сигнал. А уже дальше gate driver. Ладно, плевать, будет ещё один корпус 555, они дешёвые.

Пока получается 2N+1 где N - количество каналов, по стоимости одинаково с TLC5940 (11 юаней). Чего только ни придумаешь, лишь бы не ждать/покупать...

Старый вариант (без отдельного таймера под драйвер) получается так:

Укоротить пики ШИМ на низких регулировках могу (UPD4: не могу, минимум 600 нс), подняв частоту. Но хз как избавиться от них совсем. Передвигание CV и напряжения в базе транзистора ни выше, ни ниже нижнего края пилы не помогает. Видимо, это какое-то свойство 555-го.

UPD3. Да, номиналы резисторов из наличиествующего.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Voodoo Doll, Вы сейчас столкнулись со всеми прелестями аналогового сигнала - шумами и наводками.

И идейно и схемотехнически работа с аналоговым сигналом проще, чем с цифровым. Но из-за того, что с аналоговым сигналом невозможно добиться 100% повторяемости (а 99.9% повторяемость очень дорого стоит), сейчас практически все, что можно, переводят на цифру.

Пересмотрите свое ТЗ, обязательно ли использование аналогового сигнала? Если "почти то, что нужно, но хотелось бы немного улучшить", то велика вероятность того, что это "улучшение" обойдется существенно дороже, чем Вы себе первоначально представляли.

Гриша
Offline
Зарегистрирован: 27.04.2014

Voodoo Doll пишет:

Вопрос заключается в следующем:

Есть напряжение. Я могу его сделать ШИМом arduino с фильтром, сдвиговыми регистрами, в общем - есть некая аналоговая регулировка. Надо сделать из неё Fast PWM для светодиодов, чтобы те не лупили по глазам, мерцая от недостаточно резвой коммутации.

Гриша пишет:

Voodoo Doll, регулировка яркости по каналам независимая или все каналы регулируются одновременно?

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

Voodoo Doll пишет:

Гриша, для моих задач достаточно восьмиразрядного (0-255). Каждый отдельно.

ОК, 1 генератор +  555 по кал-ву каналов + столько же  аналоговых сигналов управления.

схема в абзаце Таинственный вывод 5 CONT и там же описание. и никакой пилы...

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

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

Просто мне всегда попадались схемы astable со вводом внешнего напряжения в вывод 5, что отражается на частоте. Всмысле, на одном таймере, а не на двух. Тащемта, ситуация весьма дурацкая, т. к. я же по-идее знаю что CV влияет на порог срабатывания, и может оказаться что мы тут на протяжении всей темы просто маялись дурью, а надо было просто соединить последовательно два 555, потому что такое мне уже приходилось делать для самодельного передатчика IR 38кГц.

ВН
Offline
Зарегистрирован: 25.02.2016

Voodoo Doll, вывод DIS  у 555-го это коллектор разрядного транзистора, т.е. спад пилы определяется постоянной времени R3 C1 и для небольших С1 R3 можно совсем исключить, тогда время спада будет минимально возможным, соотвественно и RESET сократится.  Постоянная R1 C1 определяет время нарастания пилы, если R3 мало по сравнинию с R1.

RESET  безусловно сбрасывает внутренний RS-тригер, т.е. неуничтожимый пик на выходе это инвертированный  RESET входа. Сделать его меньше можно, как описано выше, совсем убрать не получится в этой схеме. 

 andriano, конечно прав на счет цифры и баян из 24-х каналов наверно будет монструозной конструкцией, т.е.тут стоит подумать, стоит ли оно того. Как минимум сначала нужно делать макет, чтобы подтвердить параметры модели.

R9  у тебя в схеме можно безболезненно выбросить, т.к. он вообще ни на что не влияет, как и любовно вставленный кудя ни попадя Rl в статье от Гриша.

 

Гриша
Offline
Зарегистрирован: 27.04.2014

и все-таки немного я не понимаю, что в оканцове выбрали за базовую схему.

я предлагаю вариант - собираем задающий генератор (на чем угодно), потом на 555й собираем одновибраторы - которые будут ШИМом. 1 коспус=1ШИМ. конечно 255 шагов там не будет и плавать яркость будет - немного, зависьт от стабильности генератора, "чистоты" управляющего сигнала и зарядовой емкости 555й. 

картинку и сайт выбрал первый попавшийся, сам такого не собирал, я просто знаю что так сделать можно. Допускаю, что на том сайте и ошибка есть - там просто идея, и очень простая, без пилы + компаратор.    

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Гриша, не устраивает:

Возможно, я по прежнему чего-то не понимаю, но имхо это изначально кривая затея использовать 555 как компаратор просто потому что "ну там жи есть кампаратор!!111одинодин". Ни на 1/3...2/3 питающего, ни на 0...5 он не регулируется как мне надо (неуничтожимые пики на низких регулировках ШИМ, из-за чего светики будут подсвечивать). Буду думать как прикрутить нормальный внешний компаратор.

Оно конечно не видно и вообще можно забить, но тут такое дело что на этот светильник могут посмотреть в ваще полной темноте (ваще ваще полной, всмысле хоть глаз выколи), и на его месте будет чёткий прямоугольник из кристаллов в светиках, а надо чтобы была вообще 100% чернота. Так что от даже призрачного подшимивания в наносекунды на 0% НИАБХАДИМО полностью избавиться.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Новый вариант схемы и как это работает (почти 100% соответствие моей странной идее):

Вопрос про usability (удобство использования): имеет смысл отмасштабировать от 1.5-3.5 В до 0-5 В, чтобы получить регулировку в 100% диапазона. Если сделать это на транзисторе, оно не будет сильно плавать? Или таки лучше на операционнике? Требования по температурной стабильности - чтобы от плюс 5 до плюс 35 градусов (жилая комната) никуда не уползало. По мне, транзистор будет самое то.

ВН
Offline
Зарегистрирован: 25.02.2016

Директива .temp xx установит температуру хх.

Директива .step temp xx yy zz проведет анализ в диапазоне температур от xx до yy с шагом zz.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Приехали TLC5940, так что проект остановлен, до тех пор пока не возникнет моё особое настроение. Кто будет повторять - от себя скажу что видимо от ОУ в схеме не избавиться, слишком большая разница входного сопротивления схемы и выходного сопротивления фильтра. Если сильно уменьшить резисторы и увеличить конденсаторы в фильтре, он ведёт себя неадекватно. В любом случае, регулируется сие чудо не в 0..100%, а меньше. Поэтому ни полного заполнения, ни полного гашения добиться не могу.

Буду пока делать нормально (цифровой). Посетят идеи по аналоговому - выложу.