Ozumandia
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 3
|
||||||
1 | ||||||
Создать устройство автоматического наполнения воды в ёмкости с 1 концевым датчиком30.04.2015, 20:15. Просмотров 793. Ответов 4
Метки нет Все метки)
(
Доброго времени суток!
Хочу создать устройство автоматического наполнения воды в ёмкости с 1 концевым датчиком (для поддержания воды на определенном уровне). Написал код на Assembler в AVR Studio(4), сэмулировал схему в Proteus 7.7 Всё бы ничего, да только после нескольких переключений ключа ( симулирует датчик ) программа начинает капризничать, подскажите, пожалуйста в чём может быть дело? Схему датчика брал в книге Рюмика С.М. 1000 и одна микросхема 1 выпуск (скрин прилагается в архиве) Светодиод в схеме - эмуляция насоса Код программы на языке Assembler
0
|
|
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
30.04.2015, 20:15 |
Ответы с готовыми решениями:
4
Алгоритм и реализация автоматического учета расхода воды Устройство автоматического контроля заряда-разряда АКБ Устройство для принудительной конвекции воды в трубах малого диаметра В посуде А (c) литров воды, в посуде В (х) литров воды. Из А сосуды вылили половину воды в сосуд В , потом из |
Ethereal
8380 / 2347 / 317
Регистрация: 17.02.2013
Сообщений: 3,391
|
|
01.05.2015, 16:48 | 2 |
Последовательно со светодиодом поставь сопротивление ом сто. А то нехорошо как-то процессор током насиловать.
У тебя выход из прерывания то по reti, то по ret. Таков замысел ?
0
|
Ozumandia
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 3
|
|
02.05.2015, 09:11 [ТС] | 3 |
В реальной схеме к светодиоду, бесспорно, поставлю резистор, просто в протеусе он особой роли не играет, кроме как изменения яркости (ну насколько я знаю, может и ошибаюсь).
В коде команда ret - возврат из подпрограммы к следующей строке после перехода к метке а reti - выходит из подпрограммы обработки прерывания. P.S. Поставил резистор, изменилась только яркость светодиода, а программа по прежнему капризничает (после 9 размыканий ключа сигнал не проходит, на 11 размыкании снова работает). Добавлено через 15 часов 26 минут Нашёл интересный момент, если изменить ёмкость конденсатора с 1nF на любую другую, программа вообще начинает неадекватно работать, не подскажете в чём может быть проблема? (В книге указана ёмкость 0,1...1 так, обычно, микрофарады указывают, но схема в протеусе только с нанофарадами работает)
0
|
Ethereal
8380 / 2347 / 317
Регистрация: 17.02.2013
Сообщений: 3,391
|
|
02.05.2015, 14:08 | 4 |
![]() Решение
Еще и спорит. Ты на OnPortDiode по rjmp прыгаешь, а не по rcall. Поэтому у тебя не возврат из подпрограммы, а выход из обработчика прерывания по ret происходит. С запрещением дальнейших прерываний навсегда.
Добавлено через 8 минут В топку протеус. Костыли мозга. Изыди сатана !!! У тебя при нажатии кнопки конденсатор начинает разряжаться через сопротивление R2. Постоянная времени этого разряда RC = 1Мом * 1нф = 1 секунда. Где ты видел кнопки, которые нужно было бы удерживать целую секунду ? Это же будет писец как неудобно. Уменьши все сопротивления R2 R3 RV2 в схеме до 100 килоом, что-ли. Добавлено через 11 минут Для защиты от помех сопротивления меньше, конденсатор больше. 10 ком и 10 нф - вот это уже более-менее прилично выглядит. Это при условии, что нет промышленных помех. Только бытовые. Добавлено через 6 минут Если возможны промышленные помехи, т.е рядом с твоей схемой могут включить сварочный аппарат, то 2.2 ком и 0.047 мкф. И сопротивление R4 тоже 2.2 ком. И схему (особливо процессор) закрыть экраном. Коробочку металлическую запаять сверху. Вот в таком вот аксепте. Безо всякого протеуса.
1
|
Ozumandia
0 / 0 / 0
Регистрация: 25.01.2015
Сообщений: 3
|
|
02.05.2015, 19:42 [ТС] | 5 |
Код
[quote="Ethereal;7559373"]Еще и спорит. Ты на OnPortDiode по rjmp прыгаешь, а не по rcall. Поэтому у тебя не возврат из подпрограммы, а выход из обработчика прерывания по ret происходит. С запрещением дальнейших прерываний навсегда.[/quote] ![]()
0
|
02.05.2015, 19:42 | |
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
02.05.2015, 19:42 |
Возможно ли создать программу для автоматического заполнения форм на qt? JavaScript Создать веб-страницу для перелистывания и автоматического просмотра картинок Напишите программу, которая вычисляет количество капель и молекул воды в N гранёных стаканах воды. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |