Страница 1 из 1

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

Добавлено: Вс окт 21, 2018 21:55:34
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.
Но ничего больше. Подскажите как можно достучатся и прочитать/изменить что нибудь?
Спасибо!

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

Добавлено: Вс окт 21, 2018 22:03:40
Мурик
А что еще должно было написать? Программа нашла DS2436, а дальше вам нужно отправить ей команды и смотреть результат.

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

Добавлено: Вс окт 21, 2018 22:29:40
vasya00
В том то и досада, что отправить ничего нельзя...
Изображение

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

Добавлено: Вс окт 21, 2018 22:47:33
Мурик
Если умеете программировать, напишите программу, которая будет согласно даташиту запрашивать необходимые данные с DS2436.

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

Добавлено: Вс окт 21, 2018 22:59:04
vasya00
Да вот пытался но не пошло. Ищу готовые программы которые умеют работать с DS2436

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

Добавлено: Вс окт 21, 2018 23:17:18
Albert_V
Попробуйте подать питание на Vdd DS2436 (2.4V - 10V)...

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

Добавлено: Вс окт 21, 2018 23:19:38
vasya00
Питание подавал..

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

Добавлено: Пн окт 22, 2018 11:37:19
Мурик
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 нужно прочитать даташит чтобы понять какие команды нужно отправлять и что принимать в ответ.

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

Добавлено: Пн окт 22, 2018 13:50:26
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?