slava68: (Default)
Когда какие-то чуваки собирают компьютерные устройства:
https://www.dfrobot.com/category-177.html?tracking=electronicsinfocus20181214

цены высоковаты, но это "индивидуальное производство", я думаю, что себестоимость платы около 30 долларов, плюс цена процессора.



задумываешься, а может быть "именитые брэнды" и не особо напрягаются для разработки новинок ? Может быть потчуют нас "старьём", раз нечего купить ничего другого ? Такая плановая экономика в капитализме :-))) В крайние 5-10 лет количество новинок в компьютерной области сильно поубавилось, а "прорывных" моделей не появлялось уже несколько лет. Только "горизонтальное" развитие.
slava68: (Default)
Т.к. Raspberry Pi оказалась ненадёжной, бесполезной (для меня), с закрытой частью ядра https://slava68.dreamwidth.org/3381848.html , которое доступно только недокументированными командами и только частично. Не люблю такие устройства, где не я главный.

Присмотрелся вот к этой железячке :https://ru.aliexpress.com/item/33021594087.html?spm=a2g0s.9042311.0.0.24e733edLFjWWG

посмотрев хороший обзорчик на ютубчике.


Похоже, это именно то, что мне надо для моих проектов. Из Ардуино я почти вырос, а вот заменить её не на что, чтобы легко макетировать прототипы и уже пора иметь интерфейс в интернет в любом проекте.

Был ещё обзор у Cluster про Onion, но цена на них на Алиэкспресс такая же, а фунционала заметно меньше.

не знаю, где он их по 5 баксов покупал :-(
slava68: (Default)
Я уже писал, что разочаровался в Raspberry Pi , так вот сейчас разочаровался ешё раз :-(
Решил попробовать отремонтировать плату, которая умерла в течении первых часов после включения https://slava68.dreamwidth.org/3381848.html . Заказал микросхемку за 5 долларов (!) из Китая. Этож дорого - капец :-( За такие деньги можно купить вот такие чудо-увеличительные очки: https://ru.aliexpress.com/item/32865687681.html?spm=a2g0s.9042311.0.0.274233edOR4SEB
И вот я такой, в этих чудо очилах грею, как обычно, феном плату, чтобы снять микросхему

10 минут грею - не плавится припой, добавил температуры - не плавится, уже максимум поставил 480 градусов - не плавится.

флюсами поливал, легкоплавкого припоя пытался добавить - микросхема не шевелится.

Уже вся плата нагрелась до 200 градусов, добавил паяльник к фену, в два нагревателя - не шевелится.

30 минут грел. Сдался. Но продумываю план мести. Вечером спилю эту микросхему дремелем.

Я не первый раз уже пытаюсь отпаять что-то с материнских плат современных компьютеров и каждый раз подобная фигня. Ну даже если это безсвинцовые припои, то они обязаны плавиться (или размягчаться) при какой-то "разумной" температуре ?
slava68: (Default)
Про Raspberry Pi все, наверняка, слышали. Можно даже не выкладывать фотки. Как можно дольше я откладывал момент приобретения этого миникомпьютера, и всё из-за того, что не могу предположить, зачем он мне нужен.
Люблю программировать "ближе к железу". Если и использую доступные библиотеки на AVR и Ардуино, то только на этапе прототипирования. Не могу спокойно жить, если кто-то вставил в мой код неизвестные мне грабли. Оптимизировать код и выиграть десяток байт на логических операциях - это как оргазм, даже лучше :-)
Но, надо идти в ногу со временем, заказал из Китая и получил через две недели вот такую штуку:

(спойлер: сейчас к ней едет из Китая корпус-радиатор, а плата уже сдохла)

Сразу выяснилось, что нужен блок питания +5В 3А при двухамперном плата ругается на электропитание и снижает частоту работы процессора, становясь хуже по производительности, чем предыдущая, в два раза более дешёвая версия.
Жаль, что я прочитал вот эту статейку, уже после того, как потратил деньги.

https://habr.com/ru/post/440584/

ну и особо меня впечатлило (огорчило) огромное количество закрытого кода, виртуализация системы. Линукс на этом "пирожке" даже не знает, что работает "в песочнице", а "Главная операционная система" подчиняется только производителям. Это шикарный ресурс для гигантского ботнета. Ты ничего не можешь сделать без контроля "человек посередине".

К неисправности: через несколько часов работы "пирожок" сдох :-( Просто тихо ушёл из жизни, как мне удалось выяснить, пропало питание +3.3 вольта, генерируемое микросхемой MLX7704-R3, заменить её невозможно, это программируемая херня и прежде чем устанавливать в плату, в ней надо прописать все напряжения по четырём каналам и очерёдность их подачи.

Написал китайцам, но какого-либо положительного решения не жду.

Из первых моих впечатлений, до того как эта херня сгорела (я даже не успел подключить к ней что-нибудь) - порты ввода-вывода GPIO входят непосредственно в процессор, любое неаккуратное действие и 35 долларов сгорают. Про контроллер питания я даже ещё и подумать не успел, а оказывается, 35 долларов могут сгореть и без каких либо действий.
slava68: (Default)
Инверторные кондиционеры часто ломаются и ремонтировать их не просто.
Вроде бы все части кондиционера работоспособны по отдельности, но контроллер уходит в режим ошибки и всё :-( Когда никаких мыслей уже нет, то скорее всего это сбой программы контроллера.

Я решил сделать запускалку Sensorless BLDC двигателя компрессора, но оказалось, что это совсем не просто. Это же двигатель постоянного тока с электронным коллектором без датчиков Холла. Читал много, но практически всё мимо, пока не нашёл вот этот чудесный ресурс: http://www.avislab.com/blog/bldc-examples_ru/ и тут мне попёрло :-) Распилил компрессор (заклинивший). Про него будет отдельный пост с фотками про хвалёное качество DAIKIN. Спойлер: компрессор в новом кондиционере заклинил через полчаса работы, в гарантии отказали, сославшись не несертифицированных монтажников.

Сделал ШИМ на верхние ключи, и на нижние просто управление с портов Ардуинки.
Гальваническая развязка через оптроны, пока идёт процесс настройки. Пока 24 вольта, но я определил скорость, при которой двигатель нормально запускается, при 300 вольтах будет тоже самое.

Регуляторы на скважность ШИМ и на частоту переключения ключей.


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



На осциллографе ШИМ непосредственно на двух из трёх контактов компрессора.
slava68: (Default)
Почитал "применения и программирования контроллеров MELSEC серий FX1s, FX1n, FX2N, FX2NC, FX3U и FX3UC." Установил софт, для этого установил виртуальную машину. Примерно 24 часа потратил на изучение - отрицательный результат тоже результат.
Эта красивая штуковина подходит для управления лифтом, например, и абсолютно не подходит для моего проекта.

Буду делать на Ардуино.
slava68: (Default)
Нужно сделать управление котельной. Подрядчик хочет почти 1000 евро за блок управления.
Я уверен, что сделаю всё тоже самое на Ардуино :-) но хочется сделать "красиво".

Не готов сейчас осваивать команды 80с51, а на Aliexpress большинство этих штук 51-совместимое.
Хотелось бы AVR, понимаю, что технологии уже кусают за пятки, пора и на STM что-то делать, но для работы с Атмегами у меня всё уже настроено.


Есть железки с "собственная среда разработки". Не готов "строить мышкой" блок-схемы. Не люблю, когда я не знаю, что там внутри моей работы.






Потребуется только читать датчики температуры 1-Wire, аналоговые входы (АЦП), цифровые входы 0/1, управлять релюшками.
Ну и написать самому логику на всё это на С++.
Wi-Fi, GSM не обязательно.

Цены железок на картинках выше от 15 до 45 евро.
slava68: (Default)
Заказал с Алиэкспресс 10 шт. AT24C512C-SSHD-T SOP8 за 2 евро, а пришли

ATMLH718
2FC D B
A0F5948


пришлось покопать интернет. Очень мало информации о такой маркировке:

"Решил разобраться с маркировкой Serial EEPROM 24 серии фирмы ATMEL, возможно кому-то пригодится:

Первые четыре буквы ATML означают фирму ATMEL, дальше H - тип материала корпуса , дальше год и неделя
изготовления ( 0 - 2010, 28- неделя ),во второй строке тип микрухи, в третьей так называемый Lot Number.
2EB 1 - 2EB означает C256B, единица обозначает минимальное напряжение питания 1.8v (если у вас например 2 то 2.5v, но иногда встречаются и буквы)
M = 1.7V to 3.6V (в некоторых случаях до 5.5V, например в AT24C64D-SSHM)
L = 1.8V to 5.5V
D = 2.5V to 5.5V

A0F5948 - Lot Number

Сводная таблица Truncation Code: (первые две буквы/цифры во втором ряду).
01 = C01
02 = C02
04 = C04
08 = C08
16 = C16
32 = C32
64 = C64
2D = c128
2E = C256
2F = C512
2G = C1024"


Подведя итог мы имеем:

ATMLH718
2FC D B
A0F5948

есть ничто иное как AT24C512D с минимальным напряжением питания 2.5v выпущенная в 2017 году 18 неделя.

SPI Serial EEPROM 25x Series
Вторая строка:
58B = AT25080B
5AB = AT25160B
Четвертая буква во второй строке означает вольтаж:
L=1.8v min

UPD: по ошибке перепутал маркировку первой ноги :-( одна микросхемка сдохла, осталось ещё девять.
slava68: (Default)
Из "квадратной шины" I2C в "однопроводную" 1-Wire и обратно.

Aliexpress, eBay и TaoBao учат нашего человека долгосрочному планированию и терпению.

Заказал ds2482-800 с китайского сайта https://ru.aliexpress.com/item/2-ds2482-800-ds2482-SOP16-IC/32835076970.html?spm=a2g0s.9042311.0.0.ljRQ10 по 7.85 евро за пару. Дороговато для большого тиража, но на попробовать годится.
Дело в том, что в одном своём проекте я так неудачно построил сеть 1-Wire, что работает она только с подтягивающим резистором не более 1кОм, а лучше даже 800 Ом.
Решил сделать три или четыре самостоятельных "каналов", которые буду переключать и отдельно обрабатывать каждый сегмент сети.
Эта микросхемка очень прикольная штука, ей отправляешь команды по шине I2C и далее она сама оперирует с шиной 1-Wire, не грузит центральный процессор "ненужными таймингами". В необходимый момент обратился к ней и просто считал десяток байт по скоростному интерфейсу.
Проблема только в том, что практически никто из "ардуинщиков" такую штуку не использует. Нашёл две библиотеки: одна совсем сложная и непонятная, вторая с ошибками и с минимальным описанием. Наверное, автор задумал такой "входной тест" - если не разобрался - то и нечего тебе тут делать :-)) Но зачем так нелогично писать простейшую библиотеку ?

Я несколько часов "изобретал велосипед" в обычном режиме, никакой реакции, потом с осциллографом - вижу, пошёл сигнал в "однопроводную" шину. Обложился даташитами на все устройства. Вроде пошло дело, но без даташитов даже невозможно было бы что-то сделать. Команды для конечных устройств надо отправлять в шину I2C в той последовательности, как устройства на шине 1-Wire ожидают их принять.
Нашёл ошибки в библиотеке, исправил. Добился RAW данных из одного устройства в другое.
.... Думаю, дай-ка попробую расшифровать эти RAW данные с помощью стандартного скетча "1-Wire термометр DS18x20" - открыл - и тут мне стало понятно, зачем библиотека написана так нелогично .... её можно просто подставить вместо библиотеки "1-Wire.h" и даже практически не переделывать скетч. Все методы и команды одинаковы. Программа микроконтроллера даже не поймёт, что она теперь работает не напрямую с устройством 1-Wire, а через микросхему "посредника" и на другой шине....

Ну вот, блин, ну неужели нельзя было это указать в описании библиотеки ???
Что теперь делать с теми знаниями, которые я зря загрузил в свой мозг ?
slava68: (Default)
:-( моя схема подключения сенсоров DS18x20 объединяет в себе все неудачные способы из даташита по организации сети 1-Wire.

и "звезда" и "коса" и "ответвления более 3 метров" и 7 сенсоров прямо возле контроллера.

Уменьшил резистор, подтягивающий вывод данных к +5 вольт с 4.7к (рекомендуемый) до 1к. Заработало.
Три часа изучал осциллографом все способы коммутации - ничего утешающего. Слишком большая ёмкость шины, и если можно ещё поставить транзистор на выход микроконтроллера, то каждый сенсор тоже должен просаживать весь этот нежелательный конденсатор....
На будущее, надо будет делать драйвер шины с I2C на 8 штук 1-Wire. Разделю сеть на 8 сегментов.



ds2482-800 пока не знаю, где купить в Бургасе.
slava68: (Default)
пишу код для ATmega328 (в ардуиновском IDE )

надо сохранять данные во внешний I2C EEPROM , потом считать всё (постранично) и загрузить на SD-карту.

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

Первая, из-за которой не спал прошедшую ночь - пишу в EEPROM постранично - всё отлично, но страница имеет размер 32 байта, а буфер библиотеки 30 байт, поэтому решил дописывать два байта "ручками". И вот они, то пишутся, то не пишутся. Никакой закономерности.
Полное заполнение I2C EEPROM каким-нибудь байтом тоже не работает. Записывает этот байт по случайным адресам :-(((
Так и лёг спать в 06:20. Уже в постели пришла в голову мысль, поставить задержку между обращениями к памяти... утром сделал - заработала "адская машина", даже _delay_ms(1); оказалось достаточно (пауза на одну микросекунду). Микросхема просто не успевает за "скоростным" I2C интерфейсом ATmega :-(

Вторая проблема - при чтении полностью забитого каким-либо байтом (байтами) EEPROM - всё отлично, но если читаю что-то осмысленное, то что я туда записал - после какого-то момента начинает "мести пургу", всегда разную.
Чтение непосредственно адресованной ячейки показывает именно те данные, которые я туда и записал, но при формировании считанного массива в строку - появляется мусор (не полицай, а случайные данные) :-(
За 5 часов вечернего секса сеанса программирования я уже понял, что проблему вызывает "сборище нулей" в считанных из EEPROMа данных и их последующее преобразование в String.

Ну , кто уже догадался ?

Read more... )
slava68: (Default)
пару лет назад делал "термостат" с "вечными реле". Изобретал там работу с сенсором 1-Wire без использования библиотеки.

Пришло время использовать часть кода оттуда. Два дня искал в "авгиевых конюшнях" своего копмутера - нашёл, решил выложить в более доступное место:
https://pastebin.com/JWKYHWwX
Не помню, выкладывал ли фотки того "космического корабля", который я напаял для управления и контроля системы. Повторюсь, на всякий случай:

Не стал делать на макетной плате "на пиздюльках", придётся работать с ним в полевых условиях, а там "изучать науку о контактах" не хватит времени и нервов.

Из свободных "концов" осталось только I2C. Пипец какой-то :-)))
Но это пока только прототип, когда отлажу прошивку, закажу плату в Китае и наверняка сделаю расширитель портов 3х8. Для управления релюшками использовать прямое подключение к порту - кощунство :-)))
Для "проводной" сети пока нет доступных выводов, будет радиоканал.
С загрузчиком и автоматическим обновлением прошивки ( https://github.com/ClusterM/clunet ) пока не смог разобраться :-( мне кажется, необходим ещё шлюз от компьютера до сети, а его нет в описании. Может быть потом, зимой, изобрету велосипед.

На I2C сейчас повешу энергонезависимую память (24с512) и RTC (DS1307).

и да, можно было использовать MEGA (2560), но мне доставляет удовольствие оптимизировать под минимальную конфигурацию кристалла, можно сказать, даже "с особым цинизмом" :-)))

Фотки старые Read more... )
slava68: (Default)
Выключил ещё вечером циркуляционный насос солнечных коллекторов, оставил только насос тёплого пола. С утра было пасмурно, сейчас начинает проглядывать солнышко сквозь облака.

температура датчиков солнечных коллекторов:
59.75

73.69

82.31

Я думаю, не стоит проверять "выбег турбин" дальше.
Включил насос снова.

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


программу для измерений написал вчера очень криво, не показывает второй сенсор на каждой линии измерений.
82.31 это была температура предпоследней панели.
slava68: (Default)
12:55

сенсор 034
35.75
01А
44.81
043
41.81
047
29.37
03А
45.19
0Е5
32.63

вода внизу
22.81
вода вверху
33.38
вода в бассейне
13.94

вход теплообменника
43.94
выход
29.50
вода в середине
26.94

Для определения средней температуры резервуара теплоаккумулятора решил устроить там принудительную циркуляцию, так как непонятна толщина каждого слоя с различной температурой. Верхний горячий, по ощущениям руки, всего 5-7 сантиметров.
Read more... )
slava68: (Default)
не спеша соединяю провода, теперь есть возможность измерять температуру поверхности воды, на дне резервуара и температуру воды в резервуаре-буфере бассейна - она же "температура воды в бассейне" если включена фильтрация бассейна.

Пока старые:
17:05 солнце уже зашло, день был переменнооблачный.

вход теплообменника +25.31
выход теплообменника +25.19
вода в середине резервуара +24.94

воды добавил до максимума - теперь 99 сантиметров = 7.5м3 нагреваемой воды. Увеличить можно только за счёт перелива в буфер бассейна.

UPD: 20:00
вход +23.50
выход +24.31
середина +24.81
дно +22.87
поверхность +24.44

Естественная циркуляция работает ! Расстояние между датчиками измеряющими дно-поверхность и середину резервуара - 6 метров. Прямо над датчиком измеряющим температуру поверхности находится люк на улицу.

температура воды в резервуаре-буфере бассейна +16.31
он сегодня был полностью осушен и теперь наполняется водой из водопровода.
slava68: (Default)
Насос работает с утра на максимальной скорости автоматического регулирования скорости потока.

14:40
вход +45.13
выход +30.25
вода +27.44

воды 6м3. Тепловой напор 9.75 градуса

UPD: 23:59 уложил провода в кладовке, сделал разъёмы на провода, уже совсем скоро начну писать программу :-)

вход +24.62
выход +25.69
вода +26.87

Тепловой напор -1.715 градуса.

Ещё пару-тройку дней буду греть воду, потом попробую начать подавать тепло в дом, посмотрю, как и с какой скоростью будет расходоваться тепло из теплоаккумулятора.

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

12:00 температура воды в резервуаре +23.75
температура теплоносителя на входе теплообменника +54.94
на выходе теплообменника +26.94
скорость циркуляции теплоносителя - минимальная автоматическая регулировка.
на крыше 5 панелей из 6.
Тепловой напор 16.69 градуса.
Read more... )
slava68: (Default)
11:48 уровень воды без изменений со вчерашнего дня

температура теплоносителя на входе теплообменника +51.63 градуса Цельсия
на выходе +21.94

температура воды в теплоаккумуляторе уже +19.62 градуса Цельсия. (тепловой напор 19.2 градуса )

Надо иметь ввиду, что скорость нагрева воды нелинейная функция и зависит от температуры воды. Вода - единственное на Земле вещество, которое имеет экстремум функции теплоёмкости примерно на +36 градусов, т.е. требуется минимальное количество внешней энергии для увеличения или уменьшения температуры воды возле этой точки. Вероятно поэтому, эволюция теплокровных животных топчется вокруг 36 градусов Цельсия.
Read more... )
slava68: (Default)
16:22, солнышко уже клонится к горизонту, отключил контуры тёплого пола, налил немного воды в резервуар теплоаккумулятора. Под водой только 6 метров гофрированной нержавеющей трубы.

Температура на входе теплообменника +60 градусов Цельсия, на выходе теплообменника +25.37, температура воды +17 градусов, температура воздуха в резервуаре +17 градусов.
Потери (теплоотдача) трубы на воздухе были с +60 до +56 градусов (когда не было воды), т.е. 22 метра трубы отдают в атмосферу 4 градуса при разнице температур (тепловой напор) 41 градус Цельсия. Сделаем допущение, что 1 градус на каждый горизонтальный участок теплообменника при текущем тепловом напоре.

UPD: дополнительные измерения

16:28
+62.75
+25.56
воздух +18.06
-----
Здесь мы видим, что 10 метров теплообменника не могут передать всю мощность, вырабатываемую солнечными коллекторами (сейчас только 4 из 6 ) даже на закате дня при тепловом напоре 25.7 градусов.

16:39 добавил воды, теперь 10 метров теплообменника находится под водой
+ 53.06
+ 20.87
воздух +17.87
-----
Температура подачи начала падать, значит теплообменник в состоянии реализовать всю подводимую мощность. Конец дня, 60% от полного количества трубок. Тепловой напор стабилизировался на 18.9 градусов.

16:47 солнце уже почти горизонтально. Добавил ещё воды в резервуар.
+ 46.81
+ 18.50
датчик воздуха уже стал измерять температуру воды +17.12
-----
Температура выходящего из теплообменника теплоносителя уже близка к температуре воды в резервуаре, это означает, что при работе в "обратную сторону" - отборе тепла из теплоаккумулятора, можно будет получить температуру теплоносителя в трубках тёплого пола равную температуре воды в теплоаккумуляторе. Мощность, преобразуемая солнечными коллекторами снижается из-за низкого угла солнца над горизонтом. Тепловой напор 14.5 градусов.

17:13 резервуар теплоаккумулятора наполнен на половину, т.е. примерно 4м3 воды.
+32.35 температура входящего теплоносителя
+20.44 -не могу объяснить это значение :-)))
+17.69 температура воды
-----
тепловой напор 7.96 градуса.

Все измерения проводились при неизменной скорости теплоносителя в трубе.
Завтра новый солнечный день, будут новые измерения.
slava68: (Default)
На основе F/UTP кабеля для уличной прокладки, электронных датчиков температуры DS1820 и термоусадки с клеевым слоем сваял уникальный кабель, который будет воткнут в измерительные трубочки на каждой панели коллекторов. За каждым следующим размером приходилось лезть на крышу и прикладывать кабель по месту.





По два датчика на каждую витую пару, в паре - данные и земля, питание +5в - отдельным проводом.
Датчики соединил так, что между каждой парой датчиков на одной витой паре - четыре панели. Буду наблюдать идентичность параметров групп панелей и ещё это добавит надёжности. Если один или даже два порта микроконтроллера выйдут из строя (или датчики от перегрева), то система не остановится полностью.
Три вывода контроллера будут опрашивать три линии 1-Wire шины передачи данных.

Датчики могут измерять максимальную температуру до 125 градусов Цельсия, у меня есть не нулевая вероятность иногда иметь 210 градусов Цельсия. В даташите написано, что пайка датчиков возможна до 260 градусов. Буду надеяться на лучшее. Сколько датчик прослужит при перегреве - узнаю эмпирическим методом.
Если будут дохнуть, то сделаю другой кабель на высокотемпературных NTC-10k.

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



Сделал фотосенсор из четырёх фоторезисторов и стеклянного пузырька, соединённых последовательно и направленных на четыре стороны света. Рассчитываю, что сопротивление будет меняться плавно от рассвета до заката от 160к ночью до 3к днём. Проверю задумку.

распиновка кабеля: Read more... )

Profile

slava68: (Default)
slava68

May 2025

S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Syndicate

RSS Atom

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 8th, 2025 08:07 am
Powered by Dreamwidth Studios