• В чем преимущество полевого транзистора перед биполярным, простыми словами?

    @nehrung
    Не забывайте кликать кнопку "Отметить решением"!
    Ну, это совсем просто. Чтобы держать биполярный ключ открытым, надо ему в базу загонять ток, всё время. Т.е. непрерывно тратить энергию, поскольку там есть замкнутая цепь для электрического тока (открытый эмиттерно-базовый PN-переход).
    С полевым ключом принципиально не так. Управляющая цепь затвора - не замкнутая, поскольку между затвором и каналом есть изолирующая прослойка. Поэтому там ток не течёт, для открытия ключа достаточно подать напряжение, для закрытия - снять его. Электроэнергия на это практически не тратится (если не считать первый момент, когда заряжается затворная ёмкость). Вот и первое преимущество - экономичность в управлении.
    Второе преимущество полевика - малое проходное сопротивление (единицы миллиом, много меньше, чем у биполярного, и в некоторых случаях даже меньше, чем у замкнутых контактов). Причём чем больше управляющее напряжение на затворе, тем проходное сопротивление меньше, соответственно и меньше нагрев полевика проходящим током. Однако не надо впадать в фанатизм на этом пути - если Uупр превысит значение 15 вольт, то изоляция затвора может быть пробита, и полевой ключ (такой удобный и простой в применении) превратится в тыкву.
    Есть и другие отличия, которые проявляются только на высоких частотах.
    Ответ написан
    5 комментариев
  • Как на ESP32 сделать выходное напряжение с диапазоном 0-15V с как можно более минимальным шагом при управлении?

    @pfg21
    ex-турист
    если тебе не нужна большая мощность на выходе, то лучше используй обычный выход ЦАП и аналоговый усилитель на 15 вольт.
    какаянить стандартная микросхемка усилителя мощности звука вполне пару ампер на выходе даст.
    плюс элементарная и понятная схема, отлично работает, настройки практически не требует. минус КПД и грется будет конечно. но зависит от потребления.

    dc-dc это если тебе нужная большая мощность на выходе.
    если схема стандартна, то в ООС просто добавить компаратор.
    на плюсовой вход резистивный делитель от выхода чтобы преобразовывать 0-15 в рабочий диапазон ЦАП.
    на минус выход ЦАП.
    а выход компаратора подать вход ООС при превышении напряжения на выходе компаратор включится и остановит работу ШИМ.
    изменения в блоке питания будут минимальны.
    Ответ написан
    Комментировать
  • Можно ли ускорить копирование данных из одних столбцов в другие в Google таблицах?

    oshliaer
    @oshliaer Куратор тега Google Apps Script
    Google Products Expert
    Не задавайте вопросы без примера!


    Зачем вы делаете все те манипуляции - не понятно. Это последствия Excel?

    Занимает доли секунды

    /* exported userActionCopyValues */
    function userActionCopyValues() {
      copyValues_('rg');
    }
    
    function copyValues_(e) {
      const sheet = SpreadsheetApp.getActive().getSheetByName('Ускорить работу скрипта');
      const dataRange = sheet.getDataRange();
      const values = dataRange.getValues();
    
      const lastValKMNOV = values.findLast((row) => row[11] === e);
    
      if (!lastValKMNOV) {
        console.warn(`lastValKMNOV ${lastValKMNOV}`);
        return;
      }
    
      const lastIndexBF = values.findLastIndex((row) => row.slice(1, 1 + 5).join(''));
    
      if (lastIndexBF === -1) {
        console.warn(`lastIndexBF ${lastIndexBF}`);
        return;
      }
    
      sheet
        .getRange(lastIndexBF + 2, 2, 1, 5)
        .setValues([[lastValKMNOV[10], lastValKMNOV[11], lastValKMNOV[12], lastValKMNOV[13], lastValKMNOV[21]]]);
    }


    65fbc8ba1bbea534262777.png

    Пример в Таблице https://docs.google.com/spreadsheets/d/1KN2SuXbHN5...
    Ответ написан
    Комментировать
  • Есть ли задача на распределенные вычисления, которую легко проверить?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Берете любую NP-complete задачу: https://en.m.wikipedia.org/wiki/List_of_NP-complet...

    Все их сложно решить и легко проверить ответ.
    Ответ написан
    Комментировать
  • Как создать гиперссылку с изменяемыми данными в Google Sheets?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Используйте Name box [CTRL]+[J]

    65f14a0f6a13e500880455.gif

    С помощью скрипта

    Вот пример того, как это может быть

    65f14565d17e2157459805.gif

    На картинке
    1. Пользователь вводт в A1 имя любого листа
    2. Если такое имя есть в книге, то активируется этот лист


    Можно автоматизировать до посинения, например, дбавить список всех листов или только нужных, и пр.

    Пример в Таблице https://docs.google.com/spreadsheets/d/1Kh0_NeLS1v...
    Ответ написан
    4 комментария
  • Как заштриховать область под графиком в excel?

    @Griglapidus
    C++/Qt
    Такая настройка требуется?
    65eed14c7bd18330879362.png
    Ответ написан
    3 комментария
  • Какой шаблон проекта выбрать при написании телеграмм бота Visual Studio 2022?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    А что такое API? Это просто сервер, куда вы будете делать HTTP запросы и получать информацию. Как разница, откуда вы будете делать HTTP запрос используя HttpClient. Ваш шаблон просто будет показывать, как вы это собираетесь выводить пользователю.

    Хотите простенькую программу? Делайте Console Application
    Хотите минимальный, но рабочий GUI? Делайте на Windows Forms/WPF
    Хотите, что бы вашей программой пользовались на телефоне? Можете делать на Xamarin.NET или MUI
    Хотите, что бы ваша программа была доступна без скачивания? Делайте на asp.net mvc
    Хотите, что бы ваша программа была в интернете и имела красивый и быстрый UI? Можете сделать на asp.net web api и прикрепить туда в качестве клиента React, Angular или Vue.js
    Не хотите делать переадресация трафика через API? Можете сделать только на React, Angular или Vue.js
    Хотите быстрый GUI в браузере, но не хотите отходить от технологий Microsoft? используйте asp.net Blazor
    Ответ написан
    Комментировать
  • Почему MATCH может выдавать неверный результат?

    Geleoss
    @Geleoss
    Любитель таблиц
    ПОИСКПОЗ(запрос; диапазон; метод_поиска)
    1 (значение по умолчанию) указывает функции ПОИСКПОЗ, что диапазон отсортирован в порядке возрастания. Функция возвращает наибольшее значение среди всех значений, которые меньше или равны запросу.
    0 указывает функции, что требуется вернуть точное совпадение. Применяется в случаях, когда диапазон не отсортирован.


    Вам же нужно в своей функции указать 0, =MATCH(B2;B:B;0).
    Ещё лучше, не "растягивать" формулу по ячейкам, а воспользоваться формулой массива:
    =ArrayFormula(IFNA(MATCH(B2:B;B:B;0)))
    Ответ написан
    2 комментария
  • Можете объяснить код на STM32?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    uint8_t led_state = 0x03; Данной командой мы завели переменную, которая равна 3

    В коде написано 2.

    что под этим подразумевается?

    2 -- это вот такое 8-битное двоичное число: 00000010. А если 2 заменить на 3, то число станет таким: 00000011. Улавливаешь связь с количеством и номерами включенных светодиодов?

    HAL_GPIO_WritePin(GPIOE, led_state << 8, GPIO_PIN_SET); Это я так понимаю мы сначала устанавливаем самый первый светодиод, т.е. 8, но на практике ни так.

    Нет, светодиоды на схеме подключены к битам 8..15, а led_state ты выше видел какое. Этой командой мы сдвигаем биты 0..7 led_state в биты 8..15.

    led_state = led_state >> 1 | led_state << 7;Эту строку совсем не понимаю.

    Это циклический сдвиг вправо на 1. Т.е. биты "выдвигаемые" вправо за пределы led_state появляются слева.
    т.е. двоичное число abcdefgh превращается в 0abcdefg | h0000000 = habcdefg.
    Ответ написан
    6 комментариев
  • Реально ли написать скрипт для конвертации?

    oshliaer
    @oshliaer Куратор тега Google Apps Script
    Google Products Expert
    Да, это реально. Не видно никаких препятствий. Плюс, Apps Script умеют парсить xml в JS, так что это возможно.

    Как примерно реализовать:

    1. Получить данные из файла EPG через UrlFetch
      const xml = UrlFetchApp.fetch(url).getContentText()

    2. Распарсить данные через XMLService const document = XmlService.parse(xml)
    3. Получить текущие данные из Таблицы SpreadsheetApp, getDataRange().getValues()
    4. Сравнить с полученными данными из xml
    5. Если есть разница, то обновить Таблицу SpreadsheetApp, getDataRange().setValues()
    Ответ написан
    2 комментария
  • Почему происходит ошибка импорта?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    К сожалению, это может быть особенность хранения данных на стороне Гугл.

    Варианты, что можно попробовать:
    • Сделать копию проблемной Таблицы и подключить копию
    • Разгрузить проблемную Таблицу, возможно в ней много расчетов
    • Попробовать уменьшить количество потребителей конечной Таблицы (пользователей)
    • Попробовать уменьшить количество потребителей проблемной Таблицы (IMPORTRANGEей)
    Ответ написан
    Комментировать
  • Форма перестала записывать данные в таблицу ответов. Как исправить?

    oshliaer
    @oshliaer Куратор тега Google Sheets
    Google Products Expert
    Вы не должны никаким образом редактировать Таблицу. Редактируйте Форму, т.к. она источник данных.

    Выгрузите Форму в новую Таблицу и увидите все прежние данные. Новые ответы также будут приходить.

    Еще раз: не меняйте данные в Таблице на листе, куда привязана Форма - это неверное понимание механизма работы с данными. Соблюдайте ПРФ https://gist.github.com/oshliaer/45242e42d50a39b0a...
    Ответ написан
    2 комментария
  • Почему греется сборка стробоскопа?

    @pfg21
    ex-турист
    полностью согласен в предыдущим отвечающим, использовать гасящий резистор для питания силового светодиода от напряжения в 24 вольт это гигансткий расход энергии в тепло.
    посоветую поставить импульсный преобразователь с регулировкой выходного тока.
    обычно это платка с двумя подстроечными резисторами (один на выохдное напряжение, другой на выходной ток) к примеру (картинка кликабельна)
    6321100132.jpg
    он будет преобразовывать с КПД 96%, т.е. от ватта потребления твоего диода рассевиваться в тепло будет 40милливатт.
    есть чуть более дешевый вариант с LM2596 но там КПД будет чутка поменьше (смотри инфу по 2596)

    настраиваешь резистором "напряжение" выходное в районе 5 вольт чтоб не мешалось.
    потом замыкаешь выход на резистор в пару ом и настраиваешь резистором "ток" напряжение на резисторе не станет I*R - выходной ток настроен.
    Ответ написан
    Комментировать
  • Как отследить блокировку бота пользователями в телеграмме?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Приходит update со следующими ключевыми полями:
    {
         "my_chat_member": {
             "chat": {
                 "id": 5181600575,
             },
             "old_chat_member": {
                 "status": "member"
             },
             "new_chat_member": {
                 "status": "kicked",
             }
         }
     }
    Ответ написан
    2 комментария
  • BadUSB как написать скрипт для подмены днс сервера?

    NeiroNx
    @NeiroNx
    Программист
    Представь что есть только клавиатура. Какие кнопки на ней нужно нажать чтобы поменять DNS?
    <Win+R>
    cmd
    <Enter>
    netsh interface ipv4 set dnsserver "LAN" static none
    <Enter>
    netsh interface ipv4 add dns "LAN" 8.8.8.8 1
    <Enter>


    ну это все описать ввиде вызовов функций виртуальной клавиатуры которыми является ARDUINO
    Ответ написан
    2 комментария
  • Как удалить программу без обращения к пользователю?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Отследить трекерами реестра и файловой системы - что создается, обычно это папка в program files, ключи реестра в HKEY_LOCAL_MACHINE и ярлыки - и удалить это все скриптом, не забыв перед этим прибить возможно запущенный процесс этой программы.

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

    Ocelot
    @Ocelot
    Не важно, где имненно находится точка отскока, шарик должен подниматься на одну и ту же высоту. Можно сделать так: как только заметили, что шарик зашёл под границу, инвертируем его скорость, не меняя координаты.
    if (p.Pos.Y >= maxH && p.Velocity.Y > 0)
    {
        p.Velocity.Y *= (-1);
    }
    Ответ написан
    1 комментарий
  • Как синхронизировать рабочие столы на двух устройствах?

    @NortheR73
    системный инженер
    у пользователя есть VPN на ноуте.
    настройте ему на рабочем компе RDP - пусть через VPN подключается по RDP к рабочему компу и работает с документами
    Ответ написан
    Комментировать