Yanshun

протеус особености работы цифровых моделей

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

Yanshun    390

Добрый вечер.

Один и тот-же проект в протеусе работает по разному, а именно: Первая схема подключения, индикатора, к UL2003 разряды не имеют на выходе подтягивающих резисторов к питанию, а вторая схема имеет. Вопрос заключается в том, что первая схема при запуске, в протеусе, загораются все сегменты и ни чего не отображается  корректно, а вот вторая схема отображает корректно цифры. Почему так происходит?

Приложил файлы для протеуса.

Благодарю. 

Схема.jpg

Тест 2.jpg

Тест.rar

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


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

Потому, что резисторы там не нужны. UL должна поочередно подключать катоды индикатора к минусу. 

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


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

@mvkarp Добрый вечер.

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

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


Ссылка на сообщение
Поделиться на других сайтах
mvkarp    3 757
53 минуты назад, Yanshun сказал:

Добрый вечер.

Спасибо! Он добрый. И Вам того же.

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

@Mayder , генераторы не "загенерят". Для 155 совсем другие номиналы нужны.

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


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

Найдите миллионы труднодоступных

электронных компонентов

mvkarp    3 757

Тогда или я чего не понимаю, или одно из двух. :)
Есть, как я недавно только узнал ( :umnik2: ) индикаторы и с другим соединением ног. 
Как реализуется динамическая индикация изучали? Это чтобы проще разговаривать было. И, может, если не получается, свою тему откройте. Или в личку мне как-нидь напишите. С Протеусом не знаком, по схемотехнике пройдемся.

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


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

@Yanshun   @mvkarp  Можно так сделать .  Вывести статически  в одном разряде цифру 1 например .  И выложить картинку симуляции . Там будет понятно . Красные квадраты на выводе  "1" , синие "0" .

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

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


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

@mvkarp  Сам проект я подробно не изучал, исходный код имеется, но в программирование я пока не разбираюсь, смотрю разные уроки по этому поводу.

Проект взят отсюда https://pwmccs.wordpress.com/2012/08/21/pic16f876a-max6675-display-termokupl-termostat/ там можно скачать все файлы.

Сейчас у меня пока нет контроллера, заказал с Китая, я бы тогда на макетке все проверил бы. А запустил протеус, хотя я ему не очень доверяю, симуляторам этим, и столкнулся с такой "проблемой" я бы конечно забил бы на это, но я думаю собрать данное устройство и хотелось узнать больше про него, пока не поздно. 

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


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

Я в нынешних кодах не разбираюсь. Очень давно писал на Ассемблерах. Нынешние лень изучать за ненадобностью. Так что в этом я Вам не помощник.
Про динамическую индикацию почитайте. Используется повсюду. Нужно разобраться и запомнить.

15 минут назад, colorad сказал:

Можно так сделать .

Я понимаю, как нужно делать. Но все уже описал чуть выше. :) Спасибо.

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


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

Я вывести предлагал @Yanshun . Но если он не может , тогда не подходит  .

Вариант  запасной . @Yanshun уберите процессор с платы и принудительно подайте нужные уровни и проследите сигналы . 

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


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

@mvkarp @colorad  Сделал анимацию проекта в тротеусе, чтобы было все наглядно видно. Буду пробывать разбираться  

Спасибо

 

Скрытый текст

Animation 1.gif

 

 

Скрытый текст

Animation 0.gif

 

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

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


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

@colorad , самый первый метод проверки. И самый простой. И самый надежный. Принудительные сигналы. :)

 

@Yanshun , разместите, чтобы мне не мучиться с преобразованиями, архив с файлами, из которых делали анимацию. 

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

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


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 357
12 часа назад, Yanshun сказал:

Почему так происходит?

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

10 часов назад, Yanshun сказал:

чтобы было все наглядно видно

правильную обработку кнопок вы не увидите, костыль лежит тут

 

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


Ссылка на сообщение
Поделиться на других сайтах
ARV    472
1 час назад, IMXO сказал:

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

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

Что касается ULN, то она не может создать высокий уровень на своей выходе не потому, что она аналоговая, а потому, что там открытый коллектор, который вообще уровня напряжения не создает, это токовый выход для втекающего тока. И создавать этот втекающий ток надо внешней цепью - резистором или еще чем-то.

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


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 357
Только что, ARV сказал:

Не совсем так.

именно так. можете аксперементы с моделями светодиодов провести , у них переключалка вида модели имеется.

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


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

Я в курсе про переключалку. И в цифровом режиме они как раз ведут себя не как диоды, у которых прямое падение зависит от тока, а так, как сказал я - светят независимо от "расчетного" тока в цепи. Или не светят.

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


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

еще раз для тех кто в танке: цифровая модель светит при наличии на ее аноде уровня  лог.1, те напряжения => 3,5v , падения напряжения на ней нет

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


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

Простите, не в тему и наверное глупый вопрос:  Что с моим протеусом ?  Пробую открыть фаилы из архива  @Yanshun   и вот какие ошибки предявляет:

Скрытый текст

5960980962b94_Ekranonuotraukai2017-07-0811-21-05.png.4acdd0071ac4b16ae4f9f3a328795328.png

 

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


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

пишет что протез урезанный и не активированы модели

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


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

Похоже, что у вас протеус типа trial или demo, и не поддерживает все (или полные) модели. А у @Yanshun pro версия (или честно купленный, или правильно крякнутый) и поддерживает все.

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


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

Добрый вечер.
Решил я протестировать проект (https://pwmccs.wordpress.com/2012/08/21/pic16f876a-max6675-display-termokupl-termostat) на макетной плате, как раз проверил ее работу.
Жаль что проект оказался не работоспособен. При каждой подаче питания на дисплее появляется значение 512 градусов. Можно сбросить данное значение трижды нажав на AYAR тогда термостат переходит в режим измерения температуры. Правда показания температуры в режиме реального времени не изменяются на дисплее, просто показывает измеренную температуру и все, если опять трижды нажать на AYAR, термостат опять покажет только что измеренную температуру. но цифры в реальном времени не меняются.
ULN 2003 я заменил на BC547, мне как-то проще с транзисторами.
Заметно мерцания цифр и довольно хорошо. Глаза быстро устают смотреть на дисплей.
Конденсаторы в параллель кнопок я не ставил, видимо отсюда мне не удается, при установки, делать шаги по 1 градусу единожды нажав на кнопку. При единичном нажатии показания скачут от 4 до 8 градусов, видимо в прошивке нет защиты от антидребезг  контактов, конденсаторы наверное выполняют эту роль.
При обесточивании и повторном включении устройство показания ранее записанные сохраняются.

Жаль конечно, а я так надеялся. 

SNC00783.jpg

SNC00784.jpg

SNC00786.jpg

SNC00788.jpg

SNC00789.jpg

SNC00790.jpg

SNC00791.jpg

SNC00792.jpg

SNC00793.jpg

SNC00794.jpg

SNC00795.jpg

SNC00796.jpg

SNC00797.jpg

SNC00798.jpg

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


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

Код программы
 

Скрытый текст

'****************************************************************
'*  Name    : NAZMЭ BASAN                                      *
'*  Date    : 14.02.2012                                        *
'*  Version : 2.0                                               *
'*  compiler : proton basic v 3.5.2.7                           *
'*  Notes   : MAX6675 TERMOSTAD DEVRESЭ (test edilmedi)         *
'*          : pwm.c@hotmail.com                                 *
'****************************************************************
Device = 16F876A
Xtal= 4
@ CONFIG_REQ 
@ __config CP_OFF & CPD_OFF & WDT_OFF & XT_OSC & PWRTE_OFF & BODEN_OFF & WRT_OFF & LVP_OFF & DEBUG_OFF 

      
Symbol SO = PORTC.7 
Symbol CS = PORTC.5 
Symbol SCK = PORTC.6

Dim X As Word
Dim Z As Word
Dim Y As Word 
Dim T As Word 
Dim TOL As Word
Dim K As Byte
Dim ALSY As Byte
Dim VER As Byte
Dim HN1 As Byte
Dim HN2 As Byte 
Dim HN3 As Byte
Dim SAYAC As Byte 
X=1
Y=1
Z=1
T=1
TOL=1
K=0
SAYAC=0
TRISA=%00000111
PORTA=0
TRISB=0
PORTB=0
TRISC.0=0
TRISC.1=0
TRISC.2=0
TRISC.3=0
TRISC.4=0
PORTC=0
CMCON=7
ADCON1=6

KONTROL:
K=ERead 0  'KONTROL BAYRAРINI OKU
If K=1 Then HAZIRLA 'DEРER AYARLANMIЮSA HAZIRLA
GoTo AYARBAS   'YOKSA YENЭ AYAR
HAZIRLA:
Y=ERead 4
TOL=ERead 1

BASLA:
If PORTA.0=0 Then AYARBAS
'OKU
Low CS 
SHIn SO,SCK,0,[X\16]  
High CS 

'HESAP
X=((X>>2)/4)-24
HN1=Dig X,2
HN2=Dig X,1
HN3=Dig X,0
X=((HN1*100)+(HN2*10)+(HN3))

'GЦSTER
VER=HN1
GoSub TABLO
High PORTC.1
DelayMS 5
Low PORTC.1
VER=HN2
GoSub TABLO
High PORTC.2
DelayMS 5
Low PORTC.2
VER=HN3
GoSub TABLO
High PORTC.3
DelayMS 5
Low PORTC.3
VER=10' o
GoSub TABLO
High PORTC.4
DelayMS 5
Low PORTC.4

If X>=Y Then 
Low PORTC.0
EndIf
If X<=TOL Then 
High PORTC.0
EndIf
 
X=0
GoTo BASLA

AYARBAS:
Low PORTC.0
Low PORTA.3
High PORTA.5
GoSub SETGOSTER
If PORTA.0=0 Then AYARBAS

AYAR:
GoSub SETGOSTER
If PORTA.1=0 Then 
Y=Y+1
If Y=1000 Then 
Y=999
EndIf
EndIf
If PORTA.2=0 Then 
Y=Y-1
If Y=0 Then 
Y=1
EndIf
EndIf
If PORTA.0=0 Then TOLBASLA
GoTo AYAR

TOLBASLA:
High PORTA.3
Low PORTA.5
GoSub TOLGOSTER 
If PORTA.0=0 Then TOLBASLA

TOLAYR:
GoSub TOLGOSTER 
If PORTA.1=0 Then 
TOL=TOL+1
If TOL>Y-1 Then 
TOL=Y-1
EndIf
EndIf


If PORTA.2=0 Then 
TOL=TOL-1
If TOL=0 Then 
TOL=1
EndIf
EndIf


If PORTA.0=1 Then TOLAYR
KAYDET:
K=1
EWrite 0 ,[K]
DelayMS 10
EWrite 1 ,[TOL]
DelayMS 10
EWrite 4 ,[Y]
PORTB=0
High PORTA.3
High PORTA.5
DONGU:
High PORTB.7 'NOKTALAR
High PORTC.1
High PORTC.2
High PORTC.3
High PORTC.4
If PORTA.0=0 Then DONGU
DelayMS 3000
PORTB=0
PORTC=0
Low PORTA.3
Low PORTA.5
GoTo BASLA

SETGOSTER:
HN1=Dig Y,2
HN2=Dig Y,1
HN3=Dig Y,0
VER=11' C
GoSub TABLO
High PORTC.1
DelayMS 5
Low PORTC.1
VER=HN1
GoSub TABLO
High PORTC.2
DelayMS 5
Low PORTC.2
VER=HN2
GoSub TABLO
High PORTC.3
DelayMS 5
Low PORTC.3
VER=HN3
GoSub TABLO
High PORTC.4
DelayMS 5
Low PORTC.4
Return

TOLGOSTER:
HN1=Dig TOL,2
HN2=Dig TOL,1
HN3=Dig TOL,0
VER=13' R
GoSub TABLO
High PORTC.1
DelayMS 5
Low PORTC.1
VER=HN1
GoSub TABLO
High PORTC.2
DelayMS 5
Low PORTC.2
VER=HN2
GoSub TABLO
High PORTC.3
DelayMS 5
Low PORTC.3
VER=HN3
GoSub TABLO
High PORTC.4
DelayMS 5
Low PORTC.4
Return

TABLO:
PORTB=LookUpL VER,[63,6,91,79,102,109,125,7,127,111,99,88,64,80]
'                 [0 ,1,2 ,3 , 4 , 5 , 6 ,7, 8 , 9 ,o ,c ,- ,r ]
Return

End

 

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


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

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

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

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

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

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

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

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

Загрузка...

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

    • Автор: Grampus
      Добрый день подскажите пожалуйста почему то в протеус не запускается программа
      пишет ошибки:
      -mixed model AVR2 DLL
      -Real Time Simulation failed to start 
       
       
       
  • Сообщения

    • @F.S.Viktorovich , вот что пишет "маэстро" российского D-класса, который уже собаку съел на этом поприще, по поводу защиты в усилителях, подобных тому, что ты решил сделать:  "В мостовом усилителе выключается или переходит в состояние сгоревшего полумоста, уцелевший полумост.
      В моей практике было, что попалась партия бракованных транзисторов и такая защита не помогала до тех пор, пока не заменили на хорошие транзисторы - выяснилось через 3 месяца.
      В последствии такая защита сбоев не давала.
      Иногда стоит реле, но имеет место быть сваривание контактов, в момент отключения - самый ненадёжный способ.
      Бывает реле и симисторный ключ.
      Просто симисторный ключ - всегда чётко срабатывает.
      Отключение блока питания, тоже чётко срабатывает, но в многоканальном усилителе замолкают все каналы.
      Если мост однополярный, то просто один предохранитель - но надёжность 90%
      Самый лучший вариант симисторная и отключение полумоста - 99% надёжности. (с) /http://forum.vegalab.ru/showthread.php?t=10958&page=127&p=1923426&viewfull=1#post1923426/  
    • К врачу приходит молодая женщина вся в синяках и подтёках.
      Врач:
      — Господи, да где ж вас так угораздило??
      — Понимаете, доктор, каждый раз, когда мой муж возвращается домой пьяный, он избивает меня до крови и руками, и ногами, пока я не упаду.
      — Не волнуйтесь, у меня есть лекарство от этого. В следующий раз, когда ваш муж придет домой пьяный, держите наготове отвар ромашки и как только он в квартиру войдёт, начинайте полоскать горло.
      Через пару недель женщина снова приходит к врачу цветущая и без единого синяка:
      — Доктор, вы просто кудесник! Когда мой муж приходит пьяный домой, я набираю в рот раствор ромашки и полоскаю, и ничего не происходит он меня даже пальцем не трогает!
      Врач (назидательно):
      — Вот видите, как помогает иногда просто не пиздеть! Пять раз из музея был похищен "Черный квадрат" Малевича ....
      и пять раз сторожу дяде Ване удавалось восстановить эту картину до рассвета...


      Если бы кремы от морщин реально помогали, то у женщин уже не было бы отпечатков пальцев...

      Мама, а мороженное полезнее, чем сосиски?
      - Сынок! Сейчас даже покурить полезнее, чем сосиски...

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

      Алло, доктор! Я по вашему совету купил клизму, куда ее теперь?
      - Налейте в нее воды и засуньте себе в зад!
      Доктор, я пожалуй перезвоню, когда у вас будет хорошее настроение...

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

      Гаишник спросил у Елены Малышевой о наличии аптечки в автомобиле, и уже через пять часов пожалел, что оставил табельный пистолет дома...
    • Плохое решение, яд. Проще новые купить.
    • @kompstar , а в чём собс-но траблема - что-то сломалось, или... где? 2 моноблока, глядя на сборку - для самопала малоизвестного lab.-а сделаны довольно-таки прилично(хотя кое-где и видно "...авно и палки"); судя по нику, Вы чел с каким-то жизненным багажом - не мальчик уже. Думается что, при таком раскладе просто так, с бухты-барахты, подобные приобретения не делаются - обычно хотя бы родословная зверька проверяется, прежде чем он приобретается. Или Вы думаете, что здесь найдётся-откликнется автор и разложит всё по полочкам? Может быть Вы решили, что без схемы, только по внешнему виду, основываясь на "собраны на полевиках", вам кто-то здесь по гадальным картам расскажет о характеристиках чьих-то самопалов?  Извиняёте - бабушек Ванга здесь нет.
    • Нв веге похоже тему стерли. Самопал это.
    • Чтоб случайно не передавить стремянкой,. на которой стоишь. А то и током долбанёт, и ещё и грохнешься. Лучше на провод потратиться, чем на лечение.
    • Смотреть надо даташит на контроллер, а не на дисплей. Правда там не код на ассемблере, а временная диаграмма и описание словами, чуть думать надо, так что можете не читать, надуть губки и удалить тему.