Страница 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?