Подключение к DS2436 по 1Wire

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
vasya00
Родился
Сообщения: 14
Зарегистрирован: Пт апр 11, 2014 19:55:39

Подключение к DS2436 по 1Wire

Сообщение vasya00 »

Здравствуйте, подскажите, пожалуйста, пытаюсь подключится к DS2436 Battery Identification/Monitor Chip, http://datasheet.elcodis.com/pdf2/94/93 ... ds2436.pdf прочитать из нее что нибудь внятное, и если получится подправить немного. Сделал 1wire адаптер DS9097U https://martybugs.net/electronics/temps ... rdware.cgi в OneWireViewer находит и пишет:

Код: Выделить всё

Device Address: 420000005681221B (1B 22 81 56 00 00 00 42)

Name: Device type: 1b

Alternate Names: 

Description: No description available.
Но ничего больше. Подскажите как можно достучатся и прочитать/изменить что нибудь?
Спасибо!
Реклама
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Подключение к DS2436 по 1Wire

Сообщение Мурик »

А что еще должно было написать? Программа нашла DS2436, а дальше вам нужно отправить ей команды и смотреть результат.
Реклама
vasya00
Родился
Сообщения: 14
Зарегистрирован: Пт апр 11, 2014 19:55:39

Re: Подключение к DS2436 по 1Wire

Сообщение vasya00 »

В том то и досада, что отправить ничего нельзя...
Изображение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Подключение к DS2436 по 1Wire

Сообщение Мурик »

Если умеете программировать, напишите программу, которая будет согласно даташиту запрашивать необходимые данные с DS2436.
Реклама
Эиком - электронные компоненты и радиодетали
vasya00
Родился
Сообщения: 14
Зарегистрирован: Пт апр 11, 2014 19:55:39

Re: Подключение к DS2436 по 1Wire

Сообщение vasya00 »

Да вот пытался но не пошло. Ищу готовые программы которые умеют работать с DS2436
Реклама
Аватара пользователя
Albert_V
Друг Кота
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Re: Подключение к DS2436 по 1Wire

Сообщение Albert_V »

Попробуйте подать питание на Vdd DS2436 (2.4V - 10V)...
Реклама
vasya00
Родился
Сообщения: 14
Зарегистрирован: Пт апр 11, 2014 19:55:39

Re: Подключение к DS2436 по 1Wire

Сообщение vasya00 »

Питание подавал..
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Подключение к DS2436 по 1Wire

Сообщение Мурик »

vasya00 писал(а):Да вот пытался но не пошло.
Найти 1-wire несложно.

Код: Выделить всё

Define s.s, Count, Sensor.OW_SN

OW_OpenPort("COM8") ; COM порт к которому подключена 1-Wire сеть.

; Поиск 1-Wire устройств.
OW_SearchROM_Reset()
While OW_SearchROM_Enum(Sensor)=#True ; Найдено 1-Wire устройство.
  s + SN_Text(Sensor) + #CR$
  Count + 1
Wend

OW_ClosePort() ; Закрываем COM порт.

MessageRequester("Найдено "+Count+" 1-Wire устройств", s) ; Отображаем результат.
Программа покажет все 1-Wire устройства подключенные к порту COM8. Для работы с DS2436 нужно прочитать даташит чтобы понять какие команды нужно отправлять и что принимать в ответ.
Вложения
1wire_search.zip
(13.44 КБ) 225 скачиваний
vasya00
Родился
Сообщения: 14
Зарегистрирован: Пт апр 11, 2014 19:55:39

Re: Подключение к DS2436 по 1Wire

Сообщение vasya00 »

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

Код: Выделить всё

#include <OneWire.h>
#define POWER_MODE  1 // режим питания
OneWire ds (11);
byte data[100]; // сюда будем сохранять данные
byte adr[8]; // здесь можно хранить адрес
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
  ds.reset();  // сброс шины
  ds.write(0x33, POWER_MODE); // отправляем  READ ROM
 // ds.write(0xD2, POWER_MODE); // можно обновить данные с датчика температуры
  ds.write(0xB2, POWER_MODE); // читаем Read Registers
  ds.write(0x80, POWER_MODE); // с ячейки 60 где хранится температура
  for (int i = 0; i < 99; i++) { 
    data[i] = ds.read(); // читаем то что получилось
    Serial.print(data[i], HEX);
    Serial.print(" ");
  } 
  delay(3000);
  Serial.println();
}
Но при таком раскладе ничего вразумительного прочитать не удается, то есть что то читаю, но не понимаю что.. Вот после 0x33, получаю 1B 22 81 56 0 0 0 42 FF FF FF FF... После остальных команд приходит что то, и после 0xB2 приходит всегда одно и тоже, вне зависимости от того с какой ячейки читаю.. Вообщем явно я что то недопонимаю. Подскажите, пожалуйста!
Судя по всему нужно было учесть тайминги.
Но теперь решил зайти с другой стороны, собрал простой адаптер 1wire-rs232 и пытаюсь найти готовое ПО. Для DS2436 была специальная программа Evaluation Kit (DS2436K), на 2х дискетах, но ее теперь нигде не найти.. Может есть что то универсальное для чтения 2436?
Ответить

Вернуться в «Интеграция с ПК»