Димон Безпарольный 2 25 марта, 2015 Опубликовано 25 марта, 2015 · Жалоба В нуле у АЦП at91sam7s256 стабильно 8 отсчетов. По пяти каналам. Кто - нибудь сталкивался? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 25 марта, 2015 Опубликовано 25 марта, 2015 · Жалоба Стоит или беситься? АЦП в минус мерить умеет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 25 марта, 2015 Опубликовано 25 марта, 2015 · Жалоба Стоит или беситься? АЦП в минус мерить умеет? Стабильно стоит. По всем каналам. При том, что само АЦП нормально измеряет значения. Т.е. измерял от 100 отсчетов 1000. АЦП в минус не измеряет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 26 марта, 2015 Опубликовано 26 марта, 2015 · Жалоба Нечто подобное было: "перебдел" - поставил дроссельки (~200 мкГн) в развязку по ВЧ и питания "цифра-аналог", и земли "цифра-аналог". Вылечилось заменой дросселя-развязки по земле на перемычку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр С 0 26 марта, 2015 Опубликовано 26 марта, 2015 · Жалоба В нуле у АЦП at91sam7s256 стабильно 8 отсчетов. По пяти каналам. Кто - нибудь сталкивался? Была похожая проблема. При детальном изучении оказался неправильно настроен выход при правильной настройки АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 26 марта, 2015 Опубликовано 26 марта, 2015 · Жалоба Нечто подобное было: "перебдел" - поставил дроссельки (~200 мкГн) в развязку по ВЧ и питания "цифра-аналог", и земли "цифра-аналог". Вылечилось заменой дросселя-развязки по земле на перемычку. Что касается земли, то дросселей я туда конечно же не ставил, но идея интересная - может просто плохо пропаяна земля. Я чип вручную паял. Была похожая проблема. При детальном изучении оказался неправильно настроен выход при правильной настройки АЦП. Выход или вход? О какой настройке идет речь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 марта, 2015 Опубликовано 26 марта, 2015 · Жалоба Возможно вход настроен на цифровой режим и в нем не отключена подтяжка. Вроде и мизерный там ток, и сопротивление от вывода до точки подключения этой подтяжки небольшое, а набежать может. Может ток какой течет между цифровой и аналоговой землей и приподнимает или опускает потенциал аналоговой земли. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 26 марта, 2015 Опубликовано 26 марта, 2015 · Жалоба Возможно вход настроен на цифровой режим и в нем не отключена подтяжка. Вроде и мизерный там ток, и сопротивление от вывода до точки подключения этой подтяжки небольшое, а набежать может. Может ток какой течет между цифровой и аналоговой землей и приподнимает или опускает потенциал аналоговой земли. Подтяжки отключены. Но ток, подтягивающий выводы вверх все же течет. Условный ноль (8 отсчетов) наступает при подпайке резистора 20КОм на землю. Меньший резистор не дает реального нуля. Мож проц дохлый? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 26 марта, 2015 Опубликовано 26 марта, 2015 · Жалоба Подтяжки отключены.Тогда ой. Посмотрел - аналоговый режим включается автоматически при включении канала в настройках АЦП. Мож проц дохлый?Может и так. Но слабо верится. Хотя... обещают ошибку смещения не более 2 единизы МЗР. Вы пишете, что такая ошибка по пяти каналам. А по остальным? Впрочем, какая разница - они все на один порт разведены. Смущает, что при 20 кОм наступает некий порог. Проверьте еще разок все ноги земли. Может цифровая земля этого порта отвалилась. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kleverd 0 13 апреля, 2015 Опубликовано 13 апреля, 2015 (изменено) · Жалоба Скорее всего косяк в плате(непропай). Надо померить сопротивление между пинами и дорожками. 8 отсчетов, конечно многовато. А может помеха какая-то навелась. Эксперименты с выключением мобильников и люминесцентных ламп иногда помогают. А у АЦП никакого режима калибровки нету случаем? Изменено 13 апреля, 2015 пользователем kleverd Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 15 апреля, 2015 Опубликовано 15 апреля, 2015 · Жалоба Косяк на плате я подозревал в первую очередь. Но увы. Ошибка по всем восьми каналам одинаковая. Разводке земли я всегда уделяю много внимания. И это меня еще не разу не подводило. Грешу на процессор. Будут другие платы - отпишусь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stoker 0 16 апреля, 2015 Опубликовано 16 апреля, 2015 · Жалоба У вас входной тракт как выполнен? Стоят ли входные буферные усилители, может активные фильтры по каналам? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димон Безпарольный 2 16 апреля, 2015 Опубликовано 16 апреля, 2015 · Жалоба У вас входной тракт как выполнен? Стоят ли входные буферные усилители, может активные фильтры по каналам? В двух вариантах - на одном входе AD8628, операционник, на трех - конденсаторы 1мкф керамика и резистивный делитель. Результат один и тот же. В программе приходится вычитать 7 отсчетов. Чтение АЦП по готовности, в прерывании: __irq void ADC_int(void) { //Прерывание от АЦП бит DRDY. Время выполнения 2мкс //Канал 2 if (*ADC_SR & 4) { //Проверка готовности канала EOC2 ADC_ch2 = *ADC_CDR2-7; //Чтение канала сбрасывает канальный бит прерывания EOC2 *ADC_CHER = 8;} //Включить канал 3 //Канал 3 if (*ADC_SR & 8) { //Проверка готовности канала EOC3 ADC_ch3 = *ADC_CDR3-7; //Чтение канала сбрасывает канальный бит прерывания EOC3 *ADC_CHER = 16;} //Включить канал 4 //Канал 4 if (*ADC_SR & 16) { //Проверка готовности канала EOC4 ADC_ch4 = *ADC_CDR4-7; //Чтение канала сбрасывает канальный бит прерывания EOC4 *ADC_CHER = 32;} //Включить канал 5 //Канал 5 if (*ADC_SR & 32) { //Проверка готовности канала EOC5. ADC_ch5 = *ADC_CDR5-7; //Чтение канала сбрасывает канальный бит прерывания EOC5 *ADC_CHER = 64; } //Включить канал 6 //Канал 6 if (*ADC_SR & 64) { //Проверка готовности канала EOC6 ADC_ch6 = *ADC_CDR6-7; //Чтение канала сбрасывает канальный бит прерывания EOC6 *ADC_CHER = 128;} //Включить канал 7 //Канал 7 if (*ADC_SR & 128) { //Проверка готовности канала EOC7 ADC_ch7 = *ADC_CDR7-7; //Чтение канала сбрасывает канальный бит прерывания EOC7 *ADC_CHER = 4;} //Включить канал 2 //Общая ветвь *ADC_CR=(1<<1); //Начать преобразование *AIC_EOICR = 1;} //__irq void ADC_int(void) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться