Технический форум по робототехнике.
к561ЛА7 » 28 мар 2011, 21:58
ставлю ADMUX=0b11100001; // - сравнение с питанием, меряю датчик ТС1047 -
показывает 43 деления
ставлю ADMUX=0b01100001; // - сравнение с опорным 2.56, меряю датчик ТС1047 -
показывает все равно 43 деления
а должно судя по датащитам на девайсы показывать примерно 75 делений при ставнении с внутренним опорным 2.56
Чего это может быть?
avr123.nm.ru » 28 мар 2011, 22:06
Это зов проверки в PROTEUS
к561ЛА7 » 28 мар 2011, 22:48
Проверил в ВМлаб, там работает хорошо.
микросхему менял
yak-40 » 28 мар 2011, 22:55
При использовании внутреннего ИОН вывод AREF должен быть отключён от питания. Надеюсь это сделано?
к561ЛА7 » 28 мар 2011, 23:03
Да, и на АРЕF подключен конденсатор 0,1 мкф.
ПРоцарапал все вокруг.
теперб при внутреннем показвает 41 деление
а при напряжении питания 43
кошмар.
yak-40 » 28 мар 2011, 23:06
Ну наверное листинг надо выложить. Может где ошибка, народ посмотрит...
avr123.nm.ru » 28 мар 2011, 23:15
У многих PROTEUS - потому советую выкладывать архив с прожектами.
к561ЛА7 » 29 мар 2011, 00:01
В листинге ошибок нет, вчера канал работал нормально, пока я не начал менять конденсаторы на входах ацп.
теперь при внутреннем показыват 43 (на втором ацп - 38)
при питании 64 - но на втором - 37!
меряю на 4х входах, на 2х других переключаю с 1024 на 256 делений и меняю сдвиг соответсвенно
кошмар.
Добавлено спустя 40 минут 45 секунд:
о ужас!
при отсоединенияи програматора замедляется частота работы атмелки процентов на 20 (кварца нет) и становятся нормальными показания по одному каналу!
но по второму 35 делений как при внутреннем, так при наружном, как с програматором, та к и без.
avr123.nm.ru » 29 мар 2011, 00:05
Надо святой водой окропить помещение. А плату промыть и проверить контакты и замыкания.
к561ЛА7 » 29 мар 2011, 22:15
Спасибо, уважаемые, частично это помогло.
замыканий по входам АЦП нет, проверил на мегаомах.
интесно что 3 канала работают нормально, а 4й врет.
но если его програмно отключить врать начинает 1й
Листинг такой:
выбираем 1й канал опорное 2.56 сдвиг вправо читаем хай
выбираем 2й канал опорное питаие сдвиг влево читаем лоу, читаем хай
выбираем 3й канал опорное питаие сдвиг влево читаем лоу, читаем хай
выбираем 4й канал опорное 2.56 сдвиг вправо читаем хай
Duhas » 29 мар 2011, 22:18
а вы батенька не извращениц ли так АЦП насиловать ? как быстро переключения у вас идут ? попробуйте внести паузы..
к561ЛА7 » 29 мар 2011, 22:40
ну не извращенец это точно. А Ацп настроено на ADCSRA=0x86; // 125 кгц при частоте камня 8 мгц
yak-40 » 29 мар 2011, 23:08
1. Измерить.
2. Ждать завершения преобразования.
3. Считать лоу и хай (обязательно)
4. Продолжить
Duhas » 29 мар 2011, 23:10
между этими:
выбираем 1й канал опорное 2.56 сдвиг вправо читаем хай
выбираем 2й канал опорное питаие сдвиг влево читаем лоу, читаем хай
выбираем 3й канал опорное питаие сдвиг влево читаем лоу, читаем хай
выбираем 4й канал опорное 2.56 сдвиг вправо читаем хай
пунктами сколько времени проходит ? в тактах АЦП например... что то мне подсказывает что подождать надо.. а то и пару холостых измерений прогонять после переключения канала/опоры
Radist » 30 мар 2011, 05:41
Порядок чтения регистров очень важен. Уточните еще раз по даташиту какой регистр надо читать первым.
ЗЫ. Никогда не имел проблем с авр ацп. Даже когда получал данные по 6 каналам. Помнится я паузу ставил, чтоб конденсатор УВХ успевал разрядиться.