07.08.2006, 22:10
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
|
|
|
Сказали "Спасибо" dosikus
|
|
|
07.08.2006, 22:33
|
|
Прописка
Регистрация: 02.05.2006
Сообщений: 171
Сказал спасибо: 97
Сказали Спасибо 43 раз(а) в 20 сообщении(ях)
|
Вам,ПМ,хочется прировнять прерывание к компаратору.Было бы обидно, еслиб запускалось прерывание как вам хочется - уж слишком серьёзна оно (непробовали ли в железе ?).
А если бы попробовать вашу нужду реализовать с помощью последовательной RC цепи,т.е. поключить нижний конец кондёра к порту В.0 и тогда (при условии.что проц имеет стабильные пороги срабатывания по входам):
а) держать лог. ноль на В.0,
б) при появлении сигн. на А.0 разрешыть прерывания,
в) прерывания запретить и измерять время,как долго на порте В.0 будет лог. "1",
г) вернуться в а).
Удачи .
|
|
|
|
07.08.2006, 23:19
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
А прерывания то работают.
Вот посмотри как ведет себя твоя прога при пиле
с разной амплитудой .Сторбы на RA0 говорят о том что
было прерывание.Кстати ты ими хотел разряжать кондер ?Все прерывания происходят при u на RB0 =2,5V.
-- Прилагается рисунок: --
Прикрепленный файл: 5964854.rar
|
|
|
Сказали "Спасибо" dosikus
|
|
|
08.08.2006, 00:13
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Так что вам надо менять обвязку.
А лучше почитать про принципы посторения АЦП.
Кста эта тема вроде есть в аппнот на МИКРОЧИПЕ.
|
|
|
Сказали "Спасибо" dosikus
|
|
|
08.08.2006, 20:13
|
|
Вид на жительство
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Казалось бы, чего тут непонятного? А ведь так никто не въехал в смысл проблемы. И проект выложил, и три раза толковал пространно... Всё, ухожу на курсы риторики и читаю Карнеги...
Если трудно понять мою схему, давай посмотрим твою пилу.
Этот опыт отличается от моего тем, что пила стартует от уровня 0-200 мВ (см свой скрин) и на уровне около 2,5 В наступает прерывание. Это так, это всегда так и и у меня это также. Но попробуй сделать так, чтобы пила стартовала не от 0 В, а от пьедестала более 0,5 В (я делал 1,0 1,5 2,0). Я это сделал. Получилось (в Proteus"е) следующее:
напряжение на входе INT0 растёт от (например 1 В) и достигает 2,5 В, и при этом распознается как установка лог 1 (краснеет точка около входа INT0), а прерывание не наступает.
Ну нельзя это объяснить гистерезисом входа и нежеланием читать даташиты. Это незадокументированный случай, глюк.
|
|
|
Сказали "Спасибо" zelanez
|
|
|
08.08.2006, 20:48
|
|
Гражданин KAZUS.RU
Регистрация: 21.02.2005
Сообщений: 685
Сказал спасибо: 14
Сказали Спасибо 84 раз(а) в 44 сообщении(ях)
|
По моему точно глюк. Наверное он вызван тем что программное определние 1-0 ведется по значению напряжение, а прерывание по перепаду с 0 на 1. Тут уж ни чего не поделаешь.
А вот вопрос будет ли твоя схема работать в реальных условиях. Точнее работать будет вот только на сколько точно? Ведь граница 1-0 чисто условная, в реальной жизни она колеблится в широких пределах, и на нее влияеет масса факторов (окр. температура, напр. пит., и т.д.)Это приведет к тому что при одинаковых условиях прирывания будут наступать в разное время.
Не проще компоратор использовать? Или я как все ничего не понял?
|
|
|
|
08.08.2006, 23:29
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от zelanez
|
Ну нельзя это объяснить гистерезисом входа и нежеланием читать даташиты. Это незадокументированный случай, глюк.
|
я думаю что протеус считает уровень сигнала "1" и обозначает его красным, а вто модель пика возможнотак не считает.
Я не знаю ДШ пика, но по АВРу я описал ситуацию с гитерезисом на стр 2 курса.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
Сказали "Спасибо" avr123-nm-ru
|
|
|
09.08.2006, 20:00
|
|
Вид на жительство
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Сообщение от Luzkov
|
По моему точно глюк.
Не проще компоратор использовать? Или я как все ничего не понял?
|
О! Приятно поговорить с понимающим человеком.
Именно на это я и хотел обратить внимание уважаемого сообщества. В железе пока не проверял, но сделаю это, как только выпадет свободная минутка.
Ну а если перейти к обсуждению самой схемы, то
разумеется, погрешность уровня переключения велика. Но для некоторых применений и такая сгодится. Зато как всё просто - минимальная конфигурация МК, минимум дополнительных элементов, программа совсем простенькая. Пускай будет.
|
|
|
Сказали "Спасибо" zelanez
|
|
|
11.08.2006, 19:20
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Мне все таки не понятно ваше упорное не желание
прочитать даташиты.
Мало того что ваша схема содержит грубейшие ошибки
(ВАША ПОПЫТКА РАЗРЯДИТЬ КОНДЕНСАТОР ЧЕРЕЗ RA0 ,ЧЕРЕЗ
ДИОД ШОТКИ,
вы еще собираетесь заставить цифровой вход работать в качестве компаратора .В даташите четко сказано
что на входе RB0 установлен тригер Шмитта ,
и прерывание происходит по ФРОНТУ или СПАДУ
импульса !
А не при достижении какого то уровня !
|
|
|
Сказали "Спасибо" dosikus
|
|
|
11.08.2006, 20:41
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Разницу в фиксации одного уровня и в переходе
с одного уровня на другой неужели так трудно понять !
Легче всего обвинять других в глупости тобишь
разработчиков в глюках программы...
|
|
|
Сказали "Спасибо" dosikus
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:38.
|
|