http://forum.getchip.net/ |
|
Микропроцессорное управление станком http://forum.getchip.net/viewtopic.php?f=9&t=61 |
Страница 14 из 14 |
Автор: | Noks st [ 28 сен 2011, 21:54 ] |
Заголовок сообщения: | Re: Микропроцессорное управление станком |
Автор: | Noks st [ 20 фев 2012, 11:55 ] | ||||
Заголовок сообщения: | Re: Микропроцессорное управление станком | ||||
Тема до сих пор актуальна, появилось время, продолжу заниматься, ПП готова и спаяна, готовлю ПО под заливку в АВР-ку. думаю скоро девайс будет готов и пойдет на обкатку Добавил 1 марта 2012г. Добрый день всем, с праздником весны всех! Вот отписываюсь по станку... Есть проблемы с составлением программы. ЕЕ написал, но так как нужно не работает, прошу помощи в разработке. У меня проблемы с циклами в проге, она работает только как что то одно. А надо: 1- при включении станка, проверяем стоИт ли ось в начальном положении.(если да то стоим, если нет крутим до начала) 2- при нажатии кнопок с индексом ru чтобы соблюдалась последовательность действий: клапан вверх(с фиксацией положения), задержка в 2 сек на подъем клапана,вот эта часть должна выполняться до нажатия клавиши клапан вниз (мотор по час(без фиксации), мотор против час (без фиксации),после полной остановки двиг-я запоминаем значение с энкодера (незнаю куда сохранить лучше?)), ждем нажатия клавиши клапан вниз (с фиксацией положения), ждем 2 сек спуск клапана. Все реле, кроме клапан вниз сбрасываются. 3- Ждем нажатия клавиши установка в 0. Крутим двигатель в любую сторону до срабатывания по фазе Z энкодера (она у него выдает на всем протяжении периода 1 оборота только 1 и в начале каждого оборота дает 0- думаю эту единицу использовать как начало координат, то есть она 0 обозначать должна (расчет и проверка энкодера дана с учетом оптопары - инвертора(поставил для согласования напряжений 5в и 12в), т.е. на энкодере на фазах все наоборот)). 4- Ждем нажатия кнопки авто (старт),поднимаем клапан, ждем 5 сек, ждем опять нажатие кнопки авто (старт), включаем двигатель, считываем значения с энкодера и сравниваем с запомненным, как только равны - стоп двигатель, ждем 1 сек (технологически требуется), опускаем клапан вниз, ждем 2 сек, ждем нажатие кнопки установка в 0, нажали выполняем 3 пункт. Останавливаемся, ждем нажатия кнопки авто (старт), выполняем 4 пункт заново. 5- Если нажата любая кнопка из ручного управления (ru m po, ru m pr, ru kl up, ru kl dn) при условии что режим авто и установка в 0 не выполняются в данный момент, сбрасываем значение запомненное с энкодера предыдущее в 0 и блокируем кнопку авто (старт), выполняем 1 пункт и 2 пункт и далее по пунктам. В архивах схема станка в диптрейсе (как есть она сейчас) там нужна будет корректировка для подачи фазы А или В на общее прерывание по порту Е (INT2). Подготовил выводы под подключение дисплея для вывода значений с энкодера и текущего состояния станка (но как это сделать еще не придумал ???). Добавлю щас чертеж одного полного оборота энкодера со всех трех фаз...в протеусе(такие же сигналы и в реале). Набросал прошивку, но не получилась, и да как прикрутить в случае зависания контроллера WATCHDOG. Читаю даташит, но пока мало что дал. И придется ждать любой помощи от Вас или хоть пинка в нужную сторону, с программированием еще слабоват, потому что есть вопросы на которые пояснения пока не нахожу... (простите за оффтоп...).
|
Автор: | Noks st [ 01 мар 2012, 12:11 ] | |||
Заголовок сообщения: | Re: Микропроцессорное управление станком | |||
добавлю бумажный вид
|
Автор: | Noks st [ 02 мар 2012, 15:30 ] |
Заголовок сообщения: | Re: Микропроцессорное управление станком |
Вот почитав и освежив память про СИ, понял, что в моей прошивке полная чушь написана. Циклов как таковых не в принципе, кроме while и то, зачем его туда прикрутил - понятия об правильности не имел Итак плата есть, но нужны доработки, код есть, но не тот. |
Страница 14 из 14 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |