Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Ответ
Опции темы
Непрочитано 07.01.2016, 11:21   #2871
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Не получается синхронизировать осциллограмму канала B (датчик перехода нуля) от канала А осциллографа (напряж. на симмист.)? Так?
Так ведь при одном и том же уровне на канале А, сигнал на канале В принимает то высокий, то низкий уровень.

Реклама:
NewWriter вне форума   Ответить с цитированием
Сказали "Спасибо" NewWriter
цифровик (07.01.2016)
Непрочитано 07.01.2016, 13:35   #2872
цифровик
Почётный гражданин KAZUS.RU
 
Регистрация: 27.02.2012
Сообщений: 5,803
Сказал спасибо: 827
Сказали Спасибо 2,080 раз(а) в 1,492 сообщении(ях)
цифровик на пути к лучшему
По умолчанию Re: Proteus общие вопросы

А вообще есть такая микросхема фазового регулятора 1182ПМ1.
Сам ее не разу не применял. Плохо что нет гальван. развязки от сети. И на контактах потенциометра
сеть. Не сделаешь цифровой потенциометр. Что-бы управлять с контроллера.
Еще один красавец.
Миниатюры:
Нажмите на изображение для увеличения
Название: 2016-01-07_132850.jpg
Просмотров: 90
Размер:	243.6 Кб
ID:	86518   Нажмите на изображение для увеличения
Название: 2016-01-07_175108.jpg
Просмотров: 69
Размер:	154.3 Кб
ID:	86528   Нажмите на изображение для увеличения
Название: 2016-01-07_174522.jpg
Просмотров: 73
Размер:	88.0 Кб
ID:	86529  

Вложения:
Тип файла: pdf 692_1182pm1.pdf (566.4 Кб, 58 просмотров)

Последний раз редактировалось цифровик; 07.01.2016 в 19:00.
цифровик вне форума   Ответить с цитированием
Непрочитано 30.01.2016, 03:22   #2873
Lavrentii
Частый гость
 
Регистрация: 28.07.2006
Сообщений: 48
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lavrentii на пути к лучшему
По умолчанию Re: Proteus общие вопросы

На моделях крупных LCD Proteus наблюдается следующий неприятный эффект.
При заполнении всего экрана сигнатурой 55H, должны быть линии светлые,
шириной в точку, чередующиеся с тёмными - тоже шириной в точку.
Но наблюдается вот что:



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

На основе исходников LCD19264A я попробовал написать модель LCD, которая не имела бы этого эффекта.

Ну, скажем, в юнитах задаем прямоугольник дисплея LCD заведомо больше изображения, кратного 256,
затем вычисляем размеры, кратные 256, и отрисовываем в этих размерах по центру прямоугольника дисплея, отступив сколько надо от краев.

Конкретно я выводил графику в квадрат 2560х2560 юнитов, тогда как сам прямоугольник дисплея 3310х3310 юнита.
Но эффект не исчез. Линии выводятся также несколько неравномерно...

Существует какой-либо метод, позволяющий выводить изображение в реальные точки, чтобы не было вот такого искажения геометрии?
Миниатюры:
Нажмите на изображение для увеличения
Название: LcdCHESS.gif
Просмотров: 262
Размер:	10.5 Кб
ID:	87368  

Последний раз редактировалось Halex07; 31.01.2016 в 10:26.
Lavrentii вне форума   Ответить с цитированием
Непрочитано 30.01.2016, 09:43   #2874
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Так вы масштаб изображения то увеличте, чтоль.. У вас там просто при масштабировании количество пикселей дисплея не помещается в количество пикселей для отображения модели на мониторе компа...
Кстати, вы серьезно пытаетесь столь объемную графику рисовать столь мелким МК? Ну тогда вы точно кроме полосочек и клеточек ничего не получится. Один только шрифт 5х8 половину МК займет.
NewWriter вне форума   Ответить с цитированием
Непрочитано 30.01.2016, 21:28   #2875
Lavrentii
Частый гость
 
Регистрация: 28.07.2006
Сообщений: 48
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lavrentii на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от NewWriter Посмотреть сообщение
У вас там просто при масштабировании количество пикселей дисплея не помещается в количество пикселей для отображения модели на мониторе компа...
Физически количества пикселей дисплея для отображения 256 точек модели на мониторе компа там хватает, я проверял это с самого начала:



Понятно, что 256 точек модели не всунуть красиво в имеющиеся 265 пикселей дисплея.
Как я и написал ранее - числа некратные.

Но я и хотел написать в своей модели так, чтобы если пикселей дисплея хватает - то попадать в пиксели дисплея, а не масштабировать некратные картинки.

Но мне уже кажется, что тут это сделать принципиально весьма трудно.

У меня разрешение монитора - 120 dpi, то есть, 120 пикселей дисплея на "мировой дюйм".
Графические функции Proteus работают с условными единицами "units", и в "мировом дюйме" их 1000.
Цитата:
By default, the units are defined in terms of 1000 pixels per world inch.
Значит, соотношение следующее:
1000 "units" = 120 пикселей дисплея, и на 1 единицу приходится 120/1000=0,12 пикселея дисплея,
или на 10 единиц, соответственно, приходится 1,2 пикселея дисплея.

Получается, что работая с графическими функциями Proteus, я принципиально не могу точно попасть в реальные пиксели дисплея, даже если мне их хватает заведомо.

В VSM API есть функция VOID ICOMPONENT::setdrawscale (INT ppi)
Цитата:
Определяет коэффициент масштабирования, используемый для всех функций векторной графики. Коэффициент масштабирования по умолчанию составляет 1000 единиц на мировой дюйм.
Но я подозреваю, что этого соотношения и ей не преодолеть:
на 10 единиц приходится 1,2 пикселя дисплея.

Поэтому я и задал свой вопрос так:
Существует какой-либо метод, позволяющий выводить изображение в реальные точки, чтобы не было вот такого искажения геометрии?


Сообщение от NewWriter Посмотреть сообщение
Кстати, вы серьезно пытаетесь столь объемную графику рисовать столь мелким МК?
Нет, это просто тестовая схема для изучения проблемы. Если заполнять экран сигнатурами 55H, 0AAH - шахматное поле из точек - всё выглядит ещё хуже...
Миниатюры:
Нажмите на изображение для увеличения
Название: LcdDOTS.gif
Просмотров: 277
Размер:	16.7 Кб
ID:	87419  

Последний раз редактировалось Halex07; 31.01.2016 в 10:26.
Lavrentii вне форума   Ответить с цитированием
Непрочитано 31.01.2016, 10:25   #2876
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,509 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от Lavrentii Посмотреть сообщение
На моделях крупных LCD Proteus наблюдается следующий неприятный эффект.
Что-то уж больно амбициозно. Конкретно на каких из существующих, или только на вашем "самопале"?
Сообщение от Lavrentii Посмотреть сообщение
На основе исходников LCD19264A я попробовал написать модель LCD, которая не имела бы этого эффекта.
Если склероз не изменяет, то эта китайская модель конкретно была под TINSHARP TG19264A 192x64 точки (три драйвера SBN0064G - 64х64 точки). Отсюда там три входа выбора кристаллов. У вас их вообще нет, следовательно Вы кардинально переработали исходники и перекомпилировали "под себя". Уверены, что там не накосячили???
*************
Ну, и предупреждение по другому поводу. Красный цвет в сообщениях - прерогатива администраторов и модераторов. Это общепринято на большинстве форумов. Вам что, палитры цветов мало, чтобы выделить что-то? Так можно нарваться на неприятность... Учтите на будущее, пока сам поправил, а то забудете.

Последний раз редактировалось Halex07; 31.01.2016 в 10:27.
Halex07 вне форума   Ответить с цитированием
Непрочитано 31.01.2016, 19:58   #2877
Lavrentii
Частый гость
 
Регистрация: 28.07.2006
Сообщений: 48
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lavrentii на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Сообщение от Halex07 Посмотреть сообщение
Что-то уж больно амбициозно. Конкретно на каких из существующих, или только на вашем "самопале"?
Так я и показываю этот эффект на "фирменном" LCD Proteus, 256x256 LCD, на основе которого демонстрируют в наборе примеров все шахматы.

Сообщение от Halex07 Посмотреть сообщение
Вы кардинально переработали исходники и перекомпилировали "под себя". Уверены, что там не накосячили???
Ну уверенным на 100% не может быть никто. Поэтому я и сравнил то, что получается у меня на "самопале" с заполнением сигнатурой 55Н с фирменным 256x256 LCD Proteus - на всех картинках Вы видите именно его, а не "самопал" - так что это не мои амбиции, а объективная реальность.

Ну и я попробовал это объяснить, как мне кажется, довольно логично. В моих рассуждениях с цифрами по поводу построения графики есть какой-то изъян?


P.S. Ну и совершенно простой опыт, который без кивков в сторону Proteus и возможных ошибок моделей показывает суть эффекта:
Картинка 256х256 точек заполненная линиями вручную.


Эта же картинка, но растянутая в редакторе до 265 точек по горизонтали.


На мой взгляд, однозначно иллюстрирует эффект, который наблюдается при масштабировании изображения LCD дисплея в Proteus.
Миниатюры:
Нажмите на изображение для увеличения
Название: sig256.gif
Просмотров: 184
Размер:	553 байт
ID:	87482   Нажмите на изображение для увеличения
Название: sig265.gif
Просмотров: 205
Размер:	2.6 Кб
ID:	87483  

Последний раз редактировалось Lavrentii; 31.01.2016 в 20:28. Причина: добавил рисунки
Lavrentii вне форума   Ответить с цитированием
Непрочитано 31.01.2016, 20:04   #2878
Kabron
Почётный гражданин KAZUS.RU
 
Аватар для Kabron
 
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,536
Сказал спасибо: 698
Сказали Спасибо 4,313 раз(а) в 1,977 сообщении(ях)
Kabron на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Lavrentii,
Ну там еще есть настройки видеодрайверов(System) попробуйте с ними поиграть.
__________________
Я не помогаю. Я провоцирую думать.
Не дай вам Бог плохих контактов.
Kabron вне форума   Ответить с цитированием
Непрочитано 01.02.2016, 02:03   #2879
Lavrentii
Частый гость
 
Регистрация: 28.07.2006
Сообщений: 48
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Lavrentii на пути к лучшему
По умолчанию Re: Proteus общие вопросы

Похоже, что нашел верное решение, как точно попадать в пиксели экрана при отрисовке моделей LCD без масштабирования, если размер прямоугольника LCD позволяет.

Надо отрисовывать изображение функциями Windows GDI, что Proteus VSM позволяет.

1. Получаем контекст устройства (DC) - экранчика LCD :

HDC ghdc;
ghdc = component-›begincache (lcdarea); //--- откроем буфер и получим его HDC


2. Рисуем через функции Windows GDI то, что надо, но по реальным пикселям экрана;

3. Освобождаем контекст устройства (DC) средствами Proteus VSM (я полагаю, что ReleaseDC внутри этой функции)
component-›endcache(); //--- закрываем буфер и отображаем данные

Чисто на проверку вызвал следующую функцию Windows GDI:
Rectangle(ghdc,10,10,100,100);

Результат - не заставил себя ждать:



Прямоугольник со стороной 90 пикселей - "с точностью до миллиметра"!
Миниатюры:
Нажмите на изображение для увеличения
Название: Lcd_GDI.gif
Просмотров: 174
Размер:	4.0 Кб
ID:	87497  

Последний раз редактировалось Lavrentii; 01.02.2016 в 02:06.
Lavrentii вне форума   Ответить с цитированием
Непрочитано 05.02.2016, 10:44   #2880
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,645
Сказал спасибо: 5,454
Сказали Спасибо 25,009 раз(а) в 5,612 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Proteus общие вопросы

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

В других же проектах в память пишется, при паузе всё корректно отображается, но если симуляцию остановить и запустить заново - память чиста.

Где это можно покрутить, чтоб сохранялось?
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума   Ответить с цитированием
Ответ

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы по PROTEUS-у Advanced_LAMER Proteus 372 19.09.2021 01:20
Вопросы и замечания по топику - FAQ по PROTEUS avr123-nm-ru Proteus 291 05.06.2015 20:49
Вопросы по работе с Proteus dosikus Proteus 510 20.12.2007 18:48
CAN BUS общие впечатления vasseff Микроконтроллеры, АЦП, память и т.д 7 20.06.2007 09:15
Вопросы по Си. Zemlyanov Proteus, KiCAD и другие ECAD 5 20.11.2006 15:36


Часовой пояс GMT +4, время: 07:26.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot