Как стать автором
Обновить
24
0
Константин @Costic

Программист-консультант

Отправить сообщение
Энергия, которая накопилась в индуктивной нагрузке будет «выброшена» назад, в сторону коллектора и в сторону линии питания. Сколько именно? Давайте прикинем. В базе транзистор 1кОм, коэф.усиления h21 примерно 100, т.е. ток коллектора будет 5В/1000 * 100 = 500мА. Вы указываете в статье об этом. Мощность 500мА * 5В = 2.5Вт, это норма для типичного магнитофонного динамика.
Всё устройство питается от «телефонной зарядки», предположим 500мА. Дальше мне рассчитать слабо. Надо или модель строить, или вам проще измерить свою схему. Аналогия в том, что если у вас работает сварочный аппарат, то в сети заметны всплески и помехи, но всё работает до поры до времени.
Измерения я делал несколько лет назад, когда наступил на эти грабли.
Нагрузка — китайская пассивная пищалка.

У меня в линии питания были иголки в пределах нормы (милливольты), но проект и питаные совсем другие были.
На stackexchange Olin Lathrop хорошо комментирует.
Пожалуйста. Измерение на выводе коллектора на аналогичной схеме с транзистором (ММВТ какой-то), в базе только 22кОм (чтобы ток поменьше), питание 3.3В.

Калькулятор — это с Вас. Я свой комментарий подтвердил.
У автора динамик (индуктивная нагрузка) подключен без диода. Выбросы до ±15 В в линию питания при проигрывании звука обеспечены. Но Ардуина их выдерживает, т.к. она свои фьюзы стирает 12 В. Схему следует доработать, если кто-то будет её повторять.
P.S. Линия RESET наверное должна быть с конденсатором, чтобы не дребезжать и хотя бы 2мкс удерживать. Но это уже недоработка китайцев.
А не могли бы вы проверить работу ИК-приёмника рядом с электрическим радиатором (нагревателем). Несколько лет назад я обнаружил, что какой-то китайский ИК-датчик становился «слепым» рядом с радиатором. Странно, что у вас эта «помеха» не указана.
Очень интересно, спасибо. У меня в жизни (в детстве) было 2 бабаха. 1) Лампочку от елочной гирлянды 6В или 12В я подключил в 220. Бабахнуло так мощно, что даже осколков не осталось, одна копоть. 2) Радиоточку 36В опять же в 220В. Динамик вылетел из креплений.
Мораль — учите закон Ома как можно раньше. :-)
А соседи не жалуются на такое кол-во передатчиков в радиоэфире?
Я у себя дома наблюдаю, например, 6 станций на канале №1, мой на 14-м иногда с кем-то пересекается. А всего на телефоне вижу 12-15 одновременно. С внешним приёмником ловил более 100 станций. По-моему, не надо ставить в каждой комнате по передатчику. Если нужна скорость, то есть проводной Ethernet.
Давно хотел встроить в очки гироскоп для определения направления и управления движением персонажем (вперёд, назад, вправо, влево) путём поворотов/наклонов головы. На форуме War Тундер кто-то делал контроллер на таком принципе, на голову крепить для управления обзором.
Вы пишите «очень рассчитываю на обратную связь», а сами токсично реагируете и в мой огород кидаете камень «А у вас негров линчуют».
Я отвечу на критику
Проект реализован на контроллере EFM8EB20F64 — это современный разогнанный 8051 от SiLabs.
1) Для инициализации и настройки периферии используется конфигуратор (вроде CubeMX, для тех кто не в теме), это такой норматив, правило в этой среде разработки. И этот конфигуратор генерирует код функций: WDT_Init(); PORT_Init(); SYSCLK_Init(); и т.д. Так принято в SiLabs 8051. В Windows API, например, принято имена давать lpszClassName; Никто не возмущается.
2) Функции инициализации не имеют аргументов. Более того, в каждом проекте они разные. Поэтому комментарий дать — хорошая практика.
3) Ядро 8051 живёт более 40 лет и есть много кода для него. Раньше (и иногда сейчас) используются «магические константы» для записи в регистры. Это не красиво и не понятно. Эта проблема частично решается оформлением кода в два столбца с комментариями. Это не я придумал, это традиция. «When in Rome do as romans do».
4) Оформление дескрипторов у меня выполнено в стиле SiLabs и на версии языка С, который понимает IDE.

Критиковать ваш код в ответ не буду, но с указателями и типами данных у вас помойка в коде. Ищите сами. Я из темы удаляюсь.
В STM32F103 ограничивает скорость USB FullSpeed до 12 Мбит/с и размеры Endpoint 64 байта. У FT используется USB HighSpeed 480МБит/с и размер endpoint 512 байт. Когда в STM32 заполнится FIFO, то должно сработать ограничение — надо подождать, для этого RTS/CTS и нужны.
В целом проект очень интересный, только код без комментариев — это как машинный код, кроме компилятора его никто не понимает. Даже автор через год забудет.
Зачем писать на ассемблере код, который 1-в-1 на язык С ложится и оптимизируется компилятором? Это я к тому, что весь код на языке С будет более понятен и востребован людям. Было бы интересно на вашу реализацию кольцевого буфера посмотреть, но декодировать ассемблер нет желания.
Ещё иногда изымают письменные проверочные/контрольные работы. От препода требуют, чтобы каждая работа была подписана студентом. В общем официальный документ. Но это не очень сильно ограничивает преподавателя в выборе темы и методов обучения.
Через 10 лет эти знания и специальности будут бесполезны. Я, например, изучал в начале 90-х: Basic, Pascal, dBase, Prolog, Lisp, SQL, C, а также кучу разделов математики, основы права, историю и философию. Я не говорю про всякие ИТ-системы (Парус, Clarion, ExSys, GPSS, СВМ, и др./забыл/). Нужен фундамент и кругозор. Остальное человек сам выучит или на коротких курсах.
Философия учит мыслить, показывает развитие мышления у человечества. Основы права нужны любому человеку в условиях капитализма.
Очень многое зависит от преподавателя. Обучать С++ 20 на мой взгляд не верно. Сначала надо изучить основы — процедурное, структурное, функциональное и Об.Ориентированное программирования.
Пишу как человек, который был в ВУЗе в разных ролях.
Был у меня Stylus Photo 750. Было время мне надо было регулярно печатать (листов по 5-20). Сначала хорошо печатал. Как только появился перерыв с печатью (неделя), то пришлось прочищать ПГ. А через несколько месяцев простоя (летом не печатал) прочистка не помогала, пришлось выкинуть.
Расход чернил высокий, в рекламе и документации написана (не)правда (заполнение листа не более 5%), 220 листов/картридж. Нет. Листов 30 (в зависимости от качества).
Цветные фото, которые пробовал печатать сейчас выцвели. С трудом можно что-то различить. Сейчас проще и выгоднее в любом салоне распечатать.
У меня вопрос. Как я понял, то первое Постановление было в 1985 году, а через 2 года ещё одно Постановление от 1987 года. А потом бац… 1991 год. А чем же вы занимались эти годы?
Я был школьником. У нас в 1986 или 1987 году появился компьютерный класс с БК-0010 и ДВК в качестве сервера. Корпус из металла 2мм («бронесталь» почти /сарказм/). Сеть была, игрушки загружали по очереди, т.к. два и более подключения намертво всю сеть вешали. Никто не знал почему и как с этим работать. Ладно мы — школьники, балбесы. Но и учительница ничего не знала. Я часто ходил в книжные магазины искать литературу. Кроме «странных» диалектов Бейсика ничего хорошего не было. В науч.-тех. библиотеке можно было найти что-то толковое от издательств «Мир» или «Радио и Связь». Короче, у меня не было возможности научиться в те годы.
А ещё в начале 80-х не у всех телефоны и цветные телевизоры были. Бытовая радиоэлектроника (магнитофоны/радио/плееры) вроде бы работали и свои функции выполняли, но внутри были жуткие кишки из проводов и дискретных радиодеталей (например, магнитола ВЭФ). Культура инженеров и производства была низкая. Хотя телевизоры к середине 80-х научились делать и платы ТВ (разврётки, синхр, каналов) были спроектированы и сделаны аккуратно. В тоже время счастливчики привозили из заграницы дешевую электронику (калькуляторы, часы, телефоны) пр-ва Гонг Конга. Она ломалась и, удивительно, но наши умельцы без всякой документации это «г» ремонтировали.
А потом я стал студентом и в 1990-е познакомился с другими компьютерами. В институте на первом этаже в маш.зале стояли ЕС-1035 и ЕС-1045, а на втором стояли СМ, Искры, ЕС-1845. Никаких сетей и тем более оптоволокна до 1996 года там не было. Никому и не надо было. А ответственные за ЭВМ дрожали и никого не подпускали к ним. Самый быстрый способ переписать файл с одной ЭВМ на другую был — ручками на лист бумаги написать, а потом с терминала ввести. А ведь в 1989 году уже Intel 486 появился.
В принципе в 80-е годы были технические возможности создать межвузовские сети или хотя бы внутри ВУЗа, но это никто не (смог) сделал. Исключение — Демос и Релком. На мой взгляд причина в том, что ЭВМ позиционировались как инструмент для расчётов, а не для обмена информацией.
А могли бы вы рассказать, где вам не хватает 3 SPI (или I2C)? Почему вы не можете на 1(2 или 3) SPI повесить несколько устройств, архитектура позволяет же и сигнал CS есть же. Допустим вы хотите в DMA параллельно, но шина/ядро не смогут же протолкнуть.
P.S. Автор забыл сказать про библиотеку SPL MLDR187. Это важно. Это плюс. Но мне слезать с Cortex-M на RISC-V пока не хочется.
«Деже вю», т.е. вчера это уже было опубликовано.
habr.com/ru/company/skillfactory/blog/523130
Читайте (или листайте) Хабр!
В статье сказано, что схем в Интернете много. Подключить MIDI через UART-переходник — это не проблема. Это костыль.Правильно — написать прошивку для USB-устройства типа Audio Class. В этот и заключалась основная работа, статья про программирование USB для MIDI устройств.
Кстати, частота 31250 выбрана очень удобно для устройств от 2МГц, т.к. делитель для неё без остатка делится. То, что вы называете «преобразователь уровней» — это не только для 5В, это чтобы включить оптрон в синтезаторе, ток выдать согласно стандарту. Чтобы работало везде, а не только на коленке.
Вы перечислили устройства класса HID. Для MIDI нужен Audio Class.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Embedded Software Engineer
Lead
Programming microcontrollers
Software development
C++
Python
Math modeling