06 Августа 2022

Ответ на вопрос - я русский!

Ответ на вопррс подписчика -  то, что переехал жить в Аргентину, не делает меня меня менее русским, чем я есть. Я был , есть, и остаюсь русским человеком, и я помню, откуда я вышел 44 года назад. Я помню Мурино, я помню Агрегатку в Чебоксарах, я помню лютую жесть в Подмосковье. Я помню всё, и это делает меня лучше

Показать полностью 2
16

Цена на товары из Икеа (спойлер, подорожание в 4-9 раз)

Давно хотел себе купить барный стул. В Икеа присмотрел стильный, складной стул, который легко будет помещаться в однушке. На нем поработать или посмотреть на балконе на закат с кружечкой чая.


Так как сайт Икеа не пускает из-за наплыва людей и нужно ждать минут 10-15 своей очереди, решил посмотреть, а что же есть в русском маркете? Как итог нахожу на Я.Маркете новую вкладку: Товары Икеа. Ух ты. Думаю цены будут повыше процентов на 30-50, но некоторые товары можно будет купить. Моё разочарование можно увидеть на скрине ниже:

Слева цена на товар в Икеа: 3999₽, справа цена на Я.Маркете 15 677₽. Ну как вам?

Смотрю дальше. А по чем губки, которые были по 129₽

Да здравствует импортозамещение, друзья. Вместо 129₽, теперь эта радость стоит 991₽. А что изменилось? Все тот же завод, та же линия, те же рабочие, которым, возможно, еще и зп снизили. Но к цене накинем пару стоимостей товара.

Показать полностью 3
1670

Помогите сочинить колыбельную1

Не знаю можно ли тут такое просить, но не могли бы вы помочь и сочинить колыбельную для моего сына, он аутист и не понимает обращённой речи. Но он помешан на стиральных машинах и сушилках. Если я пою обычную колыбельную он закрывает мне рот. А если я пою всякий бред чередуя со словом стиральная машина и сушилка то он улыбается. Мог ли кто нибудь мне помочь тут и сочинить песню очень простую. Что машина стирает белье, сушилка сушит. Можно ещё и пылесос туда воткнуть и микроволновку, он знает эти слова. Я была бы очень рада помощи. 😊👏 

90

ПСДПМ ч.3.2: Термометрия, подключаем ТЭН

Привет, ребятки, из числа подписчиков и не только (если кому-то ещё интересно - можете тоже заходить на огонёк). Как всегда, "пролетели 2 недели", но, программа потихоньку пишется (и уже даже как никогда близка к завершению). Сегодняшний пост будет о реализации обработки ТЭНа, которая жизненно необходима для получения горячей воды в посудомойке. Некоторые моменты я сильно упростил, но, тем не менее, удалось выполнить и эту задачу. Итак, как мы знаем, в нашей машинке имеется ТЭН. Но для его корректной работы необходима обработка данных термометра, чтобы понимать, на какой интервал времени нужно этот самый ТЭН включать. Устанавливать какой-то дополнительный термометр не нужно, он уже есть в машинке.

Нам необходимо показания этого самого термометра обработать. Так как он представляет собой термистор (элемент, изменяющий своё сопротивление в зависимости от температуры), ставится задача провести следующие преобразования:

1. Измерения по сопротивлению термистора (dR от dT)
2. Приведение их к изменению напряжения (преобразование dR в dU) (используется "мост Уитстона")
3. Сравнение полученного напряжения с опорным напряжением, получение разницы в процентном соотношении (в этом нам поможет физик Кларенс Мэлвин Зенер)
4. Приведение полученного соотношения к абсолютному значению температуры в градусах (а в этом нам поможет математика 7 класс)
5. Вычисление ориентировочных интервалов включения ТЭНа по полученным данным

Собственно, на момент написания поста, мною это всё уже проделано и результаты вписаны в историю программы:


Давайте теперь разберём каждый этап.

1. Измерение сопротивления термистора
Так как мы имеем дело с неизвестным термистором, для определения его характеристик, необходим какой-то эталон. В нашем случае я использую готовый покупной термометр, установленный в бак примерно на том же уровне, что и исследуемый. В первоначальную задачу входит запись показаний сопротивления в зависимости от показаний термометра. Практически этот процесс выглядит примерно так:

Тут я столкнулся со следующей проблемой: висячий на воздухе провод термистора ловил целую кучу помех, от насоса, мотора и т.д., поэтому, показания очень сильно прыгали. В данном случае видно, что значению в 26,6 градусов соответствует сопротивление 6,37 кОм. Однако, это совсем не верно. В качестве временного выхода было использовано измерение "на остывание": сначала я разогрел бак до 60 градусов, затем отключил все приборы из сети и измерил повышение сопротивления. Полученные точки показаны на графике (синяя кривая).

Как можно видеть, мы получили примерную характеристику термометра. На участке от 30 до 50 градусов почти линейна, далее немного закругляется в сторону экспоненциальной. Ниже 26 градусов измерить было невозможно, т.к. это была комнатная температура. В целом, этот график позволил сделать следующие выводы:

1. Функция зависимости dR от dT может быть приближена к линейной для температур до 60 градусов (что является заводской температурой в программах для данной машинки)
2. Сопротивление при комнатной температуре начинается от 10-12кОм, следовательно, балластный резистор примем сопротивлением в 15 кОм (т.к. ниже комнатной температуры машинка остывать у нас не будет).

2. Приведение к измерению напряжения
Для измерения напряжения используется слегка видоизмененный измерительный мост Чарльза Уитстона, открытый в 1843 году.

Суть его заключается в сравнении напряжений, полученном с помощью делителя на исследуемом сопротивлении (R1, R2) с опорным (R3, R4). Только, в данном случае, оно даёт как бы "логический" сигнал, где R4 - переменное сопротивление, подбираемое реостатом. А в нашем случае необходимо процентное соотношение, вместо вольтметра используется АЦП, который уже встроен в контроллер ATMEGA328.

3. Сравнение полученного напряжения с опорным напряжением

Хотел бы заострить внимание на следующих моментах:

- Ввиду большого количества помех из-за силовых агрегатов (насосы, клапаны) в качестве опорного напряжения выбирается не резистор, а стабилитрон с балластным сопротивлением. В моём случае нужен был стабилитрон (он же диод Зенера в честь известного физика) на 2,5В. Который заменяется микросхемой TL431 из блока питания, катод соединяется с управляющим выводом). Балластный резистор для него методом подбора выбран на 330 Ом (маловато, но можно оставить и так).
- Т.к. у нас второй "вывод" измерителя АЦП уже подключен к земле по схеме микроконтроллера, мы не можем подавать на него опорное напряжение, это приведёт к замыканию его на землю. Благо, в микроконтроллере на этот случай предусмотрен вывод AREF, на который и подключается опорное напряжение. Противоположный вывод термистора подключаем к одному из входов АЦП (в нашем случае ADC5)

Давайте теперь настроим АЦП на самом контроллере:

Настройка его очень простая:
- Разрешаем считывание показаний АЦП
- Выбираем опорное напряжение с AREF пина (нашего стабилитрона). Специально акцентировал на этом внимание, если REFS1 установить как 0 и REFS0 как 1, то будет выбрано напряжение питания, а на AREF желательно ставить керамический конденсатор. Использование такой конфигурации не всегда рекомендуется, в нашем случае показания начнут плясать, как Айседора Дункан, поэтому устанавливаем оба бита как 0.
- Выбираем ADC5 регистром мультиплексора ADMUX (в нашем случае - вывод 5 он же IN_RS C5 на порту C).

В CheckTemperature просто получаем значение ADC (он же ADCW) после установки соответствующего бита в регистре АЦП. В результате мы "загнали" текущую температуру в доступную нам для работы область.

4. Приведение полученного соотношения к значению температуры

После предыдущего шага мы получили значение в попугаях (процентах): насколько наше исследуемое напряжение превышает или ниже опорного. Так как исследуемое напряжение сконфигурировано резистором на уровень 2,5В и ниже, соответственно, мы будем получать значение от 1024 до 0. (Такое сравнение выбрано, чтобы не терять лишнюю дискретность).

Далее, аналогично с первым опытом были измерены значения температуры в попугаях относительно эталонного термометра. Полученные показания видны на том же графике (бордовая кривая). Как можно видеть, бордовая кривая лежит ниже голубой, что объясняется сопротивлением балластного резистора. Нам это нисколько не мешает, но необходимо будет ввести поправку.

Теперь, наша задача заключается в том, чтобы привести значение в "попугаях" к значению в градусах цельсия. Для этого исследуем зависимость этих двух величин:

Как можно видеть на графике, она представляет собой ветвь функции y = sqrt(x). Видна обратная зависимость значений (в красном квадрате) В нашем случае не требуются очень точные измерения, поэтому мы можем привести следующие простейшие преобразования:

1. Превратим обратную зависимость в прямую. Для этого y = 1024 (макс. значение АЦП) - x
2. Возьмём функцию y = kx + b. K подберём экспериментально, у меня он составил 13,24 для данной системы (при изменении сопротивления хотя бы одного резистора это значение изменится).
3. Сдвиг b подберём эмпирически, у меня он составил 4 единицы (это сдвигает полученный график ближе к середине характеристики), таким образом, погрешность при 25 и при 60 составляет всего лишь 2 градуса Цельсия, что допустимо.

Итак, полученная функция:

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

Итак, сверим показания термометров - заводского и нашего (самодельного):

Тут уже сфоткано на тапок, но суть, думаю, понятна. При b = 0 показания сходятся на 28 градусах, на 60 градусах расходятся на 8. При b = 4 Показания равномерно расходятся на 3-4 градуса, поэтому, для получения искомой температуры отключения выгоднее пользоваться попугаями (они более точны), а это значение использовать лишь для визуальной ориентировки.
Была идея сделать пост, посвященный именно термостатированию, если у меня дойдут руки, там исправим все эти недостатки.

5. Реализация работы с ТЭНом
Собственно, мы получили возможность измерять температуру в баке. Для работы ТЭНа реализуем две примитивные проверки:

Проверки сделаны "в 3 этажа", т.к. если делать только одну, то случайная помеха будет вызывать процедуру остановки машины. Периодически такие помехи у меня проскакивали. Поэтому, значение будет подтверждаться аж 3 раза, через 1мс и затем через 10 мс. Если же оно установилось, то ТЭН отключается.
- Первая проверка - догоняем до 60 градусов - 300 попугаев и выключаем ТЭН.
- Вторая - если попугаев очень мало или очень много, значит что-то у нас не так со схемой, выдать ошибку MINTEMP

Собственно говоря, для работы с ТЭНом машинки этого более чем достаточно. Никакого термостатирования в данном случае не требуется, так как машинка достаточно неплохо сохраняет тепло. Если будет необходимость в дополнительном подогреве, нужно будет ещё раз вызвать включение ТЭНа в программе. На данный момент бак прогревается до 62-63 градусов (по самодельному "термометру" это 59-60). После чего сохраняет такое тепло до 30 минут, этого достаточно для одной фазы мойки. Затем можно и подогреть чуть-чуть.

Вот и всё, ребята. На данном этапе практически все приготовления к работе машинки закончены. Программа разрабатывается уже больше месяца, из нереализованного остался только смягчитель воды. Теперь нужно лишь прописать рабочую программу (примерный макет её я набросал):

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

Показать полностью 11
1

Увлечения1

Вероятно, у многих так происходит. Когда чем-то сильно увлечёшься или погружаешься в действие книг, фильмов или игр. Тогда в снах, появляются элементы истории или другие яркие моменты из этих различных произведений. Так как я "плотно подсел" на сериалы, недавно мне приснилась Дженнифер Лав Хьюитт, которая сидела на моих коленях). Такие сны бывают довольно часто. И всегда присутствуют некоторые части из развлекательного контента, который я просматривал ранее. Спасибо за внимание) Хороших сновидений!

P.S. Уважаемый @editors, Можно ли, в тегах, как-то исправить в имени\фамилии (хьюитт) знаменитого человека, заглавную букву на "Х"? А то, как-то некрасиво получается.

3716

Алматы, крик о помощи!

Здравствуйте! Мой первый пост и просьба о помощи. Алматинцы-пикабушники!

Понимаю, что здесь посты информативного и развлекательного характера, но вдруг!

Приехали с семьёй в отпуск в Алматы из Темиртау на машине. Сегодня 6 августа вечером с 19 до 20.00 гуляли с детьми в сквере им.Байтурсынова и муж забыл на скамейке свою сумку. Черная кожаная сумочка с длинным ремешком через плечо. Там все документы на Третьякова Сергея Павловича, ключи от машины и квартиры.

Находимся в огромном стрессе с детьми. Разослали по всем местным пабликам и написали заявление в полицию.

Хочется верить в людей!

Пожалуйста, помогите.

upd Сумку нашли #comment_245651157

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

Отличная работа, все прочитано! Выберите