Авто-адаптер для ноутбука, новый и улучшенный.

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


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


Читать дальше

Stm32F0 и 1-wire

Сегодня решил попробовать работу связки STM32F030 и DS18B20 как описал steel_ne здесь. Не получилось определить наличие датчика на OWI по сбросу так, как мне хотелось. Код steel_ne полностью рабочий, за исключением возврата значения функцией OW_Reset при закороченной линии данных. Проблемное место нашел и исправил.


Читать дальше
  • +1
  • 31 октября 2015, 19:59
  • SeregaB
  • 1

Термометр на DS18B20 + 1-Wire на AVR

Запилил себе термометр на базе DS18B20.



Под катом еще картинки и описание кода…


Читать дальше

Термометр с питанием от солнечных элементов

На базе популярного датчика температуры DS1820, микроконтроллера AtTiny24A, ЖК-индикатора и деталей, добытых из садовых фонариков я собрал несложный термометр, предназначенный для измерения уличной температуры:



Читать дальше

Отключение защиты от замерзания электро-котла Protherm Скат

Protherm Ray
В достаточно неплохой электро-котел встроена защита от замерзания, срабатывающая при достаточно высокой температуре, и которую невозможно отключить.
И если в систему залит антифриз, и планируется периодическое удаленное включение отопления (заранее перед приездом раз в неделю, по праздникам и т.п.), то эта защита может вылиться в копеечку.
Отключаем защиту с помощью навесной схемки на микроконтроллере AVR с цифровым датчиком температуры DS18B20.


Читать дальше
  • +1
  • 11 ноября 2014, 19:07
  • vad7
  • 1

Самодельный термозонд на базе DS18B20

Готовый зондКупил я как-то от жадности пару цифровых 1-wire термометров DS18B20 (даташит)в корпусе TO-92. Купил как-то без всякой цели — увидел, что такие существуют и купил. Благо на ебее они идут по 43 руб штука.

И руки до них особо не доходили, пока не захотел хотя бы попробовать, рабочие они или нет.
Оказались вполне рабочие. Причем, что особенно порадовало — показания у двух датчиков, установленных в одну макетку совпадали друг с другом с расхождением менее, чем в градус, что, для тех же DHT11 и DHT22 мягко говоря не очень характерно.

Тут же появились мысли, что неплохо бы этот градусник приспособить под бытовые нужды — померять температуру на выходе из обычного или автомобильного кондиционера (а не использовать для этого BMP180, как я делал недавно), температуру воды после термостата, температуру теплых полов, температуру внутри холодильника…
Благо, диапазон измерений — от -55 до 125 градус Цельсия — позволяет.

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

Готовых вариантов на том же ебее — вагон и маленькая тележка. Но стало интересно, а как вообще такие зонды устроены и можно ли сделать их самостоятельно.

Читать дальше

1-Wire: алгориттма поиска ROM, реверс

Одолела тут детская болезнь — «написать свой 1-Wire с преферансом и куртизанками», точнее с определением количества устройств на шине. Готовые проекты, которые нашёл, не являются библиотеками по принципу «подключил и пользуйся», только как примеры. (Здесь тоже этого нет — возможно, позже). Сам алгоритм описан в AN187.

Читать дальше

Dowlib update

DOWLIB обновлён.
Bugfix: устранено бесконечное ожидание в Ex_DowRst при коротком замыкании шины. Теперь возвращает CY (нет отклика устройства на сброс)
Bugfix: вызов Ex_DowSkipRom ошибочно возвращал CY. поправлено.
Новая версия в аттаче.

Еще раз о STM32 и DS18B20 (подправлено)

Решил подцепить DS18B20 к STM32 по двухпроводной шине. Задача несложная, благо и 1-wire уже не раз ковырял (первый раз лет 15 назад, еще на PIC, цеплял и ключи-идентификаторы и термометр), да и на STM32 тема сейчас избитая, примеров навалом. Прицепил термометр к известной плате STM32 Mini, и, хоть и не люблю копипастить, но все же взял готовую библиотеку от steel_ne из его статьи «Stm32 + 1-wire + DMA» и ее продолжения — мне понравилось это решение. Подправил чуть-чуть на свободный у меня USART3 и, после устранения ВСЕХ моих ошибок )), все заработало, за что автору большое спасибо.
К чему это я? А вот — главной моей ошибкой было то, что цеплял я термометр по двухпроводной схеме. И температура не измерялась, +85 градусов, хоть удавись… У меня термометры уже работают по двухпроводной схеме на AT91SAM7SE512 и раньше на PIC16F84 работали, поэтому вопрос для меня о схеме подключения особо не стоял, в даташиты я на эту тему давно не смотрел и схему автора вышеупомянутой статьи тоже глянул одним глазом. Посмотрел повнимательнее на схему в статье, а там термометр подключен по трем проводам. Подключил и я питание – работает. Проверил на Атмеле – но там несколько тех же DS18B20 на двух проводах стоят и подцеплены резистором 4,7 К к питанию, но правда там к 5 В. Ага, понятно, надо разбираться, ведь работает же оно на 5 вольтах… Вот тут-то и пригодилось свойство альтернативности выводов в STM32.


Читать дальше

Эмулятор DS18b20 на ATTiny2313

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

Коробочка снабжена индикатором на три разряда, который показывает установленную температуру, двумя кнопками для установки нужного значения и портом 1-wire. Температуру можно выставлять в диапазоне от -55 до +99 градусов. Внутре у ней ATTiny2313.

Так-как задачка полной эмуляции всех фич градусника передо мной не стояла, коробочка обделена многими крутыми штуками. Проще сказать, что она умеет:
— Команду пропуска адреса (Skip ROM)
— Команду чтения адреса (Read ROM)
— … сравнения адреса (Match ROM)
— Чтение памяти (той, где температура)

Иначе говоря, эмулятор покрывает базовый функционал датчика. А вот работать с порогами температуры, командой поиска (Search ROM) и сохранением настроек, он не умеет.

Серийный номер (он-же адрес 1-wire) выставляется при прошивке, и без программатора сменить его нельзя. Это конечно большой минус, но для устройств, в которых всего один термометр, адрес не важен.

Исходники (AVR Studio 4 + WinAVR)
Схема
А под катом, небольшой спич о том, как это работает


Читать дальше
  • +14
  • 12 февраля 2013, 01:23
  • dcoder
  • 2