Jump to content

    
Sign in to follow this  
Tuvalu

Трёхфазный ИНЧ генератор треугольного сигнала

Recommended Posts

Здравствуйте!

Хорошо известна схема генератора треугольного сигнала, построенная по принципу "интегратор-компаратор" - см. рисунок. Требуется подобный, но трёхфазный ИНЧ генератор (частотой 0,1...10 Гц) - три выхода с разностью фаз в 120°. Крайне желательно частоту (Rate) регулировать одинарным потенциометром, уровень вых. сигнала (Depth) - как получится; видимо, придётся ставить что-то вроде (синхронно) управляемых напряжением аттенюаторов (потенциометров, VCA...).

post-72254-1430521900_thumb.png

Edited by Tuvalu

Share this post


Link to post
Share on other sites
ИНЧ генератор

А что такое "ИНЧ" ? А так - проще всего сделать на МК, например, с тремя восьмиразрядными портами. На каждый порт по ЦАП'у на резисторах. Таблицы значений сигналов (три) в памяти МК. Дальше - циклический перебор и выдача на ЦАПы значений из таблиц. Для таких частот - самое лучшее и простое, ИМХО. Регулировать частоту программно, потенциометром, подключенным к АЦП МК, или же меняя тактовую частоту МК (тактируя его от внешнего генератора с изменяемой частотой) ...

Share this post


Link to post
Share on other sites

[Это смотря какая частота нужна автору. А то и быстродействия может не хватить.](зачеркнуто) Сорь, что-то невнимательно прочитал топик...

 

Таблицы значений сигналов (три) в памяти МК.
Одна. И затем циклический выбор из нее по трем указателям, смещенным на треть.

Но поскольку нужен треугольник, то можно сделать еще проще: просто инкремент-декремент трех переменных.

 

проще всего сделать на МК, например, с тремя восьмиразрядными портами.
Для 10 Гц проще взять ЦАПы с SPI, тогда и одним портом обойтись можно.

 

Edited by Меджикивис

Share this post


Link to post
Share on other sites
А что такое "ИНЧ" ?

Инфра Низко Частотный.

Это смотря какая частота нужна автору. А то и быстродействия может не хватить.

Я же написал: 0,1...10 Гц.

 

Так и знал. Я не разбираюсь в МК. Вообще. Требуется аналоговое решение.

Edited by Tuvalu

Share this post


Link to post
Share on other sites

Для низкочастотного диапазона микроконтроллер - вне конкуренции.

Аналоговое решение будет чрезвычайно громоздким и нестабильным.

 

Если Вы не можете программировать, то предлагаю собрать "на рассыпухе" - то есть на простых логических элементах, а-ля К155, К176 или К561.

Берете три реверсивных счетчика, подключаете к ним три ЦАП-а и еще немного логических элементов, переключающие счет вперед-назад.

 

Чисто аналоговое решение может быть таким:

Этот самый генератор, который на вашем рисунке. И к нему еще два таких же интегратора, но переключаемые не компараторами, а триггерами Шмитта, настроенными на срабатывание на 1/3 от величины тругольника, даваемого первым.

Один от прямого сигнала, другой - от инвертированного. Таким образом, один дополнительный интегратор будет срабытывать на 1/3 нарастания исходного треугольника, а другой - на 1/3 спада.

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

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

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

Но по точности, стабильности и габаритам аналоговое решение будет значительно проигрывать ЦАП-ам.

 

 

 

 

 

Share this post


Link to post
Share on other sites

Меджикивис, спасибо!

 

 

Для низкочастотного диапазона микроконтроллер - вне конкуренции.

Аналоговое решение будет чрезвычайно громоздким и нестабильным.

Да, уж... А насколько сложна поставленная задача для первого проекта на МК? Может, и правда, начать с этого, как по-вашему?

Сколько примерно потребуется времени при боле-менее регулярных занятиях "по вечерам" - неделя, месяц, год? Какой МК оптимален для этой задачи? Можно ли уложиться в 1мА потребления?

Edited by Tuvalu

Share this post


Link to post
Share on other sites

Я думаю, что взявшись за микроконтроллеры, Вы значительно выиграете: в дальнейшем МК дадут Вам много преимуществ.

Кроме того, нету лучшего способа изучить что-нибудь, чем иметь хорошую задачу, которую на практике хотелось бы решить. И такая задача у Вас как раз есть :)

"Рекомендовать" не буду, скажу только, как сам начинал.

Я работаю с микроконтроллерами PIC. Этот выбор сделал потому, что для них есть язык программирования Pic-Basic Pro, а Бейсик я уже знал хорошо.

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

Для этого нужен программатор. Для PIC программатор чрезвычайно прост, пара транзисторов, несколько диодов. Подключается к компьютеру через COM-порт. Софт для такого программатора есть бесплатный, я пользуюсь "IC-prog".

Ну и на этом для начала достаточно. У меня ушла приблизительно неделя и по большей части на подборку программатора и софта к нему.

Продаются современные универсальные программаторы, подключаются через USB, к ним прилагается весь необходимый софт, но такая коробочка стоит дорого, под 10 тыс.руб. ориентировочно.

 

Сейчас еще появился модульный микроконтроллерный набор Ардуино, это вообще почти как кубики "Лего". Многим нравится, но я не пробовал никогда, так что об этом расскажут другие. Мне и PIC-ов вполне достаточно. Тем более, что давние (простые и дешевые) PIC-и, такие как PIC16F84A, весьма "дубовые" - в смысле устойчивы к помехам и как раз годятся для моих задач.

Для вашей тоже.

 

 

 

Можно ли уложиться в 1мА потребления?
Можно.

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

 

 

Share this post


Link to post
Share on other sites
PIC-и с этой стороны не очень, есть другие серии микроконтроллеров, особо микромощные.

сгенерить 10Гц особая скорость не нужна, а с часовым кварцем наверное любой контроллер в 1мА уложится

Share this post


Link to post
Share on other sites

Ему же не прямоугольник надо 10 Гц.

Пусть возьмем 10-разрядный ЦАП. Значит нужно сделать 1000 шагов за полупериод - 20кГц.

А если это ЦАП с последовательной загрузкой, 10 бит - еще в 10 раз больше - 200 кГц. Да еще на вычисления тоже что-то нужно оставить.

Вычисления по-минимуму следующие:

1. Переслать по указателю очередной бит в порт

2. Установить клок

3. Сбросить клок

4. Инкрементировать указатель

5. Проверить, все ли биты переданы

6. если нет, перейти к п.1

Если каждая из команд выполняется только за один такт, то 200кГц * 6 = 1200кГц

Всё это- на 3 ЦАПа - 3.6 Мгц итого.

Как раз в 100 раз поболее часового кварца :)

 

 

Edited by Меджикивис

Share this post


Link to post
Share on other sites
А насколько сложна поставленная задача для первого проекта на МК?

Тривиальная задача. Берете какую-нибудь ATMega8515 и делаете сначала один канал, а не три, это совсем просто. Сделаете и все сами поймете. Программатор - PonyProg или AVReal. Среда разработки - Codevision. С нуля (полного) можно сделать недели за две - три ...

 

Share this post


Link to post
Share on other sites

Возвращаясь к тематике раздела форума, т.е. первоначально запрошенному аналоговому способу — например, решение в лоб:

 

1) регуляторы частоты и амплитуды буферируются — сигналы +F и +A соответственно;

 

2) инвертирующими усилителями (инверторами) создаются сигналы –F и –A;

 

3) +F и –F, через аналоговый ключ SW1, переключающий между ними, поступают на вход интегратора (резистор);

 

4) +A и ноль, через аналоговый ключ SW2, переключающий между ними, поступают на вход компаратора интегратора;

 

5) выход этого компаратора соответствующе переключает SW1 и SW2;

 

6) полученный таким образом на выходе интегратора треугольник вдвое ниже рабочей частоты преобразуется в пилу номинальной частоты — посредством добавления инвертора относительно A/2 и аналогового ключа SW3, переключающего компаратором интегратора между ними;

 

7) из полученного таким образом линейного сигнала фазы S1 создаётся сдвинутый на 120° сигнал S2 — прибавлением к нему одним суммирующим усилителем X2a=S1–A/3, а вторым X2b=S1+2A/3, и компаратора X2a>0, переключающего аналоговым ключом SW4 между ними;

 

8) аналогично создаётся и сигнал S3, т.е. сдвинутый на 240° — прибавлением X3a=S1–2A/3 и т.п.;

 

9) сигналы S1, S2 и S3 одинаковым образом преобразовываются в треугольные — посредством добавления к ним инверторов относительно A/2 и компараторов Sx>A/2, переключающих аналоговыми ключами между ними.

Share this post


Link to post
Share on other sites

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

А вот аналоговое решение по моему довольно простое. Ставим три генератора пилы. И зажимаем входы компараторов аналоговыми ключами. В начальном положении компараторы не работают так как их входы подключены на землю аналоговыми ключами.

Далее берем конденсатор и к нему источник тока который его заряжает. Получаем линейно растущее напряжение по времени.

Подключаем к нему три компаратора,у каждого свой порог соответствует фазе. Конденсатор в начальном положении подключен кнопкой к земле, то есть разряжен.

После чего отпускаем кнопку пуска.

1. Конденсатор начинает заряжаться постоянным током и на нем линейно растет напряжение по времени. Компараторы срабатывают один за другим и отпускают по очереди генераторы пилы. Генераторы пилы запущенные в разные моменты времени вырабатывают пилу со сдвигом по фазе.

2. Разброс по фазе регулируется порогами срабатывания компараторов подключенных к конденсатору.

 

Если задача сделать разбег по фазе регулируемым одним резистором тут нана подумать.

Все.

Share this post


Link to post
Share on other sites
Генераторы пилы запущенные в разные моменты времени вырабатывают пилу со сдвигом по фазе.

чем обеспечивается постоянство фазы?

Share this post


Link to post
Share on other sites
У решения с микроконтроллером есть один недостаток, это дискретность выходного сигнала.
Да, есть такое, и это принципиально. Цифровые схемы всегда работают шажками, ступенчато. Но размер этих шагов (дискрету) можно сделать достаточно мелким, чтобы он был на уровне допустимого шума.

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

 

 

 

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

Однако, тогда встает задача поддержания постоянства амплитуды с изменением частоты. Видимо, придется вводить следящую схему на каждом интеграторе. А ведь должны быть такого рода специализированные микросхемы... АРУ это частая задача.

 

 

 

Share this post


Link to post
Share on other sites

Итак, целый день ломания головы дал изумительно простое и красивое решение :)

 

post-70919-1430687149_thumb.png

 

Я думаю, всё понятно без особых слов. Со сдвигового регистра в режиме деления на 3 получаем три прямоугольника, смещенные на 120 град.

Идея заключается в том, чтобы сложить их на элементах "исключающее или" с частотой, немного отличающейся. В результате того, что частоты медленно "плывут" друг по другу, на выходах "исключающего или" создается ШИМ, который надо сгладить - и получатся медленные треугольники, смещенные на треть, с частотой, равной разнице исходных частот.

 

Триггер Шмитта применен в качестве инвертора потому, что дальше на них можно сделать генераторы частот.

Как и требовалось, перестройка одной частоты, одной ручкой.

 

 

примечание: Частота сравнения (10.01 кГц по рис.) должна иметь скважность строго 2, иначе треугольник не получится.

Точную скважность 2 проще всего получить, пропустив сигнал через счетный триггер.

 

 

Edited by Меджикивис

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this