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

STC15W404S защита входов от встречных напряжений


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

Есть такой китайский микроконтроллер семейства 8051 STC 15W404S Здесь его даташит, вопрос  о способах защиты от встречных напряжений на выходных портах.
Схематика предусматривает подачу на выходные линии (при закрытых состояниях портов) дополнительные , напряжения которые не превышают выходные  напряжения  логических уровней (3 - 5V) в открытом состоянии. Нужна ли в таком случае защита, если да, то какая?

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

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

Я не большой специалист, но попробую предположить - если вы используете режим Push-pull:

5b91f7ef76909_.jpg.47744b810a9e52f1d8db83accd666eac.jpg

то что то мне подсказывает, что при состоянии порта "0" и подаче входного напряжения 3-5В он сгорит, т.к. ток ничем не ограничен.

Предположение 1 - Если входные напряжения заранее известны и не превышают определенного значения (например 5В), то можно ограничить ток резистором в пределах допустимого тока порта.

Предположение 2 - Установить диод сразу после порта, что защитит в данном случае порт от встречного тока. Но тогда при состоянии порта "0" вывод повиснет в воздухе, а значит после диода потребуется подтяжка на землю в виде резистора.

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

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

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

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

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

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

А что значит 

9 часов назад, Сашура сказал:

при закрытых состояниях портов

И в каком режиме работает порт? Использовать вывод как вход имеет смысл только в квазидвунаправленном режиме и только при "единице" в регистре порта. Но вы пишете, что это "выходные линии".  Тогда это имеет смысл, только если оба соединенных выхода (МК и того, что "подает дополнительное напряжение") работают в режиме open-drain. В остальных случаях придется включать последовательно с пином резистор, ограничивающий ток порта на допустимом уровне. Это будет защита. Но также это будет нештатная ситуация с непредсказуемым логическим результатом, и какой смысл в таком соединении? Зачем нужна такая "схематика", которая на выходы контроллера подает еще какие-то напряжения?

Может, стоит показать здесь эту "схематику"?

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

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

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

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

Поясню более детально, состояние  кнопки 1 должно передаваться на две другие кнопки (2 выхода) которые в момент пдачи сигнала находятся в состоянии OFF.  Из за отсутствия возможности программно передать состояние от одной кнопки в положениях ON/OFF двум другим, я хочу этот сигнал, логическая 1(3,3V) подавать на выхода этих двух кнопок (портов).
Подумалось о стабилитронах 3,3V на выхода катодом к нагрузкам... резисторы не желательны из за малых токов микрухи, неустойчивое состояние и т.п.

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

2 минуты назад, Сашура сказал:

состояние  кнопки 1 должно передаваться на две другие кнопки (2 выхода) которые в момент пдачи сигнала находятся в состоянии OFF. 

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

9 минут назад, Сашура сказал:

я хочу этот сигнал, логическая 1(3,3V) подавать на выхода этих двух кнопок.

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

Может,  наконец нарисуете схему, чего хотите? И ответите на вопросы? Иначе долго гадать будем, надоест просто...

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

Яснее не стало. Эти кнопки, они с фиксацией? Что от них слева? Сигнал слева поступает или нужно просто распознавать факт нажатия? Что такое "Р" в кружочке? Если нарисован микроконтроллер, то я вижу, что кнопки на входах, а не на выходах, как было сказано:

1 час назад, Сашура сказал:

состояние  кнопки 1 должно передаваться на две другие кнопки (2 выхода) которые в момент пдачи сигнала находятся в состоянии OFF.  

Или на выходах 1,2 сигналы от кнопок 1,2, которые вы хотите изменить сигналом на выходе 3 от кнопки 3 и подать это все на "Р" в кружочке? А изменить как ? В ноль уронить? Или в единицу? Нажатая кнопка - это ноль на выходе или единица?

Какова логика обработки состояния кнопок? Что должно быть на выходах 1-3 в зависимости от логических сигналов на  входах 1-3? Табличку в 6 строк и 4 столбца нарисуйте, что вы хотите иметь на "Р" в зависимости от состояния кнопок: логическое состояние каждого выхода-и что при этом должно быть на "Р"

А то что-то я туплю. Старею, однако. Вот  @GOR23  до чего-то уже догадался, а я что-то никак...

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

_abk_ ,
Пардон за некоторые упущения. Здесь привожу более точную схему :
Кнопки S1,2 открывают на своих выходах  фиксируемые сигналы ON (1), послующее нажатие переводит состояние выходов в OFF(0). На входах Кнопка S3 дает аналогичный сигнал что и S1,2, на выходе сигнал аналогичен выходным сигналам S1,2. Мне нужно ее выходным сигналом выполнить действия одновременного нажатия или отключения нагрузок  при состоянии S1,2 в OFF. Обратил внимание что накосячил с резисторами, их надо ставить после катодов номиналом в 10к.

Новый документ 2018-09-07 15.02.02.jpg

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

5 часов назад, Сашура сказал:

Из за отсутствия возможности программно передать состояние от одной кнопки в положениях ON/OFF двум другим ...

Не понимаю, какой шайтан мешает реализовать логику программно, но дело ваше...

Выходы не трогайте. Сделайте эту логику на входах. Подключите S3 через диоды параллельно S1 и S2. Или примените спаренную. Подтягивающие резисторы не забудьте.

И схема у вас всё равно какая-то неправильная. Зачем куча выходов, если они потом всё равно запараллелены?

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

Lexter,
я и рад бы сделать так, проблема в том, что эти кнопки виртуальные и сидят LabView, а внешний контроллер получает на демультиплексор шим сигнал, доступ к которому перекрыт. Короче вагон и малая тележка. Как такую процедуру построить в LabView пока не знаю

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

Как партизан на допросе, вытягивать приходится по частям.

4 часа назад, Сашура сказал:

Мне нужно ее выходным сигналом выполнить действия одновременного нажатия или отключения нагрузок  при состоянии S1,2 в OFF. Обратил внимание что накосячил с резисторами...

Наверное и с "Р" в кружочке накосячил. Почему они запараллелены? "Р" - это две нагрузки? Р1 и Р2, которые включаются от кнопок 1 и 2 путем их нажатия и выдачи от этого "1" на выходы 1 и 2? А тебе нужна третья кнопка, которая включала бы обе "Р" сразу независимо от состояния кнопок 1 и 2? А точнее, даже тогда, когда на выходах 1 и 2 нули?

Тогда просто диоды, а не стабилитроны, и от третьего вывода их будет два - к каждой "Р"

Так что ли?

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

Действительно схема лажа, нагрузки не могут быт в параллель к S1,2, т.к. они все будут по 2 нагрузки включать. 
Все верно от 3 выхода через 2 диода.
 

Новый документ 2018-09-07 20.36.40.jpg

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

Ну наконец. Не прошло и суток.

Есть схема на микроконтроллере  STC 15W404S, к двум выходам которого подключено по одной нагрузке. Каждая нагрузка включается при подаче на выход логической единицы. При логическом нуле на выходе нагрузка отключена. Как подключить третий выход этого микроконтроллера, чтобы логическая единица на нем включала обе нагрузки одновременно независимо от состояния первых двух выводов и не повредить при этом порты контроллера?

Я правильно сформулировал?  А теперь прочтите название темы и свой первый вопрос:

21 час назад, Сашура сказал:

Есть такой китайский микроконтроллер семейства 8051 STC 15W404S Здесь его даташит, вопрос  о способах защиты от встречных напряжений на выходных портах.
Схематика предусматривает подачу на выходные линии (при закрытых состояниях портов) дополнительные , напряжения которые не превышают выходные  напряжения  логических уровней (3 - 5V) в открытом состоянии. Нужна ли в таком случае защита, если да, то какая?

Почувствуйте разницу. А сутки - ку-ку...

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

33 минуты назад, _abk_ сказал:

Я правильно сформулировал?

Я бы не советовал бежать впереди паровоза. :D

Вот на это обратили внимание?:

4 часа назад, Сашура сказал:

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

Так что дальше, похоже, будет ещё круче. :o

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

17 часов назад, _abk_ сказал:

Есть схема на микроконтроллере  STC 15W404S, к двум выходам которого подключено по одной нагрузке. Каждая нагрузка включается при подаче на выход логической единицы. При логическом нуле на выходе нагрузка отключена. Как подключить третий выход этого микроконтроллера, чтобы логическая единица на нем включала обе нагрузки одновременно независимо от состояния первых двух выводов и не повредить при этом порты контроллера?

Да все верно.
Есть другие идеи? Пока что как то так с тремя диодами. Пытаюсь додумать код LV, на мой взгляд его проще допаять...

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

В 9/8/2018 в 01:47, Lexter сказал:

Так что дальше, похоже, будет ещё круче.

 

В 9/8/2018 в 01:51, _abk_ сказал:

Не будите лихо, может, обойдется...

Не обошлось, рвануло в другом месте. :crazy: 

 

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

  • 9 месяцев спустя...

LabView PID PWM контролоооер с функцией RPA.
Год спустя проект был успешно реализован и его функциональность постоянно расширяется. Проведана предпатентная регистрация алгоритмов.
Здесь демонстрация виртуального контроллера на базе OS Win 10 (GUI Tablet 10"), подключенного к мастер киту, в котором задействованы следующие функции:
- Управление (USB) по выходу 16 каналами, колличество которых может быть увеличено до 64;
- Регулировка напряжения и изменение частоты;
- управление шаговыми биполярными двигателями;
- Функция памяти на все действия с повтороным многократным пуском на задаваемое время;
- Релле времени min 1c max сутки (и более) с передачей функции по сценариям другим таймерам;
- драйвера на все типы нагрузок в т.ч. бесконтактная коммутация цепей с высоких напряжений и больших токов.
https://www.youtube.com/watch?v=hXbNbJ49E9w&feature=youtu.be

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

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

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

Гость
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 с Али не слышно.
  • Похожий контент

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