astrgan

Помогите Просимулировать Проэкт В Vmlab

18 сообщений в этой теме

astrgan    0

Если есть у кого нибудь свободное время пожалуйста наберите в VMLAB.

Proteus что-то не хочет, как работать с VMLAB я не как не врублюсь.

Когда запускаю симуляцию в протеусе, то видно что программа как-то работает (порты мигают) но когда подключаю к ним осцилогроф с фнч сигнал перестает изменятся.

P.S. пробую сделать трехфазный генератор синуса на atmega 128 методом шим.

b61af8e70c0007ee3b3b1d89df313594.jpg

ШИМ.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Rhime    143

А порт "E" на выход я за вас настраивать буду?

А у вас на нем сейчас неопределенное состояние вот и нет шима.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Геннадий    1 015

  А что именно в VMLab не получается? Регистры index_1(2,3) не инициализированы при старте и содержат неопределенные состояния. Кол-во тактов в каждом канале, для построения синусоиды различны. Нет проверки регистров счетчика приращения (index_1,2,3) и сброса их для создания цикличности, что приводит к смещению Z за пределы массивов. 

Изменено пользователем Геннадий

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    636

Ты вводишь в цифровую схему анаоговые элементы, ясное дело что симуляция в реальном времени требует слишком больших ресурсов, поэтому протеус замедляет процесс, он идет медленно, возможно у тебя не хватает терпения? Там внизу есть счетчик времени симуляции, если он крутистя - значит симуляция идет. Обрати внимание насколько он быстро крутится - если секунда-в-секунду, значит симуляция в реальном времени а если за секунду реального времени проходит 1мс виртуального... ну понял, да?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
astrgan    0

А порт "E" на выход я за вас настраивать буду?

А у вас на нем сейчас неопределенное состояние вот и нет шима.

Если настраивать аппаратный шим, то инициализацию порта на вывод все равно надо делать?

  А что именно в VMLab не получается? Регистры index_1(2,3) не инициализированы при старте и содержат неопределенные состояния. Кол-во тактов в каждом канале, для построения синусоиды различны. Нет проверки регистров счетчика приращения (index_1,2,3) и сброса их для создания цикличности, что приводит к смещению Z за пределы массивов. 

Командой cls подойдет для инициализации? Сделал так:

.include "m128def.inc"

.def index_1 = R8
.def index_2 = R9
.def index_3 = R10

CLR index_1
CLR index_2
CLR index_3

Эээ про Кол-во тактов в каждом канале не понял, объясните пожалуйста?

Сброс для создания цикличности был:

R14 = 100

	CP index_1, R14
BREQ POWT1
RETI
POWT1:
CLR index_1
RETI

Ты вводишь в цифровую схему анаоговые элементы, ясное дело что симуляция в реальном времени требует слишком больших ресурсов, поэтому протеус замедляет процесс, он идет медленно, возможно у тебя не хватает терпения? Там внизу есть счетчик времени симуляции, если он крутистя - значит симуляция идет. Обрати внимание насколько он быстро крутится - если секунда-в-секунду, значит симуляция в реальном времени а если за секунду реального времени проходит 1мс виртуального... ну понял, да?

Идет секунду в секунду.

Сделал все что сказали, заработало :rolleyes:

Только на выходе не синус :(

PWM.zip

Изменено пользователем astrgan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Геннадий    1 015

Извиняюсь, не заметил про сброс. Однако, кол-во тактов равно 100 (R14=100), а сколько данных в массивах?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
astrgan    0

Извиняюсь, не заметил про сброс. Однако, кол-во тактов равно 100 (R14=100), а сколько данных в массивах?

Хотел сто, щас посчитаю и подкорректирую.

И вот, кажется похоже но только какая та дерганная осциллограмма.

PWM.rar

Изменено пользователем astrgan

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Геннадий    1 015

 Mas1 - 92байта, mas2 - 97байт, mas3 - 100байт. Считай. Верхние значения из первых двух массивов берутся за пределами своих областей ("наезжают" на чужие данные). Отсюда и рвачка синуса. 

Изменено пользователем Геннадий

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
astrgan    0

Здравствуйте.

Вот сделал.

Кажется теперь больше подходит, но все равно не синусойда.

LC - фильтр странно дергается

RC - немного не такой рисунок.

Проверьте пожалуйста.

e96061eeceaeea2cbd7aa45e8dfb0128.jpg

PWM.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alexeyslav    636

Такой "рисунок" не может получится из-за неправильного фильтра, это у тебя программный глюк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
astrgan    0

Считаю вот так:

bdb2c6d32b894085dad3a72804f26173.jpg

Nf = 100 (сто точек вот и делю на сто)

k = 1..100 (номер элемента)

Как же посчитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Геннадий    1 015

 Дело не в расчетах, а в программе. Думаю, нет смысла "гонять три совпадения", а взять одно "переполнение", как квантование (все равно частота одна). Тогда достаточно одного массива синуса, а сдвиг фаз осуществлять выборкой данных. Вот попробуй. ШИМ.rar

Кстати, проект создан в VMLAB. Если откроешь в VMLAB (View - Project File), то сможешь посмотреть, как симулируются некоторые процессы. Остальное ищи в Help-е.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
astrgan    0

Геннадий

Спасибо большое. Это мне очень поможет.

Только почему та N3 на осциллографе синусоиду не выдает.

P.S. я пока плохо знаю язык программирования, не подскажите что значит "<<1" в

ldi ZL,low(MAS1<<1)
ldi ZH,high(MAS1<<1)

Чтобы мне не искать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Геннадий    1 015

Это глюк VMLAB. К сожалению, проект "застыл" и поддержка новых МК хромает (пока). <<1 означает сдвиг и равносильно *2.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ADDYKON    0

А не подскажете, как сигналы ШИМ вывести не на эти выводы, а на 15,16,17 . Что нужно изменить в коде? И как можно сделать регулировку на выходе сразу по трём выводам?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: 5670721
      Доброго времени!
      Для Ардуино мне необходимо написать программу управления тремя сервоприводами и выводом на дисплей абсолютного угла наклона по одной оси.
      Два сервопривода должны управляться потенциометрами, третий кнопкой (два положения сервопривода).
      Ну и помочь мне все это спаять ) Поэтому желательно, чтобы Вы находились в Москве или Подмосковье.
      Так же я слышал про накопление ошибки при работе гироскопа-акселерометра, очень желательно убрать эту проблему.
      Если, конечно, Вы не предложите более подходящий прибор для измерения угла наклона.
      Компоненты все куплены.
    • Автор: dbokov
      Всем привет.
      С учётом разрастающейся мастерской всё труднее искать нужные детали, а также помнить, что в ней есть, а чего нет.
      Задумался о системе учёта деталей, материалов, инструментов.
      На просторах интернета нашёл программу учета деталей (начинайте с 10стр) http://monitor.espec.ws/section13/topic25350.html
      Мне очень понравилась - нет ничего лишнего, не перегружена, всё понятно, бесплатна (ну по желанию можно отблагодарить). Разработчик очень адекватно реагирует на пожелания пользователей.
      Давно пользуюсь данной программой, очень доволен.
    • Автор: Zimmer
      Проблема: При открытии файла появляется диалоговое окно с сообщением о несовместимости версий: «Невозможно открыть файл чертежа, так как он создан в более ранней версии AutoCAD». Но главное то, что он создан в этой самой версии и программе уже скоро будет 3 года. Некоторые моменты уже проверены, и испробованы. Пишу сразу на нескольких формах, т.к файл надо запустить. Подойдут все методы и способы исправить .dwg файл AutoCAD. Спасибо. У меня уже кипит...
    • Автор: Alexander07
      Здравствуйте, есть такой вопрос. Мне нужна программа, в которой я могу создавать электрические цепи и проводить расчёты. Желательно, чтобы программа представляла из себя лабораторный стенд как в кабинетах. Есть какие-нибудь программы?
    • Автор: soulmare
      Может, кому-то пригодится простой онлайн конструктор шкалы прибора, позволяющий в браузере по заданным параметрам сгенерировать шкалу с делениями и цифровыми метками. Собственно, вот он: http://shopcms-moduli.com/scale_constructor/scale_constructor.php
      Чтобы сохранить шкалу как рисунок, можно сделать скриншот, и потом в графическом редакторе дорисовать или подправить что нужно.
      Программа делалась за вечер, для собственных небольших потребностей, ради которых не хотелось устанавливать профессиональные векторные пакеты вроде CorelDraw. Скрипт полусырой, но может быть при желании и умении пользователя доработан - исходник прилагаю.
      Лично у меня остались такие нерешенные в скрипте проблемы:
      шкалы с нелинейным изменением точная подгонка делений под снятый с показателей прибора шаблон Это все реализуемо, но простого способа не придумал, а сложные займут слишком много времени, которое неизвестно когда появится.

      scale_constructor.source.zip
  • Сообщения

    • Ох дожились..из Германии
    • ИМХО. Винты с али не очень, кривые-косые, с заусенцами... Я брал тут, рекомендую. тынц Цена конечно не алишная), но и к качеству не придраться.
    • Забыл: стандартный профиль 150 шириной был распущен вдоль - тоесть габарит туннеля 73+две полосы 2мм толщиной прихвачено = 77
    • Добрый день! я до сих пор воюю с дисплеем  WEX025664CLPP3N00000, в сети нашел описание подключения к AVR МК, с помощью библиотеки U8glib.  Подскажите пожалуйста могу ли я использовать эту библиотеку для STM32. Я не умею подключать сторонние библиотеки! ((( 
    • Ситуация мне напомнила один старый анекдот)))  Заходит в камеру новенький, ни разу не сидевший, мужик:
      Ну и бойко так, приветствует всех: - Привет, козлы!
      Все вскакивают с нар, набрасываются на него, жестоко избивают, потом объясняют, что на зоне одно из  оскорбительных слов: слово "козел".
      - Так бы сразу и сказали, - возмущается новенький, - а то налетели, как "петухи"... Может, где то и не понятно, это не повод ёрничать,  вроде и темы форума соответствующие: Вопрос-Ответ. Для начинающих/Начинающим/Вопросы От Начинающих... Повторюсь)). Следует управлять 12В релюшкой (SRD-12VDC-SL-A)! запуска двигателя на 220В. Схема полуавтоматического управления управляющим сигналом! 12в реле пуска/остановки двигателя от двух датчиков. Два датчика управления: индуктивный PNP NO и щелевой SICK UFN3-70P415 PNP, питание обоих 12В. Цикл работы: замыкаем вручную индуктивный, коммутируем сигнал 12в на релюшку - запускаем двигатель, двигатель начинает крутит рулон с этикетками, далее щелевой датчик разрывает управляющий сигнал реле, по зазору между этикетками, и тем самым останавливает двигатель. Т.е по сигналу от индуктивного датчика двигатель должен начать вращение, и важно! в не зависимости от дальнейшего состояния индуктивного датчика (NO или NC), двигатель должен работать, пока щелевой, по сигналу зазора между этикетками, не остановит вращение двигателя и мы сами в ручную снова не запустим двигатель, путём замыкания индуктивного датчика. И цикл повторится. Спасибо.
    • Именно так и будет, сантехнический этот скотч называется. Высота плат - 85, сам тоннель 60 + по 12 с верху и низу полоса для крепления плат выступает; ширина по конденсаторам 158. Если б не парился по поводу габарита уже давно собрал бы усилитель-шкаф, но мне его и поставить некуда будет. поэтому впихиваю в 2U глубина 400-410. По той же причине и защиту переколхозил, ШИМ управление кулером еще не приладил (будет платка возле дежурного траса).