Proteus симуляция arduino



arduino и proteus Симуляция ардуино без подключения

Arduino и Proteus Симуляция ардуино без подключения. Виртуальная Ардуино. proteus 8 professional. Установка, начало работы с Ардуино на примерах. Как добавить электронные компоненты и нарисовать свою схему и протестировать (с эмулировать) без подключения к Ардуино.

Сегодня рассмотрим пример проверки кода без сборки устройства и прошивки платы АРДУИНО, а поможет нам в этом удивительная программа Proteus.
Приветствую всех моих подписчиков и гостей канала. Сегодня мы изучим новую программу, которая в сотни раз облегчит наш труд.

Proteus – это система автоматизированного проектирования, пакет программ для электронных схем. Здесь можно собрать любую схему электронного устройства и проверить его работоспособность., устранить ошибки в проектировании и создать печатную плату на основе своих разработок. В библиотеке программы заложено несколько десятков тысяч электронных компонентов, и я очень удивлюсь если вам чего-то будет недоставать.

Есть возможность подключаться к USB и COM порту компьютера и получать оттуда данные или посылать их из программы.

Посмотрим что мы сегодня будем разбирать.
Для примера я подключил 8 светодиодов и буду мигать ими по очереди. Пример, конечно совсем простой, но мы сегодня разбираем на скетчи, а как работать с Proteus.
Я параллельно работе симуляции запустил собранную плату, а что бы было понятно что светодиоды мигают с частотой 1 секунда, я вывел на экран ещё и таймер. Вы можете видеть, что светодиоды переключаются через 1 секунду по таймеру. Но это никак не соответствует реальному времени. Что бы понять в чём же дело надо прочитать сообщения об ошибках. А здесь в предупреждениях написано, что «Моделирование не работает в режиме реального времени из-за чрезмерной загрузки процессора.»

Теперь изменим время мигания светодиодами, а заодно я покажу как обновить бинарный файл, который нам понадобится для симуляции в Proteus.
Меняем время пауза на пол секунды и так как мы не подключали Ардуино к компьютеру, то нажимаем кнопку Проверить код. После завершении компиляции, заходим во вкладку Скетч и нажимаем Экспорт бинарного файла. Если вы сейчас ничего не понимаете – это не страшно я потом всё объясню. Снова переходим в Proteus и нажимаем включить симуляцию. теперь время между включениями светодиодов сократилось в два раза, и теперь вместо 8 секунд весь цикл отработал за 4 секунды, то есть в два раза быстрее. Я думаю вы поняли что это за программа и для чего она нужна, так что идём дальше.

Пару слов про установку программы PROTEUS. На сегодняшний момент самая новая версия – это версия 8.13. Вот ссылка на скачивание с официального сайта, но там версия с ограничениями. Ограничения не связаны с разработкой и вы можете делать практически всё что и в платной версии, за исключение сохранения и распечатки готового результата. У меня ушло не больше минуты что бы найти сами знаете какую версию. Что вы будете устанавливать решайте сами. Советую вам для начала скачать тестовую версию, а потом уже решайте сами. В моих дальнейших видео я буду часто обращаться к этой программе, так как собирать сложные устройства только для видеоурока сложно и долго, а в программе я всё это сделаю за 5-10 минут.
Когда -то давно я делал видео про протеус. Но возможно кому-то захочется посмотреть . Вот ссылка на это видео.

Я буду предполагать, что вы скачали установили Proteus. Там ничего сложного, и устанавливается как и любая другая программа.
Запускаем программу и видим вот такое окно. Сразу скажу, что я не буду сегодня рассказывать про все возможности программы, так как если вы видите её в первый раз, то всё равно много не поймёте, а если уже знакомы, то и так всё знаете. Мы будем изучать всё по мере надобности. Нажимаем на Новый проект и вам будет предложено ввести имя проекта и путь по которому он будет находиться. Имя оставим без изменений, а вот путь я бы поменял. Желательно создать на каком-нибудь диске папку Proteus и лучше всего это сделать в корне папки, что бы было проще туда переходить.

Нажимаем продолжить и теперь вам будет предложено загрузить шаблон с которым вы будете работать выбирайте default, я потом расскажу почему.
Здесь спросят будете ли вы делать печатную плату. Мне это сейчас без надобности, поэтому отказываемся. Дальше везде жмём ok.
Перед вами открылось окно с новым проектом. Пока вам надо просто знать, что в окне справа мы будем собирать свою схему и смотреть как она будет работать.
Но что бы собрать схему, вам надо выбрать набор элементов из которых и будет состоять схема.
Для этого в окне слева нажимаем кнопку P и в поле keywords начинаем набирать то что мы ищем. Сначала добавим микроконтроллер. Набираем AVR и находим контроллер ATMEGA328P именно на нём собраны платы Ардуино НАНО и АРДУИНО УНО.

Здесь мы видим как микроконтроллер будет выглядеть на схеме, а здесь посадочные места для печатной платы.
Щёлкаем 2 раза мышью и контроллер отображается в окне DEVICES. Теперь для нашего примера нам нужны светодиоды. Набираем LED и в подкатегории выбираем LEDs, теперь в этом окне выбираем нужные нам светодиоды. Я выберу несколько штук разного цвета. Так же щёлкаем по выбранным два раза и они тоже оказываются в окне слева. А ещё нам нужна кнопка.
Теперь нам набо выбрать резисторы. Мы же знаем, что без них светодиоды сгорят. Нам надо выбрать 8 резисторов, но так как они все будут одинакового типа, размера и мощности, то нам достаточно добавить всего одну штуку.

Да, и ещё я забыл выбрать кварц и пару конденсаторов. На всех платах Ардуино стоят внешние кварцы. Они нужны, чтобы микроконтроллер работал на частоте 16 мегагерц, то есть выполнял 16 миллионов операций в секунду. Без этого он будет работать на частоте всего 8 мегагерц и выполнять 8 миллионов операций.
Так что снова идём в библиотеку с компонентами.

Теперь закрываем окно. Для того чтобы каждый раз не выбирать часто используемые компоненты, вы можете сохранить их в шаблоне. Для этого переходим в TEMPLATE и выбираем самую нижнюю строчку. – Сохранить дизайн как шаблон. В списке выбираем default или создаём новый шаблон. И теперь при открытии этого или нового проекта вас все эти детали будут загружены по умолчанию.

Теперь набросаем нужную нам схему. Как я говорил – это ознакомительный урок, поэтому мы пока не будем наводить красоту, а просто научимся рисовать схему.
Выбираем контроллер и щёлкаем в том месте где мы хотим его расположить. Увеличить или уменьшить размер можно простым вращением колеса мышки. Так как мы будем работать с портом D то все светодиоды будем размещать слева, где и находится этот порт.

Выбираем первый светодиод и щёлкаем в нужном месте. Если светодиод надо повернуть, то это можно сделать нажав на клавиатуре NUM LOCK знак минус. Ещё больше возможностей можно получить нажав правую кнопку мыши и выбрав нужную команду. Добавляем оставшиеся светодиоды размещая их в столбик.
Получилось не очень красиво, и слишком много надписей. Но всё это можно удалить или вывести свои надписи. Для этого щёлкаем правой кнопкой и выбираем нужное действие.
Выбираем EDIT LABEL. Здесь можно написать свой текс, удалить и выровнять как вам нравится. Я удалю цвета светодиодов. Проделываем всё это для всех светодиодов.
Теперь надо добавить резисторы, а как мы знаем, что без резисторов светодиоды моментально сгорят. Вся прелесть работы с Protes в том, что вы не сможете ничего сломать или сжечь.
Резисторы размещаем также в столбик напротив светодиодов.

По умолчанию, те резисторы что мы добавили имеют номинал 10 кОм, но при таком значении светодиоды гореть не будут, поэтому его надо изменить. Например на 330 Ом. Это делается нажав на резистор правой кнопкой мыши и выбрав редактировать свойства. Поменяем значения на необходимое.
Что бы больше не заниматься редактированием, скопируем этот резистор в буфер памяти. Теперь для того что бы поместить резистор из памяти надо выбрать, поле вставить из памяти. Разместим оставшиеся резисторы напротив светодиодов.

Теперь их надо соединить со светодиодами. Для этого подводим мышку к любому выводу и у нас появляется красная точка. Щёлкаем мышкой и ведём линию до нужного места. Протеус сам рисует прямые линии, вам остаётся только задать направление. Если вы хотите сделать где-нибудь поворот, то в этом месте щёлкаете мышью и ведёте дальше.
Для работы светодиодов их надо подключить к питанию. Плюс 5 вольт они будут получать от микроконтроллера, а минус от земли. Для этого надо создать на схеме эту самую землю. Кстати в Протеус микроконтроллер не надо подключать к питанию, он автоматически подключен.

Выбираем кнопку Терминал. Здесь мы можем взять как источник питания, так и землю, а также многое другое. Нам сегодня нужна только земля. Выбираем и переносим на схему.
Теперь надо соединить все резисторы и подключить их к земле. Просто тянем линию и соединяем. Точки соединения образуются автоматически.
Так как в нашем скетче светодиоды подключены к выходам с D2 по D9 что соответствует портам D и B контроллера, то так и подключаем. Чтобы светодиоды зажигались по очереди, надо подключить их по порядку, начиная с порта D2 до D7 и к порту B с нулевого по первый.
Если вы вдруг ошиблись, то ничего страшного просто удалите неправильные подключение, выбрав соединение, нажав правую кнопку мыши и выбрав DELETE WIRE. Затем проложите новую связь.

Я забыл добавить кварц. Сейчас это исправим. Идём в библиотеку с компонентами.
В поисковой строке пишем слово кристалл и выбираем первый попавшийся. Если бы мы делали печатную плату, то тогда нам был бы важен размер и способ установки. Нам же сейчас всё равно. Добавляем в девайсы. Вместе с кварцем надо установить два конденсатора. Поэтому находим в библиотеке конденсаторы и так же добавляем в свою схему.
Закрываем библиотеку и разместим конденсаторы и кварц на схеме и подключим согласно даташиту. На плате, для установки кварца есть два пина PB6 и PB7. Вот туда и нужно устанавливать. Кстати, если вам достаточно всего 8 мегагерц, то вы можете не устанавливать кварц, а эти выводы использовать как обычные цифровые пины.
Устанавливаем конденсаторы. Для конденсаторов надо установить значение их ёмкости. В разных даташитах она указана по разному, где-то 10 а где-то 22 пикофарата. Это не суть важно. Соединяем всё это по схеме.

Теперь настало время поговорить про HEX файл. В протеус мы не можем загрузить обычный файл с расширение ino в котором хранятся все файлы сохранённые в программе ардуино ide, нам нужен специальный файл.
Есть несколько способов создать этот файл. Мне больше нравится этот, поэтому про него и рассказываю.
На второй минуте видео я показывал как создать этот файл, но прошло много новой информации, поэтому повторюсь. Если у вас не подключена Ардуина к компьютеру, то нажимаем кнопку Проверить, а не скомпилировать.

Ждём когда компиляция завершиться и переходим в папку где у вас хранится скетч. Там сейчас всего 1 файл. Теперь переходим на вкладку скетч и и нажимаем экспорт бинарного файла. И теперь в паке со скетчем появилось ещё два файла, вот они то нам и нужны. Один – это HEX файл с загрузчиком, а второй без загрузчика.
Теперь этот файл надо загрузить в контроллер. Я выбираю файл без загрузчика, так как загрузчик нам сегодня не нужен. Выбираем контроллер и щёлкаем правой кнопкой мыши. Выбираем EDIT PROPERTIES и перед нами открывается окно со свойствами контроллера. Это его обозначение на схеме, название контроллера, фьюзы и другое. Нам сейчас надо указать путь где хранится HEX файл.

Щёлкаем по нужному файлу и путь к этому файлу охраняется в свойствах микроконтроллера.
Теперь нам надо изменить фьюзы.
Фьюзы — это не простая тема, поэтому я оставлю её для отдельного видео. Экспериментируя с ними в протеусе вы ничем не рискуете, а вот бездумно переключать их на реальном компьютере грозит вам тем, что он станет не рабочим, и практически без восстановления. Так что сейчас только самое необходимое.
Так как мы используем внешний кварц то нам надо отключить деление на 8.
Отключаем внутреннюю RC цепочку которая устанавливает частоту контроллера на 8 мегагерцц и подключаем внешний кварц.
Пишем сюда частоту кварца. Можно написать 16 миллионов или просто 16 мегагерц. Нажимаем ОК теперь у нас всё готово для работы с примером.
В скетче частота мигания светодиодами установлена в 1 секунду и пауза после работы последнего выключения светодиода тоже секунда. Проверим как это работает в Протеусе.
Нажимаем кнопку включить симуляцию. Красные квадратики около светодиодов — это знак того что в данный момент на нём высокий сигнал, то есть HIGH или +5 вольт. Синий квадратик это знак того что на выводе земля, то есть напряжение отсутствует.

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

Давайте посмотрим, правильно ли работает пример. Для этого из вкладки инструменты выберем цифровой таймер и установим его на схему. Кроме этого здесь ещё множество приборов о которых мы поговорим в следующих видео.

У таймера много настроек, я же просто его его кинул на схему и даже не подключил и при включении симуляции он просто отсчитывает время работы. Мы можем увидеть, что светодиоды переключаются каждую секунду. Значит всё у нас работает и можно теперь собрать схему и заливать пример в скетч.
Хотелось ещё много чего рассказать. Подключить вольтметр и амперметр и посмотреть как меняется сила тока и напряжение на светодиодах. Подключить осцилограф и измерить сигналы. Здесь десятки очень интересных приборов, но времени не хватило. Я и так сделал очень большое для себя видео, так как не люблю видео больше 10 минут, так как считаю, что такие большие видео мало кто смотрит.

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

Источник

Proteus arduino. установка дополнительных библиотек ARDUINO ESP8266 NodeMCU.

Сегодня поговорим о том, как установить в Протеус дополнительные библиотеки. Утановим все возможные платы Ардуино и плату NodeMCU. Начнём с библиотеки Ардуино. Как я увидел не многим понравилось работать напрямую с контроллером, подключаясь к портам. Для вас это видео. Оказывается в Протеусе можно работать и с платами Ардуино, надо только установить дополнительные библиотеки. Вот этим сейчас и займёмся.

Если у вас недавно установлен Протеус, то он ещё не успел обрасти дополнительными библиотеками, и пусть у вас самая последняя версия, в ней всё равно нет плат Ардуино. Давайте посмотрим. У меня самая свежая на текущий момент версия Протеуса. Посмотрим, есть ли в ней платы Ардуино.

В библиотеке компонентов набираем Ардуино и смотрим что же по этому слову есть в Протеусе. Список прямо скажем небольшой и всё только разъёмы, плат Ардуино нет, но мы сейчас это исправим. Закрываем библиотеку и выключаем Протеус, так как после добавления библиотек, всё равно придётся его перезагружать, так как изменения не вступят в силу без перезагрузки.
Файлы с библиотеками, используемые в этом видео можно найти на моём сайте, ссылка на архивы будет в описании к видео. У меня есть много разных библиотек, и я буду выкладывать их по мере надобности в соответствующих уроках.

Для начала, вам надо найти куда у вас установлен Протеус, а там перейти в папку DATA. В этой папке находим другую папку под названием LIBRARY, вот там и находятся все компоненты которые мы видим в Протеусе И именно сюда мы добавим файлы отвечающие за вывод плат Ардуино.

Надеюсь, что вы уже скачали архив с библиотеками. Открываем его. Там всего 3 файла, один из них просто текстовая информация, она нам не нужна. Выделяем 2 файла и копируем в библиотеку программы Протеус. Вот и всё. Мы добавили платы Ардуино. Теперь надо зайти и посмотреть как их достать и как они будут выглядеть на схеме.
Открываем Протеус и идём в библиотеку. Снова набираем Ардуино. Теперь у нас есть возможность выбрать одну из 6 плат. Это две платы Ардуино Мега, Ардуино мини и Ардуино нано, про мини и уно.

Добавим в список Ардуино Нано и установим её на схему. Теперь откроем Arduino IDE и загрузим обычный скетч мигания светодиодами. Можно было бы конечно загрузить и что-нибудь посложнее, но для проверки нам и этого будет достаточно. Менять в нём ничего не будем. Зная, что этот пример мигает встроенным светодиодом, который расположен на 13 выводе можно будет собрать схему для проверки. Кстати, на Ардуино в Протеусе нет встроенного светодиода, и если вы захотите помигать, то вам придётся собрать небольшую схему. Чем мы сейчас и займёмся. Но для начала надо добавить путь к HEX файлу. Это ничем не отличается от предыдущих примеров, просто щёлкаем на плате и выбираем редактировать. Дальше указываем путь к файлу и закрываем свойства платы.

Теперь соберём саму схему. Нам понадобится светодиод и резистор. Устанавливаем их на плате. Не забываем про землю. Напомню, что земля очень важна в примерах Протеуса, так как все измерения производятся относительно земли. Сейчас это может и не так важно, но старайтесь чтобы земля всегда была на схеме. Меняем значение резистора, например на 390 ом. А так вообще значение может быть в пределах от 100 ом до 1-2 килоом. Включаем симуляцию и видим, что наш светодиод весело замигал. Значит всё у нас получилось и теперь можно собирать схемы не используя голый контроллер, а работать более привычным способом.

Теперь вернёмся снова к скетчу и поменяем вывод с 13 на 4. Тестировать плату, так тестировать. А то вдруг, что-то пойдёт не так. Снова компилируем код и экспортируем HEX файл. В протеусе тоже изменим схему соединения. Удалим линию связи с 13 выводом и протянем новую, до 4 вывода Ардуино. Включаем симуляцию и видим, что светодиод мигает.
Проверим работу ещё одной платы. Например Ардуино УНО. Так же заходим в библиотеку компонентов, пишем Ардуино и выбираем Ардуино УНО. Закрываем окно и устанавливаем плату на схему. Скетч я менять не стал и поэтому у нас там прописано, что мигать будем четвёртым выходом Ардуино. Поэтому поворачиваем плату так чтобы было удобно подключить светодиод к плате. Открываем редактирование свойств платы и прописываем путь к HEX файлу примера blink.

Подключаем токоограничивающий резистор к четвёртому выходу Ардуино и запускаем симуляцию. Светодиод начал моргать точно так же как и в предыдущем примере с платой Ардуино НАНО.

Мы убедились, что все платы работают и их можно использовать для работы. Теперь вам не обязательно собирать готовую схему, а достаточно просто нарисовать схему и попробовать как она будет работать. Это очень простой пример, но есть гораздо более сложные, на сборку которых может потребоваться не один день, а в Протеусе можно собрать и протестировать за считанные минуты.

Думаю на этом можно закончить с библиотекой Ардуино и перейти к установке ESP 8266 NodeMCU.
Сначала проверим не установлена ли у вас эта библиотека. Хотя чего я обманываю, конечно не установлена. Сейчас мы это исправим. Как обычно для этого надо скачать второй архив и скопировать файлы в библиотеку Протеуса.

Но здесь будет чуть больше файлов и папок. И самое главное перед копирование я бы вам посоветовал скопировать всю папку Library и сохранить в другом месте, так как файлы которые вы будете копировать предложат заменить существующие и если что пойдёт не так вы всегда сможете вернуть родную библиотеку на место. Я правда не слышал, что возможны проблемы, но кто его знает.

Вам надо будет скопировать 4 файла. Два из папки DEVICE и 2 из FOOTPRINT.
Чтобы у вас появилась 3-д модель платы вам надо будет скопировать 3-д модель из одноимённой папки и положить этот файл в папку mcad которая находится тоже в data. Думаю, что с этим у вас проблем не должно быть.

Перезагружаем Протеус и входим в библиотеку компонентов. Сначала пробуем ввести esp и в папке микроконтроллер видим NodeMCU версии 3 LOLIN. А теперь самое печальное. Видите, справа в окне показана надпись, что эта модель не предназначена для симуляции. Это говорит о том, что вы можете разместить её на схеме, подключить любые детали необходимые для схемы, но не сможете проверить её работоспособность. Тогда для чего это нужно. А нужно это для того чтобы можно было бы собрать схему, развести дорожки и сделать печатную плату, самому или отправив файлы кому-то ещё, например китайцам.

В окне PCB Preview видно что эта модель может выводиться на печатную плату. А ещё эту плату можно найти по ключевому слову node, так что не важно что вы введёте, результат будет один. Плата nodeMCU.

А теперь сравним две установленные сегодня библиотеки. Везде как говорится есть плюсы и минусы.
В Ардуино библиотеке – есть возможность симуляции и тестирования схемы, но нет готового макета для вывода на печатную плату и если вы захотите просто так создать печатную плату, то получите ошибку.

А в библиотеке NODEMCU есть возможность создать печатную плату, но нет возможности для эмуляции и тестирования рабочей схемы.
Так выпьем же за то, чтобы наши возможности совпадали с нашими желаниями.

Добавим NodeMCU на схему и соберём проект мигания светодиодом.
К 4 выводу платы я подключил резистор, к которому подключил анод светодиода. Катод я подключил к земле и к контакту GND на плате. Это было сделано потому, что это не встроенная в Протеус библиотека, а сторонняя, в которой питание не подключено по умолчанию. А ещё я вывел два коннектора которые подключил к земле и vcc платы. К ним можно подключить внешнее питание от 5 до 12 вольт.

Переходим во вкладку создания печатной платы. Целью этого видео не являлось показать как создавать печатные платы, для этого будет отдельный, большой урок, поэтому просто переходим в режим 3-д и посмотрим как может выглядеть выглядеть ваша плата и проведёнными дорожками, с надписями на верхнем слое и с элементами и без них. Просто покрутим плату и рассмотрим её со всех сторон.

Давайте подведём итог этого видео. Я рассказал как можно добавить сторонние библиотеки компонентов в Протеус, а где их взять я думаю понятно. В интернете полно готовых библиотек и найти их не составит труда. После установки надо обязательно перезагружать протеус иначе вы не увидите только что установленные компоненты. Заходя в новые, да и не только в новые, но и в установленные по умолчанию элементы надо всегда смотреть доступны или они для симуляции и есть ли у них 3-д модель и возможность создать с ними печатную плату.
Если вы хотите сделать плату с Ардуино из готового проекта, вы можете на плате разместить коннекторы с двух сторон по ширине как ваша плата. Исключить Ардуино из проекта PCB, а к контактам подвести проводники. Единственным минусов этой схемы будет только то что вы не увидите 3-д модель с Ардуиной, а только контакты под посадочные места платы.

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

Источник

Adblock
detector