Бывает, что нужно собрать схему в протеусе, которую можно было по человечески читать. Один путь решения проблемы это создание моделей и привязка к графическому символу. Но это не короткий и не быстрый путь, плюс я не настолько серьезно отношусь к нему (просто мне нравится что много домашних проектов можно отлаживать прямо в нем).
Попробуем например создать модель энкодера, которого к сожалению нету в штатной библиотеке протеуса. Для начала нарисуем графический символ, обозначающий наш энкодер. Я набросал такой вид:
Не забываем, что нужно добавлять правильные пины на символ, они находятся в пункте “Пины устройства”.
Далее нужно сохранить устройство в библиотеке, для этого выделяем все устройство, нажимаем правой кнопкой мыши и “Создать устройство”. Дальше по пунктам интуитивно все заполняем. Ничего сложного.
Энкодер я строю по принципу, о котором писал в прошлой статье (речь идет о двух сигналах смещенных друг относительно друга на определенную фазу). Сначала создадим схему эмулятор:
Вкратце о схеме, три источника прямоугольных импульсов, p90 смещен относительно p0 на 90 градусов, второй на 270. На два выхода с помощью реле комутируется либо p0 и p90, либо p0 и p180. Пины Up и Down предназначены для подключения кнопки, пины A и C – выходы энкодера.
Частота источников 50 Гц. Я подумал что врядли может быть больше импульсов за оборот ручки.
Далее создаем нашу схему, вставляем наш энкодер, тыкаем свойства и ставим галочку “Присоеденить иерархический модуль”. Потом, нажимаем на модели правой кнопкой и переходим на дочерний лист. Там и вставляем схему с реле. Вот в принципе все и готово.
Дальше можно в схему добавлять мк и тестировать на симуляторе.
I cant figure out how you changed the phas of the generators??
could you let me know how? or could yopu be so kind as send me the encoder???? DLL???
I would relly appretiate if you could…cheers
CHaz
from Los Angeles California
Hi, I just changed start time of pulse in options. This works only for frequency 50 MHz, for other frequency you will need to change it.
Не получается настроить смещение импульсов, можете поподробней написать, что и где писать в настройках
Смещение регулируете с помощью задержек в источнике сигнала. (Поле старт)
Отличный способ имитировать работу энкодера! Очень пригодилось! спасибо!
Здравствуйте. Совсем не получается построить модель энкодера в протеусе. Не могли бы вы поделиться со мной готовым библиотечным элементом энкодера.
С уважением, Евгений.
Добрый вечер, моделька лежит в папке с экспериментом обработки энкодера:
https://bitbucket.org/embedgs/diymicro.ru/src/7d439d5cd7382984c4547e37d9e6e0ce0d2b47ce/PicLab/E20p1_Encoder/?at=master
Благодарю. А не подскажите, как подключить энкодер к atmega2560, чтобы проверить реакцию микропроцессора на воздействия энкодера?
С авр не работал, что никакой разницы нет, все зависит от того как вы написали вашу программу. Если по моим экспериментам то на любые порты ввода вывода.
А как сделать в протеусе, чтобы сам энкодер был подключен к микропроцессору, чтобы можно было выполнить любую даже самую простую программу… может у вас есть какие-либо мысли на этот счет. Много вариантов перебрал и никак не получается выполнить такую задачу.
Ээ, берете модель энкодера, берете мк и подключаете, в чем проблема то?
Прямо в той же папке, где лежит модель есть файл с примером использования энкодера и мк.