Страница 1 из 1

Нужна помощь по PIC16F684

Добавлено: Сб ноя 26, 2016 22:13:48
nbg
Решил собрать СВЧ милливольтметр [http://vrtp.ru/index.php?showtopic=22455&st=0].
Но на третьей ножке ПИКа после прошивки постоянно присутствует напряжение питания 5 вольт.
Когда подключал блок питания на третью ножку и регулировал от 0 до 2,2В все было нормально, но выход AD8307 слаботочный и когда подключаю его без входного сигнала то напряжение на третьей ножке ПИКа проседает до 2,5В.
Подскажите в чем проблема.

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 07:30:09
Zhuk72
А если просто подать на него питание без подключения к МК, то что у него на выходе?
Собрал я как-то такой щуп, тоже выдавал 2.5 В независимо от входного сигнала. Чип был из Китая, дешевый. Потом вычитал, что их много левых. В щупе-то самом кроме АД8307 ничего нет, пара конденсаторов и резисторов.
Так и забросил в долгий ящик.

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 09:06:41
nbg
Zhuk72 писал(а):А если просто подать на него питание без подключения к МК, то что у него на выходе?
При замкнутом входе - почти ноль.
АД-ешку проверял с помощю генератора на 20мгц - все нормально.

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 09:45:34
Zhuk72
nbg писал(а):При замкнутом входе - почти ноль.
Именно в таком виде при подключении к мк на 3-й ноге 2.5 В? Или в разомкнутом виде?

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 20:42:43
nbg
Zhuk72 писал(а):
nbg писал(а):При замкнутом входе - почти ноль.
Именно в таком виде при подключении к мк на 3-й ноге 2.5 В? Или в разомкнутом виде?
При включении мк на 3-й ноге появляется 5 в. Когда подключаю АД-ешку с короткозамкнутым входом, в это время на ее выходе почти нуль вольт (порядка 100-200 мВ), напряжение на 3-й ноге мк проседает до 2,5 в.

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 20:55:42
Albert_V
Скорее всего, в программе ошибка/недочёт:
Подозреваю, что в INIT-е отсутствует запись в регистр WPUA (WEAK PULL-UP PORTA).
/по POR, WPUA4=1 (Pull-up enabled)/

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 21:00:42
Zhuk72
Альберт, разве настройка порта на аналог не отключает подтяжку?

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 21:19:17
Albert_V
:facepalm:
Извиняюсь.
Да. Обязана отключить.
Тогда единственное что приходит в голову при исправном контроллере - не промытая от флюса плата.

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 21:27:07
nbg
Albert_V писал(а): не промытая от флюса плата.
плата промыта ацетоном

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 21:33:07
Albert_V
nbg, выложите hex файл.
Интересуют значения CONFIG-а.
-----
P.S.
Хорошо было бы ещё посмотреть на фото платы (с двух сторон).

Re: Нужна помощь по PIC16F684

Добавлено: Вс ноя 27, 2016 22:37:50
nbg
Albert_V писал(а):nbg
фото платы, hex и asm.
Плату промывал и прозванивал. Дрожки разрезал чтоб исключить КЗ.
ссылка:
https://yadi.sk/d/1xqQxr_fzdB6q

Re: Нужна помощь по PIC16F684

Добавлено: Пн ноя 28, 2016 06:05:16
Albert_V
Совсем весело :)
Всё-таки, насчёт Pull-up предчувствие меня не подвело.
Вход AN3, в программе, указан как Digital Input c включенным Pull-up! :kill:
Прошейте этой прошивкой.
99,9% что всё заработает.
RF_MVM.hex
(11.25 КБ) 586 скачиваний

Re: Нужна помощь по PIC16F684

Добавлено: Пн ноя 28, 2016 09:47:20
Zhuk72
Хех, а как это так получается, если ТС писал, что подавал на этот пин напряжения от 0 до 2.2 и все измерялось, а тут оказывается, что пин вообще был настроен как цифровой?
:))

Добавлено after 1 hour 39 minutes 20 seconds:
Что-то непонятное происходит.
Во-первых, в ДШ явно написано:
Note 1:
Setting a pin to an analog input automatically disables the digital input circuitry,
weak pull-ups, and interrupt-on-change if available.
Т.е. достаточно было настроить пин RA4/AN3 на вход и сделать его аналоговым.

Во-вторых, автор устройства с той темы на vrtp на второй странице написал, что он
Отловил еще ошибку, оказалось что были подключенными подтягивающие резисторы на входах и АЦП измерял неверно.
и выложил новый архив с исходниками и хексом. А ТС очевидно взял хекс еще с первой страницы. RBPU в первом варианте действительно был активен (при закомментированном значении 0х80), а во втором варианте он-таки запретил их.

Но, в третьих, в обоих исходниках (на бейсике) написано

Код: Выделить всё

ANSEL=0'%00010000       'Ain3 (PORTA 4 =ADC ch3) как аналоговый активен
, стало быть он делает аналоговым НЕ RA4/AN3, а следующий, т.е. RC0/AN4, если в бейсике биты пишутся в той же последовательности (MSB...LSB). В ANSEL ведь пишутся аналоговые каналы AN7...AN0. он намеренно внес ошибку, причем и в закомментированном варианте тоже?!

И как это все у людей работает?! Или я что-то не так понимаю?

Re: Нужна помощь по PIC16F684

Добавлено: Пн ноя 28, 2016 15:58:21
Albert_V
Ничего удивительного.
У этого контроллера, вывод порта напрямую "уходит" на мультиплексор ADC.
При переводе вывода на аналоговый - всего лишь отключается Digital секция от вывода.
Я всю ту тему не читал. Взял только hex из архива ТС.
Там RA4/AN3 настроен на вход, нет настройки WPUA (по POR Pull-up включен) и строчка "от души" CLRF ANSEL.
-----

Код: Выделить всё

ANSEL=0'%00010000       'Ain3 (PORTA 4 =ADC ch3) как аналоговый активен
Здесь тоже ошибка. В ANSEL должно быть значение 08h.
Изображение
Zhuk72 писал(а):он намеренно внес ошибку, причем и в закомментированном варианте тоже?!
Или так, или в очередной раз ошибся.
-----
Zhuk72 писал(а):...И как это все у людей работает?! Или я что-то не так понимаю?
:dont_know: :)))

Re: Нужна помощь по PIC16F684

Добавлено: Пн ноя 28, 2016 19:26:02
nbg
Albert_V писал(а):99,9% что всё заработает.
Большое спасибо, Albert_V. Все заработало.