Когда впервые столкнулся с ТТ,понадобился для нее генератор-он был найден в одной из веток.Схема вам всем известна TL494,два регулятора,выходные ключи.
Ее можно найти на этом сайте.
В последствии я столкнулся с многими недостатками этой микросхемы:
-ограничена по частоте
-ограничена по ширине импульса
-ширина импульса уплывает вместе с частотой
-нельзя захватить весь диапазон частот,без перепайки конденсаторов
-нельзя создать короткие импульсы(1мкс),повторяющиеся с низкими частотами(допустим 50гц)
и т.д.
Для каждого эксперимента нужен танец с бубном-напайка соплей на плату,и подстройка.
http://www.matri-x.ru/forum/public/style_emoticons/default/dry.gif
А чего мы от нее требуем больше? она то совсем для других целей разрабатывалась.
http://www.matri-x.ru/forum/public/style_emoticons/default/smile.gif
Долго я занимался этим извратом,но терпению пришел конец
http://www.matri-x.ru/forum/public/style_emoticons/default/mad.gif
Было решено сделать генератор раз и на всегда.
В качестве ядра схемы выступает одно кристальный MCU Atmega8-16AU.
AVR был выбран из-за возможности выполнять за один такт все простые инструкции.
Пришлось отказаться от использования таймеров-счетчиков из-за возникающей задержки.
Формулирование импульсов изображено на рисунке снизу.
Алгоритм такой:
1-подаем на выход высокий уровень(+5в)
2-ничего полезного не делаем определенное число раз(цикл задержки)
3-ставим низкий уровень на выходе(0в)
4-ничего не делаем,тратя зря время,и формирую время до следующего импульса
5-возвращаемся к пункту 1
Соответственно мы можем не зависимо делать любое время как для ширины импульса,так и для паузы(фактически частота).
Все это подперто кварцевым резонатором на 16мгц,и дает приличную стабильность сигналов,без уплывания параметров от рук,искр,и биополей
http://www.matri-x.ru/forum/public/style_emoticons/default/biggrin.gif
Минимальная длительность импульса на выходе ограничена скорость переключения порта,и паразитной емкостью платы.
В первом тесте длительность импульса получилась 300нс,частота 1.3мгц.
Можно сделать короче,но помоему нет смысла.
Вобщем присутствует пока 6 кнопок.
+,- регулировка ширины импульсов
+,- регулировка частоты следования этих импульсов
кнопка "Меню" -блокирует клавиатуру и избавляет от некоторых тормозов.
кнопка "Режим"-меняет под диапазон,тут пока целая куча идей по этой кнопке
1 режим-минимальная ширина импульса(меньше 300нс),и 255 шагов времени повторения
2 режим-минимальная ширина имп 300нс,255 шагов ширины,255 шагов времени повторения.
3 режим-умножить что то из них на 10.
4 режим-умножить на 100
и т.д.
В целях удешевления было решено индикацию сделать на светодиодах.
На видео-красный это включения Меню,желтый переход во второй режим.
Хотя можно и дисплей повесить,только зачем он там нужен?
TL494 отдыхает
http://www.matri-x.ru/forum/public/style_emoticons/default/smile.gif Да и по цене-если посчитать ручки и переключатели,то на меге дешевле выходит и соплей меньше.
На выходе будет стоять драйвер качающий мосфет.
ПО на ассемблере.
Видео теста отладочной прошивки
http://www.youtube.com/watch?v=iVJz7k7hfNs
************
Если кто то захочет сделать полноценный девайс,прикрепил код,нипомню только какая это из версий-другого нет-жесткий диск утонул.
Естественно это не самое лучшее-более подходящим будет взять помощнее контроллер,и использовать аппаратный PWM.Возможно подойдет кому то как пример изучения микроконтроллеров.
Эскизы прикрепленных изображений