|
Трёхфазный ИНЧ генератор треугольного сигнала, Нужна схема или идея |
|
|
|
May 1 2015, 23:17
|
Частый гость
 
Группа: Участник
Сообщений: 122
Регистрация: 10-06-12
Из: Киев
Пользователь №: 72 254

|
Здравствуйте! Хорошо известна схема генератора треугольного сигнала, построенная по принципу "интегратор-компаратор" - см. рисунок. Требуется подобный, но трёхфазный ИНЧ генератор (частотой 0,1...10 Гц) - три выхода с разностью фаз в 120°. Крайне желательно частоту (Rate) регулировать одинарным потенциометром, уровень вых. сигнала (Depth) - как получится; видимо, придётся ставить что-то вроде (синхронно) управляемых напряжением аттенюаторов (потенциометров, VCA...).
Сообщение отредактировал Tuvalu - May 2 2015, 01:56
|
|
|
|
|
May 2 2015, 10:29
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
[Это смотря какая частота нужна автору. А то и быстродействия может не хватить.](зачеркнуто) Сорь, что-то невнимательно прочитал топик... Цитата(kovigor @ May 2 2015, 12:57)  Таблицы значений сигналов (три) в памяти МК. Одна. И затем циклический выбор из нее по трем указателям, смещенным на треть. Но поскольку нужен треугольник, то можно сделать еще проще: просто инкремент-декремент трех переменных. Цитата(kovigor @ May 2 2015, 12:57)  проще всего сделать на МК, например, с тремя восьмиразрядными портами. Для 10 Гц проще взять ЦАПы с SPI, тогда и одним портом обойтись можно.
Сообщение отредактировал Меджикивис - May 2 2015, 17:21
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 2 2015, 11:01
|
Частый гость
 
Группа: Участник
Сообщений: 122
Регистрация: 10-06-12
Из: Киев
Пользователь №: 72 254

|
Цитата(kovigor @ May 2 2015, 13:57)  А что такое "ИНЧ" ? Инфра Низко Частотный. Цитата(Меджикивис @ May 2 2015, 15:29)  Это смотря какая частота нужна автору. А то и быстродействия может не хватить. Я же написал: 0,1...10 Гц. Так и знал. Я не разбираюсь в МК. Вообще. Требуется аналоговое решение.
Сообщение отредактировал Tuvalu - May 2 2015, 11:21
|
|
|
|
|
May 2 2015, 13:57
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Для низкочастотного диапазона микроконтроллер - вне конкуренции. Аналоговое решение будет чрезвычайно громоздким и нестабильным.
Если Вы не можете программировать, то предлагаю собрать "на рассыпухе" - то есть на простых логических элементах, а-ля К155, К176 или К561. Берете три реверсивных счетчика, подключаете к ним три ЦАП-а и еще немного логических элементов, переключающие счет вперед-назад.
Чисто аналоговое решение может быть таким: Этот самый генератор, который на вашем рисунке. И к нему еще два таких же интегратора, но переключаемые не компараторами, а триггерами Шмитта, настроенными на срабатывание на 1/3 от величины тругольника, даваемого первым. Один от прямого сигнала, другой - от инвертированного. Таким образом, один дополнительный интегратор будет срабытывать на 1/3 нарастания исходного треугольника, а другой - на 1/3 спада. Оба дополнительных интегратора должны питаться тем же задающим напряжением с потенциометра, нужно только ввести ключи, перевертывающие полярность этого напряжения (заряд-разряд). На приведенной схеме это автоматически получается от компаратора, но тут мы так прямо завести не можем, потому что для трех интеграторов переворот полярности происходит не одновременно, а у каждого в свой момент. То есть надо полярность менять, а абс.величину оставить одну и ту же - задаваемую одною ручкой. Но по точности, стабильности и габаритам аналоговое решение будет значительно проигрывать ЦАП-ам.
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 2 2015, 14:48
|
Частый гость
 
Группа: Участник
Сообщений: 122
Регистрация: 10-06-12
Из: Киев
Пользователь №: 72 254

|
Меджикивис, спасибо! Цитата(Меджикивис @ May 2 2015, 18:57)  Для низкочастотного диапазона микроконтроллер - вне конкуренции. Аналоговое решение будет чрезвычайно громоздким и нестабильным. Да, уж... А насколько сложна поставленная задача для первого проекта на МК? Может, и правда, начать с этого, как по-вашему? Сколько примерно потребуется времени при боле-менее регулярных занятиях "по вечерам" - неделя, месяц, год? Какой МК оптимален для этой задачи? Можно ли уложиться в 1мА потребления?
Сообщение отредактировал Tuvalu - May 2 2015, 15:00
|
|
|
|
|
May 2 2015, 16:32
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Я думаю, что взявшись за микроконтроллеры, Вы значительно выиграете: в дальнейшем МК дадут Вам много преимуществ. Кроме того, нету лучшего способа изучить что-нибудь, чем иметь хорошую задачу, которую на практике хотелось бы решить. И такая задача у Вас как раз есть  "Рекомендовать" не буду, скажу только, как сам начинал. Я работаю с микроконтроллерами PIC. Этот выбор сделал потому, что для них есть язык программирования Pic-Basic Pro, а Бейсик я уже знал хорошо. Чтобы контроллер работал, созданный код программы надо поместить в его постоянную память, то есть запрограммировать контроллер, говорится "прошить" микросхему. Для этого нужен программатор. Для PIC программатор чрезвычайно прост, пара транзисторов, несколько диодов. Подключается к компьютеру через COM-порт. Софт для такого программатора есть бесплатный, я пользуюсь "IC-prog". Ну и на этом для начала достаточно. У меня ушла приблизительно неделя и по большей части на подборку программатора и софта к нему. Продаются современные универсальные программаторы, подключаются через USB, к ним прилагается весь необходимый софт, но такая коробочка стоит дорого, под 10 тыс.руб. ориентировочно. Сейчас еще появился модульный микроконтроллерный набор Ардуино, это вообще почти как кубики "Лего". Многим нравится, но я не пробовал никогда, так что об этом расскажут другие. Мне и PIC-ов вполне достаточно. Тем более, что давние (простые и дешевые) PIC-и, такие как PIC16F84A, весьма "дубовые" - в смысле устойчивы к помехам и как раз годятся для моих задач. Для вашей тоже. Цитата(Tuvalu @ May 2 2015, 18:48)  Можно ли уложиться в 1мА потребления? Можно. PIC-и с этой стороны не очень, есть другие серии микроконтроллеров, особо микромощные. Народ подскажет, надеюсь.
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 2 2015, 17:51
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Ему же не прямоугольник надо 10 Гц. Пусть возьмем 10-разрядный ЦАП. Значит нужно сделать 1000 шагов за полупериод - 20кГц. А если это ЦАП с последовательной загрузкой, 10 бит - еще в 10 раз больше - 200 кГц. Да еще на вычисления тоже что-то нужно оставить. Вычисления по-минимуму следующие: 1. Переслать по указателю очередной бит в порт 2. Установить клок 3. Сбросить клок 4. Инкрементировать указатель 5. Проверить, все ли биты переданы 6. если нет, перейти к п.1 Если каждая из команд выполняется только за один такт, то 200кГц * 6 = 1200кГц Всё это- на 3 ЦАПа - 3.6 Мгц итого. Как раз в 100 раз поболее часового кварца
Сообщение отредактировал Меджикивис - May 2 2015, 18:51
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 2 2015, 22:14
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Возвращаясь к тематике раздела форума, т.е. первоначально запрошенному аналоговому способу — например, решение в лоб:
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, переключающих аналоговыми ключами между ними.
|
|
|
|
|
May 3 2015, 05:49
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Цитата(agregat @ May 3 2015, 08:43)  У решения с микроконтроллером есть один недостаток, это дискретность выходного сигнала. Да, есть такое, и это принципиально. Цифровые схемы всегда работают шажками, ступенчато. Но размер этих шагов (дискрету) можно сделать достаточно мелким, чтобы он был на уровне допустимого шума. В противном случае, сгладить гармоники, начинающиеся с двухсотой - не составляет значительной проблемы. Цитата(stells @ May 3 2015, 09:30)  чем обеспечивается постоянство фазы? Тогда уж проще получить со счетчика Джонсона три строго смещенных прямоугольника и пропустить их через интеграторы. Однако, тогда встает задача поддержания постоянства амплитуды с изменением частоты. Видимо, придется вводить следящую схему на каждом интеграторе. А ведь должны быть такого рода специализированные микросхемы... АРУ это частая задача.
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 3 2015, 21:19
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Итак, целый день ломания головы дал изумительно простое и красивое решение
Я думаю, всё понятно без особых слов. Со сдвигового регистра в режиме деления на 3 получаем три прямоугольника, смещенные на 120 град. Идея заключается в том, чтобы сложить их на элементах "исключающее или" с частотой, немного отличающейся. В результате того, что частоты медленно "плывут" друг по другу, на выходах "исключающего или" создается ШИМ, который надо сгладить - и получатся медленные треугольники, смещенные на треть, с частотой, равной разнице исходных частот. Триггер Шмитта применен в качестве инвертора потому, что дальше на них можно сделать генераторы частот. Как и требовалось, перестройка одной частоты, одной ручкой. примечание: Частота сравнения (10.01 кГц по рис.) должна иметь скважность строго 2, иначе треугольник не получится. Точную скважность 2 проще всего получить, пропустив сигнал через счетный триггер.
Сообщение отредактировал Меджикивис - May 4 2015, 05:02
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
Guest_TSerg_*
|
May 4 2015, 04:28
|
Guests

|
Ok
|
|
|
|
|
May 4 2015, 05:53
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Дальнейшее развитие идеи. Можно заметить, что получение достаточно высокой, но стабильно отличающейся на сотые доли частоты, на практике представляет собой определенную трудность. И если 10.01 кГц получить еще можно, то 10.001 это уже большая проблема. Я бы предложил сделать так: поставить на вход каждой частоты по счетчику-делителю, например 4024 (на 128), а на вход частоты сравнения - еще и делитель на 3 (проще всего - такой же сдвиговый регистр). В результате обе линии можно запустить от одного генератора частоты - и они, имея одинаковый коэффициент деления, будут работать синхронно. А к одному из счетчиков на вход добавлять поштучно дополнительные импульсы. Для этого можно использовать оставшийся (четвертый) элемент "исключающее или"
С каждым дополнительным импульсом частоты на выходе будут сдвигаться на 1/384 периода ШИМ. То есть маленькими такими шажками, которые должен давать низкочастотный мультивибратор. Его частотой и будет определяться частота треугольников. А высокая частота, питающая оба счетчика, определит период ШИМа.
Впрочем, автор может пойти в формировании частот аналоговым путем и добавить к частоте маленькую дробь при помощи однополосного модулятора например, но так он в 1 мА вряд ли уложится, мне думается.
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 4 2015, 10:55
|
Частый гость
 
Группа: Участник
Сообщений: 122
Регистрация: 10-06-12
Из: Киев
Пользователь №: 72 254

|
Спасибо всем за идеи! Цитата(Меджикивис @ May 4 2015, 01:19)  Итак, целый день ломания головы дал изумительно простое и красивое решение  Меджикивис, спасибо за такое деятельное участие и за очень оригинальную идею! Пока только осваиваю смешанное а/ц моделирование, поэтому спрошу: а сигнал точно должен получиться треугольным? Чистота треугольника не очень важна, 10% отклонения от идеала - с головой. Это, помимо прочего, означает, что тактовую частоту можно смело понижать на полтора-два порядка. Правда, для идеи №2 (назовём её так) это уже не важно. Цитата Я бы предложил сделать так: поставить на вход каждой частоты по счетчику-делителю, например 4024 (на 128), а на вход частоты сравнения - еще и делитель на 3 (проще всего - такой же сдвиговый регистр). Что такое "вход каждой частоты" - входы "искл. ИЛИ"? А как такая идея. Четверть периода сформировать простейшим ЦАП-ом - двоично-десятичным дешифратором CD4028 с R-цепочкой на выходах. Вторая четверть - реверсирование. 3 и 4 - то же самое + аналоговое инвертирование. Итого 40 ступеней на период. Можно ли всё это как-то упростить (уменьшить кол-во корпусов), учитывая, что таких блоков должно быть 3?
Сообщение отредактировал Tuvalu - May 4 2015, 11:54
|
|
|
|
|
May 4 2015, 14:24
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Цитата(Tuvalu @ May 4 2015, 14:55)  а сигнал точно должен получиться треугольным? При скважности сигнала, равной 2, будет точно треугольным. А после триггеров и регистров он как раз и есть 2. Цитата(Tuvalu @ May 4 2015, 14:55)  Чистота треугольника не очень важна, 10% отклонения от идеала - с головой. Тогда варианта дешевле и беспроблемнее, чем с выше сказанным сглаживанием ШИМ - сомневаюсь чтоб можно было найти. Цитата(Tuvalu @ May 4 2015, 14:55)  Что такое "вход каждой частоты" Это линии, где подписано на рисунке: "30 кГц" и "10.01 кГц". Цитата(Tuvalu @ May 4 2015, 14:55)  А как такая идея. Четверть периода сформировать простейшим ЦАП-ом - двоично-десятичным дешифратором CD4028 с R-цепочкой на выходах. Можно использовать его, но он даст только 10 ступеней и потребует подбора 10 резисторов. А можно навесить резисторы без дешифратора - прямо на выходы двоичного счетчика. И если эти резисторы будут в пропорции 1кОм, 2кОм, 4кОм, 8кОм (8 - на младший разряд), то вместе они обеспечат 16 ступеней выходного напряжения. Собственно, это и будет простенький самодельный ЦАП. Но больше 16 ступеней сделать уже трудно: придется подгонять резисторы очень точно. Цитата(Tuvalu @ May 4 2015, 14:55)  Вторая четверть - реверсирование. 3 и 4 - то же самое + аналоговое инвертирование. Итого 40 ступеней на период. Если учесть, что 3 является линейным продолжением 2, то проще формировать полупериод целиком. А количество ступеней наращивать, увеличивая разрядность счетчика. Понадобится всего еще один разряд, чтобы увеличить количество ступеней вдвое. В любом случае, даже плохо фильтрованный ШИМ будет качественнее, чем зубчатая линия с 40 ступенями. Цитата(Tuvalu @ May 4 2015, 14:55)  Можно ли всё это как-то упростить (уменьшить кол-во корпусов), учитывая, что таких блоков должно быть 3? Реверсивные счетчики не настолько сложны, сколько по мелочам громоздки. Потребуется "обвязка" из логических элементов, определяющая, достиг ли уже счетчик конца или начала, и при переключении направления не получится ли дополнительный перепад, по которому счетчик перекинется в следующее или предыдущее состояние, когда не надо. Мелочи конечно, но схема разрастается в некоторый "огород". Кроме того, в КМОП-сериях реверсивные только четырехразрядные, это маловато; придется состыковывать их по два последовательно. В принципе не проблема, но опять же, лишний огород. Счет в обратную сторону можно имитировать, подключив на выходы нереверсивного счетчика элементы "исключающее или" и получая при их помощи дополняющий код. Но - какая разница - все равно лишние корпуса микросхем-то ставить придется. В сумме меньше по кол-ву корпусов, чем с ШИМ-ом, не получается, я уже это продумывал... [добавлено:] А ведь со счетчиками придется продумывать еще - как заставить 3 счетчика считать синхронно, но с постоянным рассогласованием в 1/3? На это тоже логические элементы понадобятся вероятно... ЦАПы хороши тем, что могут синтезировать произвольную форму, а решение с ШИМ-ом - треугольник только! - и баста. Но ведь в данном случае именно он Вам и нужен? [добавлено:] ЦАП (не самодельный, а микросхема-ЦАП) хорош еще тем, что регулируя опорное напряжение, одно для всех трех, можно синхронно изменять амплитуду треугольника на всех трех выходах одной ручкой. Но хотя этим микросхемы экономятся - в целом их получается больше, поскольку обеспечение работы ЦАПа сложнее. Цитата(Меджикивис @ May 4 2015, 09:53)  Я бы предложил сделать так: поставить на вход каждой частоты по счетчику-делителю, например 4024 (на 128) Если ступенчатость треугольника Вам не вредит, то можно поставить К561ИЕ10 (4520) - два 4-разрядных счетчика в одном корпусе. Один из которых на одну линию, второй - на другую. Вместе с делением регистром на 3, будет 16*3=48 ступеней. В общей сумме получается 5 корпусов, включая триггеры Шмитта, на которых сделать мультивибраторы, задающие частоту. [добавлено:] Вместо 4094 лучше применить 4018, она не требует дополнительного инвертора. (Сорь, не сразу обнаружил).
Сообщение отредактировал Меджикивис - May 4 2015, 16:12
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 4 2015, 16:29
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
Аналоговый вариант №2, тоже практически в лоб:
1) регуляторы частоты и амплитуды буферируются — сигналы +F и +A соответственно;
2) инвертирующим усилителем (инвертором) создаётся сигнал –F;
3) +F и –F, через аналоговый ключ SW1, переключающий между ними, поступают на вход интегратора (резистор);
4) +A и ноль, через аналоговый ключ SW2, переключающий между ними, поступают на вход компаратора интегратора;
5) выход этого компаратора соответствующе переключает SW1 и SW2;
6) полученный на выходе компаратора прямоугольный сигнал втрое больше рабочей частоты подаётся на делитель на 3;
7) инвертором из треугольника +T с выхода интегратора создаётся сигнал –T;
8) три выхода схемы являются выходами трёх суммирующих усилителей S1, S2 и S3;
9) на примере усилителя S1 — 6 отрезков периода номинальной частоты t0...t5, созданных логикой из сигнала компаратора и делителя, коммутируются ею на его вход:
а) во время интервала t0 подключён +T; б) во время интервала t1 подключён –T; в) во время интервала t2 подключён +T; г) во время интервала t3 подключён +T; д) во время интервала t4 подключён –T; е) во время интервала t5 подключён +T; ё) во время интервала t1...t4 дополнительно подключён +2A.
На выходе схемы, соответственно, будут сигналы амплитудой –3A, поскольку суммирующие усилители инвертирующие.
Итого, один компаратор, 8 ОУ, аналоговые ключи и простая логика.
|
|
|
|
|
May 5 2015, 16:26
|
Профессионал
    
Группа: Участник
Сообщений: 1 541
Регистрация: 21-03-12
Из: РФ
Пользователь №: 70 919

|
Проект в Протеусе, 5 микросхем. Сорь, но "высокочастотный" мультивибратор оказался суров, Протеус написал о нехватке ресурсов и отказался стартовать. Пришлось заменить его стандартным источником частоты.
Эскизы прикрепленных изображений
Прикрепленные файлы
model.zip ( 16.84 килобайт )
Кол-во скачиваний: 9
--------------------
Построив автомобили, человечество освободило лошадей от необходимости работать. Почему оно не освободило от такой необходимости себя ))
|
|
|
|
|
May 5 2015, 21:06
|
Частый гость
 
Группа: Участник
Сообщений: 122
Регистрация: 10-06-12
Из: Киев
Пользователь №: 72 254

|
Цитата(Меджикивис @ May 5 2015, 20:26)  Проект в Протеусе, 5 микросхем. Сорь, но "высокочастотный" мультивибратор оказался суров, Протеус написал о нехватке ресурсов и отказался стартовать. Пришлось заменить его стандартным источником частоты. Фантастика, целый проект! Даже не знаю, как Вас благодарить. Очень изящное решение - 5 корпусов, даже не верится. Вообще-то, я давным-давно видел схему какого-то советского клавишного инструмента, так там 3F3 - как Вы удачно его назвали - был реализован ни рассыпухе - сложным образом закольцованные транзисторные мультивибраторы. Короче, вагон деталей, но работало, ведь. Вот, я и подумал, что должны существовать подобные схемы на ОУ. А тут дело приняло такой оборот... Ещё раз спасибо! Plain, и Вам спасибо! Хотя, честно говоря, я пока ничего не понял. Попробую начертить то, что Вы описали словами, тогда и отреагирую как-то.
Сообщение отредактировал Tuvalu - May 5 2015, 21:08
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|