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

arhiv6

Свой
  • Постов

    1 017
  • Зарегистрирован

  • Посещение

Репутация

13 Хороший

3 Подписчика

Информация о arhiv6

  • Звание
    Профессионал
    Профессионал

Информация

  • Город
    Array

Посетители профиля

15 026 просмотров профиля
  1. Чтобы снимать с солнечной батареи энергию эффективно, не достаточно просто подключить к ней напрямую нагрузку или аккумулятор. Ключевая фраза для поиска "MPPT контроллер". У TI есть готовые микросхемы, которые сочетают в себе как MPPT контроллер, так и контроллер для заряда буферного аккумулятора на одну или несколько ячеек. Вот список, выбирайте подходящий под свои требования (тип аккумулятора, количество ячеек, мощность нагрузки, напряжение солнечной батареи).
  2. Можете пояснить, как тут применим болометр? Или это опечатка и имелось в виду что-то другое?
  3. LNA 10GHz

    Но это не значит, что добавлением МШУ с усилением 50дБ получится изменить чувствительность с -90дБм до -140дБм. Давайте попробуем посмотреть, как изменится чувствительность приёмника при добавлении двух CMD263P3. Т.к. входных данных слишком мало (не хватает значения ширины полосы приёма (демодуляции) и текущего значения Кш приёмника), попробую поугадывать. Текущая чувствительность -90дБм реализуема при следующих возможных вариантах ПП/Кш: 200МГц/1дБ, 20МГц/11дБ, 2МГц/21дБ, 200кГц/31дБ, 20кГц/41дБ, 2кГц/51дБ, 200Гц/61дБ и т.д. Для первого варианта добавлять МШУ бессмысленно, Кш приёмника только ухудшится (станет 1.41дБ). Для второго варианта и далее чувствительность станет соответственно: -99.44дБм, -109.42дБм, -119.28дБм, -128.09дБм, -132.79дБм, -133.73дБм. Если дальше так же продолжать, всё равно упрётесь примерно в -134дБм, ниже с такими МШУ никак не получить. Вот, я для себя когда-то калькулятор писал https://sourceforge.net/projects/rxcalc/files/RxCalc-0.6.8_installer.exe/download Он помогает оценить динамику, чувствительность приёмника и т.д. Попробуйте сами в нём свой тракт собрать. Вот пример расчёта для варианта 20МГц/11дБ:
  4. Это обычный планировщик задач, где каждая задача это run-to-complete функция, которая вызывается по какому-то событию. Сам когда-то подобный использовал и знаю как минимум одну ОС, которая работает с таким типом задач (uSmartX). Из плюсов такого подхода - минимальное потребление ресурсов и лёгкость портирования (никакого знания ассемблера не требуется). Из минусов - подходит только для простых задач: как только в задаче потребуется после какого-то события (даже обычный вызов delay()) не перезапускать задачу заново, а продолжать выполнять какую-то её логику, то задачи привычнее и проще для понимания писать в непрерывном стиле, как это делается на "взрослых" ОС. Как пример, что проще для понимания, псевдокод задачи из run-to-complete планировщика: void task_blink() { static uint8 led_state = 0; if (led_state == 1) { led_off(); led_state = 0; task_restart(task_blink, 500); } else { led_on(); led_state = 1; task_restart(task_blink, 100); } } или привычный линейный код: void task_blink() { while(1) { led_on(); delay_ms(100); led_off(); delay_ms(500); } } И там и там обычное мигание светодиода на 100мс с паузой 500мс, но второй код гораздо проще для понимания. Язык Си позволяет такое реализовать на основе Duff's device. При этом остаются те же достоинства планировщиков (минимальные ресурсы, общий стек, лёгкость портирования из-за отсутствия ассемблера) но разработка задач упрощается. Поэтому есть несколько кооперативных ОС, построенных на этом принципе: cocoOS, DemOS (+ protothreads как самая упрощённая, но рабочая реализация). ТС, если поймёте, что своего диспетчера вам уже недостаточно, но есть какие-то опасения для перехода на FreeRTOS, рекомендую их попробовать. С ростом сложности ваших проектов если упрётесь в их ограничения тогда уже осознанно перейдёте на вытесняющую ОС с раздельными стеками для каждой задачи, но уже с минимальными переделками своего кода.
  5. Сначала берётся с запасом, потом реальное использование памяти каждой задачей можно уточнить (параметр usStackHighWaterMark из структуры TaskStatus_t, которую можно получить из vTaskGetInfo()). Вот статья про это: https://habr.com/ru/articles/352782/ там пятый раздел "Мониторинг использования ресурсов". Кроме того, есть варианты ОС без выделения отдельных стеков для каждой задачи: начиная от protothreads и их производных, заканчивая теми же Co-Routine из состава FreeRTOS.
  6. Зачем такое делать вручную, если специально для этого существуют стилизаторы кода? Попробуйте Astyle, он очень простой в использовании. Выберите готовый стиль, похожий на свой (что-то вроде --style=kr ), потом при желании можно под себя его донастроить. Уверен, для notepad++ есть плагины для работы с astyle. Но даже если нету - то можно простой макрос сделать, который будет вызывать astyle для текущего файла по какому-нибудь сочетанию клавиш.
  7. Harwin S1711-46R или S0951-46R + крышка подходящего размера из их серий S01-*, S02-*, S03-* или согнуть самому из резанной жести. Вроде Harwin не дефицит, что-то даже в ЧипИДип-е есть.
  8. В симуляторе все элементы идеальные. А для идеальной цепи, состоящей только из индуктивности и источника напряжения ток в ней возрастает линейно. Т.е. там и правда будет идеальная пила. В реальном DCDC предполагается, что активное сопротивления источника напряжения, ключей и самой индуктивности сильно меньше реактивного сопротивления индуктивности на частоте переключения. Грубо говоря: за время открытия ключей ток через индуктивность успевает подняться только до единиц ампер, хотя на постоянном токе он бы составил десятки-сотни ампер. Т.е. видно только начальный участок экспоненты, а визуально он близок к линейному. Вот пример, здесь синий и желтый графики - тоже экспоненты, но видно только их начальные участки: Поэтому если в реальном источнике смотреть ток осциллографом то тоже будет видно пилу. Разумеется она не идеальна, но глазом этого видно не будет.
  9. Те же параметры, что на скриншоте, только индуктивность 4.7e-6. А, понял. Опечатлся, получается 4.23A вместо 4.32A.
  10. Зачем мучить редактор, если incbin.h даёт тот же самый результат с меньшими усилиями (не нужно переводить файла в текст, копировать его из браузера)?
  11. Можно даже без стороннего софта: https://github.com/graphitemaster/incbin Из всего репозитория нужен один заголовочный файл incbin.h, у себя в коде: #include "incbin.h" INCBIN(image, "image.bin"); Что сделает доступными переменные: const unsigned char g_imageData[]; // указатель на данные файла const unsigned int g_imageSize; // размер файла Посмотрите справку, там ещё настройки (типы, стили имён, префиксы, суффиксы) можно дефайнами менять.
  12. При выборе индуктивности следует ориентироваться не только на средний ток, а так же на пиковый. Под пиковым я имею в виду не пиковый ток нагрузки, а пик пульсаций тока индуктивности. Возьмите простой калькулятор http://schmidt-walter-schaltnetzteile.de/smps_e/smps_e.html и вбейте туда свои параметры источника. Например, в первом посте рассматривается источник 2.5В->5В с пиковым током нагрузки 1.2А и индуктивностью 5.2мкГн. Не указан важный параметр - частота переключения ключа в источнике питания. Пусть для примера будет 100кГц. Тогда в индуктивносте пиковый ток составит 4,09А. Для CDRH104RNP-5R2NC ток насыщения (saturation current) 5.6А, т.е. она подходит. А вот VLS3012HBX-4R7M из-за меньшей индуктивности при тех же параметрах имеет пиковый ток 4,32А, что сильно превышает её допустимый ток насыщения в 2.51А. Т.е её использовать нельзя. В случае с VLS3012HBX-1R0M - пиковый ток будет 3,75А при токе насыщения 5.5А, но источник работает в режиме прерывных токов - из-за малой индуктивности за время периода ток в индуктивности успевает падать до нуля (рисунок ниже). Работать будет, но вызовет пульсации на выходе источника питания. Попробуйте поиграться с этим калькулятором, вбив Вашу рабочую частоту, станет понятнее, какая индуктивность подходит лучше (ещё можете поставить чекбокс Proposal, тогда калькулятор сам предложит подходящий номинал индуктивности, из расчёта 40% пульсаций тока от среднего). Не зависимо от номинала индуктивности средний ток через неё всегда будет одинаков (в данном примере на графике его сразу видно 2,74А). Та часть мощности, которая теряется на активном сопротивлении катушки считается как P=I*I*R что даст 0.548 Вт против 0.06/0.128 Вт при разных сопротивлениях. P.S. Могу ещё порекомендовать серию катушек IHLP от Vishay - при малых габаритах они все экранированы, намотка сделана лентой, бывают разных размеров. А ещё для них есть сразу два калькулятора (попроще и посложнее) - там сразу считаются все активные и реактивные потери катушки с учётом характеристик её феррита и сразу показывает перегрев.
  13. Его пишет тот же человек, который написал LTSpice, поэтому можно надеяться, что будет учтён опыт предыдущей разработки, и новый симулятор будет лучше (ну или хотя бы не хуже). Обещают большую скорость симуляции и расширение функционала. Как минимум, интересна возможность делать свои поведенческие блоки на C++ и Verilog. А не имеет он широкого распространения, потому что первый публичный релиз состоялся всего несколько месяцев назад.
×
×
  • Создать...