Найти тему
Реальная Сталь

Ардуино. Программирование с нуля до ЧПУ. Симулятор электронных схем ПРОТЕУС(Proteus)

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

В помощь нам приходит удивительная программа Протеус– современная прикладная программа для автоматизированного проектирования, моделирования и отладки электронных схем.

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

Распаковываем архив, видим папку crack, и два приложения (.exe). Запускаем файл pro-setup77.exe . Нажимаем Next, соглашаемся с лицензионным соглашением, выбираем Use a license key installed on a server и нажимаем Next, в окно Server ничего не вводим, а просто нажимаем Next, потом опять нажимаем Next 3 раза, и начнётся процесс копирования файлов. Потом снимаем обе галочки и нажимаем Finish. Proteus 7.7 установлен.

Из папки
crack(кряк) запускаем файл LXK Proteus 7.7 SP2 RUS v1.0.1.exe
Если при установке вы не меняли путь установки
Proteus , то путь можно оставить по умолчанию.Нажимаем Установить. Кряк тоже установлен.

Приложение Rus_Proteus.7.7sp2_v1.0 это русификатор. Хотите установите, но от него толку немного и он глючный. Лучше пока не трогаем.

У нас установилось 2 программы ISIS и ARES. Нас пока интересует ISIS.

Запускаем ISIS , могут выскочить непонятные окна, везде отменяем и перед нами

.
.

В большом, сером поле мы моделируем, "прошиваем" и запускаем нашу схему. Давайте не будем нарушать традиции и помигаем светодиодом.

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

Кто читал мою статью "Введение в Ардуино"помнит картинку распиновки. Ее и будем использовать при моделировании.

.
.

И так, в ISIS жмем Р (выбор электр.компонента), в появившемся окне Pick Devices пишем atmega328p, жмем ОК

.
.
.
.

Далее опять жмем Р , в появившемся окне Pick Devices пишем LED(светодиод) , выбираем цвет, например red (красный), жмем ОК.

.
.
.
.

Выбираем резистор 1-2 ком, в поле Pick Devices пишем resistor

.
.

Расположим наш светодиод вот так, подключим к аноду плюс 5 вольт

Обратите внимание, катод светодиода мы подключили к 17 (PB5) ножке микроконтроллера через резистор 100 ом. Почему? Согласно распиновки Ардуино. Встроенный светодиод подсоединен к 13 ножке . Еще раз смотрим, "смотрим сюда"

.
.

Осталось смоделировать кварцевый резонатор на 16 МГЦ, нажимаем Р, в поле Pick Devices пишем crystal, располагаем, подключаем к 7 и 8 пину микроконтроллера, двойным кликом по "кристаллу" устанавливаем его параметр 16 мгц.

.
.

Теперь у нас есть виртуальная схема в протеусе, ее нужно виртуально прошить, но прошивка будет настоящая, файл с расширением .hex

.
.

Сейчас ее организуем

Думаю, все знают наш первый скетч мигания светодиодом. На всякий случай вот он для копирования в Ардуино IDE.

void setup() { // оператор инициализации

pinMode(13, OUTPUT); // инициализируем 13 ножку на вывод

}

void loop() { // оператор цикла

digitalWrite(13, 0); // отключаем 5 вольт на 13 ножке

delay(2000); // ждем 2 секунды

digitalWrite(13, 1); // включаем 5 вольт на13 ножке

delay(2000); //ждем 2 секунды

}

Копируем этот код скетча в Ардуино IDE, сохраняем в какую то папку. Считается, что физической(аппаратной) платы ардуино у нас нет. Сейчас ОЧЕНЬ важный момент, компилируем следующим образом,

.
.

В папке , куда сохранен скетч, появятся два хекс файла. Это и есть прошивка. Их две. Пока берем меньшую

.
.

Прошиваем нашу виртуальную схему в протеусе. Делаем двойной клик на
нашем микроконтроллере

.
.

Нажимаем ОК, затем пуск, светодиод замигал с частотой 2 сек.

Нажмите на стоп(отключение питания). Измените в скетче параметр delay(2000);, например на delay(1000);, скомпилируйте опять способом скетч --> экспорт бинарного файла, нажмите в протеусе пуск. Светодиод замигает с новым параметром 1 сек, то есть прошивать по новой не нужно. Удобно.

Мы немного коснулись ФЬЮЗОВ. Это серьезная тема. Фьюзы это специальные БИТЫ, в определенном месте памяти микроконтроллера. Выставляя эти биты мы меняем поведение микроконтроллера. Балуясь в протеусе мы ни чем не рискуем, кроме получения ошибок.

ЕСЛИ необдумано экспериментировать с фьюзами на "живом" микроконтроллере или Ардуино, можно превратить ваш девайс в КИРПИЧ. Реанимация будет сложной, а иногда невозможной.

Мы немного продвинулись в программировании. Будем считать, что это круто, писать в Ардуино IDE, а исполнять на"голом" микроконтроллере. А можно и воспользоваться библиотекой для протеуса, которая добавит в него девайс ардуино.

Об этом и фьюзах в следующих статьях