BAM/Slow PWM -> Fast PWM с пилой на 555, аналоговые вопросы
- Войдите на сайт для отправки комментариев
Доброго времени суток, all. Может быть логичнее было бы задать вопрос на easyelectronics у DiHalt'а, но там бы скорее всего мне посоветовали какую-нибудь новомодную микросхему, аргументировав (резонно), что моя - старая и дорогая.
Вопрос заключается в следующем:
Есть напряжение. Я могу его сделать ШИМом arduino с фильтром, сдвиговыми регистрами, в общем - есть некая аналоговая регулировка. Надо сделать из неё Fast PWM для светодиодов, чтобы те не лупили по глазам, мерцая от недостаточно резвой коммутации. Почему я не сделаю это на штатном режиме Fast PWM контроллера, уменьшив предделитель? Потому что там этих выводов -- считанное количество, а я хочу минимум 24; согласитесь, мутить под это четырехъядерную Arduino Uno - тупо. Mega2560 паять не умею (между ног слишком малое расстояние, плату такого качества на плоттере не сделать). TLC5940NT к сожалению закончились. Зато 555 и LM393 у меня ещё до чёрта.
Как я себе это представляю: есть выход с напряжением, дополнительно фильтрую допустим 4.7 кОм+0.1 мкФ, подаю вот в это:
Вопрос по этой схеме только один: я считаю, что здесь вместо усилителя допустимо ставить компаратор. Но возможно я не знаю какого-то волшебного колдунства и компаратор будет ошибкой. Так ли это?
Второй вопрос про то, где взять пилу.
Я тут вижу какую-то явную тёплую ламповость и дефицитные/древние детали, обозначения которых мне ни разу не попадались, и мне это не нравится. График пилы мне попадался на обычной схеме с 555 (плюс, резистор до 7, резистор до 2 и 6, конденсатор), почему бы просто не снять с конденсатора и подать в повторитель?
Третий вопрос, очевидно жи, опять про усилитель. Их у меня дефицит. Допустимо ли использовать в качестве повторителя компаратор? Допустимо ли вообще не делать никаких повторителей, а просто считать пилой на первой схеме плюс конденсатора у 555? Вроде как у компаратора огромное входное сопротивление и он такие фокусы позволяет.
Второй вопрос про то, где взять пилу.
На выход (пин 3) цепляете конденсатор и резистор. Вот примерно так:
Как видите, нормальная пила.
Пояснения по логике и подбору номиналов нужны?
так на 24-ти выходах ардуины планируется медленный ШИМ для регулировки 24-х каналов или как?
Voodoo Doll, я бы выкинул из первой схемы транзистор с обвязкой и сразу треугольник (вам ведь все равно - треугольник или пила) подавал на вход компаратора.
И что-то похожее на Вашу вторую схему, но без лишних входов:
ЕвгенийП, наверное, Вы хотели изобразить что-то вроде:
Еще, кстати, генератор на ОУ, у которого сигнал намного ближе к треугольнику, чем в процитированных схемах на 555:
andriano, да - всё равно какая форма. Насчёт генератора на операционном - учту что сигнал более треугольный, но какими-нибудь LM358 надо под это ещё закупаться. Думаю, пока остановлюсь на варианте с RC цепью на выходе 555.
Вообще, меня особо не интересует что пила эта на 555 получается с такими "круглыми" зубьями из-за того что напряжение на конденсаторе изменяется экспоненциально. У меня есть таблица (ну или не есть, а я в Corel нарисую и по новой рассчитаю) которой можно это компенсировать, что-то типа
Из того как я понимаю, они связаны с постоянной времени, которую можно привязать к частоте. То есть хочу 10 кГц - нормально будет 1 кОм + 0.1 мкФ. Но может мне надо учитывать цифру 0.00000125 Дж в конденсаторе, и что оно растёт от напряжения и ёмкости. Это надо учитывать?
BH, да, для "типа" плавного ШИМ хорошего качества, который я могу допустим масштабировать на регистрах, пожертвовав чем-то (частотой или разрядностью). Про разрядность конечно сказки, т. к. напряжение на конденсаторе фильтра тоже будет изменяться ступеньками, но можно тут выезжать на большой ёмкости (мкФ так 10, а то и 47). Вообще, по умненькому надо бы делать драйвер для светодиодов (источник тока), но им я займусь когда куплю операционников. А пока чисто в качестве эксперимента.
...но какими-нибудь LM358 надо под это ещё закупаться...
...То есть хочу 10 кГц...
...когда куплю операционников.
Должен заметить, LM358 - не лучший выбор. С одной стороны - у них выход асимметричный: примерно от -U до (+U-1.5V). С другой - скорость нарастания - всего 0.3V/us, т.е. на частоте 10 kHz на фронты триггера Шмитта будет приходиться примерно четверть периода, что не есть хорошо. В общем, треугольник тоже окажется скругленным, а значит, высокие скважности с последующего компаратора получить будет проблематично.
Ну, таки да. Да и зубы вовсне не круглые, если постоянную времени правильно подобрать.
Я Вот Вам другой пример сделал.
Взял самую обычную схему мультивибратора на NE555, которая везде валяется (частота задаётся C1, R1 и R2) и просто добавил в неё конденсатор и резистор (С2, R3). Ну, и посмотрите на сигналы до R3 и после:
вот можно попробовать собрать макетик и посмотреть, как оно получится на практике https://yadi.sk/i/7nBInhl6BWaRUQ
первый таймер формирует пилу частотой около 30кГц и импульсы сброса для 2-х каналов ШИМ, остальные каналы можнно добавлять аналогично. источники V2, 3 - входы медленного ШИМ. питаться все должно от +5В.
полевик на выходе покзан условно. выход 555-го относительно мощный и может вполне потянуть не слишком тяжелый затвор
ссылка на модель https://yadi.sk/i/mVF2ZBN3eRgBmA
если у кого есть желание посмотреть и попилить напильником =)
при текущих параметрах V2, 3 стоит отцепить интегрирующие кондесаторы 1мкФ в каналах, т.к. там сейчас формируется просто пила, которая моделирует интегрированный низкочастотный ШИМ.
Voodoo Doll, регулировка яркости по каналам независимая или все каналы регулируются одновременно?
сколько групп каналов (если есть они) ну и сколько ступений яркости требуется?
UPD спросил потому, что можно замутить на r-2r генератор переменной скважности на достаточно высокой частоте. Схемы не встречал, но теория не запрещает на 555й такое замутить.
Гриша, для моих задач достаточно восьмиразрядного (0-255). Каждый отдельно.
BH, я так понимаю это с 555 в качестве компаратора. Не совсем понятно как оно работает, всмысле в чём роль транзистора. Если не сложно, можно это как-то просимулировать или на бумажке нарисовать, что примерно там показывает осциллограф? Т. к. у меня его нет, а понять хочется. Вообще, в планах было использовать 555 именно как источник пилы и gate driver для транзисторов.
UPD. Вариант BH даже более заманчивый, т. к. 555 дешевле, с tmall можно грузить лопатой по 17 фэней в розницу.
BH, надо ли делать отдельный каскад на 555 в качестве драйвера затвора? Как у jeka_tm в теме про катер. Или тот корпус что работает в качестве компаратора, будет заодно и драйвером? Выход 555 240 мА вроде. Входная ёмкость в пределах сотен пФ (у меня транзисторы IRFR024N)
У ВН вторая ссылка на Ltspice модель. Сама программа - бесплатна, у тебя получится воспользоваться гуглем, я верю!
Там и увидишь, как оно на осцилографе будет.
ЛТспайс - фактически стандарт схемного моделирования. Он запускаетсмя как на винде Б..гопротивной ;), так и под Вайном на Линухе.
Потрать два дня на документацию по нему... есть простая от ВалВолодина, штоп сразу в бой! От валволоадина и доп модели поставь, иначе, наприммер модели 555-ого по умолчанию нету. А так - у ЛЮБОГО производителя есть спайс модекли на сайте для любой его херни, продаваемой на рынке. (ну само-собой, акромя процессоров всяких и прочей цифровой сложности).
Ставить старый 4 спайс или новый, какой там он на сайте - выбор твой, все работает и в 4.
Еще раз советую - поставь LTspice! Два дня изучения тебе хватит, но жизнь станет сильно проще. Я даже сам тебе найду ссылку!
Это очень хороший совет
===============
Только время моделирования у ВН стоит настолько дохера (1000 мсек), что кажеццо, будто у него 64Гига на компе! и Ксеон 8ми ядерный ;)
wdrakula, спасибо.
если что-то неясно по модели от ВН, как смотреть осцилограммы, как выбрать точку просмотра, что он вообще написал, что такое PULSE()? - и прочее, ты спрашивай.... почти все можно быстро найти в гугле, но если что - подскажу. У меня на Линухе с 8 гигами и на стареньком Core I5-3470 3.2 GHz его модель считается около минуты... ну может чуть меньше.
У меня тоже минута, p6200 (более древний чем i7-like) 2.13 ГГц 6Гб мозга, ос Win7 ult x64. Пока что неясно, надо ли жать обязательно run или просто достаточно в кнопке с графиком (pick visible traces) выбрать интересующие точки, т. к. при этом график строится моментально. Если Run то где выбирать точки, по умолчанию оно думает и на графике темно-черно. Pulse как я понимаю задаёт темпоральный (временнОй то есть) профиль сигнала, только непонятен формат, очевидно что первый ноль и не первый ноль имеют какие-то различные значения, всмысле важен порядок. Короче надо понять синтаксис.
btw, где уменьшить время обсчёта, допустим меня интересует 100 мс а не секунда?
<нытьё>Софтина неудобная, зумишь график и нет полосы прокрутки, как в аудиоредакторе. Должно быть.</нытьё>
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. для всяких зумов и скролов куча горячих клавиш... вот их нужно будет учить ;) ;) ;)
Добавлю из человеколюбия: попробуй поработать мышкой в окне графиков с зажатым контролом. ;)
с зажатым Ctrl и так привычка есть от UnrealEd, blender и т. п. прог, но пока что логика неясна... Но учту.
Если макет устроит, потом соберу и открою тему в проектах. Было бы кстати иметь какие-то контакты админов форума или присобачить уже личку, т. к. хочу потом склеить эти темы а куда обращаться - неизвестно. Электропочта собака ардуино ру как-то нечётко работает, но может и в самом деле отвечают, не знаю.
еще добавлю, а то догадаться не просто: тыкаешь в узел - выводит напряжение, тыкаешь в детальку, например резистор, выдает ток через него.
Еще, а то не везде написано: когда новую схему делаешь, выбрав детальку Ctrl-E - отражение, Ctrl-R поворот. Остальное - разберешься в бою... ;) Модели есть на черта-лысого, но я, например, никогда не увлекаюсь точным выбором резиторов и конденсаторов... Беру базовые, только если что-то неясно, тогда можно всякие ESR и прочую муть учитывать. То же и с транзиторами, если это не подбор экзотических режимов. На почти любые аналоговые микросхемы написаны модели, их так и ищешь в сети: "LTspice model for NE555". Причем в сети полно моделей, разной степени аккуратности, это как программы для Ардуино ;) ;) ;)! Есть люди, что пишут мат-модели, есть маньяки, создающие модели на уровне элементов... разные есть люди... Схемное моделирование - чем-то и правда похоже на программирование.
это почитать про LTspice https://yadi.sk/i/bhb-_hOQaOdKQA
В работе разбираться желательно с внутренней схемой 555-го.
Тразистор меняет порог срабатывания внутренних компараторов, а внешние резисторы около базы согласуют уровни, т.е. пилу от генератора и сигнал от нч ШИМ ардуины, чтобы более-менее вписать параметры последнего в пилу первого.
из-за питания +5в, сейчас прямо на выходе 555 можно ставить только полевики с логическим уровнем управления. Можно запитать второй 555 от 10-12в и вроде как должно работать, надо глянуть в модели, тогда можно будет пробовать использовать твои транзисторы
ну это было поставлно, когда смотрелась работа интегратора, а т.к. шим медленный, то и пришлось ставить большое время, потом я на это дело забил и сделал просто пилу, бо конденсатор можно всегда подобрать
вообще в любой момент можно остаовить расчет, топнув по пикче ладони.
зы. кстати, чем хорош LTspice, он считает математику на всех ядрах сразу, микрокап до 9 такого не умел.
немного попилил схему и вот что получилось https://yadi.sk/i/7Iw9ZqBMRmWPJg
синий график это пила уровни которой мы можем получить от ардуино после интегратора
красный график это та жк синяя пила только смещенная и масштабированная в диапазон белой пилы, которая идет от первого таймера
ну и зеленая эпюра это ток резитора в стоке полевика, конечный шим.
вначале, до 0,1мс, видно, что нижний красный уровень не до конца согласован, почему вначале и существуют импульсы.
Тут принципиално пока биться не за что, т.к. моделль это модель, более или менее удачная, и ее следует согласовывать с живым железом. Но принцип работы, чего сделедут добиваться и как нужно настраивать - понять впоне позволяет.
обновленная модель https://yadi.sk/i/C7GAzTooboHwPA
Чего-то я или не понимаю, или от этих паразитных сработок компаратора на низких уровнях не избавиться. Опускаю CV ниже пилы, не помогает - всё равно при нулевом входном напряжении есть импульсы на выходе. Мой PNP - S8550, возможно у него слишком большой коэффициент усиления. Лечится это резистором между коллектором и базой, или нет?
UPD. Видимо, придётся на выход формирователя лепить конденсатор, чтобы заблурить сигнал. А уже дальше gate driver. Ладно, плевать, будет ещё один корпус 555, они дешёвые.
Пока получается 2N+1 где N - количество каналов, по стоимости одинаково с TLC5940 (11 юаней). Чего только ни придумаешь, лишь бы не ждать/покупать...
Старый вариант (без отдельного таймера под драйвер) получается так:
Укоротить пики ШИМ на низких регулировках
могу(UPD4: не могу, минимум 600 нс), подняв частоту. Но хз как избавиться от них совсем. Передвигание CV и напряжения в базе транзистора ни выше, ни ниже нижнего края пилы не помогает. Видимо, это какое-то свойство 555-го.UPD3. Да, номиналы резисторов из наличиествующего.
Voodoo Doll, Вы сейчас столкнулись со всеми прелестями аналогового сигнала - шумами и наводками.
И идейно и схемотехнически работа с аналоговым сигналом проще, чем с цифровым. Но из-за того, что с аналоговым сигналом невозможно добиться 100% повторяемости (а 99.9% повторяемость очень дорого стоит), сейчас практически все, что можно, переводят на цифру.
Пересмотрите свое ТЗ, обязательно ли использование аналогового сигнала? Если "почти то, что нужно, но хотелось бы немного улучшить", то велика вероятность того, что это "улучшение" обойдется существенно дороже, чем Вы себе первоначально представляли.
Вопрос заключается в следующем:
Есть напряжение. Я могу его сделать ШИМом arduino с фильтром, сдвиговыми регистрами, в общем - есть некая аналоговая регулировка. Надо сделать из неё Fast PWM для светодиодов, чтобы те не лупили по глазам, мерцая от недостаточно резвой коммутации.
Voodoo Doll, регулировка яркости по каналам независимая или все каналы регулируются одновременно?
... спросил потому, что можно замутить генератор переменной скважности на достаточно высокой частоте.
Гриша, для моих задач достаточно восьмиразрядного (0-255). Каждый отдельно.
ОК, 1 генератор + 555 по кал-ву каналов + столько же аналоговых сигналов управления.
схема в абзаце Таинственный вывод 5 CONT и там же описание. и никакой пилы...
Гриша, я подумаю. Может быть действительно в погоне за ШИМ не вижу очевидного.
Просто мне всегда попадались схемы astable со вводом внешнего напряжения в вывод 5, что отражается на частоте. Всмысле, на одном таймере, а не на двух. Тащемта, ситуация весьма дурацкая, т. к. я же по-идее знаю что CV влияет на порог срабатывания, и может оказаться что мы тут на протяжении всей темы просто маялись дурью, а надо было просто соединить последовательно два 555, потому что такое мне уже приходилось делать для самодельного передатчика IR 38кГц.
Voodoo Doll, вывод DIS у 555-го это коллектор разрядного транзистора, т.е. спад пилы определяется постоянной времени R3 C1 и для небольших С1 R3 можно совсем исключить, тогда время спада будет минимально возможным, соотвественно и RESET сократится. Постоянная R1 C1 определяет время нарастания пилы, если R3 мало по сравнинию с R1.
RESET безусловно сбрасывает внутренний RS-тригер, т.е. неуничтожимый пик на выходе это инвертированный RESET входа. Сделать его меньше можно, как описано выше, совсем убрать не получится в этой схеме.
andriano, конечно прав на счет цифры и баян из 24-х каналов наверно будет монструозной конструкцией, т.е.тут стоит подумать, стоит ли оно того. Как минимум сначала нужно делать макет, чтобы подтвердить параметры модели.
R9 у тебя в схеме можно безболезненно выбросить, т.к. он вообще ни на что не влияет, как и любовно вставленный кудя ни попадя Rl в статье от Гриша.
и все-таки немного я не понимаю, что в оканцове выбрали за базовую схему.
я предлагаю вариант - собираем задающий генератор (на чем угодно), потом на 555й собираем одновибраторы - которые будут ШИМом. 1 коспус=1ШИМ. конечно 255 шагов там не будет и плавать яркость будет - немного, зависьт от стабильности генератора, "чистоты" управляющего сигнала и зарядовой емкости 555й.
картинку и сайт выбрал первый попавшийся, сам такого не собирал, я просто знаю что так сделать можно. Допускаю, что на том сайте и ошибка есть - там просто идея, и очень простая, без пилы + компаратор.
Гриша, не устраивает:
Возможно, я по прежнему чего-то не понимаю, но имхо это изначально кривая затея использовать 555 как компаратор просто потому что "ну там жи есть кампаратор!!111одинодин". Ни на 1/3...2/3 питающего, ни на 0...5 он не регулируется как мне надо (неуничтожимые пики на низких регулировках ШИМ, из-за чего светики будут подсвечивать). Буду думать как прикрутить нормальный внешний компаратор.
Оно конечно не видно и вообще можно забить, но тут такое дело что на этот светильник могут посмотреть в ваще полной темноте (ваще ваще полной, всмысле хоть глаз выколи), и на его месте будет чёткий прямоугольник из кристаллов в светиках, а надо чтобы была вообще 100% чернота. Так что от даже призрачного подшимивания в наносекунды на 0% НИАБХАДИМО полностью избавиться.
Новый вариант схемы и как это работает (почти 100% соответствие моей странной идее):
Вопрос про usability (удобство использования): имеет смысл отмасштабировать от 1.5-3.5 В до 0-5 В, чтобы получить регулировку в 100% диапазона. Если сделать это на транзисторе, оно не будет сильно плавать? Или таки лучше на операционнике? Требования по температурной стабильности - чтобы от плюс 5 до плюс 35 градусов (жилая комната) никуда не уползало. По мне, транзистор будет самое то.
Директива .temp xx установит температуру хх.
Директива .step temp xx yy zz проведет анализ в диапазоне температур от xx до yy с шагом zz.
Приехали TLC5940, так что проект остановлен, до тех пор пока не возникнет моё особое настроение. Кто будет повторять - от себя скажу что видимо от ОУ в схеме не избавиться, слишком большая разница входного сопротивления схемы и выходного сопротивления фильтра. Если сильно уменьшить резисторы и увеличить конденсаторы в фильтре, он ведёт себя неадекватно. В любом случае, регулируется сие чудо не в 0..100%, а меньше. Поэтому ни полного заполнения, ни полного гашения добиться не могу.
Буду пока делать нормально (цифровой). Посетят идеи по аналоговому - выложу.