Вот что у вас должно получиться
Часть картинки:
Для навигации по схеме мышкой перетаскивайте область видимости схемы - это зеленый квадрат вверху слева на картинке.
Масштаб изображения можно менять с помощью колеса на мышке или с помощью инструментов "лупа +" и "лупа -" в верхней панели инструментов.
Весь рабочий лист можно увидеть кликнув кнопку справа от "лупа -"
Показать определенную область схемы можно выделив ее с помощью инструмента выделения области инструментом - он еще правее.
Выделить компонент, проводник - щелчок левой кнопкой мышки. Выделенный компонент можно перетаскивать мышкой - при этом его электрические связи в схеме не нарушаться. А щелчок правой кнопкой мышки по выделенному вызывает вот такое меню:
Внимательно изучите это меню - кроме манипуляций положением компонента вы видите "молоток" - он позволяет разобрать сложный компонент на его "кусочки-кирпичики" поправив которые по своему можно опять собрать компонент кнопкой "Make Device". Вы видите вызов справки по компоненту и даже линк на скачивание даташита ! Очень удобно. Используйте. "Packaging Tool" позволяет редактировать корпус. "Show Pack ..." - показывает корпус компонента.
Фиолетовый жук - БАГ - это очень гибкие настройка опций симуляции.
Это меню можно открыть и не выделяя предварительно компонент - а просто сразу щелкнув на нем правой кнопкой мыши.
Свойства компонента - сделайте двойной щелчок левой кнопкой мышки по компоненту и откроется окно его свойств. О нем чуть ниже.
В левой верхней области экрана вы видите мини макет страницы со схемой и чуть ниже панель DEVICES - это компоненты которые использованы в проекте :
Кнопка с буквой "Р" открывает форму поиска компонента в библиотеках PROTEUS для добавления в схему. Кнопка с буквой "L" открывает менеджер библиотек - с его помощью вы можете подключать новые библиотеки компонентов. Вы видите микроконтроллер AVR AT90s8515 Несколько компонентов компании DALLAS - MAXIM - все они подключены по схеме к одному проводу интерфейса 1-Wire. Сигнал нельзя передать по одному проводнику - поэтому у этих компонентов должны быть соединены и выводы GND. |
PULLUP -это цифровой аналог резистора подтяжки к питанию - желательно по возможности применять цифровые резисторы (выбирается в свойствах резистора) - это меньше нагружает процессор вычислениями.
Кликните кнопку с буквой Р.
Откроется форма-меню поиска и выбора компонентов "Pick Devices".
В поле - "Keywords" вводите ключевые слова - любая часть названия компонента, или класса компонентов, или ток, напряжение, типа транзистора - то, что вы знаете и помните о нужном вам компоненте
Теперь введите ds2 и затем выберите щелкнув мышкой верхний из 4-х найденных компонентов - DS2405. В поле "Description" (описание) видим "адресуемый переключатель" - т.е. к этому прибору можно обратится по его адресу и "приказать" ему сделать на выходе PIO лог. "1" или "0" и возможно перевести выход в высоко импедансное Z-сотояние - ножка с очень большим сопротивлением практически не проводящая тока - т.е. не влияющая на то, что к ней подключено.
"FootPrint" - это то как будет выглядеть его место на печатной плате. Еще ниже название корпуса компонента - тут TO92 - это маленький трех выводной пластиковый корпус в виде цилиндра чуть меньше 5х5 мм с плоскостью на цилиндрической части.
Другая часть 1-Wire приборов на схеме начинается на ds1 - введите эти символы в поле ключевых слов.
Теперь найдено 8 приборов. Причем они расположены в 2-х категориях.
Я выбрал мышкой DS18s20 - в описании написано: "Высоко точный 1-Wire цифровой термометр". На схемном изображении этого компонента видно некоторое поле напоминающее дисплей - так и есть, в нем наверняка будут выводится какие то данные в процессе симуляции.
Поместить компонент на схему можно кликнув "ОК" затем поместите указатель мыши
в нужное место на листе схемы и щелкните мышкой. Компонент окажется на схеме. Если таких компонентов надо несколько - то сделайте несколько щелчков мышкой в нужных местах. Потом можно разместить и развернуть компоненты так как вам удобно.
Внимание ! Компонент интерактивный.
Красными стрелочками вы сможете прямо в ходе симуляции менять температуру корпуса датчика - т.е. ту которую он измеряет - щелкая по ним мышкой.
Температура отображается на дисплее компонента.
VCC - это + питания датчика DS18s20
GND - "общий провод" или "земля"
DQ - линия данных.
Компонент имеющийся на схеме можно добавить на схему вот так - выделить, скопировать и вставить, только в этом случае придется вручную присвоить ему новый порядковый номер. Поэтому лучше брать компоненты уже имеющиеся в проекте из списка "DEVICES" - тогда они будут нумероваться автоматически.
Отменить выделение ВСЕХ выделенных компонентовможно щелкнув правой кнопкой мыши в пустом месте схемы.
Удалить компонент или любой элемент со схемы можно двумя кликами правой кнопкой мыши по нему.
Левая панель инструментов - верхняя часть
L1 | открыть панель DEVICES - компоненты проекта и поиск новых | ||||||
L2 | поставить точку соединения проводников вручную | ||||||
L3 | дать название проводу - одноименные провода электрически СОЕДИНЕНЫ ! | ||||||
L4 | добавить текст в произвольное место схемы | ||||||
L5 | проложить шину - это жгут проводов - на схеме жирная темно синяя линия | ||||||
L6 | создать под-схему - т.е. некий блок содержащий в себе свою схему и соединители. | ||||||
L3 и L5 - очень полезны ! они позволяют не превращать схему
в нечитаемую паутину из проводников - используйте!
Левая панель инструментов - средняя часть | ||||
L8 | TERMINALS - питание, земля, межблочные соединения, выводы. | |||
L9 | добавить вывод к создаваемому компоненту. | |||
L10 | GRAPH - графич. отображение, сохранение и МОЩНЫЙ анализ результатов симуляции | |||
L11 | "магнитофон" для записи в файл и воспроизведения данных. | |||
L12 | генераторы любых напряжений, токов т вывод их из файлов данных. | |||
L13 | указать точку измерения напряжения на проводнике. | |||
L14 | указать точку измерения тока на проводнике. | |||
L15 | Virtual Instruments - измерительные приборы | |||
L16 | прокладка проводников на схеме, проводники можно называть с помощью L3 |
L10 - L15 - это инструментарий моделирования работы электронного устройства - т.е. главное в PROTEUS !
Помощь находится в меню: Help -> Proteus VSM Help
Часто в свойствах компонента есть кнопка "Help" - она открывает раздел справки именно по данному компоненту или модели.
Эти кнопки позволяют изменять изображение выделенного компонента на схеме. они расположены в низу левой панели инструментов. Первая и вторая - вращают на 90 градусов, ниже поле для указания произвольного угла поворота, еще ниже стрелки зеркального переворота компонента. Такие же кнопки есть в выпадающем меню по двойному щелчку леыой кнопкой мышки по компоненту. | ||
4 кнопки управления симуляцией. | "Пуск" - запуск симуляции или продолжение приостановленной симуляции. "Шаг" - выполнить минимальный шаг по программе МК, обычно это одна инструкция на ассемблере. Этой кнопкой тоже можно начать симуляцию. "Пауза" - пауза симуляции. Можно продолжить кнопками "Пуск" или "Шаг" "Стоп" - остановка симуляции. После этого симуляция начнется сначала кнопками "Пуск" или "Шаг" |
Напомню - у нас открыт проект - 1WIRE_NET.DSN
Откройте панель редактирования свойств компонента (Edit Component) микро контроллерAVR ATmega8515 - двойным щелчком по МК левой кнопкой мыши. Щелкните по кнопке "Hidden Pins" (скрытые выводы) - откроется дополнительное меню в котором показано как по умолчанию называются узлы (проводники) схемы к которым подключены питание МК - VCC и его общий провод - GND. Изменение этих названий позволит подключить питание МК к другим узлам схемы- это может потребоваться вам при питании МК или других компонентов разными напряжениями или от разных источников.
Нажмите "ОК" чтобы закрыть панель скрытых выводов и посмотрите внимательно
на содержимое панели редактирования компонента.
Главное для МК это программа по которой он будет работать.
В поле "Program File" нужно указать:
.cof - если вы хотите вести отладку по исходнику на языке Си программы созданной в
компиляторе CodeVisionAVR - CVAVR - я очень рекомендую его вам !
.elf - файл если вы хотите вести отладку по исходнику на языке Си программы созданой в компиляторе WinAVR - это отличный компилятор, но новичкам затруднительно его использовать.
UBROF - формат файла если вы хотите вести отладку по исходнику на языке Си программы созданой в компиляторе IAR - это самый лучший компилятор для AVR, но новичкам ОЧЕНЬ затруднительно его использовать.
.hex - это файл прошивки которую загружают и в реальный микроконтроллер. При выборе его вы можете отлаживать устройство без возможности просмотра исполняемого кода либо при использовании МК из новых библиотек в той строке где указана частота такта МК вы можете слева выбрать опцию "Дизассемблировать" прошивку и в поле справа указать "Yes" ( скриншот ниже ) - теперь в паузе симуляции вы увидите в окне исходного текста программы ассемблерный текст.
Вот так выглядит окно свойств микроконтроллера в версии 7.4 и выше
Галочки в низу с лева, с верху в низ - "исключить компонент из симуляции", "исключить из разводки платы", "редактировать свойства в текстовом формате".
Советую ознакомится со всеми опциями по help.
Clock Frecuency - частота такта. Именно здесь задается в PROTEUS
на какой частоте будет работать МК. Запомните !
Итак :
Чтобы симулировать в ПРОТЕУС работу микроконтроллера достаточно
1) найти его в библиотеках и поместить на схему
2) указать какую программу он должен выполнять (как описано выше)
3) указать частоту тактирования МК
Всё очень просто.
В микроконтроллерах PIC надо подтянуть MCLR к питанию напрямую или через PULLUP.
Повторю - это важно:
CLOCK - однозначно определяет частоту тактирования МК при симуляции !
Учтите что в свойствах некоторых МК указаны параметры встроенного делителя частоты - он работает с версии 7.4 - значит его установки влияют на частоту с которой выполняются инструкции в микроконтроллере.
Кварц и конденсаторы не нужны для симуляции, их устанавливают на схему только
для того чтобы учесть при разводке печатной платы устройства.
WDG_CLOCK - показывает частоту работы RC генератора сторожевого таймера.
Хотя она и обозначена 1MHz - "собака" не включена пока мы не добавим в свойства
МК строчку: {WDGON=1} - вам не нужно ее включать
запуск симуляции.
Кнопки управления симуляцией я уже описал выше.
А давайте запустим симуляцию "по хитрому" - укажем сколько времени программе работать и потом остановиться. Откройте меню DEBUG и щелкните пункт "Execute for specified Time" - значит приказ "Отработать указанное время" - впишите время выполнения "198m" - это значит отработать 198 милиСекунд - нажмите "ОК" - программа поработает и остановится - внизу под схемой будет указано время - 0.198000000 секунд.
Помните ! Выполнение такой команды и вообще симуляция, могут быть прерваны "точкой останова" или другим отладочным событием останавливающим симуляцию.
Множители в PROTEUS
p - пико x10-12 n - нано x10-9 u - микро x10-6 m - мили x10-3
k K - кило x103 M - мега x106
Сейчас можно было бы повторить такое же время или задать иное. А вы нажмите "ПАУЗА" - вот что у вас должно быть на экране после щелчка по меню DEBUG :
Вот часть картинки. Вы видите в верхней части меню команды управления ходом симуляции - моделирования устройства и соответствующие горячие клавиши.
Ctrl+F12 - начать симуляцию с начала.
F12 - пуск моделирования, продолжение если мы в паузе или стоим.
Alt+F12 - позволяет моделировать не останавливаясь на "точках останова" - "Breakpoints" - о них подробней ниже.
F10 - проскакивать функции
Ctrl+F10 - выполнить до строки отмеченной щелчком мышки
(но ваша строка может оказаться не достижима по алгоритму программы)
F11 - пошаговая симуляция
Ctrl+F11 - выйти из симулируемой функции
Нижняя часть меню. В ней находится ЖУК - это настройка диагностики, реакции на события в моделируемых устройствах и настройка сообщений отладчика PROTEUS.
Ниже расположены разделы отдельных компонентов на схеме. При наведении указателя на компонент показывается, что можно просматривать в специальных окнах при симуляции.
Помощь по симуляции МК находится в разделе - Proteus VSM Help
SOURCE LEVEL DEBUGGING WITHIN PROTEUS VSM
При симуляции устройства на экране мы будем видеть анимированную картинку. Режим анимации можно изменить через меню System > Set Annimation Options...
Обычный режим - экран обновляется 20 раз в сек. - отображать напряжение и ток на щупах L13 и L14 - под Цвечивать логические уровни на выводах. - показать цветом напряжения на проводниках (нет галочки) - показать стрелками направление тока в проводниках (нет галочки) |
Максимальное напряжение не ограничивает напряжение в симулируемой схеме!
Оно указывается для того чтобы ПРОТЕУС PROTEUS мог решить каким цветом показывать логические уровни - цвета у ноже компонентов означают:
"Красный" - логическая "1"
"Синий" - логический "0"
"Серый" - неопределено - высоко импедансное "Z - состояние" (выше толковал уже).
"Желтый" - конфликт на линии.
Шаг оцифровки тока 1 мкА - вы можете уменьшить этот параметр и улучшить другие параметры для повышения точности симуляции - но это потребует бОльшей вычислительной мощности и замедлит моделирование.
SPICE Options- открывает настройку симуляции моделей, но не думаю что вам нужно туда лезть - там довольно сложные параметры.
Справку по каждой строчке можно получить щелкнув по знаку вопроса ? и подведялампочку к интересующему пункту.
Если у вас еще не открыть проект 1WIRE_NET.DSN - откройте его.
Щелкните "СТОП" и нажмите "СТАРТ" он же "ПУСК"
Выскочит окно виртуального терминала ПК и примерно за 1 секунду программа
МК сделает все, что от нее требовалось :
Это вывод из USART МК на виртуальный COM порт ПК по интерфейсу
RS-232 в терминал PROTEUS списка опознанных устройств на шине
1-Wire и их серийных номеров.
При анимации логические уровни на выводах указываются цветными квадратиками. Красный - "Горячий" лог. "1" Синий - "Холодный" лог. "0" Серый - высоко омный ВХОД "Z-состояние". Для определенности ПРОТЕУС считает что на выводе половина напряжения питания МК. Желтый - конфликт на линии. Например линия замкнута на землю а программа в МК пытается сделать на ней "сильную" лог. "1". "сильную" - в моей терминологии это значит не pullup , а ножка настроена как выход и в порт записывается "1". Номер "таблетки" для домофонов DS1990 написан на ней. Серийные номера приборов DSxxxx заданы на заводе и не изменяемы. В ПРОТЕУС эти номера задаются в окнередактирования свойств компонента и надо поставить "No" у "Automatic Serialization" что бы выводились заданые вами номера. |
Нажмите кнопку "Стоп". Окно терминала пропадет.
Давайте отключим один 1-Wire прибор. Кликните правой кнопкой мыши на проводе от микросхемы U5 и затем левой щелкните красный крест - это удалит провод со схемы и отключит прибор от провода 1-Wire.
Нажмите кнопку "Пуск". Опять появится терминал PROTEUS но в списке опознанных приборов уже не появится отключенная U5 и уменьшится число найденных приборов до 6.
Восстановите удаленный проводник.Это можно сделать двумя способами:
1) Нажать кнопку отмены действия в верхней панели инструментов.
2) Проложить проводник заново. Выберите инструмент L16 - "проводник" - косая черточка над синим квадратом на левой панели инструментов и проведите провод от компонента U5 к проводу 1-Wire удерживая нажатой кнопку мыши и щелкните при касании провода - появится точка соединения проводников.
Снова запустите симуляцию и убедитесь что прибор опять опознан и считан.
Виртуальный терминал
Для схемы
1. Выбираем значок компонентов
2. В открывшемся окне на кнопку P. Откроется окно выбора компонентов. В строке ввода вводим OPAMP и из открытого перечня выбираем LM324 и помещаем на поле схемы.
3. В компонентах по списку выбираем CAPACITORS и в подкатегории выбираем GENERIC. Размещаем 2 конденсатора по схеме и по ПКМ редактируем их свойства.
4. По списку выбираем RESISTORS – GENERIC и редактируем их свойства. Резисторы должны быть аналоговые.
5. Выбираем RESISTORS – POT-HG (активный потенциометр).
6. На панели инструментов выбираем генераторы GENERATORS – DC и подключаем к выводам питания ОУ. В их свойствах задаем напряжение 6V для подключенного к выводу 4 ОУ и -6V к выводу 11 ОУ.
7. Переходя в режим выбора и редактирования, выполняем соединение проводниками.
8. Вывод земли GND выбираем в панели инструментов из TERMINAL MODE.
9. Данная схема представляет RC-генератор на основе моста Вина в положительной ОС. Потенциометр позволяет менять коэффициент отрицательной ОС от которого зависит генерация или ее срыв на выходе ОУ.
10. На панели инструментов из измерительных приборов выбираем OSCILLOSCOPE и вход A подключаем к выходу данной схемы.
11. Запускаем режим симуляции. Когда начнется симуляции устанавливаем следующие режимы осциллографа: канал А – 2V/дел, каналы B,C,D – выкл. Режим развертки (триггер) запуск от канала А, режим AUTO, скорость развертки 5мс/дел.
12. Регулируя потенциометр, добиваемся генерации и ее срыва. Фиксируем значение потенциометра в процентах, при которых запускается генерация и происходит срыв. Если генерация не возникала, то уменьшаем значение R3 (на 20%) и повторяем симуляцию. При генерации по осциллографу определяем период колебаний, который должен быть равен 2πR1C1 если R1=R2 и C1=C2