Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » Пишем программу для Вольтметра 0-30Вольт (Простой вольтметр на PIC16f676 (PIC16f73?))
Пишем программу для Вольтметра 0-30Вольт
доцент2 Дата: Ср, 11.01.2012, 22:19  |                                                                                                                Сообщение # 16
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

забыл добавить схему и прошивку
Прикрепления: 2067251.rar (37.5 Kb)
ivan_fd Дата: Чт, 12.01.2012, 12:41  |                                                                                                                Сообщение # 17
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Отключите от входа все и подайте напряжение с рег. блока. Если батарейка которую Вы подключали имела действительно ровно 3В и Вы правильно ее подключили, то должно показать 23.9 в.
Сообщение отредактировал ivan_fd - Чт, 12.01.2012, 12:41
доцент2 Дата: Чт, 12.01.2012, 17:11  |                                                                                                                Сообщение # 18
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

подключил на прямую к АЦП при 3в показания 23.9
при 2.4в показания 19.6
т.е. АЦП работает. Еще в програмку добавил OPTION_REG=%10000000 - отключил подтягивающие резисторы, результат тот же.
с делителем показания то же изменяются но не так как задумано. при 3в показания увеличиваются на 0.1 при подключении трех батареек примерно 0.6. А при свободных выводах АЦП или делителя с конденсатором в 0.1мк показывает 5.9. при замыкании входа АЦП на массу показания 0.0.

Добавлено (12.01.2012, 17.11.43)
---------------------------------------------
замерил напряжение непосредственно на входе pin3 АЦП с подключенным делителем оно составляет 0.74в, что соответствует показаниям 5.9
при отключенном делителе напряжение на pin3 составило 2.44в. Интересно откуда оно там берется, если канал АЦП настроен как вход и отключены подтягивающие резисторы и как от него избавиться? может я не правильно настроил АЦП?

ivan_fd Дата: Чт, 12.01.2012, 17:15  |                                                                                                                Сообщение # 19
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Да АЦП работает нормально, у Вас что то с делителем не то.
Сделайте вот так.
доцент2 Дата: Пт, 13.01.2012, 21:09  |                                                                                                                Сообщение # 20
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

вместо делителя поставил переменник на 10к, но результат не впечатлил:
при свободных концах входа показания 5.9
при подключении батарейки 3в показания 6.2
2х батареек 6в показания 6.5
3х батареек 9в показания 6.8
т.е. показания 0.0 только при замыкании непосредственно входа АЦП на массу. может в расчетах сразу вычитать 5.9 и умножать на 10?
Но мне все таки непонятно почему на входе АЦП присутствует напряжение.

Добавлено (13.01.2012, 21.09.42)
---------------------------------------------
прочитав в десятый раз даташит заметил ошибку. при настройке конфигурации я включил внутренний генератор INTOSC при этом вывод который был взят как вход АЦП выдавал частоту генератора/2 и одновременно выполнял роль входа. При назначении генератора как INTOSCIO все заработало отлично. Остается только правильно принять значения сопротивлений в делителе и все. спасибо за участие.

Прикрепления: 4534255.jpg (3.3 Kb)

Сообщение отредактировал доцент2 - Чт, 12.01.2012, 20:40
Gysmi Дата: Пт, 13.01.2012, 21:11  |                                                                                                                Сообщение # 21
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 48
Репутация: 0   ±
Замечания:   ±
На сайте с 23.12.2011

Статус: Offline

доцент,попробуй другую программу для проверки...
Я пока пробую работать с портом А в PIC16f73.
Например я хочу работать с портом RA5,мигание светодиодом,с портами RA1,RA2 идёт нормально,а с портом RA5 Протеус ругается...
Symbol LED=PORTA.5
ADCON1=6 ; цифровые
TRISA=%00000 ; ПортА на выход

Сообщение отредактировал Gysmi - Пт, 13.01.2012, 21:13
ЯНДЕКС Дата: 13.01.2012
доцент2 Дата: Сб, 14.01.2012, 10:07  |                                                                                                                Сообщение # 22
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

у меня в протеусе нет pic16f73 ?!. версия 7.7sp2.
скинте модельку.
попробуйте ADCON1=7

Сообщение отредактировал доцент2 - Сб, 14.01.2012, 10:36
Gysmi Дата: Сб, 14.01.2012, 10:41  |                                                                                                                Сообщение # 23
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 48
Репутация: 0   ±
Замечания:   ±
На сайте с 23.12.2011

Статус: Offline

Доцент2,да PIC16c73b ставлю в Протеус(У меня такая-же версия)
Просто светодиод с резистором с порта RА5 на землю,мигание
А что мы изменяем с помощью регистра ADCON1=7?
А у порта RA4 вроде открытый сток?

Сообщение отредактировал Gysmi - Сб, 14.01.2012, 10:54
Gysmi Дата: Сб, 14.01.2012, 12:15  |                                                                                                                Сообщение # 24
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 48
Репутация: 0   ±
Замечания:   ±
На сайте с 23.12.2011

Статус: Offline

Нашёл регистр,как понимать 11x ? Это сколько будет?
---------------------------------------------
Показал стрелкой
Прикрепления: 5028892.jpg (87.0 Kb)

Сообщение отредактировал Gysmi - Сб, 14.01.2012, 12:17
retas Дата: Сб, 14.01.2012, 14:54  |                                                                                                                Сообщение # 25
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

В данном случае это значит что нулевой бит может быть любым (0 или1).
Gysmi Дата: Сб, 14.01.2012, 16:58  |                                                                                                                Сообщение # 26
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 48
Репутация: 0   ±
Замечания:   ±
На сайте с 23.12.2011

Статус: Offline

Ага,понял

Добавлено (14.01.2012, 16.58.18)
---------------------------------------------
Протеус выдаёт ошибку
"[PIC16] PC=0x0000 Processor has been reset by watchdog timer expiring at time 2.304000

ivan_fd Дата: Вс, 15.01.2012, 12:57  |                                                                                                                Сообщение # 27
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Ну и что в этой ошибке не понятно? Происходит сброс процессора по сторожевому таймеру.
Gysmi Дата: Вс, 15.01.2012, 16:54  |                                                                                                                Сообщение # 28
Группа: Проверенные
Ранг:  Пытаюсь разобраться
Сообщений: 48
Репутация: 0   ±
Замечания:   ±
На сайте с 23.12.2011

Статус: Offline

А почему это происходит? Как заставить работать порт RA5 на выход? Почему стал срабатывать сторожевой таймер?Похоже мешается "SPI slave select input."
Pin7-RA5/AN4/SS
Простая схема-светодиод с резистором на землю с RA5...(Мигание)
Прикрепления: 0972479.jpg (234.3 Kb) · 6771181.jpg (204.0 Kb) · 0330547.jpg (86.2 Kb)

Сообщение отредактировал Gysmi - Вс, 15.01.2012, 20:33
доцент2 Дата: Вс, 15.01.2012, 23:55  |                                                                                                                Сообщение # 29
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 287
Репутация: 10   ±
Замечания:   ±
На сайте с 13.09.2011

Статус: Offline

Gysmi все работает отлично. вот простенький пример.

Добавлено (15.01.2012, 23.55.14)
---------------------------------------------

Quote (Gysmi)
Symbol LED=PORTA.5
ADCON1=6 ; цифровые
TRISA=%00000 ; ПортА на выход

канал RA5 является шестым, а у Вас TRISA=%00000 только до пятого (счет начинается с 0)
Прикрепления: _-2-.rar (12.9 Kb)
retas Дата: Пн, 16.01.2012, 13:11  |                                                                                                                Сообщение # 30
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 447
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Gysmi, на началных этапах настройки, отключите сторожевой таймер (в слове конфигурации).
Форум Picbasic.ru » Программирование МК » PicBasicPro » Пишем программу для Вольтметра 0-30Вольт (Простой вольтметр на PIC16f676 (PIC16f73?))
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: