Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > tiny2313 & mega8


Автор: Terapefft 10.11.2006, 11:42
Доброго времени суток господа!!
Подскажите пожалуйста начинающему....Передо мной стоит задача следующего характера: в оборудовании имеется плата индикации (на ней стоит tiny2313) и плата управления (на ней mega8). Недавно я переделывал прогу для тини2313 (раньше там использовался s1200). Сейчас стоит задача переделать немного прогу на мегу8....
Сейчас она управляет клапаном, т.е. при достижении клапаном определеного датчика (на 0,5 литра или на 1 л), он возвращается обратно, дозируя тем самым необходимое количество жидкости. Но для начальника показалось что такая конструкция устройства дорога, и он решил просто поставить насос, который будет дозировать следующим образом: включатся на некоторый промежуток времени (который можно будет изменять) и выключатся. Алгоритм работы я представляю: нужен регистр в который будет сохранятся введеное значение с платы индикации, потом это значение должно попасть в счетчик, и в самой програме после выставления флага  на включение насоса перейти на ПП обработки прерывания для выдержания насоса во включеном состоянии нужное количество времени. Посоветуйте пожалуйста как это все лучше сделать... Вот исходники программ

Автор: Terapefft 10.11.2006, 11:44
это для платы управления

Автор: PILOT 20.11.2006, 20:51
Цитата

Сейчас она управляет клапаном, т.е. при достижении клапаном определеного датчика (на 0,5 литра или на 1 л), он возвращается обратно, дозируя тем самым необходимое количество жидкости. 


Поясни, не понял: кто кого достигает? Про концевик чтоли речь?

С помощью насоса я честно говоря не уверен, что получится точно дозировать (хотя смотря какой насос). Я бы сделал просто:
1) проходит бутылка через оптрон, срабатывает прерывание (хотя тут можно и без них, т.к. задержка на 20 мс незаметна.
2) включается насос
3) запускается таймер заранее инициализированных на заданное время
4) срабатывает прерывание по таймеру, таймер отрубается и выключается насос,
5) выход из прерывания.

СУВ.

Автор: Terapefft 23.11.2006, 13:43
я сейчас сделал чтобы насос включался по такому же алгоритму как вы и написали, насос включается и отключается, но почему то время в течении которого он должен быть включен не изменяется непонятно почему....включается он в нужный момент а выключается просто когда заканчивается цикл. не могли бы посмотреть исходник? может что нибудь в счетчике сделал не так....

Автор: PILOT 25.11.2006, 18:07
Мне просто физически некогда расшифровывать 75 килобайт кода.

возможно неправильно загружаешь OCR, или где-то баг со стеком, или в прерывании изменяешь ключевые параметры, или не сохраняешь в стеке изменяемые параметры...

СУВ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)