Перейти к содержанию

Датчик Температуры И Влажности Sht15 И Pic18F25J50


Senyacherenakov

Рекомендуемые сообщения

Всем добрый день!

Пишу в надежде, что кто-то-нибудь пытался связаться с этим датчиком аппаратным i2c. На деле он воспринимает только программный вариант. А так чтоб подключить модуль MSSP - это неет!

Среда mplab 8.92, С18 compiler. Данный компилятор имеет хорошую библиотеку функций i2c.

Задание мое такое - увидеть (хотя бы!) на осциллографе линию тактирования и прочитать два байта данных от датчика. Вот листинг:

#pragma config OSC = INTOSC, FCMEN = OFF, IESO = OFF, MSSP7B_EN = MSK7

#pragma config DSBOREN = OFF

#pragma config WDTEN = OFF, WDTPS = 32768, DSWDTEN = OFF

#pragma config LPT1OSC = OFF

#pragma config STVREN = ON, XINST = OFF, T1DIG = OFF

#pragma config RTCOSC = INTOSCREF

#pragma config DSWDTOSC = INTOSCREF, IOL1WAY = OFF

#pragma config WPFP = PAGE_0, WPEND = PAGE_0, WPCFG = OFF, WPDIS = OFF

/** I N C L U D E S **************************************************/

#include <p18f25j50.h>

#include <i2c.h>

// header file

#include <delays.h>

#include <math.h>

#define measure_temp 0x03

#define measure_humidity 0x05

#define pic_frq 500 // кГц - частота контроллера

#define i2c_frq 100 // кГц - частота обмена

// расчет коэф генератора

#define gen_frq (((pic_frq / i2c_frq) / 4) - 1)

/** V A R I A B L E S *************************************************/

#pragma udata // declare statically allocated uinitialized variables

unsigned char buff[2]={0,0}; // 8-bit variable

int temp;

/** D E C L A R A T I O N S *******************************************/

#pragma code // declare executable instructions

void main (void)

{

TRISBbits.TRISB4 = 1;

TRISBbits.TRISB5 = 1;

PORTA = PORTB = PORTC = 0;

OpenI2C1 (MASTER, SLEW_OFF);

SSP1ADD = gen_frq;

IdleI2C1();

StartI2C1();

IdleI2C1();

WriteI2C1( measure_temp );

IdleI2C1();

buff[0] = ReadI2C1();

AckI2C3();

buff[1] = ReadI2C1();

NotAckI2C1();

StopI2C1();

temp = buff[0] << 8;

temp = temp + buff[1];

}

Линия данных стоит в положении ВЫСОКОЕ, линия тактирования молчит. Отладчик тем не менее доходит до функции ReadI2C1(), типа он там ждет что появится флаг заполнения буфера.

...............про этот датчик я где-то на западном форуме увидел отзыв "It's notI2c sensor". В ДШ условие старта отличается от общепринятого для i2c. Сломал себе мозги. Думаю завести фляжечку с беленькой...

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

В даташите черным по белому написано:

The sensor cannot be addressed by I2C protocol, however, the sensor can be connected to an I2C bus without interference with other devices connected to the bus. The controller must switch between the protocols.

У него свой протокол, несовместимый с I2C.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Я это читал и понял, что, мол, связь возможна только когда у нас один контроллер и один датчик. Разве не так? Если переводить совсем дословно, то получается, что датчик может быть подключен к шине без взаимодействия с другими устройствами, подключенными к шине. Тогда смысл его вообще подключать?

Ссылка на комментарий
Поделиться на другие сайты

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Там лишь уточняется, что датчик можно подключить (для экономии выводов) к шине I2C вместе с другими устройствами. Мешать друг другу они при этом не будут. Но контроллер нужно переключать между протоколами. Так что просто программно организуйте протокол для датчика, не используя аппаратный I2C.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Большое спасибо! Тогда вопрос такой - почему на осциллографе может быть не видно условий старта и отсылаемого байта. Ведь соответствующие функции конфигурируют МК, как мастер. Значит он может выдать на линии данных и тактирования хоть что-нибудь.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • извините, вопрос наверное больше про характеристики ID5S605 или MAX 4544, но в других разделах меня удаляют.  Мое предположение, что указанные микросхемы надежные и помехи на них влиять не могут. К сожалению оба варианта не лучшие, MAX 4544 до 12V,  а ID5S605 прибавляет сопротивление к первичной обмотке. Каков смысл-  есть заводской блок Bosch EZL со всеми нужными функциями, но к сожалениию радающий через трамблер. Он продолжает работать как есть, только катушка глушится.  У него имеется выход для тахометра TD, который  копирует момент подачи искры выхода на катушку( предположительно вероятно на 99%). Для детектирования нужной пары цилиндров используется самодельный январь типа мегасквирта, в моем случае это фазированый  secu3.  По неизвестной причине у него зажигание с накоплением  регулируется только в пределах -60+40 градусов, а впрыск доступен на все 360.  Соответвенно получается такая комбинация:   или     Что скжете про надежность и работоспособность таких деталек? MAX4541-MAX4544 switch.pdf ID5S605 high speed power MOSFET IGBT Driver.pdf
    • Вот про это поподробней: Напряжение батарейки типа "Крона" около 9 вольт, какой "эффект" можно получить, касаясь её выводов голыми руками? Эффект "ничего"?
    • ))) Главное не наводить пациентов на мысль что сейчас их будут лечить этим прибором )
    • Не нужно фото всех режимов прикладывать, это никому не интересно. А надо внимательно осмотреть механизм головки на предмет наличия в зазоре между рамкой и магнитами посторонних предметов: металлической стружки, пыли, волосков, насекомых и т.п. Аккуратно подвигать стрелку зубочисткой, пытаясь "поймать" момент заклинивания. Насколько вообще сама рамка ровная, не цепляет ли она за магнитную систему. Если механизм подвеса рамки на подшипниках, убедиться, что рамка не имеет люфта вдоль оси вращения или не зажата слишком сильно. Проверить состояние спиральных пружин - не цепляются ли витки пружин друг за друга или за рамку при отклонении стрелки. Проверить положение противовесов, не задевают ли они за что-либо. Проверить, что сама стрелка не изогнута и не задевает за шкалу или защитное стекло. Убедится, что защитное стекло - это именно стекло, а не прозрачный акрил. (Например, когда-то стекло было разбито и его заменили.) Был такой прикол с некоторыми тестерами: акриловое стекло электризовалось и стрелка притягивалась к нему, застревала в случайном положении. Вот сколько всего можно сделать, чтобы найти причину, причём, это надо делать собственными руками и глазами, выкладывание фотографий тут никак не поможет. От употребления слова "кажется" при ремонте техники лучше воздерживаться, надо точно убедиться, что дело обстоит именно так, как предполагается. Все признаки неисправности указывают на механическую проблему с головкой, и, в первую очередь, надо рассматривать этот вариант.
    • G и D прозваниваются, сопротивление 40 ом, красный щуп на S, черный на G - прозванивается, сопротивление 0, то есть напрямую идет. S и D тоже звонится, сопротивление 0. Выходит микруха эта сдохла?
    • Вы их похоже подключаете параллельно, это не правильно, нужно подключать через согласующее устройство. Для начала можно попробовать конденсаторно-резисторную развязку.
    • Простыми словами - чтобы не грелась обмотка. А вот выписка из интернета:  "Высокая добротность катушек индуктивности, намотанных литцендратом, обусловлена более эффективным использованием суммарного сечения составляющих этот провод жил, так как переменный ток в проводнике протекает преимущественно в поверхностном слое (т. н. скин-эффект). Применение литцендрата позволяет уменьшить массогабаритные параметры катушек при сохранении или улучшении значений добротности и активного сопротивления."
  • Похожий контент

×
×
  • Создать...