"Эх, давно не брал я в руки шашки..." Поднакопилось, однако Ну, да ладно пойдём в обратном порядке до предыдущего моего поста.
Начнём с
Dentorol, которого вынужден "огорчить до невозможности", как выразился Г. Жеглов в известном детективном сериале. Огорчение выглядит следующим образом - все Ваши "исследования" с усилителем формирователем, мягко выражаясь, "мну усатому-хвостатому под хвост". Не зная всех тонкостей аналогового моделирования, не стоило даже браться за такие задачи, только время зря убили.
Вот просто "слёту" - параллельные цепочки кондёров. По замыслу "создателя" (ИМХО Вашему) параллельно большим ёмкостям стоят мелкие керамики для улучшения характеристик в области высоких частот. Подчёркиваю, - это
по Вашему замыслу. Выбрали в библиотеке, воткнули на место и ... ждём адекватного результата. Вопрос от чего?
Свойства установленных конденсаторов 10uF -
PRIMITIVE=ANALOGUE,CAPACITOR. Заглядываем в свойства установленной как бы "керамики" -
PRIMITIVE=ANALOGUE,CAPACITOR. Ну, и ... как в той детской загадке - "найдите 10 отличий". Отличие есть только одно, для того и другого прописаны разные корпуса, но это на поведение симулятора никаким образом не влияет.
Вывод: можно навешать гирлянды из параллельно включённых хоть сотни конденсаторов, но моделироваться они будут как один с суммарной ёмкостью. Если хотите что-то более "вкусное", то существует в Протеусе такая модель как
REALCAP - сокращение от англ.
real capacitor. Но, как только Вы заглянете в его свойства, поймёте, что ... "пора браться за учебники и справочники". Вот там всплывут и горячо любимое некоторыми ESR, а также индуктивности и сопротивления, присущие реальным конденсаторам, а не идеализированным моделям. Там же появиться и предзаряд, упоминаемый несколькими постами выше. Правда, там он реализован не через PRECHARGE
(кстати, указано было правильно), а через функцию INIT для конкретной этой модели. А для примитивов, в т.ч. и для конкретных точек цепи можно ещё использовать функцию
IC от английского
Initial Condition. Т. е. если точке цепи (проводнику), например, прописать
IC=0, то симулятор будет стартовать с нулевым потенциалом на этом проводе. Прописывается через кнопку LBL
(Label) в левой панели инструментов.
Ну, и так можно до бесконечности разбирать эту простенькую, вроде бы схемку. Опять же импульсные диоды 1N4148 - тоже примитивы с минимумом реальных свойств. Для адекватных показаний в аналоговом моделировании лучше поставить их
SPICE модели, ведь они тоже есть в библиотеке.
Вот так моделирование казалось бы простенького каскада превращается в такую сложную задачу, что прежде чем взяться за такое - стоит многократно взвесить свои способности и возможности. Всё сказанное относится и к моделированию блока питания несколькими постами выше. Там дело ещё хуже, поскольку присутствуют индуктивности, а с ними в Протеусе свои заморочки. В частности, примитив индуктивности (дроссель в той схеме) имеет по умолчанию нулевое сопротивление постоянному току. Если уж хотим его более-менее реально моделировать, то хучь какой-то минимальный резистор последовательно стоит прилепить.
Увы, слепое копирование реальных принципиальных схем в Протеус - типичная ошибка всех начинающих работать с этой программой. Да и не только с Протеусом, и в Мультисиме и в Микрокапе тоже полно таких "моделистов". Сто-пятьсот раз уже посылал прочитать для начала
вот это. И также сто-пятьсот раз подчёркивал, что сказанное там относится и к Протеусу. Ладно, хватит лирики, идём дальше...
Теперь пройдёмся по ряду постов выше, в которых начали меряться х..ми - "у кого Протеус толще". Имеется ввиду использование кириллицы в именах файлов и путях к папкам (директориям). Давайте раз и навсегда расставим точки над
И в этом вопросе. Я прошёл практически весь этап развития программы на личном опыте, начиная от версии 6.7 и заканчивая нынешней 8.4, поэтому уверен в том, что хочу сказать ниже.
Разработчики программы - англичане, и они изначально не планировали, что Протеус будет пользоваться популярностью в
(тогда ещё) СССР. Официальной русскоязычной версии программы не существует и по сей день. Отсюда вылезали и все баги с использованием кириллицы. Можно чётко провести грани. Окончательно можно утверждать, что адекватно работают с кириллицей только версии 7.9, и последняя из семёрок - 7.10, ну и конечно все Протеусы 8.
Версии 6.х вообще не приемлют использование кириллицы.
В версиях 7.х не всё однозначно.В версии 7.8 что-то прокатывало, но были и глюки. Сейчас не возьмусь точно утверждать, но вроде как не любила она супердлинных путей к файлам с кириллицей в середине. Во всех остальных седьмых версиях (наиболее распространены в Интернете 7.2, 7.6 и 7.7 с русскими буквами постоянно где-нибудь, что-нибудь да заглючит. Причём однозначно утверждать в какой момент и где даже с моим многолетним опытом использования Протеуса не возьмусь. Где-то Протеус пропустит и имя проекта на русском, а где то начнёт взбрыкивать даже с кириллицей в профиле пользователя. Рекомендации для "счастливых обладателей" этих версий уже неоднократно звучали - латиница в имени пользователя Винды, в названиях папок и файлов проектов.Это гарантированно убережёт Вас от разочарований.
Стоит обратить внимание и на место сохранения файлов. Многие "ИС"пользователи русских версий Винды почему то сами соображают сделать имя пользователя на латинице, но напрочь забывают о том, что в профиле пользователя останутся в путях на кириллице Мои документы или Рабочий стол, а проект пытаются слепить именно там. И начинается "академическая гребля на байдарках"... оно Вам нужно? Хотите пользоваться кириллицей без ограничений - ищите и ставьте последние версии семёрки или восьмёрки. Да и баги постепенно в новых версиях поправляют, хотя некоторые благополучно дожили неисправленными даже до 8.4.
Ну и финальное замечание по этому вопросу. Последнее время встречается редко, но и такое ещё бывает. Всё вроде хорошо, всё кругом на инглише, а всё-равно не работает. Остаётся задать вопрос - а Винда у Вас откуда? Не важно какая: она XP, 7,8, или 10 и скоКАбитовая тоже не важно. Ещё не перевелись на Руси любители ставить пиратские "сборки", особенно для поигрулек на компе. так вот авторы таких сборок нет-нет да и выкинут из них что-то необходимое для нормальной работы Протеуса. И тогда, рецепт только один: format c: и жизнь сначала... переустановка Винды. Но это уже крайняк, за последние пару лет только один такой критический случай попался.
Кратко пройдусь по остальному контенту в обратном порядке.
Была пара постов с вопросами от
reg33. Ну, по поводу RTC DS3231 уже и без меня подсказали. От себя могу только добавить, что модель DS3232, которая есть в Протеусе отличается от DS3231 только наличием дополнительной памяти и несколькими битами в регистрах конфигурации/состояния. Так что проекты для DS3231 вполне нормально можно отлаживать с имеющейся моделью. А вот по первому вопросу - по поводу "левых" точек останова в программе немного проясню ситуацию. Надеюсь, и другим будет полезно. Дело в том, что симулятор запоминает расставленные брекпойнты не как мы, грешные человекоподобные по содержанию написанного, а по адресу в памяти относительно стартового. Вы что-то изменили в программе (добавили/убавили) произвели перекомпилляцию, но Протеус то об этом не знает. Точки останова остались на прежних позициях, хотя и не отображаются визуально. Вот и начинается "хромота" - симулятор встаёт там, где на вид брекпойнт не проставлен. Поэтому, возьмите себе за правило после каждой перекомпилляции исходника проводить очистку точек останова и проставлять их по новой. Всего-то навсего и надо было в режиме паузы симуляции клацнуть правой лапкой хвостатой в окне
CPU Source Code и выбрать в меню
Clear All Breakpoints (ну или на клаве
Ctrl+F9). Обратите внимание также, что в этом всплывающем меню стоит флажок
Fix-up Breakpoints On Load (активировать точки останова при загрузке). Это означает, что даже если какие то точки останова были переведены в неактивный режим (незакрашенный кружок), то после перезагрузки проекта
(закрыли-вновь открыли) они снова станут активными и будут срабатывать при запуске симуляции.
Ещё одно замечание по поводу кажущихся "глюков" после перекомпиляции исходников. Переменные могут поменять "свои квартиры", т.е. адреса расположения в памяти. Если Вы с протеусом "не на брудершафт", то это Вам ничем не грозит. Но мощнейшим инструментом для отладчика в Протеусе является окно
Watch Window. Кто им умеет пользоваться, тот заценил, кто не умеет - много потерял. Вот там прелести перекомпиляции могут сыграть злую шутку. Дело в том, что переменные и регистры МК можно добавлять в это окно несколькими способами. Можно, например, просто перетащить, зажав левой лапкой мыши, из окна
CPU Variables. И ваша переменная, независимо от того стоим мы в паузе, или симуляция идёт в автоматическом режиме всегда у Вас перед глазами. В отличие от
CPU Variables окно
Watch не исчезает с экрана всё то время, пока работает симуляция. Подводный камень в том, что переменная там, как и точка останова окажется с фиксированным адресом. После перекомпиляции исходника по этому адресу может прописаться абсолютно другой квартирант. В окне
CPU Variables это будет сразу заметно, а вот в окне
Watch основополагающим является адрес
(в памяти данных, в памяти программ, в регистрах МК). Имя
(Name) там вообще можно задавать своё
(кстати, для особых "любителей" в т.ч. и на русском), если вы добавляете туда что-то через правую кнопку мышки и опцию
Add Item by Address. Но, если после перекомпиляции по этому адресу в ОЗУ МК окажется другая переменная, то в окне
Watch имя останется прежним и будет сбивать вас с толку. Адрес тот же, а квартирант - другой. Поэтому примите совет: после изменения исходника, проконтролируйте содержимое окна
Watch "на вшивость", что не соответствует - замените.
Ещё одной "неприятной особенностью" окна
Watch в Протеусах седьмых версий было то, что они не сохраняли содержимое окна после закрытия/открытия проекта. Правда это касалось только тех переменных, которые вы перетащили мышкой из
CPU Variables, или регистров, добавленных через опцию
Add Item by Name. В случае
Add Item by Address всё это там фисируется наглухо, пока пользователь их не удалит через
Delete Item. В восьмых версиях Протеуса это уже не актуально, можно добавлять как угодно, данные из окна
Watch бесследно не исчезают.
Вот кстати, плавно перешли и к другому вопросу от
CB1: чем 8 версия лучше 7? Для меня уже и это изменение существенно. А вообще в восьмерке сделана попытка окончательно создать пакет сквозного проектирования для МК. Т.е. создание схемы, написание кода МК, его отладка, и создание печатной платы - всё "в одном флаконе". Насколько удачно это пойдёт, покажет время, а пока есть некоторые неувязки, которые спешно начали "латать", как дыры в свежей Винде. Так что, если переходить на восьмёрку, то только на последние версии 8.3 или 8.4. По крайней мере не будут раздражать "вечно хлопающие форточки"
Simulation Log, которые достали всех в версии 8.0, а в версии 8.4 для PCB ещё имеется такая вкусность, как скругление углов печатных проводников. Тут, как говориться, лучше
один раз увидеть. Сразу становится понятнее.
Ну и напоследок парочка комментариев по поводу постов приплывших из других веток.
viktor.m писал(а):Помогите, пожалуйста, понять, как исправить эти ошибки:
MMC.DLL failed to create DSIM model for primitive type 'MMC'. [M1]
mixed model AVR2.DLL failed to authorize - Missing or invalid Customer Key.. [U1]
Выделил цветом - Протеус прямо кричит взахлёб на чистом аГлицком - не может авторизовать модель, отсутствует лицензия. Ну, чего ж тут непонятного то. Или файл лиценизии не соответствует версии или он вообще не прописан. Запускаем
Licence Manager из папки с программой, указываем путь к файлу и устанавливаем (Install) лицензию.
Lokost39 писал(а):при выборе пункта "Сохранить проект как"(у меня версия английская Протеуса) файл DSN не помещается в нужную папку.... и не баг ли это?
Это не баг, это ограничение для Demo версий, которое существует во всех демках Протеуса.
Вот на пока и всё. Кстати, можно поздравить Радиокота с премьерой. Материал об окне Watch из неопубликованного продолжения FAQ по Протеусу. Нежданно-негаданно Радиокот стал первообладателем этого материала. Но полностью он всё-таки появится на Казусе в новом разделе FAQ "Приёмы отладки в Протеусе".