Двойная польза, зашел посмотреть как осуществляется работа нескольких датчиков (в процессе собираю термоконтроллер для печи) из за скудности ума, каждый раз продолжаю свою сборку прототипа, как заново.... на Arduino Nano....приметил тут интересные "фичи" однако Спасибо за подробный ввод с нуля, stm32 -знал, что это мощный контроллер, но еще и среда разработки соответствующая. Более удобная на мой субьективный взгляд. огромное Спасибо за труды! Просмотров Вам! Здоровья и хорошего настроения)
@NRelectronics2 жыл бұрын
Спасибо! Переходите с ардуино на stm32! Мой канал и сообщество в этом вам поможет. 👍
@andrewdronsson90282 жыл бұрын
@@NRelectronics По нынешним временам приходится откатываться с STM-а на ардуй (AVR то есть). Я не далее как вчера как раз для AVR сделал софт, считывающий температуру DS18B20, правда, пока не заморачивался со многими на одной линии, и без уарта, просто ногодрыганием.
@NRelectronics2 жыл бұрын
По нынешним временам stm32 достать уже не проблема
@andrewdronsson90282 жыл бұрын
@@NRelectronics Подорожало всё резко. Мне перед самым НГ дед мороз принёс немного ардуёв про микро где-то по триста рублей плата. И три термодатчика в нержавейке на DS18D20. 🙂
@NRelectronics2 жыл бұрын
Подорожало гораздо раньше... Но сейчас хотя бы что-то стало доступным, стало возможно хотя бы купить... Советую вам всё же не ардуино, а stm32 изучать.
@МихаилКононенко-ж3ю2 жыл бұрын
С наступающим! Спасибо за вашу работу.
@NRelectronics2 жыл бұрын
Спасибо!
@avr_stm_pro29552 жыл бұрын
Спасибо что делитесь своими знаниями
@NRelectronics2 жыл бұрын
Пожалуйста, теперь и вы ими делитесь, так должно быть в цивилизованном обществе.
@Ironziz2 жыл бұрын
@@NRelectronics благодарю за просвещение людей в сфере электронных технологий!!! Так хочется чтобы появлялись грамотные спецы которые что то создают, а то мы (общество вокруг меня) увлеклись перепродажей ((
@ewfreg5nythyhtewt4w6 ай бұрын
Спасибо за то что поправили реализацию с libopencm3 на HAL! :)
@NRelectronics6 ай бұрын
Не за что)
@ГеннадийГром-в8ю2 жыл бұрын
На 11:25 "//код семейва датчика", а на ускоренном я прочитал "код СЕЙВА датчика", о как, думаю, а что датчики ещё и сейвятся?! 😲 Но повторный замедленный просмотр вернул всё на круги своя! А на 18:14 "люди смотрят с мобильных телефонов", ну как на мой взгляд, смотреть видос о программировании с телефона - такое себе удовольствие... хм-м, и тут же набивать код в Cube IDE для Android, для проверки!? Это круто! И всех-всех с Новым Годом!!! 👍😁🤪
@NRelectronics2 жыл бұрын
Так смотрят! И просят сделать шрифт крупнее!))) 😂 неоднократно писали, я ведь не придумываю)) С новым годом и вас!
@ГеннадийГром-в8ю2 жыл бұрын
@@NRelectronics Да не, я без претензий, я верю! Я просто пытаюсь понять, для чего это нужно? 🤔 Текст мелкий, видно чуть, может что бы выучить наизусть? 😜 Не понимаю просто, как то в черепушке не укладывается... 😲 Мож старею?! 👍😁🤪
@NRelectronics2 жыл бұрын
Мне порой кажется, что, есть люди которым просто поболтать в комментариях 🙂 профессионалов мало))
@ГеннадийГром-в8ю2 жыл бұрын
@@NRelectronics Ну дык, больше комментов - выше рейтинг! По любому, профит для автора! 👍😁🤪
@NRelectronics2 жыл бұрын
Профит по любому, это да! 😉😂👍
@ИванСидоров-к9м2 жыл бұрын
Код библиотеки не смотрел, но согласно appnote, код прекращает поиск ROM в тот момент, когда опросит все датчики. Поэтому та двойка, о которой Вы говорите это нечто другое. 64 датчика - это тупое выделение памяти под ROM коды датчиков. Если памяти хватает, то без проблем можно выделять еще. Еще один момент: 10 или 12 датчиков у меня в тесте опрашивались в течении примерно 100 мС. Это их уникальные адреса. Чтение температуры также будет довольно длительной процедурой: запуск на конвертацию общий, а вот чтение - отправка двух команд, уникального ROM (8 байт) и потом чтение scratchpad для того, чтобы проверить CRC. Итого, при таймслоте в 70 uS: 160 бит * 70 = 11.2 мС... А если датчиков 10 - 100?
@NRelectronics2 жыл бұрын
Ну будет чуть дольше 😉
@andrewdronsson90282 жыл бұрын
А куда торопиться? температура же...
@ГеннадийГром-в8ю2 жыл бұрын
И, вдобавок, опрос датчиков, хотя-бы раз в секунду, вызывает их нагрев и чем чаще тем сильней, а соответственно, искажаются данные о температуре! Опрос раз в 100 мс повышает температуру чуть ли не на градус, проверено лично! 👍😁🤪
@NRelectronics2 жыл бұрын
респект за такой коммент!
@andrewdronsson90282 жыл бұрын
@@ГеннадийГром-в8ю Вот, кстати, ага. Спасибо, что напомнили.
@Maximir_ Жыл бұрын
Здравствуйте , скажите пожалуйста, в каком регистре находятся флаги ALARM , которые срабатывают при разницы температуры (TH) и (TL) ?
@sergeygrechishnikov2822 жыл бұрын
Николай спасибо за видео и с наступающим новым годом вас! Возник вопрос, а возможно разработка при помощи Cmsis сетевого модуля ENC28J60 или стоит присмотреться к другому модулю? Спасибо.
@NRelectronics2 жыл бұрын
Спасибо! ENC на 10Мб/с, он мало интересен при современных жирных МК. Хотя конечно всё зависит от задачи.
@sergeygrechishnikov2822 жыл бұрын
@@NRelectronics да задача самая простая, изучение сетевого взаимодействия между МК и ПК.
@NRelectronics2 жыл бұрын
Я планирую какой-нибудь взять контроллер для сети, пока никак не определюсь...
@sergeygrechishnikov2822 жыл бұрын
@@NRelectronics как определитесь, поделитесь пожалуйста инфой))
@NRelectronics2 жыл бұрын
Конечно определюсь, обязательно!)
@openFrimeTv2 жыл бұрын
полезная инфа. как всегда спасибо!)
@openFrimeTv2 жыл бұрын
но я до сих пор жду про юсб))
@NRelectronics2 жыл бұрын
Спасибо! Юсб будет, записан в ближайшем плане. Это точно
@openFrimeTv2 жыл бұрын
@@NRelectronics отлично. режим ждуна включен)
@NRelectronics2 жыл бұрын
Прикольно!)))
@ГеннадийГром-в8ю2 жыл бұрын
@@openFrimeTv Смотрите там поаккуратней, не обждунитесь ненароком, случайно! 😂 Если чо - это шутка! 🤣 С Новым Годом! 👍😁🤪
@maskon782 жыл бұрын
Спасибо! С новым годом!
@NRelectronics2 жыл бұрын
Спасибо! С новым годом!
@vichu92685 ай бұрын
please tell me how to use this library in the f4 serries i triedd this code in the f4 series the values were shown in negative how to change this to f4 controller, please tell me the changes
@NRelectronics5 ай бұрын
I don't know.
@karlosss12 жыл бұрын
Интересна длина линии и помехоустойчивость.
@NRelectronics2 жыл бұрын
Правильный вопрос. Если где-нибудь в поезде то плохо получалось, а если стенд закрытый и экранированный сам то отлично.
@karlosss12 жыл бұрын
@@NRelectronics у 1-wire сантиметров 30 если я не ошибаюсь
@NRelectronics2 жыл бұрын
но можно легко и несколько метров...
@ИванСидоров-к9м2 жыл бұрын
@@karlosss1 Бухта кабеля ВВГнг в катушке 200 метров. Работает, только несколько условий: резистор подтяжки при 3.3 вольта питания - 1кОм, обязательная проверка при нагреве! - вместо ответа 0xFF вроде делал 0xFE. Ну и CRC обязательно. При защитной проверке (50 циклов чтения в коде при неправильной CRC) ни одного сбоя или неправильного показания.
@NRelectronics2 жыл бұрын
О, круто! Спасибо за столь подробный пример применения!
@antiminddamping20962 жыл бұрын
Спасибо большое Вам за видеоурок! Как всегда - подробно и поэтапно. Кстати, а мне казалось, что библиотека OneWire может работать не только через UART, а вообще с любым цифровым пином? По крайней мере, на МК от AVR (Microchip) так можно делать. Прошу прощение, если глупость сморозил - возможно в предыдущих уроках пропустил этот момент. С Новым годом Вас и с наступающими праздниками!
@NRelectronics2 жыл бұрын
Спасибо большое. Теоритически может работать на любом цифром пине, только обработку соответствующую сделать, код из моего видеоурока не подойдёт. С Новым годом и с наступающим Рождеством!
@exiit2779 Жыл бұрын
Здравствуйте, у меня вопрос , когда я уже собираюсь сделать Build Project - выскакивает проблема что stm32f1xx_hal.h в OneWire.c «No such file or dir.» Если я меняю на f0xx то красное уходит , появляются ошибки в участках кода , где мы с usart работаем , где функции приема и передачи.Может быть это из-за того что у меня другой контроллер?Не могу разобраться …
@exiit2779 Жыл бұрын
Я использую для своей работы мк stm32f042f6p6.Заранее прошу прощения если проблема элементарная🙏🏻
@NRelectronics Жыл бұрын
Конечно из-за того что другой МК,функции называются по другому,халовские.
@allallall23212 жыл бұрын
Здравствуйте спасибо большое Вам за уроки я начинающий, не посоветуете или не подскажите продавца на али с рабочими отладочными платками STM32F103с8е6 или STM32f103c6t6 буду очень благодарен не охота начинать учится на не рабочем или не рабочем перемаркированым чипе, заранее спасибо)) Те Мк что по ссылочке можно брать для работы и изучение?)))
@NRelectronics2 жыл бұрын
Здравствуйте, пожалуйста) Я бы с радостью поделился ссылочками, но ютуб их удалить без моего разрешения. Напишите пожалуйста мне в контакте или электронный почтовый ящик, эту инфу можно взять с канала из окна - О канале.
@maxtim70632 жыл бұрын
Здравствуйте. В STM32CubeIDE Version: 1.8.0 У меня пропала пошаговая отладка на СИ. На микро Асемблере осталась. Мне очень не удобно делать отладку. Программы у меня большие 30 и более КБ и куча переферии. Помогите, пожалуйста, мне с настройками пошаговой отладки. Спасибо.
@NRelectronics2 жыл бұрын
С наступающим Новым годом!!!
@stepansml6713 Жыл бұрын
А три сотни на каждый уарт можно? Чем это ограничено кроме как циклом опроса и трудностью регистрции датчиков. 130 шт на один улей хочу и штук пять так электрифицировать. Итого 650 датчиков.
@NRelectronics Жыл бұрын
Проанализируйте, ваш улей)
@stepansml6713 Жыл бұрын
@@NRelectronics так чем ограничено их количество?
@NRelectronics Жыл бұрын
Тем, на сколько вы сами сможете, своим алгоритмом их обрабатывать. Вообще такое количество на одну линию сажать крайне не удобно, а как вы их определять/обслуживать будете?
@stepansml6713 Жыл бұрын
@@NRelectronics то есть неудобство регистрции это единственное ограничение?
@NRelectronics Жыл бұрын
Неудобство их сопровождения, я бы назвал единственным и большим неудобством.
@АндрейМихайлов-о6я3ц2 жыл бұрын
спасибо за "консоль" :)
@NRelectronics2 жыл бұрын
Ой, а что за "консоль"?)
@АндрейМихайлов-о6я3ц2 жыл бұрын
@@NRelectronics 19:35. мне не приходила в голову идея выводить вместо скажем UART-а прямо в память в текстовом виде :) забавно и может быть полезно.
@NRelectronics2 жыл бұрын
Сформировать вывод, с учётом предыдущих трёх видео серии видео уже не проблема 😉 а тут ю, как я и говорил в начале видео, если вы внимательно слушали, оригинальное или не типичное применение 😉
@Minas__Morgul Жыл бұрын
Решил использовать эту либу под F407 стмку (плата есть в наличии) и 1 датчик 18b20. Все поперепробовал, убил вечер, но ни на одном из usart не хочет работать либо "CRC ERROR" либо вообще все по нулям при чтении getRomid. 100% раз все перепроверил, не могу понять где косяк.
@Minas__Morgul Жыл бұрын
Тьфу блин! Решил проблему. Отключил долбанную оптимизацию в кейл и стало нормально видно в дебагере. Жалко не увидел реализацию измерения отрицательных температур в этой либе
@NRelectronics Жыл бұрын
Вот видите, казалось бы. Главное увидели в чем дело ;)
@ArtemKAD12 жыл бұрын
Зря не рассмотрели внутренности библиотеки как в ней используется UART для обработки 1-Wire. В данном случае это критичный для качества реализации приема момент. ЗЫ. И да, ссылку на гитхаб исходной библиотеки все-же стоило разместить...
@NRelectronics2 жыл бұрын
Бегло рассмотрели, думаю это во всё не сложно так как всё на поверхности. Предложенная на гитхабе она заточена под libopencm3 и сразу не стартанет в нашем проекте, у меня уже как раз адаптирована и работает. Ссылка на рабочий проект имеется, чего оттуда не взять?
@ArtemKAD12 жыл бұрын
@@NRelectronics Та не, я, естественно, имел ввиду общее описание как тут UART используют для приема, а не подробности синтаксиса библиотеки libopencm3. Просто многие не понимают чем протокол 1-Wire отличается от LIN и на какие ухищрения приходится идти ради его реализации. Ну или почему его на таймере обработать не сильно сложнее чем на UART-е.
@NRelectronics2 жыл бұрын
Просто тема не LIN и сравнение с OneWire, а применение на юарте. Возможно когда-нибудь и эту тему рассмотрю.
@ArtemKAD12 жыл бұрын
@@NRelectronics Не видел там ссылки, хотя есть фамилия автора по которой можно найти. Я всего лишь о дани уважения автору работой которого бесплатно пользуешься. Выглядит это как-то более цивилизованно.
@NRelectronics2 жыл бұрын
Может мне виднее что выкладывать и почему? Чтобы небыло вопросов почему от автора не работает, а мой код работает.
@sergeyzolin72972 жыл бұрын
STM32 поддерживает python3 если да будут прикольные уроки.
@NRelectronics2 жыл бұрын
Пока не в планах, но всё может быть... По python есть пара роликов по Raspberry Pi Pico.
@Ololoshize2 жыл бұрын
Урок хороший, вот только при чём тут UART? По названию ролика складывается впечатление, что в нём описывается способ как подключить несколько устройств к одному UART, но на самом деле устройства подключаются по одному OneWire, который вполне себе работает с кучей устройств, так как у устройств разные адреса. А в UART нет понятия адреса.
@NRelectronics2 жыл бұрын
Вот и показано как подключить и работать с несколькими датчиками и их id через интерфейс UART. Всё всему соответствует. Не ну вы открыли Америку что нет адреса, и прошлые три ролика тоже естественно не смотрели. P. S. Складывается впечатление что только знакомитесь с программированием.
@NRelectronics2 жыл бұрын
Вот вы глупости написали в следующем посте ааа... Бред полный, мне видней как называть.... К тому же несколько мк на одном юарте легко уживаются...
@Ololoshize2 жыл бұрын
@@NRelectronics называйте как хотите, ваши же ролики.
@NRelectronics2 жыл бұрын
Вы так и не поняли содержания видеоурока, совершенно. Можно легко работать с кучей устройст ds18b20 через UART, до 75 кажется, об этом и как работает это на нём также не поняли. Если не вникните тогда напишу сюда ещё разик 😂😉
@NRelectronics2 жыл бұрын
Спасибо за разрешение как называть) 👍🙂
@CTO_Mechanik2 жыл бұрын
Хз не собирается ваш проект ошибка , пробовал свой проект создал добавил все как в видео тоже ошибка 🤷♂️
@NRelectronics2 жыл бұрын
Напишите мне сообщение на выходных, посмотрим что у вас. У меня в видео, как вы заметили, всё собирается.
@CTO_Mechanik2 жыл бұрын
@@NRelectronics да вижу , но блин вроде все так же , но не собирается , пробовал с разными камнями , и проект с нуля и ваш 🤷♂️ поэтому и решил тут написать
@CTO_Mechanik2 жыл бұрын
Завтра скину код ошибки
@NRelectronics2 жыл бұрын
Да, и код и сам проект лучше, чтобы посмотреть внимательней...
@NRelectronics2 жыл бұрын
скиньте в телегу на имя Freeman_Ni
@АлексейМышевский Жыл бұрын
Уже не работает. Все походу уже по другому. Можна новое видео снимать
@NRelectronics Жыл бұрын
Что по другому? У меня работает.
@АлексейМышевский Жыл бұрын
@@NRelectronics Я скачал с гитхаба єти два файла. Там код уже другой. Нет тех строк что у вас в видео. Ну и я при сборке получаю ошибки, одна из них : ../Core/Src/OneWire.h:16:10: fatal error: libopencm3/stm32/rcc.h: No such file or directory. Попробуй скачай новий вариант с гитхаба.
@NRelectronics Жыл бұрын
Я у себя не использую libeopencm3. Используй мой гитхаб или где оно выложено.
@avi-crakhome25242 жыл бұрын
Большое количество DS18B20 на одной линии могут работать, но смысла при этом ноль. Невозможно физически идентифицировать показания температуры в получившемся списке. Греть каждый датчик отдельно не всегда возможно, особенно если он уже находится в труднодоступном месте. Иного способа просто не существует.
@NRelectronics2 жыл бұрын
Физически как раз они идентифицируются индивидуальным собственным ID, об этом как раз я говорил.
@NRelectronics2 жыл бұрын
А смысл как раз большой, такой же точно как и сажать подобные датчики на линии i2c, CAN... Используя единственный интерфейс.
@avi-crakhome25242 жыл бұрын
@@NRelectronics Я тоже так думал, но в реальности оборудование будут собирать однобитные механики/электрики, которые воткнут датчик в посадочное место, и подключат к шине согласно схеме. А сверху ещё 100500 болтов гаек и кусков металла. И вот когда придёт время тестового включения - начнётся головная боль. Решения которые работают на лабораторном столе - не всегда применимы в реальном железе. Гирлянда из DS18B20 - это забавный фокус, несовместимый с реальностью.
@NRelectronics2 жыл бұрын
Если подходить с точки зрения рукожопов то лучше вообще ничего не делать и пить пиво перед телеком 😂. Это несколько сложный вариант, но при должной маркировки и планировании всё работает, вешал в термокамере всё работает как часы.
@intelektum2 жыл бұрын
В чем проблема, определит ИД датчика, присвоить ему номер и по номерам устанавливать датчики в нужное место ?
@jansalk36362 жыл бұрын
Спасибо за видео, но у меня вылазит ошибка при компиляции. В OneWire.h ругается на структуру в 78 строке ("DEVInfo devInfo") typedef struct { int device; char info[30]; }DEVInfo; DEVInfo devInfo; // 78 строка Ругается так: - "Include/OneWire.h:78: first defined here" Не могу понять, что не так... Я конечно вынес отдельно переменные из структуры в OneWire.c, удалив её int device; char info[30]; Но, просто интересно почему не компилируется? :)
@NRelectronics2 жыл бұрын
Выведено из контекста программы. Явно не правильно сделали по сравнению с моим кодом. Сравните.
@dedushkamitya Жыл бұрын
Попытался завести ds18b20 способом как на видео. При сборке проекта выдает такую ошибку: "c:\st\stm32cubeide_1.12.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.200.202301161003\tools\arm-none-eabi\bin\ld.exe: ./Core/Src/main.o:C:/Users/Dimo/STM32CubeIDE/workspace_1.11.0/ds18b20_012/Debug/../Core/Inc/OneWire.h:78: multiple definition of `devInfo'; ./Core/Src/OneWire.o:C:/Users/Dimo/STM32CubeIDE/workspace_1.11.0/ds18b20_012/Debug/../Core/Inc/OneWire.h:78: first defined here"
@NRelectronics Жыл бұрын
Здравствуйте. devInfo попробуйте в одном убрать, или во втором, чтобы без ошибки собралось. Двойное его определение.
@dedushkamitya Жыл бұрын
@@NRelectronics так оно там в одном месте объявляется. Не понимаю, почему ошибка. Я посмотрел, что оно только для вывода в консоль используется и убрал совсем этот кусок кода, все заработало.
@dedushkamitya Жыл бұрын
@@NRelectronics благодарю за ответ
@NRelectronics Жыл бұрын
@@dedushkamitya главное что заработало, я рад. Но я портировал заново этот проект под видео по ссылочке, собрал его, ошибки такой не возникло, х.з. почему...У меня: STM32CubeIDE Version: 1.12.1 Build: 16088_20230420_1057 (UTC)
@NRelectronics Жыл бұрын
@@dedushkamitya всегда пожалуйста! задавайте что нужно узнать или поправить...