ß    Стенд ЛАРМ – лабораторное автоматизированное рабочее место  -  Генераторы и методы.

 

Адрес документа:

http://shabronov_s2.dyn-dns.ru/temp/gr_mi38_37_mp4_sh/gr_mi38_37_mp4_sh.doc

 

В данной лекции рассматриваются методы и способы генерации сигналов. Формирование периодических сигналов «почти» синусоидальной формы. Аппаратные и программные методы.

Содержание:

Генератор сигналов  входящий в состав ЛАРМ

Панель генератора сигналов. После выбора прибора «Генератор сигналов» на экране появится панель генератора (рис. 8).

Данная панель состоит из следующих органов управления:

  • кнопка выбора формы сигнала;
  • слайдер установки частоты сигнала;
  • слайдер установки амплитуды сигнала (в %);
  • слайдер амплитуды смещения сигнала.

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

Данные о форме задаются с помощью набора точек. Максимальное количество точек - 2048, они нумеруются с 0 до 2047 включительно. Значение в каждой точке должно быть от 0 до 255. 0 соответствует минимальному напряжению, 255 - максимальному.

 

Пример файла с произвольной формой сигнала, приведенной на рис. 9:

0 100

1000 255

2047 100

 

 

                 Рис. 8. Панель генератора сигналов

 

                    Рис. 9 Диалог задания произвольной формы генератора

 

 

 

Подключение контрольного светодиода  для проверки питания и генератора.

 

 

Генератор сигналов  -  на логических элементах.

Материалы   изложены для серии серии К561

 

 

  

·         Все характеристики рассматриваемых генераторов получены в результате экспериментов с конкретными образцами микросхем. С другими экземплярами микросхем характеристики могут быть несколько отличными. Формулы для расчета частоты соответствуют напряжению питания 5 В и температуре окружающей среды 25°С. Нагрузочная способность генераторов такая же, как у элементов микросхем серии К561. Верхняя граница напряжения питания генераторов также определена применяемой серией микросхем и равна 15 В, а нижняя указана в таблице. Верхний предел сопротивления резисторов я установил из практических соображений на уровне 40 МОм.

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

·         Все генераторы имеют мягкое возбуждение. Иначе говоря, как бы медленно ни увеличивалось напряжение питания, генератор все равно заработает.

·         Генератор на элементах 2И-НЕ (рис.1,а) стал уже классическим и известен по большому числу публикаций. Он сохраняет работоспособность при понижении напряжения питания Uпит до 2 В, при этом, правда, значительно уменьшается частота генерации.

·         Скважность импульсов близка к двум при любом напряжении питания. В результате разогревания корпуса микросхемы частота несколько уменьшается (на 4 % при 85°С).

·         Подобный генератор может быть выполнен и на двух логических элементах 2ИЛИ-НЕ (рис.2,а), на двух инверторах (рис. 3), а также на трех инверторах (рис.4,а). Подробности о работе и различиях генераторов на двух и трех инверторах можно узнать из [3]. Отметим, что у генератора на элементах 2ИЛИ-НЕ частота генерации практически не зависит от температуры корпуса микросхемы, а у генераторов на инверторах частота очень стабильна на участке Uпит=9...15 В.

·         На рис.5 показана схема простейшего LC-генератора с логическим элементом 2И-НЕ. LC-цепь сдвигает фазу выходного сигнала элемента на 180 град., в результате этого происходит самовозбуждение генератора. Такие генераторы хорошо работают на повышенных значениях частоты, мягко возбуждаются и отличаются высокой температурной стабильностью [3].

·         При увеличении частоты сверх 1,3 МГц амплитуда выходных импульсов начинает падать.

·          В генераторе могут также работать элементы 2ИЛИ-НЕ, причем в этом случае он вырабатывает не прямоугольные импульсы, а колебания, по форме близкие к синусоидальным.

·          Для устойчивой работы генератора волновое сопротивление LC-контура формула не должно быть менее 2 кОм. Частота генерации практически совпадает с резонансной частотой LC-контура. Достоинство генератора - высокая температурная стабильность частоты.

·          Подобные по структуре генераторы можно выполнить на одном элементе триггере Шмитта (рис. 6,а). При напряжении питания, близком к максимальному, они весьма стабильны по частоте. Кроме того, они исключительно экономичны - при напряжении питания менее 6 В потребляют ток всего в несколько десятков микроампер.

 Другие варианты  генераторов 

·         Осцилляторные схемы генераторов 

·         Генератор синусоидального сигнала на логических микросхемах

Генератор сигналов  -  на  «программных элементах».

Сигнал генератора формирует программа компьютера:  

1-й пример: Программный генератор сигналов звуковой частоты  

 

Генератор сигналов полезная вещь в инженерной практике. Для тех, кто занимается ремонтом и настройкой звуковой усилительной аппаратуры это устройство окажется незаменимым помощником в работе, поможет оно и при проверке трактов радиоприемников, магнитофонов и другой техники. Не лишним будет этот прибор-программа и в лабораториях школ и ВУЗов.
Частота сигнала может изменяться от 1 до 22050 Гц с дискретностью 1 Гц, форма - синусоида, прямоугольник, треугольный, пилообразный сигнал с плавным нарастанием и резким спадом, а также сигнал белого шума. Предусмотрена возможность регулировки амплитуды сигнала.

 

  

 

Назначение элементов управления понятно из надписей и, не нуждается в дополнительном объяснении. Программа не требует какой либо установки или наличия дополнительных библиотек. Вывод звука начинается по факту нажатия на кнопку "Старт" и заканчивается по нажатию на кнопку "Стоп".

Используется мультимедийное устройство определенное Windows как основное, обычно это звуковая карта, она должна поддерживать режим 44100 Гц, 16 бит. Сигнал снимается с выхода LINE-OUT или Speakers, с помощью стандартного разъема, его амплитуда может достигать уровня 0,5 В.

 

 

2-й пример: Программный генератор сигналов звуковой частоты

SweepGen screen-shot 

Генератор стационарных и меняющихся во времени тестовых звуковых сигналов. Имеет несколько режимов работы: фиксированная частота, ручная развертка, белый шум, медленная регулируемая развертка и быстрая регулируемая развертка

 

 

3-й пример.- Программы формата – bat файла.

 

 Код 0x7 – вызвать звук динамика.

Проблема заключается в том что не все редакторы сохраняют такие символы.

 Но и это можно обойти: запустим cmd.exe и в командной строке наберем @Echo, нажав комбинацию Ctrl+G или "Alt+7" получим ^G далее перенаправим это все в файл, должно получиться @Echo echo ^G >beep.bat. Файл-пищалка готов.

 

4-й пример.- Программы формата – cmd файла

Скачиваем редактор hiew32demo

Формируем  файл, c расширением cmd   Нажать аlt+F4 -  указать например  test1.cmd

Открываем редактор hiew32demo   и им файл test1.cmd

Вписываем hex код  7 -  сохраняем файл test1.cmd 

Выполняем файл  -   динамик пищит.

Количество кодов определяет количество выдаваемых звуков.

Один код – это примерно звук 1000гц в течении 200 мс.

 

  5-й пример – программа формата – exe на языке программирования forth

 

Скачиваем компилятор языка forth

Формируем файл нажатием alt+f4  с названием  test2.f   который записываем или копируем текст программы.

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

 

\ начало  текста программы на языке forth - пример программирования звуков через системных динамик

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

WINAPI: MessageBeep   USER32.DLL ( пищание системного динамика )

WINAPI: Beep KERNEL32.DLL        ( ФУНКЦИЯ  т-МС  F-ГЦ -- )

: PAUSE1 ( N --> пауза в N  милисекунд 0> )  Sleep DROP  ;  (  формирование паузы )

: ZWUK (   Т-мс F-гц --- )   Beep DROP  ;

: BEEP_M2 (  цыганочка с входом  )

 [ DECIMAL ]

 100 2500   ZWUK

 100 2000   ZWUK

 100 2500   ZWUK

 100 2000   ZWUK

  [ HEX ]

  ;

: TEST  ( Выполнение пищания  в цикле 10 раз с паузой в 100 милисекунд )

 10 0 DO ( Начало цикла )

       CR   ( ОТОБРАЖЕНИЕ С НОВОЙ СТРОКИ )

       I  . (  ВЫДАЕТСЯ ЧИСЛО В ЦИКЛЕ ОТ 1 ДО 10 )

       0x40    MessageBeep  DROP  ( ВЫДАЕТСЯ ЗВУК ПИЩАЛКИ ДИНАМИКА )

       100 PAUSE1 ( задаем паузу в 100 мс )

    LOOP  ( ЦИКЛ ОКОНЧЕН )

;

: MAIN  ( основное слово  выполняется постоянно в цикле, а для выхода останов до нажатия клавиши на клавиатуре )

BEGIN

    TEST ( Выполнение пищания  в цикле 10 раз с паузой в 100 миллисекунд )

CR   S"  Для выхода из программы нажать клавишу 1, для продолжения любую другую "  ANSI>OEM TYPE  ( ВОЗМОЖНО ОТОБРАЖЕНИЕ НЕПРАВИЛЬНОЕ ИЗ-ЗА КОДИРОВОК РЕДАКТОРА ПЕРЕВОД ANSI В DOS )

    KEY  [CHAR]  1 = UNTIL  ( ПРОВЕРКА НАЖАТИЯ КЛАВИШИ, ЕСЛИ НАЖАЛИ 1 ТО КОД СОВПАЛ И ВЫХОДИМ )

    BEEP_M2 (  цыганочка с входом  -  окончание программы звук с другим формированием  )

;

\  подготавливаем переменные  и текст программы записываем в исполняемый файл.

0  TO SPF-INIT?  (   в переменную записываем код 0 – означает что инициализация выполняется )

 '  NOOP MAINX !  ( в переменную записываем адрес выхода )

 '  MAIN   TO <MAIN>  ( в переменную записываем  старт программы со слова MAIN   ) 

S" test2.exe" SAVE (  сохраняем файл исполнения  с именем  test2.exe )

BYE (  выходим из режима редактирования и компиляция, т.е. все бай-бай )

\  текст программы окончен.

 

 

Компилируем программу. Для этого, выполнить в командной строке …\\100_spf4.exe  test2.f    

Если доступ к командной строке отсутствует, то компиляцию провести с помощью опции выбора программы для открытия файла.

Получим файл test2.exe .  Выполнить файл и проконтролировать получаемые звуки. Ниже показан вид консоли экрана  при выполнения программы.

Выводы:

Задание на самостоятельное изучение:

 

Автор Шабронов Андрей Анатольевич тс. 913-905-8839  shabronov@ngs.ru

  Подготовлено на 26-2-2016