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

Подключение AM2320 по I2C


DrobyshevAlex

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

Кто нибудь пробовал? Подключаю в режиме 1-Wire работает, подключаю по i2C виснет на установке адреса.

Может быть такое, что датчик не работает по I2C а по 1-Wire работает?

void I2C_Conf(void) {
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);

	GPIO_InitTypeDef port;
	GPIO_StructInit(&port);

	port.GPIO_Mode = GPIO_Mode_AF_OD;
	port.GPIO_Pin = AM_PIN_SCL | AM_PIN_SDA;
	port.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(AM_GPIO, &port);

	I2C_InitTypeDef i2c;
	i2c.I2C_Mode = I2C_Mode_I2C;
	i2c.I2C_ClockSpeed = 100000;
	i2c.I2C_Ack = I2C_Ack_Enable;
	i2c.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
	i2c.I2C_DutyCycle = I2C_DutyCycle_2;
	i2c.I2C_OwnAddress1 = 0x38;

	I2C_Init(AM_I2C, &i2c);

	I2C_Cmd(AM_I2C, ENABLE);
}

int8_t AM_Read(temp_s* temp) {
	while (I2C_GetFlagStatus(AM_I2C, I2C_FLAG_BUSY));

	I2C_AcknowledgeConfig(AM_I2C, ENABLE);

	I2C_GenerateSTART(AM_I2C, ENABLE);
	while(!I2C_CheckEvent(AM_I2C, I2C_EVENT_MASTER_MODE_SELECT));

	I2C_Send7bitAddress(AM_I2C, AM_ADDR, I2C_Direction_Transmitter);
	while(!I2C_CheckEvent(AM_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
...

 

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

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

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

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

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

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

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

Только что, DrobyshevAlex сказал:

Может быть такое, что датчик не работает по I2C

А чего там думать? Осцилл в руки и смотреть, что на линии происходит. Может МК вообще ничего не выдает на линии. Заодно можно увидеть, выставляет ли датчик NACK после получения адреса. Резисторы на линиях какого номинала?

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

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

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

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

5 минут назад, BARS_ сказал:

Осцилл в руки

Дешевле инкубатор купить) Чем осциллограф) Я все еще свой не спаял) некогда...

Но кажется я нашел беду

Цитата

Step one: Wake Sensor In order to reduce the humidity sensor errors caused by self-heating, the sensor in a non-working state, dormant, so to read the sensor must wake sensor to transmit commands to read and write, otherwise the sensor will not respond. It should be noted that, in the wake sensor, I 2 C address is sent, the sensor does not respond to ACK, but the host must send back an ACK clock verify that the ninth SCL clock signal. Wake sensor operation is following instructions: After the host sends a start signal is applied to the starting address, wait for sometime (waiting time of at least 800 μs, the maximum 3ms; such as host hardware I 2 C, you do not need to wait for the hardware I 2 C will automatically wait), and then sends a stop signal. Namely: the starting signal +0 xB8 + wait (> 800us) + stop signal timing diagram shown in

шлю старт + адрес + жду 1мс потом стоп, и опять старт. вроде заработало пока. Пошел дальше писать код)

Все работает, всем спасибо)

 

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

Только что, DrobyshevAlex сказал:

Дешевле инкубатор купить) Чем осциллограф)

Тогда заказать у китаез логический анализатор на 8 каналов. Очень полезная при отладке вещь. и стоит недорого.

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

1 минуту назад, BARS_ сказал:

Тогда заказать у китаез логический анализатор на 8 каналов.

Та блин, его спаять же пару часов делов. Просто ни как не заставлю себя... Вон куча мк валяется f030c8 и f103c8 боюсь такие мелкие ножки не смогу вытравить)) минимум на атмегу7 делал пока.

По сути, что там надо, просто 8 пинов свободных, экран у меня цветной есть, к пинам стабилитроны что бы не сжечь порт, и в целом только прошивку с кнопочками навигации по графику. Но я уже месяц хочу сделать  но ни как руки не доходят)

 ахахаха, решил загуглить сколько он стоит... пишу "logic a" на али, выпадает logic analizer, жму, а это игрушки для взрослых :D

видимо знания инглиша мои не очень))

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

BARS_ прав. Без логического анализатора разработка может превратиться в пытку.

На алиэкспресс ищите по  слову saleae и берите самый дешевый

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

Только что, DrobyshevAlex сказал:

Та блин, его спаять же пару часов делов.

Не спаять его так просто, там МК нужен приспособленный под это и с подключением по USB. Заводские анализаторы на МК от Cypress сделаны.

 

Только что, DrobyshevAlex сказал:

что там надо, просто 8 пинов свободных

Ага, а еще буфер, в который писать данные и возможность точного измерения временных интервалов вплоть до наносекунд.

 

Только что, DrobyshevAlex сказал:

экран у меня цветной есть

Неудобно и мелко. С выводом на комп намного удобнее. Во-первых, большой экран, во-вторых, возможность сохранять полученные диаграммы, а в-третьих, анализатор протоколов.

image.thumb.png.af757e32b3aa563cf9e1d4e8cbe124ee.png

Вот как-то так. Так что спаять не проще. А стоимость готового девайса всего 500р.

Только что, LiVit сказал:

ищите по  слову saleae

Этих уже вроде как нет, их по другому нынче обозвали.

Только что, DrobyshevAlex сказал:

это оно?

Оно самое. Очень сильно помогает в запуске железа. Ибо осцилл - громоздко и каналов мало, плюс еще куда-то надо тянуться и что-то крутить. А тут все на одном компе получается.

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

ну если то по ссылке выше это оно то проще купить) итерфейс удобный вроде, ну и да, на пк проще будет...

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

Только что, DrobyshevAlex сказал:

ну мне больше 2х вряд ли пригодится

Ну тот же SPI уже 4 канала. FSMC (память или дисплей) 8 или 16 каналов данных + 5 служебных выводов. Так что каналы пригодятся)

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

Да бывает еще такое что пошагово не отладить никак. В таких случаях выделяем несколько ног для отладки и дергаем ими в контрольных точках и смотрим график потом. Например хорошо анализировать как ведут себя прерывания при определенных настройках периферии и тд.

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

Только что, MasterElectric сказал:

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

Да, бывает и такое. Я один раз так декодер манчестерского кода отлаживал на МК. Отладчик тут почти бесполезен, т.к. декодирование идет в реальном времени.

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

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

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

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

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

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

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

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

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

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

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

    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
    • Типа такого: https://aliexpress.ru/item/2044864227.html?sku_id=58855020183
    • поняли неправильно. У ТЛ494 никакой защиты нет, усилители ошибки не защита, они не должны приводить к ложным импульсам. Причем тут "микруха" ?  надо нагружать ВСЁ. До сих пор вообще непонятно о каком ИИП идет речь и сколько у него каналов. Бесполезно схему рисовать? - Помогать так бесполезно. Картина кривая по самое "немогу" продолжаются картинки, снятые через ногу и без цены деления.
×
×
  • Создать...