Страница 2 из 2 ПерваяПервая 12
Показано с 16 по 28 из 28
  1. #16
    QRP
    Регистрация
    15.11.2002
    Адрес
    Томск
    Возраст
    54
    Сообщений
    44
    Поблагодарили
    0
    Поблагодарил
    0
    Вопрос к знатокам.
    Собрал синтезатор US2II публикация в журнале Радио. Подключил энкодер EL63D 1B250Z12P10X6JR контроллер показывает что частота меняется при вращении энкодера, а на выходе синтезатора частота меняется скачками по 500 Гц
    что может быть?

  2. #17
    Standart Power
    Регистрация
    06.09.2002
    Адрес
    Екатеринбург
    Возраст
    60
    Сообщений
    246
    Поблагодарили
    7
    Поблагодарил
    49
    Первоначальное сообщение от aliv
    Вопрос к знатокам.
    Собрал синтезатор US2II публикация в журнале Радио. Подключил энкодер EL63D 1B250Z12P10X6JR контроллер показывает что частота меняется при вращении энкодера, а на выходе синтезатора частота меняется скачками по 500 Гц
    что может быть?
    А петля ФАПЧ успевает отрабатывать?

    В синтезаторах частоты то что Вы видете на табло - это заданная частота, а не реальная!

  3. #18
    Standart Power Аватар для UN7JHS
    Регистрация
    27.08.2003
    Адрес
    Усть-Каменогорск - Омск
    Возраст
    49
    Сообщений
    375
    Поблагодарили
    13
    Поблагодарил
    5
    Встречал в сети схему валкодера на шаговом двигателе от старых дисководов. Кто нибудь пробовал в деле такой валкод, а то я покрутил его ротор, такое приятное вращение, что использовать его было бы очень здорово в высококласном аппарате....

  4. #19
    Very High Power Аватар для R9UHN
    Регистрация
    23.04.2002
    Адрес
    Междуреченск
    Возраст
    57
    Сообщений
    1,723
    Поблагодарили
    102
    Поблагодарил
    64
    UN7JHS Андрей
    Пробовал. Лучше всего подходят от кассовых машин.
    От совковых моторов трудно добиться чётких импульсов. А импортные(японские) слишком чувствительные и "срабатывают" от "притрагиваний"

  5. #20
    Standart Power Аватар для UN7JHS
    Регистрация
    27.08.2003
    Адрес
    Усть-Каменогорск - Омск
    Возраст
    49
    Сообщений
    375
    Поблагодарили
    13
    Поблагодарил
    5
    Возможно. У меня моторчик от дисковода Роботрона 1910, при вращении ротора, по пальцам отдаются легкие щелчки, я так понимаю каждый щелчек, это импульс, по идее срабатывать при прикасании не должны, все таки необходимо приложить не большое усилие..... Но пока я синтезом не занимаюсь, мне бы меандр с помощью обычного ГПД получить..... А то у меня бред какойто выходит, не меандр а черт знает что.....

  6. #21
    Standart Power
    Регистрация
    16.01.2003
    Адрес
    Донецк
    Возраст
    45
    Сообщений
    420
    Поблагодарили
    30
    Поблагодарил
    224
    Первоначальное сообщение от CO2040
    Отсюда мораль : контроллер синтезатора должен быть выполнен аппаратно, т.е. на "жесткой логике" - как говорят проектировщики узлов ЭВМ. Можно использовать микросхемы серии КР1533 или ПЛИС. Алгоритмы обычно простые. Если хорошо знакомы с теорией автоматов и для вас не составит труда синтезировать автомат Мура, описываемый графом с полсотней вершин, тогда – вперед. Ну и пусть громоздко - зато быстрее.
    Всем привет !

    А вывод - надо правильно программировать !
    У меня (http://users.ints.net/skidan/T03DSP/) в трансивере стоит валкодер от станка с ЧПУ (Z=2500) и все работает ОК.
    Кстати контроллер успевает не только подсчитывать импульсы, но и программировать синтезатор и обновлять изображение на графическом ЖКИ (и без автоматов!).
    Удачи !
    Олег
    73 de UR3IQO

  7. #22
    Без позывного
    Регистрация
    10.12.2002
    Сообщений
    123
    Поблагодарили
    0
    Поблагодарил
    0
    Вот- вот тут вся проблема только в быстродействии контроллера, а валкодер не причем. У самого были такие проблемы когда ставил эксперименты с синтезаторами на 80С51, быстродействие контроллера и "умный + быстрый" алгоритм .

  8. #23
    High Power
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    55
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    64
    Поблагодарил
    4
    Всем привет !

    А вывод - надо правильно программировать !
    У меня (http://users.ints.net/skidan/T03DSP/) в трансивере стоит валкодер от станка с ЧПУ (Z=2500) и все работает ОК.
    Кстати контроллер успевает не только подсчитывать импульсы, но и программировать синтезатор и обновлять изображение на графическом ЖКИ (и без автоматов!).
    Олег! Так поделитесь опытом! А то на сайте только фотографии...
    Интересно , что за синтезатор. Хотя бы общие принципы программирования таких вещей --- понятно , что если делать все в лоб то будет медленно , а как надо то? Изложение самых общих принципов никак не ударит по авторским правам...
    Сам сейчас потихоньку, по-дилетантски начинаю ковыряться в контроллерах. Программу "в лоб" написать уже могу, а вот как хорошо написать --- пока проблемы...

  9. #24
    Alex007
    Гость
    В своём синтезе на PIC16F628 - 20 MHz и DDS использую валкодер из мыши на 60 прорезей. Программное учетверение. При скорости вращения 1-1.5 оборота в сек никаких проглатываний не наблюдаю. Программа написана "в лоб":
    - микроконтроллер спит
    - прерывание от встроенных компараторов (оптопары непосредственно к ним и подключены)
    - считывание состояний компараторов и сравнение с 8-ю масками из таблицы
    - шаг +/- , математика для ддс, вывод на LCD и ддс
    - спать

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

    Вот такие пироги

  10. #25
    Standart Power
    Регистрация
    16.01.2003
    Адрес
    Донецк
    Возраст
    45
    Сообщений
    420
    Поблагодарили
    30
    Поблагодарил
    224
    Первоначальное сообщение от RU3GA
    Олег! Так поделитесь опытом! ...
    OK. То что реализовано у меня вряд ли подойдет непосредственно (поскольку я использую операционнаю систему реального времени), но принцип - вполне.

    Разделим задачи на части (и запишем в порядке убывания приоритета):
    1. подсчет импульсов от валкодера
    2. пересчет числа импульсов в частоту и программирование синтезатора.
    3. индикация частоты на индикаторе.

    Подсоединяем один выход валкодера на вход прерывания, а второй на любой порт ввода в контроллере. В прерывании (по фронту или по спаду) считываем состояние этого порта (1-вправо, 0-влево или наоборот, как подключите ), и изменяем счетчик и устанавливам флаг изменения частоты. На этом обработка прерывания заканчивается. Если не крутить валкодер дрелью , то любой контроллер подсчитает все импульсы.

    interrupt(PORT1) Port1Int(void)
    {
    if(PORT1 & 0x1)counter++;
    else counter--;
    freq_changed=1;
    }

    Это на случай нормального валкодера с большим Z - здесь нет надобности учетверять или удваивать.

    В основной программе делается что-то типа такого:

    for( ; ; )
    {
    Sleep(); //Ждем прерывания (это не обязательно)
    while(freq_changed)
    { //Частота была изменена
    freq_changed=0; //Сбрасываем флаг
    RecalcFreq(); //Пересчитываем частоту в код для ситезатора
    ProgSynth(); //Программируем ситезатор
    }
    UpdateScreen(); //Обновляем экран
    }

    Пояснения:
    Если мы быстро крутим валкодер, то обработчик прерывания подсчитывает импульсы быстро, но частота пересчитывается один раз на несколько импульсов поступивших с валкодера.
    Поверьте, что при перестройке 10кГц в сек. нет большой разницы между шагом в 10 Гц или 100Гц, главное, что как закончите крутить частота перестроится точно туда, куда надо.

    Далее цикл while позволяет сэкономить время на индикации если крутить очень быстро.

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

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

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

    Данная технология была изобретена фирмой Маркони в 1986г. и
    используется в её измерительных генераторах. Подробности можно
    узнать посмотрев патент US 4,609,881 в базе данных патентной библиотеки
    США

    В моей конструкции собственно синтезатор (ЧФД, предварительный делитель)
    реализованы с использованием м/с программируемой логики EPM7032S,
    а сигма-дельта модулятор и ДДПКД на микроконтроллере MSP430F123.

    При частоте сравнения 100 кГц шаг перестройки меньше 0.01 Гц (но я использую только 0.25 Гц) .

    Стаью об этом синтезаторе я опубликовал в журнале QEX Nov/Dec 2003. Я собираюсь в скором будущем выложить ее у себя на сайте (возможно с русским переводом).

    Удачи !
    Олег UR3IQO

  11. #26
    High Power
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    55
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    64
    Поблагодарил
    4
    Первоначальное сообщение от Alex007

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

  12. #27
    High Power
    Регистрация
    30.04.2002
    Адрес
    Липецк, Россия
    Возраст
    55
    Сообщений
    935
    Записей в дневнике
    16
    Поблагодарили
    64
    Поблагодарил
    4
    To UR3IQO:
    Олег, спасибо. В общих чертах понятно. Буду пробовать.

  13. #28
    Very High Power Аватар для R9UHN
    Регистрация
    23.04.2002
    Адрес
    Междуреченск
    Возраст
    57
    Сообщений
    1,723
    Поблагодарили
    102
    Поблагодарил
    64
    А я перепробовал много всяких шаговых движков. Лучше всего - японские от сканеров HP. Они весьма плоские и чёткие импульсы дают. Его и поставил для контроллера к Р-160п.
    Пробовал и дрелью крутить. Работает! До 200 оборотов...

Похожие темы

  1. Валкодер IC-756
    от Димон в разделе IC-756
    Ответов: 19
    Последнее сообщение: 17.11.2012, 08:27
  2. Валкодер "Прибой"
    от UR4CU в разделе КВ аппаратура
    Ответов: 16
    Последнее сообщение: 10.12.2004, 12:48

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×
Рейтинг@Mail.ru
eXTReMe Tracker


Похоже, что вы используете блокировщик рекламы :(
Форум QRZ.RU существует только за счет рекламы, поэтому мы были бы Вам благодарны если Вы внесете сайт в список исключений!
как отключить
×