Показано с 1 по 6 из 6
  1. #1
    Новичок
    Регистрация
    01.11.2010
    Возраст
    42
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Эмулятор DS18B20 для ардуино.

    Добрый день.

    Есть задача установленно GSM устройство которое собирает температуру с датчиков DS18B20. Нужно температуру с этих же датчиков вывести на ЖК экран arduino.
    Переключать 1wire через реле как-то некрасиво.
    С двумя устройствами "чтения" на 1 шине боюсь будут частые коллизии. (Или я ошибаюсь?)
    Поэтому, я думаю правильнее, будет собрать на arduino некий буффер в котором будет 1 раз в секунду обновляться температура по датчикам. А GSM модуль подключить к arduino, что бы он считывал температуру оттуда.
    Посколько GSM модуль ничего кроме 1 wire не знает, то нужно сэмулировать несколько датчиков DS18B20.

    Вот хотел бы услышать комментарии насколько это реально. И в правильном ли направлении я копаю.
    Может есть более простое решение которое я не увидел?

    Заранее спасибо.
    Павел.

  2. #2
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    440

    По умолчанию Re: Эмулятор DS18B20 для ардуино.

    Правильно ли я понял задачу?
    1. Есть n датчиков 18b20
    2. Есть GSM модуль, который умеет с ними работать
    3. Нужно разработать устройство, которое не будет мешать работе первых двух пунктов, но будет при этом показывать температуру датчиков.

    Честно говоря, я подозреваю, что полностью эмулировать работу 1-wire довольно геморойное занятие. Примеры с домофонными ключами есть в большом количестве, но эти примеры не имеют в себе кода, который реализуется при подключении большого количества датчиков - процедуры получения списка подключенных датчиков, опрос конкретного и так далее.

    А датчики подключены по двум проводам или по трем?

  3. #3
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    440

    По умолчанию Re: Эмулятор DS18B20 для ардуино.

    Думаю, что проще всего определить как часто проводит опрос датчиков GSM модуль и вклиниться между его измерениями, если измерения производятся с какой-то периодичностью.

    Существует вероятность, что GSM модуль даже нормально отнесется к тому, что его линией будут дергать туда-сюда. По крайней мере такая реализация GSM модуля, на мой взгляд, наиболее простая.
    Последний раз редактировалось SBorovkov; 14.12.2010 в 16:14.

  4. #4
    Новичок
    Регистрация
    01.11.2010
    Возраст
    42
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Re: Эмулятор DS18B20 для ардуино.

    Да, задача именно такая.

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

    Проблему с переключением вижу в том, что я хочу, что бы на arduino показания были актуальные. Ну типа раз в секнуду обновлять. Поскольку датчиков 5 то все за секунду не обновяться, как я понимаю там ощутимое время затрачивается на получения результата.
    Значит arduino займет почти все время на 1wire.

    Вообщем, хотелось бы сделать идеально ))))

    Датчики пока на паразитном питании, но не проблема переделать на 3 провода. Понятно, что в варианте с реле лучше сделать 3 провода.


    Павел.

  5. #5
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    440

    По умолчанию Re: Эмулятор DS18B20 для ардуино.

    Я не помню можно ли производить измерения несколькими датчиками при паразитном питании, но при обычном питании - точно можно. Выдается команда "всем измерять температуру". А потом через некоторое время (зависит от точности) последовательно читаются данные со всех датчиков.

    Поскольку GSM модуль наверняка работает не только с датчиками, находящимися с ним в комплекте (определенными ID), то процедуру опроса присутствующих датчиков придется эмулировать, что, если не найти исходников, будет некоторый геморрой.

    Выясни как насколько регулярно модуль опрашивает датчики (хоть вольтметром).

    У тебя температура может настолько часто меняться? Я думал, что gsm модуль обычно в домах используется, а там температура каждую секунду меняться не будет.

  6. #6
    Новичок
    Регистрация
    01.11.2010
    Возраст
    42
    Сообщений
    4
    Вес репутации
    0

    По умолчанию Re: Эмулятор DS18B20 для ардуино.

    Да, можно несколько датчиков вешать на паразитном питании.

    Это я в машину хочу сделать. Я хотел еще сделать некоторое усреднение по 5 секундам, но данные желательно получать каждую секунду, что бы было, что усреднять.

    На даче у меня то же это работает. Там я хотел собирать информацию по датчикам в БД, но тут, конечно не нужно каждую секунду записывать. Раз в минуту "за глаза".

    Вообщем, подумав, в машине можно реле переключать при включении зажигания: т.е. выключено зажигание- GSM, включено - arduino.
    А на даче переключать реле раз в минуту перед считыванием ардуиной.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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