DS18b20 мороз с разрешением 0,1 градуса

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Zelenyj111
Родился
Сообщения: 13
Зарегистрирован: Пт янв 05, 2024 13:43:29

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение Zelenyj111 »

Спутал с полудуплексным UART. Извиняюсь. Таки да, TIM+DMA или, в виду очень низкой скорости передачи, можно с прерываниям по таймеру и ногодрыгом.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение Starichok51 »

я на ассемблере без таймера, только ногодрыгом с хорошей точностью выдерживаю все тайминги. даже, я бы сказал, с высокой точностью.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 589
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение linux_rulezz »

Zelenyj111, ногодрыг - это же жутко некошерно! Особенно с прерываниями…
Windows must die!
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение Starichok51 »

linux_rulezz, а что ты предложишь для АТмеги вместо ногодрыга?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
JackSmith
Потрогал лапой паяльник
Сообщения: 332
Зарегистрирован: Ср мар 09, 2016 08:07:41

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение JackSmith »

на ATmega DS18B20 может работать через UART. "APP 244 Using a UART to Implement a 1-Wire Bus Master"
Аватара пользователя
linux_rulezz
Вымогатель припоя
Сообщения: 589
Зарегистрирован: Пн сен 15, 2025 08:43:23
Откуда: Маленький СССР посреди шариатской республики

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение linux_rulezz »

[uquote="Starichok51",url="/forum/viewtopic.php?p=4778122#p4778122"]linux_rulezz, а что ты предложишь для АТмеги вместо ногодрыга?[/uquote]
Для атмеги предложу STM32 ☺
Зачем мучить себя убогими дорогими микроконтроллерами, когда есть хорошие дешевые?
Windows must die!
Zelenyj111
Родился
Сообщения: 13
Зарегистрирован: Пт янв 05, 2024 13:43:29

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение Zelenyj111 »

STM32 не дорог.
Всеми любимый Чипдип:
* STM32F401RBT6, Микроконтроллер, 32-Бит, Cortex-M4, 84МГц, 128Кб Flash, 64Кб SRAM, 50 I/O [LQFP-64_10x10.] — 260 руб
* STM32F103C8T6, Микроконтроллер 32-Бит, Cortex-M3, 72МГц, 64КБ Flash, USB, CAN [LQFP-48.] — 160 руб
* STM32G030K6T6, Микроконтроллер ARM Cortex-M0+, 32-бит, 64МГц, 32К Flash, 8К RAM, 29 I/O [LQFP-32.] — 95 руб
* STM32F030F4P6TR, Микроконтроллер 32-Бит, Cortex-M0, 48МГц, 16КБ Flash [TSSOP-20.] — 80 руб

Сравниваем:
* ATMEGA168PB-AU, Микроконтроллер AVR, 8-Бит, 20МГц, 16КБ Flash, 27 I/O [TQFP-32] — 260 руб
* ATTINY1616-MNR, Микроконтроллер tinyAVR, 8-Бит, 20МГц, 16КБ Flash, 18 I/O [VQFN-20] — 90 руб

Можно найти цены раза в 1.5 ниже: https://www.chipfind.ru/search/


16 кбит/с можно и ногодрыгом, достаточно 2 прерывания на бит на передачу и 3 на прием.
Конечно, если есть свободный таймер и дма, можно передачу и через ШИМ сделать, но это будет уже две ноги — для приема нужен захват на том же таймере. Если все таки одна нога, но таки нужно прерывание, переводить ногу на прием, читать и потом снова на передачу, плюс внешняя подтяжка. Ногодрыг тут банально проще в реализации. Потом нужно согласование уровней, защита линии, в общем, обвеса не мало, иначе рискуем контроллером.
Еще можно через SPI: скорость около 66667 бит/с, каждые 4 бита кодируют 1 бит протокола (1000 — единица, 1110 — ноль), передаем инверсные данные 1NN01NN0, MOSI управляет транзистором, MISO принимает (xNxxxNxx), SCK не нужен.
Можно ли использовать UART для этого? Почему бы и нет. TX инвертирован и управляет транзистором, RX на шину, так же 4 бита в 1, 83333 бит/с 8N1, передаем инверсные данные NNN10NNN, принимаем прямые данные NxxxNxxx.

Если не хочется мучиться, есть микросхема драйвера 1-wire с i2c управлением. Чипдип хочет 260 руб. Тут вижу за 156 руб: https://www.chipfind.ru/search/?part=DS2484
TVS в любом случае нужен.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15541
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: DS18b20 мороз с разрешением 0,1 градуса

Сообщение BOB51 »

Вообще то ранее все уже прержовывалось тут:
https://radiokot.ru/forum/viewtopic.php?f=61&t=64022
:wink:
Ответить

Вернуться в «Разные вопросы по МК»