реклама на сайте
подробности

 
 
17 страниц V  « < 12 13 14 15 16 > »   
Reply to this topicStart new topic
> tiny2313 & mega8, посоветуйте плз
Wild007
сообщение Dec 12 2006, 15:37
Сообщение #196


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Инициализация INT1 должна быть:
Код
CLR RIN
LDI rin,1<<ISC11
OUT MCUCR,RIN

Такая форма записи позволяет ТОЧНО и ЛЮБОМУ контролировать, что ты пишешь в регистр, а у тебя:
Код
ldi rin,0b00000100
out mcucr,rin

настраивает на
Цитата
Any logical change on INT1 generates an interrupt request

Смотри DS стр.66


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 16:22
Сообщение #197


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



ну это понятно, я уже пробовал всякие варианты, все равно если датчик замкнут то насос не включается
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 12 2006, 16:51
Сообщение #198


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



щас пробовал в обработчике включать насос, нормально включается как тока прерывание происходит он прям сразу включается, а вот выключатся в обработчике он упорно не хочет...
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 12 2006, 17:07
Сообщение #199


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Смотри таблицу
Код
;Выводы дешифратора:
;включение:

там каката бяка и кроме тебя никто разобраться не сможет не имея перед глазами тот дешифратор каким управляет М/К smile.gif


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 13 2006, 11:44
Сообщение #200


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



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

ldi radr,gpop_0 ; развести поперечные губки
rcall decod

ldi radr,gprod_0 ; развести продольные губки
rcall decod

ldi radr,torm_0 ; отпустить тормоз
rcall decod
ldi radr,pc1_0 ; выключить счетчик
rcall decod
они как раз и стоят в конце рабочего цикла. Я поставил все эти команды в п/п обработки прерывания INT1:

cnt_int1:

push rin
in rin1,sreg ; запомнить регистр
push rin1



; inc cntdat
; cpi cntdat,$01
; brne NNN

ldi radr,gpop_0 ; развести поперечные губки
rcall decod

ldi radr,gprod_0 ; развести продольные губки
rcall decod

ldi radr,torm_0 ; отпустить тормоз
rcall decod
ldi radr,pc1_0 ; выключить счетчик
rcall decod


ldi radr,doza_0;отключить насос
rcall decod
sbr reg_flgs,0b00000001 ;флаг насоса
; clr cntdat

sbr svet,0b00010000 ; светить Т1
clr rin ; запрет прерывания
out gicr,rin

;NNN:
pop rin1 ;
out sreg,rin1
pop rin

reti

и теперь насос отключается сразу же как только я замкну датчик. У меня возникли следующие вопросы:
1. Можно ли как нибудь развязать эти команды и почему же все таки так получается?
2. Если в начале цикла датчик в замкнутом состоянии то насос не включается, хотя в п/п я запрещаю прерывание, почему так происходит???
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 13 2006, 12:01
Сообщение #201


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата
1. Можно ли как нибудь развязать эти команды и почему же все таки так получается?

Это и есть последовательность команд для твоего "дешифратора" smile.gif
Цитата
2. Если в начале цикла датчик в замкнутом состоянии то насос не включается, хотя в п/п я запрещаю прерывание, почему так происходит???

Привиди еще раз код инициализации INT1 и как включается прерывание, Может возникать ситуация, когда ты разрешаешь прерывание, а флаг в GIFR (INTF1) уже висит и сразу происходит прерывание и останавливается двигатель, поэтому можно, перед "включением" прерывания, прочитать регистр флагов и записать его обратно (сброс флагов производится ЗАПИСЬЮ 1 в соответствующий бит), и если бит установлен он "сам себя" сбросит smile.gif .

Сообщение отредактировал Wild007 - Dec 13 2006, 12:02


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 13 2006, 12:49
Сообщение #202


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



инициализация INT1:
CLR RIN
LDI rin,1<<ISC11
OUT MCUCR,RIN

потом в главном цикле:
ldi radr,doza_1 ; включить насос
rcall decod ;
cbr reg_flgs,0b00000001 ;

ldi rin,0b10000000
out gicr,rin
в прерывании :
clr rin ; запрет прерывания
out gicr,rin

А по поводу команд: раньше же когда упправлялось клапаном (там стояло два датчика), клапан же возвращался в исходное состояние при достижении нужного датчика, или эти команды так и будут выполнятся только последовательно??? разве нельзя ничего с этим поделать?
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 13 2006, 14:28
Сообщение #203


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата
А по поводу команд: раньше же когда упправлялось клапаном (там стояло два датчика), клапан же возвращался в исходное состояние при достижении нужного датчика, или эти команды так и будут выполнятся только последовательно??? разве нельзя ничего с этим поделать?

Для ответа на этот вопрос надо знать, хотя бы, схему "дешифратора" или алгоритм его работы. Я не люблю гадать на кофейной гуще smile.gif . Ты же сам пишешь
Цитата
клапан же возвращался в исходное состояние при достижении нужного датчика,

и из этого текста я делаю вывод, что, так называемое "выключение двигателя", выполнялось с помощию "дешифратора", а не програмно. Теперь, не зная алгоритма работы "дешифратора", ты пытаешься управлять чем-то не зная чем smile.gif smile.gif . Кто-то же создавал этот "дешифратор"? Если его найти тяжело, то надо просто похерить эту разработку и создавать новую с нуля. Будет быстрее и ИМХО тебе в "мелких деталях" помогут на этом форуме.


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 13 2006, 17:15
Сообщение #204


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



я вот попробовал прочиттать состояния регистра gifr и записать его обратно:
in rin,gifr
out gifr,rin

ldi rin,0b10000000
out gicr,rin
но все равно при замкнутом датчике не включается насос sad.gif и функция сравнения почему то не выполняется, которая в прерывании, а просто при замыкании датчика сразу выключается.
На счет "переписать прогу": мне к сожалению не дадут времени для этого sad.gif такая вот у нас хреновая контора...я уже просил выделить мне время для этого - сказали что нифига...
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 14 2006, 09:19
Сообщение #205


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата
но все равно при замкнутом датчике не включается насос и функция сравнения почему то не выполняется,

При "замыкании" датчика может возникнуть N мпульсов и количество может быть достаточно большим. Поэтому попробуй сравнение с 255.
А что на счет схемы "дешифратора"?


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 14 2006, 09:37
Сообщение #206


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



вот схема дешифратора (КР1533ИР30)

а вот таблица к нему, я вчера проверил, все вроде правильно
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 14 2006, 09:57
Сообщение #207


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



попробовал с 255 сравнивать, так при замкнутом датчике насос включается и тут же выключается, почему так?? ведь если я его замнкул и не размыкаю вроде никаких импульсов не должно поступать на контролер...
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 14 2006, 10:33
Сообщение #208


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Цитата
дешифратора (КР1533ИР30)

Это просто расширитель порта. И управление двигателем "доза" идет по ОТ1, туда пишется 0 или 1. И, если, там больше нет ни какой логики, то он должен включаться и выключаться без проблем.
Цитата
ведь если я его замнкул и не размыкаю вроде никаких импульсов не должно поступать на контролер...

Схема подключения твоя или переделал как я советовал?


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post
Terapefft
сообщение Dec 14 2006, 10:52
Сообщение #209


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052



управление насосом осуществляется по ОТ5, логики на плате больше нет никакой. Схема подключения через резистор (второй его конец на +5 В) и стабилитрон. Вы говорили еще про кондер, просто я не понял куда его вешать, на ногу контролера и на землю? А по поводу отключения насоса так и не понятно почему же он тогда выполняется после того как выполнятся некоторые команды?

а нет извините ошибся по поводу подключения: он такой как на рисунке, через резистор и стабилитрон (стабилитрон на землю)
Go to the top of the page
 
+Quote Post
Wild007
сообщение Dec 14 2006, 11:01
Сообщение #210


Местный
***

Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672



Да по ОТ5 я писал, но думал о своём smile.gif
Надо померять вольтметром уровни 0 и 1 на входе М/К с датчика. Возможно уровень "крутится" возле 2,5В. Если провода датчика проходят мимо силовых частей, возможна наводка на вход не "подпёртый" резистором пулап.


--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
Go to the top of the page
 
+Quote Post

17 страниц V  « < 12 13 14 15 16 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 01:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01539 секунд с 7
ELECTRONIX ©2004-2016