Как стать автором
Обновить
40
0
Алексей Столяренко @jaiprakash

Инженер

Отправить сообщение
Великолепная статья — давно на Хабре такого не было, весьма благодарю!

Некоторые рекомендации из прошлого опыта работы с вакуумом и изготовления вакуумных приборов:

Геттер можно сделать не только из бария или титана, подойдут многие металлы. Другое дело, что не все они удобны. В напыленном состоянии химическая активность металлов значительно отличается от кускового — гораздо выше. Многие реакции, почти незаметные при комнатной температуре с вакуумно-нанесенной пленкой протекают быстро.
Но нанесение (скорее сохранение) пленки на баллон заранее в кустарных условиях будет сложным, собственно, ее и в промышленных обычно не наносят до вакуумирования. Кроме того, в процессе распыления металла с геттера он еще активнее, плохо этим не воспользоваться. Так что придется все-таки приваривать кусочек, вакуумировать и греть индукционно (индуктор для нагрева должен быть способен развивать мощность в мишени 100..500Вт).
Геттер поглощает кислород, хуже — азот. На углекислый (равновесный возврат) и пары воды (возврат водорода) особо не надо рассчитывать. Органику и инертные газы тем более. Свойства некоторых металлов, как геттеров:
getter
Металл для геттера нужно заранее подготовить в готовой для крепления форме, прокалить в атмосфере инертного газа и хранить в нём же (никакого масла!).

Гигиена чистоты вакуума в кустарных условиях:
Подготовленный геттер как можно скорее приваривается к верхушке анода, в виде проволочки или лодочки с таблеткой/наплавкой (по возможности в инертной атмосфере).
Перед откачкой лампу следует прогреть несколько часов при температуре от 400 градусов при пониженном давлении (без запайки), с предварительной продувкой инертным газом (сварочный аргон сгодится). Затем, в охлажденном состоянии несколько раз продуть с полным наполнением объема ОСЧ кислородом 99,999% (он стоит не так дорого, как кажется; хватит 5-литрового баллона надолго). Только после этих операций финишно откачивать. Место откачки из лампы стоит соединять длинным патрубком из прокаленного стекла, который в свою очередь уже соединять с резиновым шлангом насоса (почему? — резиновый шланг газит органикой; когда насос откачал лампу на свой максимум, устанавливается равновесие и газ перестает перемещаться из лампы только в насос; за счет пульсаций насоса некоторый объем остаточного газа начинает ходить туда-обратно и при коротком патрубке все это попадет в лампу, а геттер не справится с органикой — в идеале внутри лампы должен оставаться исключительно кислород).

Качественная продувка высокочистым кислородом 99,999% сформирует атмосферу на 99,99% из кислорода и 0,01% не поглощаемых примесей, что при насосе на 0,1Па и прокале геттера создаст давление в лампе до 10-5Па (чтобы получить рентген без утечек на свечение газа достаточно начиная от 10-3Па, а типовое давление в радиолампах от 10-4Па).

Для домашней самоделки можно было взять Kinect или Kinect One. Они копейки стоят на вторичке. Я был поражен что выдает Kinect one через API. Сразу ЗД модель комнаты, в которой я находился. В виде миллионов точек. Мою руку, и построенные в ней вектора костей. Кустарно сделать дома устройство, подобное кинекту - невозможно

https://github.com/vroland/epdiy - ESP32, в качестве "драйвера" используется I2S интерфейс.

10" китайский экран "для киндла"
10" китайский экран "для киндла"

Корпус - тут. В интерьере смотрится норм. Хотя можно было бы лучше обработать и лучше покрасить.

Я сделал на готовом устройстве LILYGO® TTGO T5-4.7(ESP32)
корпус распечатал сам и прошивку взял готовую(ссылку потерял).
Использует яндекс API, 50 запросов в сутки хватает, батарею держит долго, так как после запроса погоды засыпает.

Справедливости ради, там этой "телеметрии" - рандомный id из /dev/urandom и email для обратной связи (и то только если пользователь явно согласится) .

Фактически они считают число выполнений скрипта. Да, разумеется получат IP адрес - но это мало что даёт и вряд-ли как-то используется кроме как для статистики, данных собирается не больше чем при простом скачивании самого проекта с сайта разработчика.

В общем для паранои нет оснований - если кому-то важно сохранить свой IP в тайне он легко отредактирует скрипт, всё открыто и очевидно.

Тут написано что-то совсем уж странное.

Измерения какие-то странные. До модификаций сопротивление стола было 26 Ом, т.е. по закону Ома стол выдавал ~5 Ватт тепла, что крайне мало. После модификации сопротивление стало 1,7 ома, что даст ~84Ватт тепла, что тоже крайне мало. И вообще, как сопротивление стола возросло в 15+ раз? Где-то явно ошибка.

Ситалловое стекло - миф из 2017 года. Оконное стекло из стеклорезки отлично справится с любым материалом. Печать без адгезива - миф оттуда же. Кое-как без адгезива можно печатать PLA, но и то есть риск вырывания куска стекла после окончания печати. В 2022 году просто пользуйтесь купленным 3D-клеем в виде спрея или приготовьте его самостоятельно из Энтеродеза и и спирта/водки. Он подойдёт для всех материалов кроме полиамидов. Для полиамидов используйте раствор БФ2 в изопропаноле.

Утепление стола старой рубашкой и пробкой - "П - Пожаробезопасность". Для утепления стола просто купите на AliExpress или в строительном магазине готовый теплоизолятор для дымоходов.

В целом, если не устраивает скорость нагрева а все компоненты и настройки в порядке, просто используйте силиконовые нагреватели. Они есть как на 230 Вольт, так и на 24 Вольта. Но перед апгрейдом проверьте настройки PID стола, если он используется. Возможно, неправильные коэффициенты PID мешают столу быстро нагреваться.

Всё это по цене в единицы долларов

В 38 центов есть существенно похлеще - W806, W801 и т.п.

по опыту - для ускорения VBA достаточно на время работы макроса отключить, предварительно отладив код, всякую отрисовку интерфейса и расчет формул (с последним надо аккуратнее), а в конце макроса включить опции обратно. Даже без оптимизации кода такой подход ускоряет время выполнение макроса на порядок или даже порядки. У меня при заполнении шаблона с 1.5мин. на 1 лист время упало до 9 секунд.

Ускоряем VBA
Hidden text

'Ускоряем Excel путём отключения всего "тормозящего"
Public Sub AccelerateExcel()

'Больше не обновляем страницы после каждого действия
Application.ScreenUpdating = False

'Расчёты переводим в ручной режим
Application.Calculation = xlCalculationManual

'Отключаем события
Application.EnableEvents = False

'Не отображаем границы ячеек
If Workbooks.Count Then
ActiveWorkbook.ActiveSheet.DisplayPageBreaks = False
End If

'Отключаем статусную строку
Application.DisplayStatusBar = False

'Отключаем сообщения Excel
Application.DisplayAlerts = False

End Sub

да не очень и тяжелый, https://mujs.com/
их vm занимает примерно 145кб рантайма, сделан специально под ембед платформы
все плюшки js в наличии

Если уж работаете на регистрах, неужели не видели других реализаций? Моей, например, или Эдди. Еще где-то была реализация на шаблонах С++.
В этом документе содержатся адреса нужных для работы регистров и описание битов в этих регистрах. А также режимов работы этих битов (это важно). Для удобства программирования, я вынес эти адреса в макросы:
Зачем, если они объявлены в заголовочниках от ST? Ладно код, но макросы вы вряд ли напишете эффективнее.
Следующий важный момент, без которого мы не сможем настроить наше устройство — дескрипторы. Это заранее заготовленные и отформатированные ответы на запросы хоста «что ты такое» и «как ты работаешь».

А когда захотите поменять ConfigurationDescriptor — пересчитывать все размеры? Можете посмотреть как это сделано у меня:
Первый попавшийся пример - от MSD
static const uint8_t USB_ConfigDescriptor[] = {
  ARRLEN34(
  ARRLEN1(
    bLENGTH, // bLength: Configuration Descriptor size
    USB_DESCR_CONFIG,    //bDescriptorType: Configuration
    wTOTALLENGTH, //wTotalLength
    1, // bNumInterfaces
    1, // bConfigurationValue: Configuration value
    0, // iConfiguration: Index of string descriptor describing the configuration
    0x80, // bmAttributes: bus powered
    0x32, // MaxPower 100 mA
  )
  ARRLEN1(
    bLENGTH, //bLength
    USB_DESCR_INTERFACE, //bDescriptorType
    0, //bInterfaceNumber
    0, // bAlternateSetting
    2, // bNumEndpoints
    MSDCLASS_MSD, // bInterfaceClass: 
    MSDSUBCLASS_SCSI, // bInterfaceSubClass: 
    MSDPROTOCOL_BULKONLY, // bInterfaceProtocol: 
    0x00, // iInterface
  )
...


EP0R = (EP0R^0x3030)&0xBFBF

За магические чиселки бить по рукам!
#define ENDP_STAT_TX(num, stat) do{USB_EPx(num) = ((USB_EPx(num) & ~(USB_EP_DTOG_RX | USB_EP_DTOG_TX | USB_EPRX_STAT)) | USB_EP_CTR_RX | USB_EP_CTR_TX) ^ stat; }while(0)
...
ENDP_STAT_TX(idx, USB_EP_TX_VALID);

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

Так может, стоило не CDC делать, а MSD (флешку)?
Заголовок спойлера
Я делал такое habr.com/ru/post/549016
и даже такое habr.com/ru/post/654853

Похожим способом можно поставить Emoji в качестве favicon:

<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%221em%22 font-size=%2280%22>🍲</text></svg>">

Увидел на сайте based.cooking. Если кто знает способ покороче - поделитесь :)

Алмазные заточные диски - норм инструмент, только не с Али. Они лысеют очень быстро. Лучше рассмотреть стоматологические, фирмы Komet, например. Живут дольше в 10-20 раз.

В большинстве смартфонов увеличение цифровое — оно увеличивает масштаб, но детальности не прибавляет. Это нам не подходит. Нужен фотоаппарат. И не простой карманный фотик, а фотоаппарат класса “Ультразум” — с очень большим увеличением.

А еще есть сервисы Телескоп-as-service. Например itelescope.net. Ставим задание и снимаем с действительно крутой оптикой.

не к тем китайцам Вы привыкли.

Такие производители как GigaDevice, Artery, Nuvoton, Geehy, LogicGreen не уступают по качеству и документации тем же SMT. Такой производитель преобразователей DCDC как Monolitic Power System на тестах показал себя в полтора раза лучше и надёжней Texas'ов в реальных тестах. При этом цены на китайскую продукцию значительно ниже.

Контакты компании которая таскала из Китая позже оставлю. Сейчас под рукой только контакт главного менеджера - stratosander@gmail.com Александр. Они нам проект полностью под китайский БОМ переводили.

Все уже украдено придумано до нас. Есть unqlite. Правда, не знаю, как она в плане использования.

Давно перешел на Bromite. Пока обновляется без сбоев.

Глокая куздра и все-все-все
Жевокая менза колюила грозка и сакавала яшчэ па пяходзе. На прывяге праз сваю дзбу она дапамала па цёплыя, свётлыя мары и яблыня, што гэтая ды на абайцы збярася ён, лёс у сям'яй знаходзся.

Чайнело… Мильные бокры
Юлись и дрырлись к поросе,
И глокой куздры развихры
Курдячились по белесе.

А кусявые да косе
Яры, кусявы, досевыны
На тую белу лебеду,
Которой вся округа тощища.
Да ить тутошняя кузяка
Занедужила, как кутяна

Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Ut en elit vulnere dolor nesciuntque.
Cursus comprehendi
В этом разделе выложены некоторые дипломные, курсовые и контрольные работы для студентов, выполненные специалистами нашего портала.
Если честно, то вот применительно к STM32 я этот вопрос не проверял. Мне надо было сделать эталон для измерения просадки скорости промежуточными звеньями на шине. А уже из невозможности его сделать получилось исследование.

Но в целом — с точки зрения самой шины в обратную сторону всё намного лучше. Главный на шине же хост. И когда он хочет послать данные на скорости FS — он всегда их посылает. Сколько раз пытается, столько посылает весь пакет, тратя время. А обратно — он просто посылает запрос, не занимая шину ради прокачки самих данных. Уже в этом лучше.

Ещё могу точно сказать, что правило «чем больше размер запрошенного блока, тем быстрее бежит поток» соблюдается и там. Собственно, эти графики зависимости скорости от размера блока я впервые построил именно при приёме данных, когда читалку NAND Flash 12 лет назад делал.

Остальное — надо пробовать. Я обязательно попробую со вновь найденной библиотекой. Её надо будет изучить вдоль и поперёк. Если она устойчивая — переходить на неё.

Вот на STM32F4 у меня был забавный подводный камень. Я перетащил прошивку MARLIN для 3D принтера на него (дело было давно, тогда ещё не было готовых вариантов). Работаю. Даю её знакомым. У них всё регулярно виснет. У меня обменом занимается Simplify3D, у них — CuRa. У них виснет. В общем, после долгих опытов выяснил, что при большой нагрузке на порт прекращается передача данных. Даже написал свою стресс-программу, которая за 10-20 посылок всё роняет.

Погуглил — были такие вопросы на форуме ST Ответ — «А вы не гоните много данных». Легко сказать! Долго ли, коротко ли, а опытным путём выяснил, как сделать так, чтобы не висло. Надо было отправлять данные как раз из контроллера в хост не в любой момент, а когда пришло прерывание SOF. Копишь-копишь в кольцевом буфере, пришёл SOF — отправил. Зависания ушли. Почему — не знаю. Является это проблемой конкретно F4 или всех STM — не знаю. На всякий случай, я на всех STM32 по SOFу отправку инициирую, благо там не так много в моих проектах обычно уходит.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
1
23 ...

Информация

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