Свежие обсуждения
Проектирование и моделирование

Бесплатная система сквозного проектирования электроники

1 3

Сейчас практически все коммерческие CAD-ы, такие как OrCAD, PCAD, PROTEUS, Multisim и т.п. являются системами сквозного проектирования, т.е. содержат редактор схем, трассировщик печатных плат и симулятор. Поэтому есть идея собрать некую альтернативную систему сквозного проектирования на основе бесплатных программ. В качестве симулятора можно использовать прекрасно зарекомендовавший себя бесплатный, но полностью функциональный, симулятор LTspice. Осталось найти редактор схем и редактор печатных плат, способный выдавать документацию в формате GERBER (иначе какая это альтернатива коммерческим системам проектирования).
В результате своих поисков в Инете обнаружил EDA систему KiCAD, в которой есть все компоненты, кроме симулятора. Но повозившись с ней обнаружил, что данная система ещё далека от совершенства и работать с ней слишком сложно (например, в редакторе схем невозможно редактировать связи, в редакторе плат невозможно ввести крепёжные отверстия, т.к. последние отсутствуют в списке соединений ...).
Повозившись далее с поисковиком, обнаружил редактор печатных плат FreePCB и редактор схем TinyCAD, которые рассчитаны на совместную работу. Кроме этого, возможна передача списка соединений в программу FreePCB напрямую из симулятора LTspice, что явлется очень важным моментом.
Для установки редактора печатных плат FreePCB необходимо скачать и установить базовый модуль. Программа регулярно обновляется и, чтобы получить её последнюю версию, необходимо скачать очередное обновление и разархивировать его в поддиректорию BIN программы FreePCB, которая по умолчанию расположена здесь -> C:\Program Files\FreePCB\bin. Программа не имеет фирменного руководства на русском языке, но вполне читабельный перевод руководства пользователя FreePCB можно взять здесь.
Последняя версия редактора схем TinyCAD скачивается с его домашней странички. Установка проблем не вызывает. Не смотря на отсутствие русской документации, программа обладает простым и интуитивно понятным интерфейсом, что облегчает её освоение.
TinyCAD имеет большое количество собственных библиотек, но к сожалению они не соответствуют отечественным стандартам на обозначения. Небольшую библиотеку адаптированных обозначений можно взять здесь.. Библиотеку необходимо разархивировать в папку C:\Program Files\TinyCAD\library. При работе с ней необходимо установить сетку 2.5мм (путь Options->Setting->User set grid spacing).

 

А есть какая нибудь бесплатная система моделирования, позволяющая моделировать схемы с микроконтроллерами AVR (или хотя бы PIC) и желательно с индикаторами? Вопрос бесплатности или лицензионности в моем случае принципиальный, т. к. надо чтоб было на что ссылаться. Единственное, что есть - это лицензионный Multisim 10, но там кроме древнего PIC16F84 ничего больше не нашел, а хотелось бы что-нибудь вроде ATtyny2313 или на худой конец PIC16F628.

 

Леха: А есть какая нибудь бесплатная система моделирования, позволяющая моделировать схемы с микроконтроллерами AVR (или хотя бы PIC) и желательно с индикаторами?

На счёт AVR не ведаю, а для PIC есть MPLAB, в который встроен собственный симулятор, MPLAB SIM называется. Там можно определять уровни на различных ножках и наблюдать соответствующую реакцию контроллера.

 

Fedot:
MPLAB SIM называется
Я бы не стал называть это "Симулятором".
Вы же речь ведёте о программах типа Протеуса?

 

Gregory: Я бы не стал называть это "Симулятором".
Вы же речь ведёте о программах типа Протеуса?

А что ещё нужно? MPLAB SIM позволяет имитировать обработку программного кода, просматривать и изменять содержимое регистров, запускать обработку с произвольного места, также произвольно эту обработку останавливать, подавать и снимать сигналы с внешних выводов контроллера.... Например, таким образом мне удавалось наблюдать формирование синусоидального распределения заполнения рабочего цикла на выводах PWM. При этом MPLAB SIM достаточно корректен и, в отличие от Proteus, позволяет работать абсолютно со всем спектром выпускаемых контроллеров. Конечно при этом нужно больше работать ручками и головой, но ведь программа БЕСПЛАТНАЯ (как и спрашивал Леха), чего не скажешь о Proteus.

 

Fedot: MPLAB SIM позволяет имитировать обработку программного кода, просматривать и изменять содержимое регистров...
Это позволяет и AVR Studio, тоже бесплатная. Я MPLAB SIM не видел никогда, но из этого описания понял, что это примерно тоже. А мне надо чтоб схему моделировать, как в Протеусе или в Мультисиме. А с PIC16F84 связываться не хочется - это все равно что 386 проц вместо Pentium4 юзать. Неудобный он, таймер один всего, флэши мало и т. д.

 

Fedot:
А что ещё нужно?
Собственно Леха уже всё сказал.
Могу только добавить, что с MPLAB SIM начинал работать, когда только МК осваивал. Выходной сигнал там действительно наблюдать довольно легко (хотя и не очень наглядно), а вот со входным... Лично я попробовал, да "плюнул", и просто подставлял необходимые значения в регистры.
Кроме того, кроме самого МК там ничего нельзя симулировать.
Так что я бы всё-таки не стал её (или AVR Studio) называть "симулятором".

 

Gregory: Лично я попробовал, да "плюнул", и просто подставлял необходимые значения в регистры.
Кроме того, кроме самого МК там ничего нельзя симулировать.

Понятно, если не получается что-то использовать, то можно просто "дунуть-плюнуть" и попытаться использовать крякнутый Proteus, который сам по себе является прекрасной и перспективной программой. В душе лелею надежду накопить 10 килобаксов и купить его любимого официально. Однако, занимаясь силовой электроникой, пока не всегда удаётся этот самый Proteus использовать, т.к. в нём, как минимум, отсутствуют модели интересующих контроллеров. Выхожу из положения следующим образом - логику функционирования программы отлаживаю в MPLAB SIM, а связку цифра-аналог в симуляторе LTspice IV. Последний в своём составе имеет аналоговые блоки (B. Arbitrary behavioral voltage or current sources), которые позволяют генерировать достаточно сложные зависимости. Так, например, выглядит трёхуровневый ШИМ генератор:
B1 N001 0 V=(0.5+0.5*sin(2*pi*F*time))>if(time/T-int(time/T),1-2*time/T+int(2*time/T),2*time/T-int(2*time/T))+Td/T
B2 N002 0 V=(0.5+0.5*sin(2*pi*F*time))if(time/T-int(time/T),1-2*time/T+int(2*time/T),2*time/T-int(2*time/T))-Td/T
где:
F - частота модуляции
T - период ШИМ
Td - мёртвое время

 

Fedot: можно просто "дунуть-плюнуть" и попытаться использовать крякнутый Proteus, который сам по себе является прекрасной и перспективной программой.
Программа действительно прекрасная. Только все дело в том, что мне надо ссылаться на то, чем я моделировал и все должно быть официально( Смысл всего этого примерно такой: Использование современных систем моделирования для разработки микропроцессорных устройств в учебном процессе... и т. д. А из платных прог кроме лицензионного мультисима больше ничего нет, а протеус очень нескоро появится, если появится вообще

 

Леха: А из платных прог кроме лицензионного мультисима больше ничего нет, а протеус очень нескоро появится, если появится вообще

Попробуй GPSIM,