Бесплатный симулятор Arduino, AVR, PIC, цифровой и аналоговой схемотехники
- Войдите на сайт для отправки комментариев
Сб, 15/02/2020 - 00:09
Здравствуйте, уважаемые форумчане!
Иногда заглядываю на этот форум, и обратил внимание на то, что некоторые пользователи пытаются найти симулятор Arduino. На сегодняшний момент их имеется достаточное количество, на любой вкус и цвет. Proteus имеет достаточно высокий уровень вхождения, у многих с ним не получается подружиться. WirtualBreadboard лично мне не понравился, но это мое мнение. Другие программы слишком просты, хотя их сбрасывать со счетов не следует.
В этом посте я хочу поделиться информацией о бесплатном симуляторе электроники с неплохими, на мой взгляд, возможностями. Программа называется SimulIDE.
Скачать можно здесь: https://simulide.blogspot.com
Последняя доступная версия: SimulIDE 0.3.12-SR3. Более новые версии на сайте patreon.com (распространяются по подписке)
Кратко о возможностях программы:
1. Симуляция схем в реальном времени
2. Симуляция микроконтроллеров PIC, AVR, Arduino
3. Симуляция цифровых схем
4. Симуляция аналоговых схем (ограниченно)
5. Широкий выбор измерительных инструментов (вольтметр, амперметр, осциллограф (одноканальный), 4-х канальный плоттер (к сожалению аналоговый), пробник, частотомер.
6. Возможность создания своих моделей на основе примитивов (я добавил в библиотеку более 100 микросхем серии 74, CD4000)
7. Гибкие настройки встроенных примитивов:
количество входов, выходов, напряжения лог. 1 и лог. 0 для входа и выхода (в том числе и отрицательные), открытий коллектор, инвертированный выход и другие - для логических элементов,
максимальный ток, цвет свечения для светодиодов, количество строк/столбцов, расположение выводов для матриц, количество разрядов для 7 сегментных индикаторов,
тип транзисторов, коэффициент их усиления для биполярных транзисторов, основные параметры для полевых транзисторов
подсветка разными цветами логических уровней для соединительных проводов при симуляции схем и много е другое.
8. Реальная симуляция светодиодов: яркость пропорциональна току. Работает ШИМ для управления яркостью.
9. Встроенный редактор кода для написания программ к микроконтроллерам (я не пользовался)
10. Возможность подключения компилятора кода (я не пользовался)
11. Возможность отладки кода (я не пользовался)
12. Настройки параметров симуляции
13. Программа русифицирована достаточно полно.
14. Работает без установки (портативная версия)
15. Работает под Windows, Linux, MacOS, запускал даже в ReactOS
16. Простой, интуитивно понятный интерфейс
17. Успешно опробовал симуляцию троичной логики (я добавил в базу несколько троичных элементов)
... и другие
Программа постоянно обновляется. Замеченные ошибки достаточно быстро исправляются. Автор обещает заняться разработкой моделей шилдов и датчиков для Arduino. Ультразвуковой сенсор уже имеется.
Вместе с программой поставляется большое количество примеров, на которых можно посмотреть качество моделирования и оценить возможности программы.
В целом программа производит приятное впечатление. Некоторые из моих студентов предпочитают пользоваться этой программой для симуляции цифровых схем.
Для начинающих электронщиков, думаю, программа будет полезна.
Более подробно о качестве моделирования можно прочитать здесь (просматривать можно сразу после 10-й страницы, там достаточно полно раскрыта тема симуляции микроконтроллеров и цифровой логики):
Как разрабатывать свои модели цифровых микросхем описано здесь:
Если кто-нибудь заинтересуется программой или созданием моделей для нее, могу написать более подробно.
Несколько скриншотов программы
Внешний вид интерфейса программы и некоторые инструменты, модели:
Полный список инструментов, моделей (коллаж):
Созданная модель микросхемы CD4553:
Модель в работе (трехразрядный частотомер):
Симуляция Arduino (бегущая строка)
Тот же проект, микросхемы в виде УГО:
Еще одна бегущая строка с редактором кода:
Более подробно с программой можно ознакомиться на официальном сайте или скачав ее.
Пока все. Кидайте камни.
Proteus имеет достаточно высокий уровень вхождения, у многих с ним не получается подружиться.
PR это ещё не король в симуляцции, есть вещщи пакруче. Хотя и PR очень самодостаточен. По поводу "вхождения" - нет там ничего сложного, освоить можно за 3-6 месяцев.
А по поводу симулятора фтеме - покажи классику, моргалку + LCD + какойнить датчег, ну, шоб для пасматреть.
1. Если не спешить, то SimulIDE осваивается за 2-3 вечера.
2. 2 схемы бегущей строки, которые работают, если я правильно понял, не являются доказательством работоспособности симулятора?
3. датчег - это вообще что?
Как то странно он работает. Почему меандр показывает?
Не обращай внимания. NMI застрял в развитии на уровне языка падонкафф начала 2000х.
Ну не знаю, LCD-2004 по I2C удалось подключить за один вечер знакомства с Протеусом, за 6 месяцев видимо станешь ГУРУ
3. датчег - это вообще что?
Ну вотт на данный момент времени интересны BMP280 и BME280. Можешь так-сказать "класс" паказать?
Ну вотт на данный момент времени интересны BMP280 и BME280. Можешь так-сказать "класс" паказать?
В данный момент моделей этих датчиков в SimulIDE нет (это можно было увидеть на скриншотах и не задавать глупых вопросов). Так что, как только, так сразу.
Ну вотт на данный момент времени интересны BMP280 и BME280. Можешь так-сказать "класс" паказать?
В данный момент моделей этих датчиков в SimulIDE нет (это можно было увидеть на скриншотах и не задавать глупых вопросов). Так что, как только, так сразу.
Я пока копаюсь в Протеусе и Мультисиме. Первый немного лучше работает с логикой, второй - превосходит первого при работе с аналоговыми схемами. Однако обе программы, порой, выдают странные ситуации. Даже в весьма простых схемах Протеус сообщает об ошибке, дескать, не хватает ресурсов системы. Хотя система, вроде бы и ничего: core i5, 16 Gb RAM, дискового пространства в вобщей сложности больше 3 ТБ. Причем, харды довольно шустрые, а системмный - вооще SSD. Платформа - домашние расширенные винды х64. Во всяком случае, Сони Вегас в разрешении fullHD никаких заиканий не проявляет. Чего же ему (Протеусу) еще надо-то? Мультисим тоже иногда на простейших схемах усматривает ошибку, включает оптимизатор и "оптимизирует". После чего схема начинает работать, но ни один элемент в ней не меняется. ПОдозхреваю, что беды из-за использования вареза: иных причин как-то не просматривается. Надо будет попробовать рекомендацию от ТС :)
Как то странно он работает. Почему меандр показывает?
Я собрал эту цепь и получил результат: на выходе генератора - меандр, на конденсаторе - искаженный треугольник. Думаю работает правильно. В Протеусе картинка получше, но и программа посерьезней. Нашел косяк в SimulIDE: осциллограф не отображает сигнал амплитудой менее 0,4 В. Мне приходилось на генераторе ставить амплитуду около 15 вольт. Проверял в SimulIDE в версиях от 0.3.12SR3 до 0.4.13RC4
В данный момент моделей этих датчиков в SimulIDE нет
ачО в нём есть? светодиоды и резисторы? а гайвербуттоны есть?
Я собрал эту цепь и получил результат: на выходе генератора - меандр, на конденсаторе - искаженный треугольник. Думаю работает правильно.
А я так не думаю. (хотя там есть зависимости)
Однако обе программы, порой, выдают странные ситуации.
Ничего они не выдают - это просто вы "расслабили булки" , раньше нетлист считали на листке бумаги и вручную "забивали" в текстовый файл и писали на дискету. А сейчас --- накидал на чеет деталек и сиди кури. По поводу "странных" ситуаций с протеусом - в сети гуляет много информации по особенностям работы с ним и особенности(ям) параметрирования. Вотт туда советую обратить свой взгляд.
Надо будет попробовать рекомендацию от ТС :)
Давай вот его ШИМ, но тока с ФНЧ 2-го порядка замути, посмотрим "кривульки" , аха?
Давай вот его ШИМ, но тока с ФНЧ 2-го порядка замути, посмотрим "кривульки" , аха?
да ложить прогу на бок, так сразу добавьте активный к словам ФНЧ 2 порядка...
[quote=-NMi-]
в сети гуляет много информации по особенностям работы с ним и особенности(ям) параметрирования. Вотт туда советую обратить свой взгляд.
/quote]
Да уж обчитался на эту тему. Если кратко, то все (почти) рекомендации сводятся к уменьшению или увеличению параметра, связанного с количество кадров в секунду. В большинстве случаев эти настройки не помогают. Увы. Повторюсь, что такие глюки происходят на самых примитивных схемах. Ладно бы затыкался вариант "на половину ватманского листа мелким шрифтом" . Так нет, "переполняется процессор" на простом усилителе из 5-6 транзисторов. Кстати, отлаженная схема на ПК (и на Протеусе и на Мультисиме) довольно часто в реале работает не так. Понятно, параметры натуральных деталей гуляют и, порой, прилично.
Так нет, "переполняется процессор" на простом усилителе из 5-6 транзисторов. Кстати, отлаженная схема на ПК (и на Протеусе и на Мультисиме) довольно часто в реале работает не так. Понятно, параметры натуральных деталей гуляют и, порой, прилично.
Процессор на простых усилителях может "переполниться" и из-за ошибок в схемотехнике самого усилителя. По поводу протеуса и мультисима да и всего остального - симуляция происходит по одним и тем-же принципам, просто в протеусе много "реальных" моделей, с ними "проще"работать. Работа в "реалии" , да, может отличаться если в аналоговых цепях нет или отсутствуют цепи ООС или ПОС или что-то похожее на них. В цифровых моделях работа в симуляторе и в реалии будет стремиться к 99% совпадания! По поводу "параметры гуляют" - так они и в заводском исполнении "гуляют". Я ща не вспомню точно по памяти, но, популярный КТ315 имел h21э от 50 до 350. И что, много схем на нём не работало? Так что ещё раз: читаем-смотрим-проверяем и так по кругу пока не получиццо!
Доступна новая публичная версия программы: SimulIDE 0.3.12-SR8
Скачать можно здесь: https://simulide.blogspot.com
Более новые версии здесь (пока по подписке): https://www.patreon.com/simulide
Список изменений:
SimulIDE_0.3.12-SR8
New Features:
- Help files: Spanish translation ( Kike_Gl ).
- Help files: Spanish help for 74 Series ( Kike_Gl ).
Bug Fixes:
- Stepper: bounding box overlaping pins.
- Stepper not updating after change steps number.
- Arduino 1.8.10 issue solved.
- AppImage tries to backup in Readonly FS.
- Some Help Files not Found.
- Some wrong error strings higlighted in Arduino Compile.
- Text Encoding errors.
- Missing file extension filters in Editor-›SaveAs.
- Bad Led visualisation when cpu can not keep speed.
- Atmega 1280,1281, 2560, wrong package file.
- Crash if mcu can't be created + new circuit.
- Pic18F4420 missing data file.
----------
SimulIDE_0.3.12-SR7
List of changes since last version:
Bug Fixes:
SR7
- Editor: Sintax highlight error parsing some rules.
- Oscope not updating when signal dissapears.
- Fixed 74HC194_LS.package (Sergey Roenko)
New Components:
SR7:
- IC74 (Sergey Roenko)
74HC156, 74HC157, 74HC158, 74HC251, 74HC257, 74HC258, 74HC298, 74HC352
74HC353, 74HC354, 74HC356, 74HC4052, 74HC4053, 74HC4067
74XX150, 74XX582, 74XX583
- ICCD (Sergey Roenko)
CD4019, CD4029, CD4066, CD4512, CD4532, CD4553
- Keys (Sergey Roenko)
DG401, DG403, DG405
- Ternary (Sergey Roenko)
Ternary_AND, Ternary_Buffer, Ternary_Multiplexer, Ternary_NAND
Ternary_NOR, Ternary_NOT. Ternary_OR
--------------
SimulIDE_0.3.12-SR6
List of changes since last version:
Bug Fixes:
- Circuits from 0.4.13: Try to position elements in grid.
- Crash closing file with debugger when no mcu ( 0.3.12-SR5 ).
- PIC: if PIC goes to sleep fail to exit sleep afther reset.
- Crash setting MCU to logic Symbol (No LS available for MCU yet).
- Crash on some actions while creating connector.
- Audio Out latency too high.
- LatchD randomly not properly initialized.
New Components:
- IC74(Sergey Roenko)
74HC245, 74HC260, 74HC4094
- ICCD(Sergey Roenko)
CD4006, CD4013, CD4014, CD4015, CD4021, CD4027, CD4035, CD4042, CD4043, CD4044, CD4076, CD4094, CD4095,
CD4096, CD4099, CD4508, CD40174, CD40175
---------------
SimulIDE_0.3.12-SR5
List of changes since last version:
Bug Fixes:
- I2C module: wrong output impedance when transmiting.
- Editor: closing unsaved doc + cancel not working.
- Editor: close unsaved doc whith no focus, editor takes the focused one.
- PIC with OSCCAL Reg. not working if call 0x3FF is made.
- Crash: Debug session + Close doc. + RamTable-›LoadVAriables.
- AVR SPI: MOSI pin should be high when idle.
- Wrong extension creating Subcircuits in some cases.
- Crash creating Subcircuit with 2 Package Pins connected together.
- Ground not working in Subcircuits.
- Subcircuits fixed (Sergey Roenko strikes again)
74HC73, 74HC76, 74HC107, 74HC109, 74HC112, 74HC113, 74HC173, 74HC175, 74HC259, 74HC279, 74HC373, 74HC374,
74HC375, 74HC377
New Components:
- IC74 (Sergey Roenko strikes again)
74XX91, 74XX95, 74XX96, 74XX166, 74XX170, 74XX178, 74XX179, 74XX195, 74XX198, 74XX199, 74HC670, 74XX381,
74XX382
-------------
SimulIDE_0.3.12-SR4
New Features:
- Circuit Zoom with key sequence: Ctrl+ Ctrl-
- Serial Terminal: "Clear" and "CR" buttons.
- New Dialog: create and edit Package Pins.
- Create Subcircuit and Package files in one shot.
Bug Fixes:
- Pic asm Compiler: gpasm does not find includes in project folder.
- Time widget scrollBars shown in some systems.
- Executable detected as shared lib in some builds.
- AVR timer mode 14: Fast PWM, Top=ICR1, doesn't update in OCRX changes.
- Send Text in Serial monitor limited to 50 characters.
- ATtinyX4 wrong Pin asignation in Timer0,1.
- ATtinyX4 wrong ADC definition.
- Use Chip Symbol if Logic Symbol file not found.
- Package should save file relative path, not absolute.
- Create Subcircuit taking Component Circuit Id instead of unique Id.
- Avoid dash "-" in Subcircuits Pin Ids.
- Avoid save Backup in read only filesystems.
- Subcircuits fixed (thanks to Sergey Roenko):
74HC42, 74HC74, 74HC75, 74HC151, 74HC155, 74HC192, 74HC93, 74HC393, 74HC592, 74HC4017, 74HC4026, 74HC4033
New Components:
- IC74 (thanks to Sergey Roenko)
74XX01, 74HC73, 74HC76, 74HC107, 74HC109, 74HC112, 74HC113, 74HC173, 74HC175, 74HC259, 74HC373, 74HC374, 74HC375, 74HC377
Как видим, программа развивается, обрастает новыми возможностями.
Качаем, тестим, отписывается.
как тут свои комменты тереть?
Как то странно он работает. Почему меандр показывает?
Не обращай внимания. NMI застрял в развитии на уровне языка падонкафф начала 2000х.
У вас ошибка в схеме- резистор не подключен к земле (нет жирной точки), вот тут сам автор программы разбирает:
https://www.youtube.com/watch?v=7ks1rthlSpI
Да и сама программа намного улучшилась: несколько новых датчиков, 4-х канальный осциллограф, 8-ми канальный логический анализатор, несколько новых микроконтроллеров, куча новых микросхем, повысилась скорость симулирования... Скачать можно на официальном сайте. Лучше через несколько дней - обнаружилась критическая ошибка в последней версии. Автор исправляет.
Схемы запускаюся и работают, примеры тоже, а вот при написании кода и попытке его скомпилировать постоянно выдает ошибку
-------------------------------------------------------
Exec:
Arduino: Инструменты не найдены
Правый клик на вкладке документа, чтобы задать путь
Ошибка компиляции!
Куда только путь не задавал, все равно одно и тоже (((
Подскажите куда рыть? Спасибо
скетч надо сохранить с расширением *.ino и установить на линуксе по крайней мере пакет arduino-builder, на вкладке со скетчем правой кнопкой мыши- выбрать путь к компилятору, обычно /bin/
на SimulIDE забил не компилит совсем чего только не делал , и пути и в папку итд. всё пофиг ей . не понравилась , работать нужно , а не в настройках днями ковырять , отзыв - сугубо отрицательный ... стёр все эти проги под корень теперь что бы меня заставить этит симул скачать , придёться доплатить ))) 2 дня промучился толку ноль . Может кому то и нравиться все эти сексотанцы с бубном и кажущейся крутостью ))) , но точно не для меня такие дела . В общем в этой проге если сказать разачарован , это ничего не сказать ...
путь к компилятору плз ) и ништяк )))
Надо указать путь к папке где лежит программа Ардуино C:\Program Files (x86)\Arduino
После этого все заработало!
В общем требуются примитивные музыкальные инструменты с одновременным знанием необходимых па )
Переустановил среду ардуины , после этого запустил Simul подсунул ему файл *.ino ( с Рабочего стола ) , Симул ругался итд , Но создал папку Arduino ( я её специально удалил ) , по адресу C:\Users\S\Documents\Arduino , в ней создал папку C:\Users\S\Documents\Arduino\libraries в неё я записал библиотеки ( просто скопировал вот отсюда http://ardublock.ru/ru/) , после запустил опять файл *.ino (опять же с Рабочего стола) , Simul опять ругался , что не находит папку со скетчами по адресу C:\Users\S\Documents\Arduino\Sketch , прописал её и туда файл *.ino закинул , после всех манипуляций , код скомпилился и погрузился в плату выбранную в Simule . Путь к компилятору , правой кнопкой указываю в заголовке открытого файла ino в среде Simul , там работает , если же указать путь ( прописать его ) нажав правую кнопку на самом теске кода ( окно ) и там есть меню "путь к компилятору " , то компиляция не стартует .
Вот такие веники . Успехов Всем )