Jump to content
admin

Работа MCP3421 АЦП 18 бит с микроконтроллером ATmega32

Recommended Posts

В статье дан пример работы микроконтроллера Atmega32 с микросхемой MCP3421 по шине данных I2C. Приведена последовательность действий c модулем TWI микроконтроллера Atmega32 и подробное описание кода микроконтроллера.

e0ad8096ca28d1888b6d5af7e48e3bae.png

Ссылка на статью: http://cxem.net/mc/mc441.php

Автор статьи: http://cxem.net/profile/17726/

Share this post


Link to post
Share on other sites

А можно пример работы с MCP3422, что менять 4 бит в конфигурационном байте, это понятно, а как считать значения с обоих каналов?

Edited by CyberTroy

Share this post


Link to post
Share on other sites

 здесь нет обеих каналов, есть один АЦП и мультиплексор два входа(канала), 

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

ЗЫ формулы расчета паузы на заряд смотреть в РМ на средние семейство

Share this post


Link to post
Share on other sites

Быстро и просто. Разработка бюджетного неизолированного источника питания на контроллере VIPer122

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

Подробнее

11 час назад, IMXO сказал:

 здесь нет обеих каналов, есть один АЦП и мультиплексор два входа(канала)

Игра слов?

Цитата

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

Я это понимаю, но с реализацией проблема, в программировании я не очень силён, всё очень посредственно, если не сложно можно образец кода?

 

Share this post


Link to post
Share on other sites

Новый ХИТ FANSO CR123A/SN

Параметры новой батарейки показывают прекрасные результаты. Она используется для приложений с повышенными импульсами тока. Широко применяется в охранно-пожарных датчиках, устройствах телеметрии, поисковых маячках, LED-фонарях и других промышленных и бытовых устройствах.

Подробнее

3 часа назад, CyberTroy сказал:

Игра слов?

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

3 часа назад, CyberTroy сказал:

можно образец кода?

лениво писать. код такой же как в статье. за исключением некоторых деталей

1. в функции MCP3421_config указывается одиночное преобразование , номер канала и выставляется флаг RDY - старт преобразования

2. в функции TWI_Receivebytes дополнительно читается 4-ый байт , являющийся байтом конфигурации , если бит RDY=0 - преобразование окончено и данные валидны , если =1 идет преобразование.

 

Share this post


Link to post
Share on other sites

LED-драйверы LCM - бюджетное решение для умного дома!

Для более простого и бюджетного решения по организации управляемого освещения в здании с имеющейся системой KNX компания Mean Well предлагает готовые к использованию LED-драйверы семейства LCM/KN, управляемые по протоколу KNX. По своим техническим возможностям эти изделия похожи на драйверы из популярного семейства LCM/(DA).

Подробнее

В 25.07.2018 в 17:40, IMXO сказал:

в функции TWI_Receivebytes дополнительно читается 4-ый байт , являющийся байтом конфигурации , если бит RDY=0 - преобразование окончено и данные валидны , если =1 идет преобразование.

в этой функции идет прём трёх байтов данный ацп, как считать и прикрутить бит RDY? Как реализовать в коде?

Edited by CyberTroy

Share this post


Link to post
Share on other sites

  Сигнал на входе АЦП должен сохраняться на Аналоговом Запоминающем Устройстве (АЗУ) в течение времени преобразования его в цифровой код. Обсуждаемый АЦП такого АЗУ не имеет. Автору статьи необходимо уточнить область применения такого устройства с учётом верхней граничной частоты сигнала, допустимого уровня помехи и погрешности получаемых данных.  

Share this post


Link to post
Share on other sites
14 часа назад, IMXO сказал:

открыть  ДШ, посмотреть картинко

i2c.thumb.png.0f737a0ba2c223b417d82a01af7c0c39.png

 

:huh:мрак. Если не трудно подскажите пример кода считывания RDY. 

void TWI_Receivebytes()

{

  //Прием первого байта данных

  TWCR=(1<<TWINT)|(1<<TWEN)|(1<<TWEA);//Отправляем "ACK": TWEA=1

  while(~TWCR&(1<<TWINT));//Подождать завершения операции

  a1=TWDR;//Записываем старший байт из MCP3421 в переменную a1=TWDR;

  //

  //Прием второго байта данных

  TWCR=(1<<TWINT)|(1<<TWEN)|(1<<TWEA);//Отправляем "ACK": TWEA=1

  while(~TWCR&(1<<TWINT));//Подождать завершения операции

  a2=TWDR;//Записываем старший байт из MCP3421 в переменную a1=TWDR;

  //

  //Прием третьего байта данных

  TWCR=(1<<TWINT)|(1<<TWEN);//Отправляем "NACK": TWEA не выставлен

  while(~TWCR&(1<<TWINT));//Подождать завершения операции

  a3=TWDR;//Записываем младший байт из MCP3421 в переменную a2

}

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Не торопитесь приговаривать чип, сейчас проверю еще раз. У Вас доктор на меге8 или 328p?
    • не поднимал особо с друзьми этот разговор - а вот брат в Бельгии пока флаг РФ в огороде не повесил - соседи не успокоились))
    • 100 бочек не было. Трезвые смотрю в теме. Кыш! Всё,коллеги,моя отдыхать,23.05 уже у нас и по ходу ремонтов я мальца усугубил. Всем удачи 
    • Нет. Как раз немцы различают русских и всяких там чеченцев и дагов. Тех да, не бояться, а сразу выхывают полицаев. А мы  как поляки, но только нам можно сказать - " блин ну вам что, не стыдно что ли? Или вы внатуре как поляки что ли?" И мы такие сразу " длин да, нам стыдно, мы ж в натуре же не поляки какие нибудь... " И все. А вот сербы или македонцы - вот их реально бояться. Они как мы, только без комплексов, имеют больше прав и внатуре порвать могут любого. Зы. Кстати у сербов к нам большая претензия за WW2, когда Сталин их предал. Но все равно они наверно единственные, кто к нам вобще без всякой фиги в кармане.
    • можно добавить еще - побаиваются - безбашенных))
    • Я уже нашел, спасибо, не работает, посмотрел исходники к нему, исходный код ссылается к адресам в загрузчик но в том и проблема что загрузчика нету. Сам осцилограф обновляется в режиме DFU, загрузчик нужен, его нет. Уже кучу прошивок попробовал и ничего... Может я что нибудь делаю не так... 
×
×
  • Create New...