Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 06.07.2010, 13:17  
rpocc
Прохожий
 
Регистрация: 13.11.2009
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
rpocc на пути к лучшему
Печаль Особенности ADC у ATTiny

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

Сейчас делаю простой тестовый проект на контактной макетке для ATTiny13A: потенциометр, положение которого может оцифровываться и отправляться по последовательному интерфейсу 7-битным кодом (по MIDI, если точно). В момент передачи моргает светодиод.
Вся MIDI-часть и диод работают стабильно и проверялись на передаче тестовой цепочки данных из ППЗУ (разве что посылает мусор во время включения и выключения питания), но есть непонятные для меня проблемы с работой потенциометра.

От пот-ра типа B я ожидаю более-менее линейной характеристики, подключая его как делитель напряжения от Vcc (после регулятора питания L7805) до GND. Снимаемые во Free Run режиме значения я выравниваю влево, сдвигаю на разряд направо и принимаю в качестве текущего 7-битного значения оцифровщика, и отправляю на порт если оно отличается от предыдущего.

Однако вместо равномерного распределения значений я получаю экспоненциальную характеристику: На углах От 0 до половины, значения растут примерно от 0 до A0, а далее резко бегут до 7F на положении примерно 90%. Фишка в том, что я замерял тестером изолированный от входа АЦП выход пот-ра и там всё чётко: на середине около 2.5 В, наверху около 5. Как только я подключаю его к микросхеме, происходит что-то для меня неясное. Тестер видит между пот-ром и входом АЦП потенциалы относительно земли где-то от 3.1 до 3.6 В, а ток вообще настолько маленький, что тестер его не видит вообще. Наверное это говорит об очень высоком входном сопротивлении микросхемы, но я не пойму, что это означает.

Пробовал использовать разные потенциометры: 1К, 10К, 100К, B, A, ограничивать ток до него и после него разными резисторами, пробовал использовать повторители на ОУ, внешние источники напряжений и всё бестолку: АЦП упорно работает экспоненциально. Мне кажется, что-то я делаю всё-таки не так.

Кстати, я питаюсь от кроны. Попробовав вместо неё адаптер я не смог заставить схему работать вообще, впрочем ток я не пробовал ограничивать. Схему я прилагаю, а также код программы. Был бы рад, если бы кто-то мне мог объяснить, что я делаю не так, да и как правильно запитать контроллер от адаптера через L7805 (замечу, 78L05 я по ошибке сжёг, и сейчас именно L7805, они чуток отличаются.)
Миниатюры:
Нажмите на изображение для увеличения
Название: MIDIPot.png
Просмотров: 629
Размер:	146.6 Кб
ID:	9529  
Вложения:
Тип файла: txt MIDITry.txt (3.7 Кб, 275 просмотров)
Реклама:

Последний раз редактировалось rpocc; 06.07.2010 в 13:20. Причина: Добавил пару слов в описание работы программы
rpocc вне форума  
Непрочитано 06.07.2010, 15:07  
MasterMushi
Вид на жительство
 
Регистрация: 14.10.2009
Сообщений: 338
Сказал спасибо: 35
Сказали Спасибо 92 раз(а) в 73 сообщении(ях)
MasterMushi на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

У 7805 на входе и на выходе должны быть кондеры по 100нФ на землю. диод в цепи ресета нужно убрать. Конденсатор с ноги ресет на общий сделать 100нФ

Если уж надо большая линейная точность то рекомендую сделать валкодер из колесика старой мышки.

А потенциометр работает не линейно вероятно из за банальной нестабильности опорного напряжения.
__________________
Найди путь или проложи сам!
MasterMushi вне форума  
Непрочитано 06.07.2010, 15:14  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

Резистор то у Вас линейный? Или взят от какого-то регулятора громкости?
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
OneTech вне форума  
Непрочитано 06.07.2010, 16:07  
rpocc
Прохожий
 
Регистрация: 13.11.2009
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
rpocc на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

Сообщение от MasterMushi Посмотреть сообщение
У 7805 на входе и на выходе должны быть кондеры по 100нФ на землю. диод в цепи ресета нужно убрать. Конденсатор с ноги ресет на общий сделать 100нФ
Спасибо, прямо сейчас попробовал всё сделать. Идея с 100нФ сама по себе хоршая, но к сожалению, всё осталось точно так же. Повторил измерения вольтметром — тоже без изменений. Кстати, я всё это пробовал на двух контроллерах, дабы исключить вероятность неисправности.

Сообщение от MasterMushi Посмотреть сообщение
Если уж надо большая линейная точность то рекомендую сделать валкодер из колесика старой мышки.
Идея сама по себе полезная и валкодер уже есть, но он занимает больше дырок, к тому же хотелось бы оставить возможность кодировать напряжение поступающее извне. Думаю, если бы это было приложение связанное исключительно с крутилками, я бы выбрал валкодеры, хотя они и слишком дорогие.


Сообщение от OneTech Посмотреть сообщение
Резистор то у Вас линейный? Или взят от какого-то регулятора громкости?
В даный момент — подстроечник на 1K. Повторюсь, я замерял его работу вольтметром. В изоляции от контроллера он работает линейно.
rpocc вне форума  
Непрочитано 06.07.2010, 16:24  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

Честно говоря я так и не понял что отсылается к ПК и в каком формате. А так в симуляторе студии погонял, всё работает честно и нелинейности не вижу.
Вложения:
Тип файла: rar Midi.rar (33.3 Кб, 136 просмотров)
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
OneTech вне форума  
Непрочитано 06.07.2010, 16:44  
anatol378
Почётный гражданин KAZUS.RU
 
Аватар для anatol378
 
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,746
Сказал спасибо: 416
Сказали Спасибо 1,240 раз(а) в 551 сообщении(ях)
anatol378 на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

если потенциометр советский то А - сопротивление изменяется пропорцио-
нально нахождению подвижного контакта, Б - по логарифмическому зако-
ну, В - обратно логарифмическому закону.
http://mpek.org/_ld/0/32_rez.pdf
импортные
http://lib.chipdip.ru/078/DOC000078820.pdf

Последний раз редактировалось anatol378; 06.07.2010 в 16:47.
anatol378 вне форума  
Непрочитано 06.07.2010, 16:49  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 180
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

На С в CV ADC выглядит так
attiny13A.rar
там есть проект для Протеус. Линейность соблюдается.
CodeNameHawk вне форума  
Непрочитано 06.07.2010, 16:54  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

Насколько я понял отправляемый байт имеет формат UART-а. Переписал отправку байта по своему, проверте, может и заработает как нужно.
Вложения:
Тип файла: rar Midi.rar (33.3 Кб, 83 просмотров)
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.
OneTech вне форума  
Непрочитано 06.07.2010, 17:00  
rpocc
Прохожий
 
Регистрация: 13.11.2009
Сообщений: 6
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
rpocc на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

Сообщение от anatol378 Посмотреть сообщение
если потенциометр советский то А - сопротивление изменяется пропорцио-
нально нахождению подвижного контакта, Б - по логарифмическому зако-
ну, В - обратно логарифмическому закону.
Я могу ошибаться, но по-моему наша кириллическая классификация немного отличается от западной. Я использую китайские.

Сообщение от OneTech Посмотреть сообщение
Честно говоря я так и не понял что отсылается к ПК и в каком формате.
Это просто не совсем для ПК предназначено. MIDI в какой-то степени похож на UART: 31250 bps, 8-N-1, но там другие электрические уровни используются и это однонаправленный протокол не использующий какие-то вещи типа синхронизации, RTC, CTS и т.д. Я плохо разбираюсь в тонкостях работы последовательного порта, но по идее, если как-то возможно на 31250 бодах (+/- 1%) прослушивать сырой поток данных, то там можно увидеть отсылаемые при изменениях трёхбайтовые последовательности B0, 07, xx, где xx - 00—7F.

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

Однако, есть неожиданное развитие темы. Я сейчас откопал 100-омный подстроечник, и сразу всё стало работать почти как положено, то-есть, видимо, АЦП зависит от тока (стало намного линейнее, но всё равно некоторое ощущение экспоненциальности остаётся). Возможно по этой же причине неадекватно себя ведут внешние источники измеряемых напряжений. Может быть существует какая-то известная фича связанная с электропараметрами входов у этих контроллеров? У меня отродясь потенциометров с таким маленьким сопротивлением не было, да и проблема с внешним входом так не решается.
Попробовал также сейчас использовать питание от адаптера на 300—400 мА. пока отличий от батарейки не вижу.

Последний раз редактировалось rpocc; 06.07.2010 в 17:37.
rpocc вне форума  
Непрочитано 06.07.2010, 17:00  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Re: Особенности ADC у ATTiny

CodeNameHawk, интересно зачем CV генерит так:
Код:
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
Что обозначают & 0xff?
Число же байт, что очищать собрались?
__________________
Делая дело нужно в него верить на все 100%, иначе неизбежно будут возникать ошибки подпитывающие подсознательное сомнение.

Последний раз редактировалось OneTech; 06.07.2010 в 17:05.
OneTech вне форума  
 

Закладки

Метки
attiny, avr, ацп, сопротивление
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ATtiny для ситемы управления ШИПом Palaten'4ik Микроконтроллеры, АЦП, память и т.д 5 01.03.2010 22:13
adc avr operator Proteus, KiCAD и другие ECAD 9 27.11.2009 09:21
Attiny, ADC и порт IOPA4 Микроконтроллеры, АЦП, память и т.д 0 04.11.2009 21:50
ADC и подпитка с одной ноги? ajsn Микроконтроллеры, АЦП, память и т.д 3 18.09.2009 19:21
Особенности звучания УМЗЧ с полевыми транзисторами falkonist Аудиотехника 42 22.01.2009 02:05


Часовой пояс GMT +4, время: 10:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot