Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
Вот почитав и освежив память про СИ, понял, что в моей прошивке полная чушь написана. Циклов как таковых не в принципе, кроме while и то, зачем его туда прикрутил - понятия об правильности не имел Итак плата есть, но нужны доработки, код есть, но не тот.
Вот почитав и освежив память про СИ, понял, что в моей прошивке полная чушь написана. Циклов как таковых не в принципе, кроме while и то, зачем его туда прикрутил - понятия об правильности не имел Итак плата есть, но нужны доработки, код есть, но не тот. :x :(
|
|
|
|
Добавлено: 02 мар 2012, 15:30 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
добавлю бумажный вид
Вложения: |
11112121.jpg [ 187.75 КБ | Просмотров: 7635 ]
|
1111.rar [52.29 КБ]
Скачиваний: 858
|
добавлю бумажный вид
|
|
|
|
Добавлено: 01 мар 2012, 12:11 |
|
|
|
|
|
Заголовок сообщения: |
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. Читаю даташит, но пока мало что дал. И придется ждать любой помощи от Вас или хоть пинка в нужную сторону, с программированием еще слабоват, потому что есть вопросы на которые пояснения пока не нахожу... (простите за оффтоп...).
Тема до сих пор актуальна, появилось время, продолжу заниматься, ПП готова и спаяна, готовлю ПО под заливку в АВР-ку. думаю скоро девайс будет готов и пойдет на обкатку :lol:
[size=70]Добавил 1 марта 2012г.[/size]
Добрый день всем, с праздником весны всех! Вот отписываюсь по станку... Есть проблемы с составлением программы. ЕЕ написал, но так как нужно не работает, прошу помощи в разработке. У меня проблемы с циклами в проге, она работает только как что то одно. А надо: 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. Читаю даташит, но пока мало что дал.
И придется ждать любой помощи от Вас или хоть пинка в нужную сторону, с программированием еще слабоват, потому что есть вопросы на которые пояснения пока не нахожу... (простите за оффтоп...).
|
|
|
|
Добавлено: 20 фев 2012, 11:55 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
[quote="GetChiper"][quote="Noks st"]Спасибо за понимание, я все же новичок, но теперь возможно дан продвинутого новичка в программировании... в 4 пункте разрешение равно 4 Х разрешение энкодера - то есть не сто импульсов а 4*100 и тд так? или не прав?[/quote] Если энкодер выдает 100 импульсов на канал за полный оборот, то да, определяя направление вращения по обоим фронтам и обоим каналам получим 400 состояний энкодера (т.е. разрешающую способность равную 400).[/quote] Хм достаточно высокая! Спасибо за просвящение в этом вопросе учту в дальнейшем, следовательно, можно рассматривать вариант 200 состояний по 2 каналам в обе стороны вращения... Это уяснил, спасибо!
|
|
|
|
Добавлено: 28 сен 2011, 21:54 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
[quote="Noks st"]Спасибо за понимание, я все же новичок, но теперь возможно дан продвинутого новичка в программировании... в 4 пункте разрешение равно 4 Х разрешение энкодера - то есть не сто импульсов а 4*100 и тд так? или не прав?[/quote] Если энкодер выдает 100 импульсов на канал за полный оборот, то да, определяя направление вращения по обоим фронтам и обоим каналам получим 400 состояний энкодера (т.е. разрешающую способность равную 400).
|
|
|
|
Добавлено: 28 сен 2011, 18:58 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
[quote="ewgeny"]Если тены пляшут - может выручить механика+оптика. Например, представь, что тены уже вставлены, на станине за тенами закреплена пластинка с фотодатчиком. Ты опускаешь рукой эту пластинку, она ложится на тены. Запускаешь машину. Как только тены "проедут", пластинка поворачиваясь падает на "полшестого", при этом от нее срабатывает фотодатчик. Поднимаешь пластину вверх, можно снова заряжать тен. Неудобно, зато никакие "танцы" не страшны.
Вариант 2. Датчик крепишь на кронштейне у прижимного валика, но практически впритык. Пускай тены гуляют, но у самого валика они один фиг по-любому увидятся фотодатчиком.[/quote]
Прибил бы наших механиков, да жаль люди, не одобрил никто из них механическое вмешательство блин! :( А фсе мне только такают, не морочь нам мосг, ёп... И остался я всё там же, измеряем инкремент. датчиком, нажимая на кнопку вручную прокручиваем тэн до нужного конца, нажимаем сохранить, а после этого вставляем такие же тэны и крутим, кстати реверс, можно убрать, я им объяснил, что клапан опускаясь, сам разжимает заготовку, остается только установка в ноль и все, а кнопка сброс имеет место для текущего значения(сбросили и накрутили новую вручную), запомнили и т.д. Можно убрать кнопки установки оборотов, оставить - (клапан вверх, клапан вниз, мотор вперед, мотор назад) -ручное управление, сохранить, сбросить, установка в 0, старт, и красный гриб экстренного стопа. Можно дополнить выбросив индикатор, а поставив жк, хорошая штука, сейчас сижу даташит изучаю, контроллер внутри, я так понимаю, должен быть определенный (HD44780 ?)
|
|
|
|
Добавлено: 28 сен 2011, 14:47 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
Если тены пляшут - может выручить механика+оптика. Например, представь, что тены уже вставлены, на станине за тенами закреплена пластинка с фотодатчиком. Ты опускаешь рукой эту пластинку, она ложится на тены. Запускаешь машину. Как только тены "проедут", пластинка поворачиваясь падает на "полшестого", при этом от нее срабатывает фотодатчик. Поднимаешь пластину вверх, можно снова заряжать тен. Неудобно, зато никакие "танцы" не страшны.
Вариант 2. Датчик крепишь на кронштейне у прижимного валика, но практически впритык. Пускай тены гуляют, но у самого валика они один фиг по-любому увидятся фотодатчиком.
Если тены пляшут - может выручить механика+оптика. Например, представь, что тены уже вставлены, на станине за тенами закреплена пластинка с фотодатчиком. Ты опускаешь рукой эту пластинку, она ложится на тены. Запускаешь машину. Как только тены "проедут", пластинка поворачиваясь падает на "полшестого", при этом от нее срабатывает фотодатчик. Поднимаешь пластину вверх, можно снова заряжать тен. Неудобно, зато никакие "танцы" не страшны.
Вариант 2. Датчик крепишь на кронштейне у прижимного валика, но практически впритык. Пускай тены гуляют, но у самого валика они один фиг по-любому увидятся фотодатчиком.
|
|
|
|
Добавлено: 28 сен 2011, 14:21 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
[quote="ewgeny"]Докачалось видео и фото, посмотрел. Попутно 264 коробки с мед.препаратами спустили со второго этажа на первый :) Почесал репу над видео, и показалось мне что проще будет поставить индукционный датчик под проходящими тенами (чтобы он "видел" конец тена), а обороты не считать нафиг вообще. После намотки тена понадобится только простенькая программка "опустить валик и повернуть намотку на 20 градусов". Возможно, я ошибаюсь, ибо специфики мог не понять до конца.[/quote] Жестоко,264 коробки. (ну всеже спустили не подняли :), как в армии сегодня катаем квадратное, завтра таскаем круглое :)) По поводу индукционного датчика, фоток не осталось жаль, когда-то справа от вала стоял плавающий лоток, в который закладывалась заготовка, тэна и снизу и с боку стояло 2 датчика: 1 - индукционный датчик с выводом транзисторного ключа, и оптический не помню какой, вот была беда чтоб заложить заготовку нет проблем, а вот удержать ее в лотке, вобщем "пляшущие ноги" тэна постоянно давали сбой, поэтому решили мерить количеством оборотов, хотя сейчас пойду к механикам, можт они просветят меня побольше, если дадут отрицательный ответ, чтож буду сам плясать :)
|
|
|
|
Добавлено: 28 сен 2011, 13:48 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
Докачалось видео и фото, посмотрел. Попутно 264 коробки с мед.препаратами спустили со второго этажа на первый Почесал репу над видео, и показалось мне что проще будет поставить индукционный датчик под проходящими тенами (чтобы он "видел" конец тена), а обороты не считать нафиг вообще. После намотки тена понадобится только простенькая программка "опустить валик и повернуть намотку на 20 градусов". Возможно, я ошибаюсь, ибо специфики мог не понять до конца. Насчет LCD - там всё гораздо проще, чем семисегментники. Подключаем библиотеку, а далее примерно так: lcd_init(); - запускаем библиотеку lcd_clear(); - и так понятно lcd_putchar(букафка); - печатаем символ lcd_puttext("у попа была сабака, вах!"); - понятно lcd_coord(x,y); - тоже не китайская грамота. Названия функций я написал от балды, в разных библиотеках они по разному называются, но суть у всех вариантов примерно одинакова. У CodeVision одна такая библиотека даже встроена в компилятор, при создании/изменении проекта можно дать компилятору указание включить ее. Понадобится только назначить лапы МК, куда будет прикошачиваться LCD. Для работы LCD нужно 4 ноги данных и 3 ноги управления. Обычно всех их сажают на один порт.
Докачалось видео и фото, посмотрел. Попутно 264 коробки с мед.препаратами спустили со второго этажа на первый :) Почесал репу над видео, и показалось мне что проще будет поставить индукционный датчик под проходящими тенами (чтобы он "видел" конец тена), а обороты не считать нафиг вообще. После намотки тена понадобится только простенькая программка "опустить валик и повернуть намотку на 20 градусов". Возможно, я ошибаюсь, ибо специфики мог не понять до конца.
Насчет LCD - там всё гораздо проще, чем семисегментники. Подключаем библиотеку, а далее примерно так:
lcd_init(); - запускаем библиотеку lcd_clear(); - и так понятно lcd_putchar(букафка); - печатаем символ lcd_puttext("у попа была сабака, вах!"); - понятно lcd_coord(x,y); - тоже не китайская грамота.
Названия функций я написал от балды, в разных библиотеках они по разному называются, но суть у всех вариантов примерно одинакова. У CodeVision одна такая библиотека даже встроена в компилятор, при создании/изменении проекта можно дать компилятору указание включить ее. Понадобится только назначить лапы МК, куда будет прикошачиваться LCD. Для работы LCD нужно 4 ноги данных и 3 ноги управления. Обычно всех их сажают на один порт.
|
|
|
|
Добавлено: 28 сен 2011, 13:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: Микропроцессорное управление станком |
Цитата |
|
- это фото
- видюха отдельно
[url=http://narod.ru/disk/26609875001/%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%20%D0%BD%D0%B5%20%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2..jpg.html]профили не корректиров..jpg[/url] [url=http://narod.ru/disk/26609852001/%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8.jpg.html]профили.jpg[/url] [url=http://narod.ru/disk/26609821001/%D0%BD%D0%B0%20%D1%84%D0%BE%D1%82%D0%BE%20%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5%20%D0%BA%D0%BE%D0%BB-%D0%B2%D0%BE%204%20%D0%B2%D0%B8%D1%82%D0%BA%D0%B0.jpg.html]на фото максимальное кол-во 4 витка.jpg[/url] - это фото [url=http://narod.ru/disk/26610389001/28092011056.mp4.html]28092011056.mp4[/url] - видюха отдельно
|
|
|
|
Добавлено: 28 сен 2011, 12:42 |
|
|
|
|