Автоматизация с помощью энкодера
-
- Новичок
- Сообщения: 32
- Зарегистрирован: 22 сен 2015, 14:36
- Репутация: 0
- Настоящее имя: Егор Терехов
- Контактная информация:
Автоматизация с помощью энкодера
всем добрый день. Вновь прошу помощи у гуру. Есть рабочий станок для художественной ковки: как мне повторить автоматику, чтобы исполнить те же задачи на других станках?
Нужно автоматизировать процесс так, чтобы оператор поворачивал стол на определенный угол и в определенную сторону не «Держа кнопку нажатой» и на глаз, а один раз нажав кнопку и стол сам поворачивается на заданный угол.
Желательно, чтобы все это где-то запоминалось, как отдельная программа и в любой момент можно было выбрать другую программу.
Надеюсь, я смог понятно объяснить.
При этом программа должна выполняться один раз а потом поворачивать стол в заданное нулевое положение.
Чтобы было понятнее, попробую описать видение готовой программы:
Пример 1: жмем «Пуск» – стол поворачивается на 90⁰ и останавливается, жмем опять «Пуск» – стол поворачивается еще на 100⁰ и останавливается, жмем опять «Пуск» – стол поворачивается еще на 70⁰ и тут же поворачивается на 10⁰ в обратную сторону, жмем «Реверс» – стол поворачивается в обратном направлении до нулевой точки.
Пример 2: жмем «Пуск» – стол поворачивается на 110⁰ и останавливается, жмем опять «Пуск» – стол поворачивается еще на 60⁰ и тут же поворачивается на 10⁰ в обратную сторону, жмем «Реверс» – стол поворачивается в обратном направлении до нулевой точки.
Вот что я увидел при "вскрытии" станка:
1) на выходной вал ременной передачи посажены два оптических датчика (входной и выходной, видимо) Они реагируют на положения некоего подобия крыльчатки - на фото показана.
2) на выходной вал редуктора тоже посажен оптический датчик. к этому же валу прикреплено два железных лепестка, которые как-то выступают прерывателями датчиков, при вращении они проходят между половинами датчика.
3) все провода ведут в "белую коробочку", вскрытие которой показало, что все состоит из малопонятных мне транзисторов и предохранителей, причем у меня сложилось ощущение, что большая часть из них давно уже не выпускается.
4) Возможно, это и есть то самое "Ардуино", просто я честно в этом не понимаю - у меня задача повторить так, чтобы работало.
Эпицентром коробочки является большой черный процессор ( а я полагаю, что это именно процессор) и рядом с ним маленький блок памяти (опять же я только предполагаю). Возможно ли как-то выцепить с них готовую программу и приладить ее к современному ПЛК?
Очень прошу Вас мне помочь - вопрос стоит очень остро...
Нужно автоматизировать процесс так, чтобы оператор поворачивал стол на определенный угол и в определенную сторону не «Держа кнопку нажатой» и на глаз, а один раз нажав кнопку и стол сам поворачивается на заданный угол.
Желательно, чтобы все это где-то запоминалось, как отдельная программа и в любой момент можно было выбрать другую программу.
Надеюсь, я смог понятно объяснить.
При этом программа должна выполняться один раз а потом поворачивать стол в заданное нулевое положение.
Чтобы было понятнее, попробую описать видение готовой программы:
Пример 1: жмем «Пуск» – стол поворачивается на 90⁰ и останавливается, жмем опять «Пуск» – стол поворачивается еще на 100⁰ и останавливается, жмем опять «Пуск» – стол поворачивается еще на 70⁰ и тут же поворачивается на 10⁰ в обратную сторону, жмем «Реверс» – стол поворачивается в обратном направлении до нулевой точки.
Пример 2: жмем «Пуск» – стол поворачивается на 110⁰ и останавливается, жмем опять «Пуск» – стол поворачивается еще на 60⁰ и тут же поворачивается на 10⁰ в обратную сторону, жмем «Реверс» – стол поворачивается в обратном направлении до нулевой точки.
Вот что я увидел при "вскрытии" станка:
1) на выходной вал ременной передачи посажены два оптических датчика (входной и выходной, видимо) Они реагируют на положения некоего подобия крыльчатки - на фото показана.
2) на выходной вал редуктора тоже посажен оптический датчик. к этому же валу прикреплено два железных лепестка, которые как-то выступают прерывателями датчиков, при вращении они проходят между половинами датчика.
3) все провода ведут в "белую коробочку", вскрытие которой показало, что все состоит из малопонятных мне транзисторов и предохранителей, причем у меня сложилось ощущение, что большая часть из них давно уже не выпускается.
4) Возможно, это и есть то самое "Ардуино", просто я честно в этом не понимаю - у меня задача повторить так, чтобы работало.
Эпицентром коробочки является большой черный процессор ( а я полагаю, что это именно процессор) и рядом с ним маленький блок памяти (опять же я только предполагаю). Возможно ли как-то выцепить с них готовую программу и приладить ее к современному ПЛК?
Очень прошу Вас мне помочь - вопрос стоит очень остро...
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Автоматизация с помощью энкодера
Если разработчик не заблокировал мк, то прошивку из микроконтроллера достать легко, и залить в другие мк, если нужно изменить код, добавить функциональность, то это сложно, т.к. прошивка в виде машинных кодов, и переделка уже сложнее
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Новичок
- Сообщения: 32
- Зарегистрирован: 22 сен 2015, 14:36
- Репутация: 0
- Настоящее имя: Егор Терехов
- Контактная информация:
Re: Автоматизация с помощью энкодера
На передней панели есть что-то наподобие гнезда для ключа как от домофона. Мог ли он этим заблокировать микроконтроллер?
Код мне менять необязательно, мне нужно по сути скопировать это все дело. Реально ли достать прошивку и залить ее в память ПЛК? Ни разу такое делать не приходилось?
Код мне менять необязательно, мне нужно по сути скопировать это все дело. Реально ли достать прошивку и залить ее в память ПЛК? Ни разу такое делать не приходилось?
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Автоматизация с помощью энкодера
Нет, в плк не получиться, машинные коды в прошивке конкретно для мк атмега16
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Автоматизация с помощью энкодера
Нет, заблокировать мк, что-бы нельзя было скопировать прошивку, можно только в момент программирования мк через программатор.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Новичок
- Сообщения: 32
- Зарегистрирован: 22 сен 2015, 14:36
- Репутация: 0
- Настоящее имя: Егор Терехов
- Контактная информация:
Re: Автоматизация с помощью энкодера
Только в аналогичную структуру Ардуино? Это хоть точно оно, а то я и тут могу напутать...
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Автоматизация с помощью энкодера
Насчет ардуины не скажу, т.к. не встречал модель с мк атмега16, а модель например атмега 168 которая применяется в ардуинах немного отличается, и прошивка в ней может не заработать.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
-
- Мастер
- Сообщения: 204
- Зарегистрирован: 27 сен 2014, 07:59
- Репутация: 37
- Контактная информация:
Re: Автоматизация с помощью энкодера
Если коротко, то дураков нынче уже нет, рассчитывать на то, что прошивка не защищена наивно, мягко говоря.ESTerekhov писал(а):... мне нужно по сути скопировать это все дело. Реально ли достать прошивку и залить ее в память ПЛК? Ни разу такое делать не приходилось?
Повторить без прошивки - это заново все спроектировать, при этом, имея ввиду работу не одиночного станка, а линейки, проект может и отличаться от исходного.
Imho, если нужно быстро, следует связаться с изготовителем и купить требуемое количество комплектов электроники (механика, как я понял, уже есть).
Все остальные пути будут существенно медленнее.
В стартовом посте нет важных деталей, например, нет описания двигателя, который там стоит? Постоянного тока, переменного? Напряжение его питания и мощность и т.п.
Судя по картинкам, двигатель через ремень крутит шкив с энкодером на его валу, а уж вал этого шкива через редуктор крутит стол.
В принципе, можно попробовать подключиться к энкодеру и читать с него направление вращения и угол, далее читалка управляет вращением двигателя на другом станке, считывая информацию с тамошнего энкодера и сравнивая ее с "эталонным". Только здесь сразу встанет вопрос неопределенности по углу: управление вторым станком всегда будет происходить с некоторой задержкой относительно первого, поэтому неизбежно встанет вопрос какое время отсутствия изменения состояния эталонного энкодера следует считать остановкой. Опять же реверс и т.п.
Сделать, наверняка можно, только это будет, скорее всего, не очень быстро и нужно иметь живой доступ к станкам. Так что, если пойдете таким путем, ищите спеца рядом с собой.
Другой путь - использовать один компьютер для управления всем "стадом". Этот путь перспективнее в смысле простоты наращивания "поголовья" и хранения программ.
Требует разработки новой электроники. Варианты исполнения могут быть разными, например:
1. контроллер на станке получает от компа задание - повернуть стол на указанный угол, по окончании поворота - дать ответ компу.
2. контроллер на станке включает двигатель в нужном направлении вращения и предоставляет компу информацию о текущем угле поворота, сигнал остановки в контроллер выдает сам комп.
...
Такие варианты позволят работать параллельно достаточно большому количеству станков.
Однако, повторюсь: все эти варианты небыстрые. И, скорее всего, обойдутся дороже покупки готовых контроллеров, аналогичных имеющемуся.
P.S. А оператор (художественной ковки) после промежуточного останова вращения что-то делает с железкой?
P.P.S. Визуально эта платка на ардуину не похожа и, скорее всего, это не ардуина. Ардуины любят "чайники" от электроники и программирования, или если совсем не хочется разводить плату.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: Автоматизация с помощью энкодера
Почему не заработает, если у другой атмеги памяти хватит заработает. Для этого нужно Arduino Hex Uploader and Programmer http://www.ngcoders.com/downloads/ardui ... programmer. Но сначала нужно достать НЕХ файл.selenur писал(а):Насчет ардуины не скажу, т.к. не встречал модель с мк атмега16, а модель например атмега 168 которая применяется в ардуинах немного отличается, и прошивка в ней может не заработать.
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: Автоматизация с помощью энкодера
По фотографии платы невозможно сказать. Если атмега работает без внешнего кварца то там нет никаких деталей кроме самой микросхемы. Она может подключаться через модуль FT232 к usb и работать в среде ардуино.bolek4321 писал(а): Визуально эта платка на ардуину не похожа
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Автоматизация с помощью энкодера
В микроконтроллере есть область памяти зарезервированная для хранения параметров микроконтроллера, например записывая значение в portC запись значения, происходит например в ячейку с адресом 0х0452.grakun писал(а):Почему не заработает, если у другой атмеги памяти хватит заработает. Для этого нужно Arduino Hex Uploader and Programmer http://www.ngcoders.com/downloads/ardui ... programmer. Но сначала нужно достать НЕХ файл.selenur писал(а):Насчет ардуины не скажу, т.к. не встречал модель с мк атмега16, а модель например атмега 168 которая применяется в ардуинах немного отличается, и прошивка в ней может не заработать.
В зависимости от модели микроконтроллера эти адреса могут отличаться, и в похожем микроконтроллере этот адрес может хранить например настройку usart, так что дело тут не в объеме памяти для прошивки
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- grakun
- Мастер
- Сообщения: 273
- Зарегистрирован: 30 сен 2015, 02:47
- Репутация: 53
- Настоящее имя: Гракун
- Откуда: г.Саратов
- Контактная информация:
Re: Автоматизация с помощью энкодера
Может быть и так.selenur писал(а):В микроконтроллере есть область памяти зарезервированная для хранения параметров микроконтроллера, например записывая значение в portC запись значения, происходит например в ячейку с адресом 0х0452.
В зависимости от модели микроконтроллера эти адреса могут отличаться, и в похожем микроконтроллере этот адрес может хранить например настройку usart, так что дело тут не в объеме памяти для прошивки
- raddd
- Почётный участник
- Сообщения: 1564
- Зарегистрирован: 10 фев 2015, 08:50
- Репутация: 539
- Настоящее имя: Alexey Rodionov
- Откуда: Беларусь Минский р-н
- Контактная информация:
Re: Автоматизация с помощью энкодера
Насколько я помню в атмелах этого неслучается. Там регистры (покрайней мере у одинаковых по кол-ву ног) лежат по одинаковым адресам. Это самое главное отличие от пик-контроллеров. Переносимость кода.
атмел даже в тиньки вставила бит который включает поддержку старой ат9313 помоему.
атмел даже в тиньки вставила бит который включает поддержку старой ат9313 помоему.
||||||||||||
||||||||||||
||||||||||||
- selenur
- Почётный участник
- Сообщения: 4604
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1621
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Автоматизация с помощью энкодера
mega 168 и карта регистров http://www.atmel.com/images/doc2545.pdf на странице 343
мега 16 http://www.atmel.com/images/doc2466.pdf на странице 331
мега 16 и 168 отличаются, прошивка точно не заработает...
Причем raddd прав что есть некоторые модели у которых есть схожести, в pdf файле на мегу 168 еще упоминается мега 48,88 т.к. они похожи.
мега 16 http://www.atmel.com/images/doc2466.pdf на странице 331
мега 16 и 168 отличаются, прошивка точно не заработает...
Причем raddd прав что есть некоторые модели у которых есть схожести, в pdf файле на мегу 168 еще упоминается мега 48,88 т.к. они похожи.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/