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

Проблема С Ацп


tex

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

Здравствуйте. У меня проблема с выводом разультата АЦП на порт микроконтроллера.

В общем у меня МК ATmega48, надо вывести результат преобразования на порт В. Измеряемое напряжение

подается на альтернативную линию PС0(ADC0), и результат индицируется на порте В, с помощью набора из 8 светодиодов(выводится

только старший байт - ADCH).Если увеличивать изм напряжение от 0 до 2В светодиоды не горят, далее от 3 до 5В загораются все(компараторный эффект).

Однако, если измеряемое напряжение мультиплексировать на независимые линии - ADC6, ADC7

то все оцифровывается нормально(значит с внешней обвязкой все нормально).

Есть предположение, что альтернативные линии надо конфигурировать каким-то особым образом, чтобы исключить это ненормальное явление.

Вопрос: как это сделать? если проблема в этом.Но возможно что здесь совсем другая проблема.

Буду рад услышать любые предположения...

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

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

Попробуйте измерение провести переведя контроллер в ADC Noise Reduction режим или в Idle.

Других идей пока что то в голову не лезет

Изменено пользователем rtfcnf

Это сообщение поставляется "как есть", без каких либо гарантий. Автор сообщения не несёт какой либо ответственности

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

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

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

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

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

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

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

.........Буду рад услышать любые предположения...

А предположение одно, не выключен выход (DDR) или подтягивающий резистор по этому пину... К гадалке не ходи...

Изменено пользователем my504

戦う前に相手のベルトの色に注目

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

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

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

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

.........Буду рад услышать любые предположения...

А предположение одно, не выключен выход (DDR) или подтягивающий резистор по этому пину... К гадалке не ходи...

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

Это сообщение поставляется "как есть", без каких либо гарантий. Автор сообщения не несёт какой либо ответственности

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

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

Мож чего и недосмотрел, но в даташите ни слова про конфигурирование входов как аналоговых(по примеру регистра ANSEL в ПИКах). А аналоговый вход всегда подключен прямо к пину и никак не может автоматически управлять битом третьего состояния. Значит делать это нужно РУЧКАМИ. Внешнее проявление бага соответствует параллельно подключенному выходу. Подтяжка действует мягче - просто давая смещение на вход.

戦う前に相手のベルトの色に注目

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

Мож чего и недосмотрел, но в даташите ни слова про конфигурирование входов как аналоговых(по примеру регистра ANSEL в ПИКах).

Возможно, я тоже ничего не нашел...

А аналоговый вход всегда подключен прямо к пину и никак не может автоматически управлять битом третьего состояния. Значит делать это нужно РУЧКАМИ.

Как? перепробовал следующие комбинации:

DDRC=0; PORTC=0; PUD(in MCUCR)=X - Tri-state(Hi-Z)

DDRC=0; PORTC=1; PUD(in MCUCR)=0 - Pxn willsource current if ext. pulled low.

DDRC=0; PORTC=1; PUD(in MCUCR)=1 - Tri-state(Hi-Z)

Ни одна из этих комбинаций не дала положительный результат.

В этом контроллере есть еще регистр DIDR0 - почитайте в даташите.

Да, похоже это то что надо... завтра перепрограммирую посмотрим что получится...

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

Да, действительно DIDR - это аналог ANSEL, однако он при инициализации МК после сброса по умолчанию ставит все эти пины АНАЛОГОВЫМИ, т.е. его можно вообще не трогать. Однако пробуйте...

Корректными являются первая и последняя комбинации, лучше последняя. Посмотрите внимательно на код, нет ли где опечаток...

Дополнительно. В симуляторе посмотрите что набор этих регистров в МОМЕНТ ЗАПУСКА преобразования именно такой, а никакой другой... Могут быть неожиданности.

戦う前に相手のベルトの色に注目

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

Да, действительно DIDR - это аналог ANSEL, однако он при инициализации МК после сброса по умолчанию ставит все эти пины АНАЛОГОВЫМИ, т.е. его можно вообще не трогать. Однако пробуйте...

это не так. По умолчанию в нем нули, для отключения цифрового буфера нужно записать в соотв. бит единицу. Ну и:

For analog input pins, the digital input buffer should be disabled at all times.

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

22.8.5 DIDR0 – Digital Input Disable Register 0

• Bits 7:6 – Res: Reserved Bits

These bits are reserved for future use. To ensure compatibility with future devices, these bits

must be written to zero when DIDR0 is written.

• Bit 5:0 – ADC5D..ADC0D: ADC5..0 Digital Input Disable

When this bit is written logic one, the digital input buffer on the corresponding ADC pin is disabled.

The corresponding PIN Register bit will always read as zero when this bit is set. When an

analog signal is applied to the ADC5..0 pin and the digital input from this pin is not needed, this

bit should be written logic one to reduce power consumption in the digital input buffer.

Note that ADC pins ADC7 and ADC6 do not have digital input buffers, and therefore do not

require Digital Input Disable bits.

Читать по аглицки в объемах техпереводов способны? Вот и читайте... Цитата - копипаст с официального ПОЛНОГО даташита на 48-88 Меги...

Ежели нет, перевожу выделенную фразу:

Когда этот бит записан как логическая ЕДИНИЦА (ONE - по английски ЕДИНИЦА, ОДИН), цифровой входной буфер ВКЛЮЧЕН (ON - по английски ВКЛЮЧЕН), а присоединенный АЦП пин ВЫКЛЮЧЕН (DISABLE - отключен, запрещен)....

Так же замечу, что ВЫХОДНЫМ цифровым буфером данный регистр НЕ УПРАВЛЯЕТ. Т.е. закоротить на землю или питание аналоговый вход или подвесить его на пулл ап ничто не препятствует...

Изменено пользователем my504

戦う前に相手のベルトの色に注目

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

Зачем так кричать?

Читать, похоже, не умеете вы. Перевод неверен. Попросите кого-нибудь перевести. Ключевое слово - "disabled".

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

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

When this bit is written logic one, the digital input buffer on the corresponding ADC pin is disabled

Когда этот бит записан как логическая единица,

цифровой входной буфер на соответствуюшем пине АЦП выключен !

1 километр = 1024 метр

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

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

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

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

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

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

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

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

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

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

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

    • Для меня наверное лучше купить готовый.. цель повысить чувствительность до 1 mV.. Наверное на Авто стоит покупать , мне бы фотку какую нить..такого активного щупа..))
    • Так на схемах обозначается подключение к сети 220 В.
    • Привет, радионарод! Вот, решил показать, рассказать и дать попробовать свою придумку, как я внешнюю синхронизацию к "ослику" прикрутил. DSO138 уже не так популярен, но кто-то пользуется, кому-то быть может пригодится. Подробной информации по таким доработкам в сети не встречал, так что делюсь, чем сам измыслился. Собственно, схема. Немного фоточек. С "ослика" не пугайтесь, не умею я делать красивые корпуса с красивыми мордами лица к ним. Двухканального функционального генератора с возможностью двигать фазу у меня нет, поэтому какая-то программа-генератор из Интернетов, звуковая карта и DSO138. Смотрим синус, т.к. меандр из звуковухи никакой. Конечно, видна погрешность в измерениях. Прибор-то - игрушка. Да и генератор не блещет точным сигналом. Полноценного аналога внешней синхронизации (как у аналоговых приборов) не получится, но даже в таком виде эта доработка расширяет функционал осциллографа и дает в некоторых случаях возможность изучать два сигнала. Как пользоваться. Из иных доработок. Как видите, дурацкие ползунковые переключатели заменены на сдвоенные галетники на три положения. Кнопки поставлены большие тактовые 12х12 мм. Подпаяны паралельно, старые удалять не нужно. Светодиод тоже в паралель. Питание батарейное, от аккумулятора старого "умнофона". Полтора ампер-часа, наверное. Плата зарядки, плюс повышайка с фильтрами по питанию. Корпус алюминиевый от "не-знаю-как-правильно-называется", там жесткий диск стоял с парой ветродуйчиков. Гетинакс, оргстекло.   Короче, удачи!
    • Тут нет схемы самой Ардуино(но есть второе напряжение 3,3в , схема ниже)   Не вывозит!!!
    • Сорри, вопрос был не вам - исправлено.   И как Вы об этом узнали? Иными словами, можно ли без ПК узнать есть ли в кишках лого какая-либо рабочая программа или память пуста?
    • Мне нужно настраивать мд Квазар Арм там от 7 до 10 кГц.. Посоветуйте как мне поступить лучше?
×
×
  • Создать...