Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 3«123»
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » АЦП на PIC16FХХ (Как использовать встроенный ацп в пике)
АЦП на PIC16FХХ
skiip Дата: Вс, 17.01.2016, 15:40  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

Что то ковыряю и понять не могу. Вот хочу задействовать аналоговый вход AN2. чтот не полусается. использую внутренний генератор. Поправте где ошибка что бы заработал AN2 как аналоговый вход.
 @ device pic16F676, WDT_OFF, MCLR_OFF', INTOSC
   DEFINE  ADC_OSC 4           ' частота внутреннего генератора 4 МГц
   DEFINE  ADC_BITS 10         ' количество разрядов в результате АЦП
   DEFINE  ADC_CLOCK 3         ' источник синхронизации АЦП (rc=3)
   DEFINE  ADC_SAMPLEUS 50     ' время выборки АЦП преобразования 50мкс

   ADCON0 = %10001011     '  канал 02 (AN2)
   CMCON = 7         
   ANSEL = %00000100      '   AN2 аналог вход
   TRISA = %00000100      ' вывод PORTA.2 на входДобавлено (02.01.2016, 09:47)
---------------------------------------------
Дня доброго (кому вечера) уважаемые люди. Благодаря вашейпомощи, я ну хоть как то разобрался с пиком 16F676. Вот беда. Печатную плату не
хочется переделывать. Да и в данном пике мало портов. И это не проблема. Просто
точку можно аннулировать, а порты в печатке хорошо легли. Порт AN3 (RA4), расположен неудобно по дорожкам
печатки и программе. Методом проб и ошибок ни как не могу задействовать AN2 (RA2). В архиве не обращайте внимания,
что первый разряд отключил. Просто проверяю работу порта. Архив «исходник –
мерит, AN2- что то
пытаюсь изменить на работу данного порта». Генератор внутри программный. В
архив выложил печатку (от того термометра). На базе ней решаю вопрос с
Прикрепления: Volt.7z(51Kb)


skiip
ЯНДЕКС Дата: 17.01.2016
anatol Дата: Пн, 18.01.2016, 10:28  |                                                                                                                Сообщение # 17
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 14   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Цитата skiip ()
ADCON0 = %10001011 ' канал 02 (AN2)
источник синхронизации АЦП
skiip Дата: Пн, 18.01.2016, 16:16  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

ADCON0 = %10001011     '  канал 02 (AN2)
ADCON0 = %11001011     '  канал 02 (AN2)
ADCON0 = %00001011     '  канал 02 (AN2)
Не работает


skiip
ivan_fd Дата: Пн, 18.01.2016, 20:30  |                                                                                                                Сообщение # 19
Группа: Модераторы
Ранг:  Специалист
Сообщений: 899
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Если можно, то весь код и какой компилятор у Вас?

Меня все время преследуют умные мысли...но я быстрее!!!
anatol Дата: Вт, 19.01.2016, 09:44  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 14   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Я был неправ и прав одновременно. Под рукой был даташит на другой контроллер. Сегодня скачал на ваш. И вижу что у вас не установлен ADCON1. По умолчанию соответственно синхронизация (квантование) = Fosc/2. При вашей частоте это 500 ns, а минимальный период равен 1,6 ms.
Читай главу 7 даташита.
Или вставь ADCON1 = %00010000     =  Fosc/8

Сообщение отредактировал anatol - Вт, 19.01.2016, 09:45
skiip Дата: Вт, 19.01.2016, 17:16  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

сегодня на работе чего только не перепробовал.
и даже так делал.
Выбор источника тактового сигнала 
000=FOSC/2 
001=FOSC/8 
010=FOSC/32 
X11=FOSC/(отдельный внутренний RC генератор.Максимальная F=500кГц 
100=FOSC/4 
101=FOSC/16 
110=F /64 
Все подряд.
Та же архив с исходником в PicBasic, и Proteus

Добавлено (19.01.2016, 17:09)
---------------------------------------------
Там в архиве проект. Ваши действия, может помогут вашему воображению.
Я перепробовал всё. Ведь оригинал работает, и почему? Наверно я не прав в конфигурации?

Добавлено (19.01.2016, 17:12)
---------------------------------------------
ADCON1 перетряс.
где то собака зарыта в конфиг. Я тут начал переходить с 84 на 676. столкнулся с RA4. проблема вылезла на конфиг. ( термометр с точ после запятой) мой проект.

Добавлено (19.01.2016, 17:16)
---------------------------------------------
ТЕРМОМЕТР 16F676 DA18B20 LCD ДО ДЕСЯТЫХ
http://www.picbasic.ru/forum/9-1747-1
наверно откроется.
Там мне помогли выйти от старья к людям


skiip
anatol Дата: Вт, 19.01.2016, 21:20  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 14   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

skiip, а полный проект слабо привязать? Где хексы. Я уже писал что не работаю с бейсик про, да и мало апологетов. Протон бейсик немного изменен по отношению к про. но потолковей будет.
Благо протеус дома стоит. Посмотрел, сначала увидел MCLR оторван. Потом в Блокноте открыл прогу - MCLR выключен. Сравнил программы и увидел что поменялись лишь порты. значит дело в них. Плохо что не выражаете ясно мысли. Нигде не описали что и как не работает. Не запускается в протеусе или в железе. Показания не соответствуют. Или еще что-то. Если судить по тому что у вас "плохой резистор", то появляется подозрение на подключенные подтягивающие резисторы. WPUA — WEAK PULL-UP REGISTER
Описаны в 3.0 PORTS A AND C даташита. Оказывается что после сброса (старта) они подключены. Т.е. необходимо включить после дэфайнов WPUA = %00000000 если не требуется индивидуальная подтяжка.
"Хороший" контроллер вы выбрали - там еще и компаратор попаскудит, зато если разберетесь - остальные легко пойдут.
skiip Дата: Ср, 20.01.2016, 01:40  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

До сих пор удивляюсь, что почиму вы в ветке форума PicBasic. Нет ответа так молчите. На мой вопрос ответят более компитентные люди. А полный экзешник . Скачать на главной странице сайта. Ну или по гугли.

skiip
anatol Дата: Ср, 20.01.2016, 08:53  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 14   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

skiip, сожалею что с неграмотным и дураком связался.
skiip Дата: Чт, 21.01.2016, 10:14  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

Ваша реплика вам к лицу. Не чего толкового и вразумительноговы и сказать не можете. Заметьте ни я начал.
Я думаю, админ позаботится о вас и вашей бранью. Вы не в
пивнушке.


skiip
ivan_fd Дата: Чт, 21.01.2016, 12:09  |                                                                                                                Сообщение # 26
Группа: Модераторы
Ранг:  Специалист
Сообщений: 899
Репутация: 47   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

skiip,  просьба выражаться ясно, а то мало, что понятно что конкретно у вас не работает.
Так же Вы не написали какой компилятор используете.

И все же вот Вам рабочий пример. Компилятор PBPX 3.0.1.1
Прикрепления: 2809350.zip(69Kb)


Меня все время преследуют умные мысли...но я быстрее!!!
MiXaS Дата: Чт, 21.01.2016, 14:04  |                                                                                                                Сообщение # 27
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 618
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

skiip, здесь не форум по магии торо! По Вашим не полным ответам никто гадать не будет.anatol,  дал дельный совет. Если Вы хотите решить свою задачу, я вижу 2 пути: 
1. Раскурить даташит и прописать ВСЕ регистры с необходимыми значениями.
2. Предоставить свой код, желательно с файлом протеуса.
anatol Дата: Чт, 21.01.2016, 14:54  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 550
Репутация: 14   ±
Замечания:   ±
На сайте с 10.02.2010

Статус: Offline

Просто стало интересно что может не работать. Переделал программу под Протон и ...ошибок в программе несколько. Без комментариев. Программы под этот проц также не будет.
Прилагаю хекс и протеусовский файл ТС.
Желательно в Протеусе уменьшить частоту проца - не будет горчичников - и указать хекс в качестве программы.
Прикрепления: volt.hex(2Kb) · AN2___2.dsn(97Kb)

Сообщение отредактировал anatol - Чт, 21.01.2016, 14:55
skiip Дата: Чт, 21.01.2016, 17:43  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

Не, ну ребята. НЕХ и вам я сам вручить могу. Разбирайтесь сами. Мне надо исходник.

Добавлено (21.01.2016, 17:43)
---------------------------------------------
Там же в архиве я всё дал. Исходник работает с NA3 другой AN2 с которым надо поработать.
есть результат на те


skiip
skiip Дата: Чт, 21.01.2016, 18:25  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Начал соображать
Сообщений: 26
Репутация: 0   ±
Замечания:   ±
На сайте с 24.12.2008

Статус: Offline

А, я обошелся малой кровью. Не изменяя печатной платы.Просто ставим перемычку на нужный порт и заливаем программу, какую надо. И из
термометра делаем вольтметр. Можно и программно сделать и то и это. Отображать
будем по ХХ секунд, сколько надо вольт/температура. Температуру можно и в
четырех точках (в будущем) по одной линии.
В архиве печатка, исходник, проект в протеусе.

Добавлено (21.01.2016, 17:46)
---------------------------------------------
anatol, Исходник есть?

Добавлено (21.01.2016, 17:50)
---------------------------------------------
Что то не пойму. Как еще обьяснить. В архиве программа исходник в пикбэйсике. Она работает на AN3. другой файл. В нём хочу задействовать AN2. Проект в протеусе тоже лежит в архиве. Может надо hex. Но ребята, как вы увидите то что надо. Задействуйте AN2.

Добавлено (21.01.2016, 17:56)
---------------------------------------------
ivan_fd, Вот это да ааа. И всё так просто?. Буду наслождаться и разбираться. А почиму такого в моэм архиве файл "исходник..." она урезана? Ведь работает - же?

Добавлено (21.01.2016, 17:58)
---------------------------------------------
нет прилипла не та. Там в начале "volt"

Добавлено (21.01.2016, 18:15)
---------------------------------------------
БЛИН РЕБЯТА во косяк
НАШОЛ!!!!!!!!!!!!!!
   ADCIN 3,voltage       ' читаем аналоговую величину на выводе PORTA.4 канал АN3

Во как
   ADCIN 2,voltage       ' ÷èòàåì àíàëîãîâóþ âåëè÷èíó íà âûâîäå PORTA.4 êàíàë ÀN3

благодаря ivan_fd
и все проблемы решены!!
СПАСИБО!!!!!

Добавлено (21.01.2016, 18:25)
---------------------------------------------
bash Каюсь.. Сам дибил. Ну простите грешного. Развиваюсь с 84 на 676. С аналогом не работал.
Простите

Прикрепления: 5836951.7z(14Kb)


skiip
Форум Picbasic.ru » Программирование МК » PicBasicPro » АЦП на PIC16FХХ (Как использовать встроенный ацп в пике)
Страница 2 из 3«123»
Поиск: