Перейти к содержанию

Proteus - вопросы и ответы


Рекомендуемые сообщения

@Андрей Quasar

1. у деталей типа "идеальный диод" задаются разные параметры. Загляните в свойства модели светодиода, возможно ему не хватает 7,5В а может моделирует не до конца правильно.

2. А почему пробник напряжения должен что-то показывать? Вы его вообщето на землю прицепили.

3. Если спрашиваете что-то по симуляторам имейте привычку прикладывать файл симуляции. Так проще разбираться тем кто будет вам помогать.

Жизнь не белая или чёрная, а в мелкую серенькую полосочку...

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

@Piotr__1

Учел рекомендации. Файл вложил симуляции.  На светодиоде задал прямое напряжение 3V  и ток 20мА. Так и не получилось засветить эту связку. Может я где-то что-то нажал. 

 

Upd/ удалось зажечь изменив тип модели на АНАЛОГ. Не совсем понял о чем идет речь.

Upd2/ Что пробник тока что напряжение отказывается что-то показывать. Приходится ставить из инструментов вольтметр и амперметр.

led.pdsprj

Изменено пользователем Андрей Quasar
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

58 минут назад, Андрей Quasar сказал:

удалось зажечь изменив тип модели на АНАЛОГ. Не совсем понял о чем идет речь.


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

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

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@IMXO  С пробниками так и не победил. Не хотят показывать. Ничего абсолютно. Даже пробовало создавать новые проекты. Загрузив какой-то старые проект с пробниками они там хорошо все показывают. Может я где-то что-то нажал? 

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

 @IMXO

Я там сижу и читал ветку про пробники как их ставить как таймеры делать. У меня на очень давней схеме они работают, на все последних они показывать не хотят. Я все перерыл. Не понимаю от  чего это зависит. Даже если со старого файла перетаскиваю на новый они перестают работать.

Все было оказывается в другом. я при создание нового проекта выбирал (быстро пролистывал) sample design. В этом режиме пробники не показывали. И да сам до этого дошел после 2 часов проверяя каждую вкладку. Казус в своем гайде точно про это бы не написал.

 

Изменено пользователем Андрей Quasar
Ссылка на комментарий
Поделиться на другие сайты

Вот решил поэкспериментировать  с ШИМОМ на камне attiny 13.

Прошивку писал в IDE на ядре микрокор.

Самый простой скетч 

int pwm;
void setup() {}
void loop() {
pwm =100;
 analogWrite(PB0, pwm); }

Решил я замерить частоту ШИМА и увидел 152 Гц. Не понял почему так мало? может какие параметры надо выставлять. Вроде простая ардуина нано выдает 490 Гц без разгона.

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

 

2021-08-22_15-02-44.png

2021-08-22_15-03-19.png

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

Возможно ли сделать  так  чтобы на камне attiny  вынести пины питания для того чтобы замерить ток потребления камня и потренироваться с режимом сна..???

Сразу скажу что я уже подготовил плату к этому. Отобразил срытые пины питания и потом методом РАЗБОРА платы сделал их активными. После чего я сохранил плату. Залил код и всеравно вижу что она спокойно работает. Может где-то еще нужно отключить питание? 

 

2021-08-24_11-12-01.png

Изменено пользователем Андрей Quasar
Ссылка на комментарий
Поделиться на другие сайты

А код тут причем,  Можно простой блинк залить. При запуске я думал он скажет засведи питание. А не он откуда-то уже его подводит и спокойно выполняет. 

Изменено пользователем Андрей Quasar
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

нарисовал простейший TTL элемент NAND2 ... прицыпил к нему 74NAND2.MDF файл при запуске говарит

Quote

Value '74XX00' of VALUE not found in parameter mapping table of sheet 'U1:A'. [U1:A]

схема простейшая схема и либа в архиве .. сам начинаю пользовать протеус

test.zip

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

Разобрался спасибо нашол дукоменташку сожет кому пригодитьсяю от сюда

customlib.zip

FAQ_for_PROTEUS-3.pdf FAQ_for_PROTEUS-1.pdf FAQ_for_PROTEUS-2.pdf

Изменено пользователем Alexsy
Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...
  • 2 месяца спустя...

Здравствуйте. Подскажите, когда я к схеме цепляю осциллограф, и нажимаю "треугольник" в нижнем левом углу - происходит начало симуляции, и открывается окно, отображающее экран осциллографа. Потом если нечаянно закрыть окно, отображающее экран осциллографа, то как его открыть снова? Если выключить симуляцию и включить снова, оно заново не открывается.

Изменено пользователем Delfin
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Delfin сказал:

как его открыть снова?

запустить симуляцию, навести курсор на модель осциллографа , по ПКМ в выпадающем меню поставить гулочку в самой нижней строке Digital Oscilloscope
или та же самая строка в основном меню в разделе Debag

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

  • 3 месяца спустя...

Добрый день! Если кто-то сталкивался с таким эффектом (проблемой) очень прошу помочь.

Проблема становится явной при подключении четырёх разрядного семисегментного индикатора к разным портам.

Пример:

image.png.5ce115a0824e4d85ce7420e554525eeb.png

В данном случае два разряда 1 и 2 подключены к порту С, а разряды 3 и 4 подключены к порту D

Теперь, допустим я просто хочу помигать всеми разрядами, т.е.  все индикаторы должны загореться, а затем (через секунду) полностью потухнуть и т.д.

Для этого я набросал простенькую программу:

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRC |= (1<<0)|(1<<1)|(1<<2)|(1<<3);
    PORTC |= (1<<0)|(1<<1)|(1<<2)|(1<<3);
    
    DDRD |= (1<<0)|(1<<1)|(1<<2);
    PORTD |= (1<<0)|(1<<1)|(1<<2);
    
    DDRC |= (1<<4)|(1<<5);
    PORTC |= (1<<4)|(1<<5);
    
    DDRD |= (1<<4)|(1<<5);
    PORTD |= (1<<4)|(1<<5);
        
        
    while(1)
    {
    PORTC ^= (1<<4); PORTC ^= (1<<5); PORTD ^= (1<<4); PORTD ^= (1<<5);
    _delay_ms(1000);
    }
}

Так вот, проблема в том что сегменты 1 и 2 отключаются НЕ одновременно с сегментами 3 и 4, происходит небольшая задержка и это визуально заметно.

По идее вот эта команда PORTC ^= (1<<4); PORTC ^= (1<<5); PORTD ^= (1<<4); PORTD ^= (1<<5); должна выполняться с такой скоростью, что её не способен заметить человеческий глаз.

Самое интересное то, что если при точно таком же подходе перевесить эти сегменты на один порт, то они тухнут одновременно.

Разумеется для данной задачи это не критично (я привел эту задачу лишь как иллюстрацию), но вот когда при таком подключении я хочу сделать например динамическую смену цифр, то получаю артефакты, от того что сегменты не моментально переключаются.

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

image.png

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

4 часа назад, Pavel_Isto сказал:

когда при таком подключении я хочу сделать например динамическую смену цифр, то получаю артефакты, от того что сегменты не моментально переключаются.

С подобной проблемой я впервые столкнулся когда делал свой первый проект с динамической светодиодной индикацией - паразитной засветкой сегментов.

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

Вот один из первых моих проектов вольтметра в программе Proteus, где я на виртуальный осциллограф вывел импульс "гашения разрядов" длительностью ~60 микросекунд (нижний зелёный):

VVV.jpg.5a0c8ab92879b60b78f035472e92619b.jpg

То есть сначала на выключаемый разряд нужно подать противоположное свечению напряжение, только потом включать следующий разряд. Таким образом у меня отлично работают мои приборы со светодиодной динамической индикацией и на 8, и на 9 разрядов. И без разницы - использую сигналя с одного порта A, B, C или D или с разных.

Пример работы блока управления паяльного термофена моей разработки с динамической индикацией на 8 разрядов, правда ещё не до конца собранного:

P5060252_1.jpg.f967552ce54cb51f2c6a1e7a48b9b93e.jpg

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

Технические вопросы решаю в теме , в личке не обсуждаю !!!

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

16 часов назад, IMXO сказал:

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

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

Просто когда разряды подключены к одному порту, они гасятся всего одной командой, например:

PORTC &= ~((1<<3)|(1<<2)|(1<<1)|(1<<0));

и Протеус, в данном случае выполняет гашение всех разрядов одновременно.

Но, если написать вот так, то разряды (визуально) начинают отключаться по-очереди

PORTC &= ~(1<<3);

PORTC &= ~(1<<3);

PORTC &= ~(1<<1);

PORTC &= ~(1<<0);

Хотя, как мне кажется, в реальности при частоте 1MHz, время выполнения (грубо говоря) одного такта (PORTC &= ~((1<<3)|(1<<2)|(1<<1)|(1<<0)) и четырёх PORTC &= ~(1<<3); PORTC &= ~(1<<3); PORTC &= ~(1<<1); PORTC &= ~(1<<0); столь не значительно, что сигнал на пинах должен появляться мгновенно и одновременно.

Но Протеус думает иначе...

Кстати, на ответ "Ну и записывай всё одной командой", сразу скажу, что разумеется для одного порта так и делаю, но вот если сегменты будут на разных портах, например так:

PORTC &= ~((1<<3)|(1<<2));

PORTD &= ~((1<<1)|(1<<0));

то как записать это одной командой мне неизвестно и кажется что вообще вряд ли возможно, хотя может кто-то подскажет...

15 часов назад, korsaj сказал:

Увеличьте Minimum Trigger time 

Речь по настройки самого индикатора?

Изменено пользователем Pavel_Isto
Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Pavel_Isto сказал:

кажется, в реальности при частоте 1MHz,

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

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

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • @nekrylov Кулер на малых оборотах по центру радиатора решит все проблемы, при толщине основания 10 мм такое расположение выходников ничем плохим не грозит, при условии обдува. Радиатор выше 50-60 градусов вряд-ли нагреется когда-нибудь, его температура, скорее всего, будет от силы градусов на 10-15 выше температуры окружающего воздуха... Но схемка термоконтроля все же не повредит, на всякий пожарный.
    • двухтактный полумостовой импульсный преобразователь.   Качество монтажа ужасное, половина элементов, как этот конденсатор. Про сами детали сказать ничего не могу.   Пиковый ток из розетки? У меня есть осциллограф, если нужно могу провести замеры.    
    • Попробуйте скачать ГОСТ 16745-83 про конденсаторную бумагу. Там понятные слова, русские... :-)
    • Так ладно в общем нужно до конца разобраться с UART. Сейчас я выкладываю весь код и всю информацию что у меня есть. Сначала поясню что по схеме. Микроконтроллер у меня ATMEGA16. На PD2 и PD3 установлены светодиоды, На PC0 и PC1 установлены кнопки. Также установлен внешний кварц на частоту 7.3728 MHz. Теперь собственно сам код по UART. Код был взят из одного примера в просторах инета. Первоначально он был под ATMEGA8, но он вполне подошёл и на ATMEGA16. #define F_CPU 7372800UL #define BAUND 9600L #define UBRRL_value (F_CPU/(BAUND*16))-1 #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> void init_pin(void); #define C_PC0 (~PINC&(1<<PC0)) #define C_PC1 (~PINC&(1<<PC1)) #define LED_1_ON() PORTD|=(1<<PD2) #define LED_1_OFF() PORTD&=~(1<<PD2) #define LED_2_ON() PORTD|=(1<<PD3) #define LED_2_OFF() PORTD&=~(1<<PD3) volatile start=1; char b; ISR(USART_RXC_vect) { b=UDR; } void init_UART() { UBRRL = UBRRL_value; UBRRH = UBRRL_value>>8; UCSRB|=(1<<TXEN); UCSRB|=(1<<RXEN); UCSRC|=((1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1)); UCSRB|=(1<<RXCIE); sei(); } void send_UART(char value) { while(!(UCSRA&(1<<UDRE))); UDR=value; } int main(void) { init_pin(); init_UART(); while(1) { if (start==1) { _delay_ms(500); send_UART('O'); send_UART('K'); send_UART('!'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); start=0; } if (b == '0') { LED_1_ON(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '1') { LED_1_OFF(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '2') { LED_1_ON(); LED_2_ON(); send_UART('N'); send_UART('+'); send_UART('2'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (b == '3') { LED_1_OFF(); LED_2_OFF(); send_UART('N'); send_UART('+'); send_UART('3'); send_UART(0x0D); send_UART(0x0A); _delay_ms(10); b=4; } if (C_PC0) { send_UART('P'); send_UART('C'); send_UART('0'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } if (C_PC1) { send_UART('P'); send_UART('C'); send_UART('1'); send_UART(0x0D); send_UART(0x0A); _delay_ms(250); } } } void init_pin(void) { DDRC = 0b00000000; PORTC = 0b11111111; DDRD |= ((1<<2)|(1<<3)); PORTD &=~ ((1<<2)|(1<<3)); } Здесь я пробовал этот код UART конечно в таком виде работает, но здесь есть некоторая непонятная ситуация. На микроконтроллер почему то принимаются значения только в цифровом виде. По другому он отказывается работать. Возможно нужно как то перенастроить что то не совсем это понимаю. А UART эта вещь такая очень нужна без него не сделать управление плеером.
    • Заходишь в даташит усилителя, ищешь вход, обычно конденсаторы, туда и подпаиваешь. Выводишь 5 проводов: входы 4 каналов, и земля входа. Потом: провод левого переднего входа (in1) соединяешь с левым задним (in3), по аналогии с правой стороной делай так же. Получается 2 контакта и земля. Ищешь распиновку своего разъёма и паяешь. Распиновку могу объяснить, если фото будет. Что бы включить, Подключи разъём в телефон и вставь, например, диск с записанной тишиной. Именно с записанной тишиной. То есть со звуком. Например, скачиваешь аудиосигнал 100 гц, и в аудиоредакторе делаешь громкость этого звука на минимум и сохраняешь на диск. Тогда вроде песня будет, но не будет её слышно. И когда этот звук с диска будет воспроизводиться, включи музыку с аукса. 
    • @Гость Михаил, что мешает поставить и послушать? Что мешает потестить операционник из магазина на предмет подлинности, хотя бы замерить скорость нарастания выходного сигнала и сравнить с даташит? Из магазина с большой вероятностью может быть перемаркированный LM358, его сразу видно то характерной ступеньке на синусоиде и по частоте он просто "тормоз" по сравнению с ne. Ваш LG медленнее в три раза от исходного. Ваш lg со своими 3 МГц должен быть однозначно лучше, чем перемаркированный ne из 358. Например, разницы между оригинальным LM833 и с хорошей  8 мегагерцовой  подделкой ne с Али не слышно.
  • Похожий контент

×
×
  • Создать...