Easyelectronics.ru

Электроника для всех
Текущее время: 26 ноя 2020, 20:28

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 11:11 
Здравствуйте!

Зарегистрирован: 26 июн 2020, 11:04
Сообщения: 2
Хочу сделать работу датчика DS18B20 через usart (для экпиремента и научных познаний). Собрал схему в proteus и попытался отправить код поиска датчиков (0xf0), но ничего не приходит в ответ. Подскажите где я ошибся ?

Код:
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11);

void setup() {
      Serial.begin(9600);
      Serial.println("Start...");
     
      mySerial.begin(9600);
      mySerial.print(0xF0);
     
      pinMode(8, INPUT);

}

void loop(){

  if (mySerial.available()){
    Serial.print(mySerial.read(),HEX);
    Serial.print(" ");
    }

   if (digitalRead(8)==LOW){
       mySerial.print(0xF0);
       Serial.println("test");
       delay(1000);
   }


}


Вложения:
Screenshot1.png
Screenshot1.png [ 65.55 Кб | Просмотров: 711 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 11:48 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2944
anton_ivanov писал(а):
Подскажите где я ошибся ?

Везде. От подключения до "кода".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 12:01 
Здравствуйте!

Зарегистрирован: 26 июн 2020, 11:04
Сообщения: 2
NStorm писал(а):
anton_ivanov писал(а):
Подскажите где я ошибся ?

Везде. От подключения до "кода".

Если вы про то что датчик работает от onewire, то я вкурсе. Я хочу запустить работу именно от usart, потестировать. В последующем сделать через USB переходник.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 12:39 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2944
Нет, я о том, что подключили вы неправильно и написали ерунду.
https://www.maximintegrated.com/en/desi ... 2/214.html изучайте
И подумайте в каком состоянии у вас будет пин TX при чтении с RX. Что такое открытый сток почитайте. Какие команды есть, потому что 0xF0 вовсе не команда даже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 13:36 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
поиск датчика это не код а целая процедура. не знаю как в ардуино, но в принципе нужна подпрограмма которая формирует процедуры для датчика по однопроводке , а также конвертер протокола UART в 1-WIRE


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 14:09 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2944
Ах да, и практической пользы в этом ноль. Потому что всё-равно используется ногодрыжный "уарт". Уж хотя б с аппаратным играться, а вывод отладки через софтовый делать, если оно только для отладки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 14:25 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
а, что есть контроллеры у которых нет на борту уарта ? ну это полный пипец :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 15:45 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2944
Полно контроллеров без уарта, он далеко не всегда нужен, а контроллеры выпускают под самые разные потребности.
У ТС есть UART на борту. Только его он приспособил, чтобы писать "start" и "test" в консольку себе, а "работу" с 18б20 пытается сделать через библиотеку ногодрыжнгоо уарта. *фейспалм.жпг*.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 18:38 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 779
Возьми DS2480B и не мучайся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 18:46 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4831
Откуда: КЧР, поселок Нижний Архыз
Если так подгорает использовать DS18 вместо нормальных датчиков на I2C или SPI, а в МК нет свободного уарта, то вариантов несколько:
- взять МК с двумя уартами
- сделать 1-wire на таймере
- перестать заниматься чушью.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 19:43 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
а, чем 18B20 не нормальный датчик ? свои функции он выполняет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 19:54 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4831
Откуда: КЧР, поселок Нижний Архыз
У него протокол мягко говоря "ненормальный". Физической реализации 1-wire, насколько я знаю, ни в одном МК нет.
Из этого следует четкий вывод: 1-wire — дерьмо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:14 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
вполне нормальный протокол, легко реализуется программно, на одну ветку можно нацепить хренову тучу датчиков


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:23 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4831
Откуда: КЧР, поселок Нижний Архыз
Ни хрена он легко не реализуется! Кроме того, ради этой херни приходится либо пожертвовать UART+DMA, либо таймер+DMA!
Плавали, знаем... Я пару недель на это Г убил, чтобы заработало (правда, основная проблема была в том, что я вместо того, чтобы сразу на "голом CMSIS" писать, попробовал opencm использовать, вот и выходили лаги при переключении режимов работы таймера; отказавшись от говнолиб, получил все нормально).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:24 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 779
Eddy_Em писал(а):
У него протокол мягко говоря "ненормальный". Физической реализации 1-wire, насколько я знаю, ни в одном МК нет.
Из этого следует четкий вывод: 1-wire — дерьмо.

Цитата:
Возьми DS2480B и не мучайся.

DS2480B- это преобразователь UART-1-Wire, причём он не просто преобразует протокол, а содержит внутри все необходимые компоненты для реализации физического уровня 1-Wire. Сегодня с утра, вроде, никто не считал МК без "физики" Эзернета, простите, дерьмом.


Вложения:
Screenshot_49.jpg
Screenshot_49.jpg [ 15.03 Кб | Просмотров: 568 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:28 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2944
Я так понимаю у ТС сугубо академические цели были. Только выбрал он для этого Arduino и подход через одно место. И дальше тоже много чего было сделано не так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:28 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 779
У МК нет UART, тогда возьмите подобный преобразователь с I2C или SPI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:34 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4831
Откуда: КЧР, поселок Нижний Архыз
tonyk писал(а):
Сегодня с утра, вроде, никто не считал МК без "физики" Эзернета, простите, дерьмом.

ethernet — это не столь часто используемая вещь. А секс с DS18 я вижу регулярно. И почему-то наиболее часто такие темы исходят от абдуринщиков!
Ну неужели нельзя взять, да повесить простой рублевый терморезистор на свободный порт АЦП? В качестве делителя взять какой-нибудь 0603 резистор, в домашних условиях его сопротивление несильно будет от температуры зависеть. Один раз по паре-тройке точек калибруем — вуаля, получаем термометр с такой же точностью ±0.5°C, как у DS18!

P.S. Часто эти DS18 народ использует для измерения температуры чипов (включить/выключить вентилятор на радиаторе) или в разных зонах теплицы/инкубатора. Во всех этих случаях точность нафиг не вперлась, разве что для цыплят нужно по ртутному термометру откалибровать базовую точку, а дальше — уже пофиг.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:40 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
Eddy_Em писал(а):
Ни хрена он легко не реализуется! Кроме того, ради этой херни приходится либо пожертвовать UART+DMA, либо таймер+DMA!
Плавали, знаем... Я пару недель на это Г убил, чтобы заработало (правда, основная проблема была в том, что я вместо того, чтобы сразу на "голом CMSIS" писать, попробовал opencm использовать, вот и выходили лаги при переключении режимов работы таймера; отказавшись от говнолиб, получил все нормально).

я его на мк51 без напрягов в асме реализовал, всего один таймер и пару ног свободных у проца понадобелось и всё остальное работает без напрягов. Я не пойму в чём проблема реализовать их на более мощьных процах, наверное в прокладке в виде диэлектрика ? поиск ROM свой написал , всё заняло байт гдето 300 места , точно не считал. Я вот одного не пойму UARTом , что ногодрыг организуют по однопроводке или данные во внешний мир передают ? если ногодрыг, так тут и разговоров больше нет полный диэлектрик


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:42 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
Eddy_Em писал(а):
tonyk писал(а):
Сегодня с утра, вроде, никто не считал МК без "физики" Эзернета, простите, дерьмом.

ethernet — это не столь часто используемая вещь. А секс с DS18 я вижу регулярно. И почему-то наиболее часто такие темы исходят от абдуринщиков!
Ну неужели нельзя взять, да повесить простой рублевый терморезистор на свободный порт АЦП? В качестве делителя взять какой-нибудь 0603 резистор, в домашних условиях его сопротивление несильно будет от температуры зависеть. Один раз по паре-тройке точек калибруем — вуаля, получаем термометр с такой же точностью ±0.5°C, как у DS18!

P.S. Часто эти DS18 народ использует для измерения температуры чипов (включить/выключить вентилятор на радиаторе) или в разных зонах теплицы/инкубатора. Во всех этих случаях точность нафиг не вперлась, разве что для цыплят нужно по ртутному термометру откалибровать базовую точку, а дальше — уже пофиг.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:51 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4831
Откуда: КЧР, поселок Нижний Архыз
Брехня там насчет 0.1°C, это уж я знаю.
Я для нашего зеркала закупал сотню TSYS01, которые на порядок дороже! И то, несмотря на обещанную точность, их еще и калибровать пришлось все равно!!!
Зато там нормальный I2C, а не дебилизм.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:53 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 21:55
Сообщения: 5548
Откуда: Уругвайская АССР
nemoX писал(а):
я его на мк51 без напрягов в асме реализовал, всего один таймер и пару ног свободных у проца понадобелось и всё остальное работает без напрягов. Я не пойму в чём проблема реализовать их на более мощьных процах,

Разве вы не знаете, что AVR плохой проц, и всем надо срочно переходить на нормальные. А mcs51 видимо, вообще не проц. А mcs48 вообще не существовал. Поэтому у вас всё и получилось, что ничего этого не было - несуществующая программа на несуществующем проце работает идеально.

Это я ёрничаю есличо. Тоже не вижу никаких проблем при использовании 1w.

_________________
Без гнева и жестокости, сегодня Смерть взмахнёт косой, и ангел тайными дорогами мой милый Кубик унесёт с собой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:55 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
я только вчера в цсме поверил 200 термоподвесок на этих датчиках в каждой по 28 штук в норму 0,2 град влезли все и это без калибровки, с калибровкой не левые !!! держат 0,1 без проблем


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 20:57 
Старожил

Зарегистрирован: 19 мар 2020, 00:29
Сообщения: 270
Откуда: VRN-сити
Горнист писал(а):
nemoX писал(а):
я его на мк51 без напрягов в асме реализовал, всего один таймер и пару ног свободных у проца понадобелось и всё остальное работает без напрягов. Я не пойму в чём проблема реализовать их на более мощьных процах,

Разве вы не знаете, что AVR плохой проц, и всем надо срочно переходить на нормальные. А mcs51 видимо, вообще не проц. А mcs48 вообще не существовал. Поэтому у вас всё и получилось, что ничего этого не было - несуществующая программа на несуществующем проце работает идеально.

Это я ёрничаю есличо. Тоже не вижу никаких проблем при использовании 1w.

да нас и самих вроде как бы и нет :)))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ds18b20 через usart
СообщениеДобавлено: 26 июн 2020, 22:31 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4831
Откуда: КЧР, поселок Нижний Архыз
Никого нет. Вы все - плод моего воображения.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 42 ]  На страницу 1, 2  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB