Автор Тема: Простой сервоконтроллер От P_M_Ch * Servo AtMega8_48_88_168_L298  (Прочитано 27358 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
Схема во вложении. Оптроны и транзистор пока не использовал. Сейчас разрабатываю одностороннюю плату под Atmega88-AI в корпусеTQFP, но все время что-то не нравится, уже четвертый вариант развожу. Первый, только он и остался, другие даже не сохранял, во вложении.
Схема в Splan 7.0, плата в Sprint Layout.

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Выкладываю фото датчика, не сжатое. Снял с какого-то струйника. То ли Canon, то ли HP.

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Еще одна плата. Посмотрите, плз, кто-нибудь есть ли ошибки, а то сам уже так насмотрелся, что все равно ничего не увижу.
L298 решил развести проводками. Очень уж коряво разводится иначе. Хотя, может это только у меня так? :(

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
Забыл конвертировать. Вот.http://youtu.be/TkjSG3JPB90

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Пробовал подачу задавать f0.1 - работает, только очень медленно. В связи с чем подумалось: а как бы этот контроллер приспособить для регулировки оборотов шпинделя? Выходной(силовой) каскад значительно упрощается, если крутить мотор только в одну сторону, то хватит одного полевика, мост уже не нужен, плюс драйвер к нему на трех мелких, а в качестве энкодера - диск с двумя закрашенными зонами(значек BMW) и светодиод с фотодиодом или транзистором. В качестве сигнала "Step" - либо отдельный генератор, либо сам МК заставить генерить, а управлять генератором можно из Mach или со специальной панели. Индикатор числа оборотов на семисегментной матрице приспособить. Вообще регулировать обороты без потери момента давно есть желание, вот только с программированием МК проблема, точнее проблемы нет, т.к. нет и таких навыков. :( Может кто возмется за математику? Со схемой - проще, сделаю. Только надо знать какой МК и какие порты нужно задействовать под что(что под управление полевиком, что под таходатчик, что под индикацию). ;)

Оффлайн s13

  • Разработчики
  • Старожил
  • *******
  • Сообщений: 321
  • Карма: +12/-0
А не проще для стабилизации скорости шпинделя использовать простой шим регулятор с обратной связью по эдс двигателя ?

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Оно то может и проще, только как насчет точности поддержания оборотов? Да и индикации скорости вращения нет, а если ее делать, то проще уже не будет. Да и ничуть не дешевле, даже дороже. Плюс смена направления вращения только вручную. Значит автоматическое нарезание резьбы, например, уже не получится. А если еще и движок на 220В, то и проблем намного больше. Опять таки из Mach-а управлять таким регулятором сложнее, на мой взгляд, чем контроллером. Впрочем сначала надо с тем, что есть разобраться. Но желание сделать задуманный регулятор есть.Разве что по-позже попытаться кого-нибудь уговорить на математику.

Оффлайн gktuning

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +1/-0
А еще проще заставить Mach3 этим рулить - есть у него функция ШИМ-управления шпинделем. В качестве "энкодера" диск с одной прорезью и оптопара - по ней же и синхронизация при нарезании резьбы. А схемка для шпинделя - примитив.
Если дополнить ее релюхой будет еще и направление вращения переключать по М3 М4.
Если чуть поиграться с развязкой, то можно движок на 220 В DC приспособить, например от стиралки - они хорошо AC и DC кушают. Моща 450 - 500 Вт, но учитывая 12000 - 13000 RPM, при соответствующих шкивах солидно получится.

А точность по оборотам 10--15 % с головой хватит. В Mach3 свой PID по этому поводу есть в настройках шпинделя - как отстроите, так и будет регулировать, а контроллер там явно лишний, разьве что серву на шпиндель и обозначить его как 3-ю поворотную ось.
И Mach3 при этом обороты покажет, Так что и индикатор не нужен.

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Уфф, запустил, тоже не сразу, но заработала плата на той же Atmega88PA-AU с кварцем 20MHz. 168-ю пока не проверял, то что было добивал. Во вложении схема в Splan7 и печать в Sprint Layout, все проверено, все работает. :D

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
Вот небольшое видео работы и фото того, что получилось.http://youtu.be/5lXjjT6wNvU
 
36 %

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Собрал ещё один сервоконтроллер. Работает так же четко, как и два предыдущих. Правда вместо Atmeg-и 168 использовал 88-ю РА. Так что теперь на станочке будут стоять сервы по всем 3-м осям. :)

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Привет всем. В воскресенье ни с того, ни с сего слетела прошивка AtMega 168PA, но связь с компом через Servotuning работала. Решил проверить настройки, и оказалось, что слетела ПЗУ (в первых двух банках памяти все настройки по нулям, в третьем и четвёртом настройки немного изменились, но всёже были близки к первоначальным, только шестой параметр изменился). Загрузил настройки из 3-го банка, несколько раз крутнул в Servotuning, и настройки опять слетели, то же самое и с 4-м банком. Ни какой реакции на движение в Mach 3, ни на вращение энкодера, правда, если в Mach несколько раз прогнать влево-вправо хоть на миллиметр, то контроллер уходит в ошибку, но движок при этом даже не пытается вращаться. После перепрошивки МК всё заработало, только вот вопрос: как надолго? Мне не понятна причина слёта прошивки. То ли из-за питателя (использую от какого-то матричника, довольно мощный), то ли из-за того, что нет опторазвязки между МК и силовыми цепями, как в свое время делал Константин. Но у него движок был 220 вольт и 700 ватт мощности, а у меня 24-х вольтовые от струйников, правда ограничение тока выставлено по 5 ампер на осях X и Y, и 3.5 - на Z.
  Народ, поделитесь опытом: у кого как и на чём собраны контроллеры и было ли у кого что-либо подобное.

Оффлайн s13

  • Разработчики
  • Старожил
  • *******
  • Сообщений: 321
  • Карма: +12/-0
Было подобное у товарища на одном из контроллеров на мега88. Решили что дохлый контроллер - заменили. Опять слёт.. Долгие поиски - итог: заменили керамический конденсатор по питанию контроллера - всё заработало как положено. Вот такие чудеса.

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Ну, как один из возможных вариантов надо иметь в виду, но меня смущает, что слёт был не мгновенный, а, как бы растянутый во времени: сначала пошло перерегулирование, но я всё никак не мог добраться до Servotuning, и так продолжалось несколько дней, причём не постоянно, а буквально на несколько секунд, обычно в движении, но бывало и после остановки в течении 1-1,5 сек. А в воскресенье прошивка легла окончательно прямо во время работы. Ось просто остановилась и зажглась ошибка. Нагрузки на двигатели практически не было, только переезды по X и Y, а по Z сверление тонкого пластика.
  После перепрошивки МК работоспособность полностью восстановилась, как буд-то ничего и не было. Пока не буду ни чего менять, хочу посмотреть как поведёт себя этот контроллер дальше, под разными нагрузками, а за это время может ещё какие варианты проявятся у меня, или ещё кто отпишется. Надо собрать побольше информации.

Оффлайн P_M_Ch

  • Электронщики
  • Освоившийся
  • *
  • Сообщений: 81
  • Карма: +0/-0
  Кажется что-то прояснилось. В субботу дал максимальную нагрузку, и снова слёт прошивки. Но на этот раз слетел контроллер оси Z, собранный на 88-й Меге. После перепрошивки работоспособность контроллера полностью восстановилась, так что всего вероятнее слёт происходит из-за недостаточной мощности БП. Три шаговика он тянул без проблем (максимальный суммарный ток до 6-ти ампер), а сейчас в пике может достигать и 13-ти, так что надо придумывать что-нибудь посерьёзнее, ватт на 500.  :-\
  Я никогда на такую мощность импульсников не делал, максимум ватт может на 250 - 300. Придётся наверное изрядно повозиться, чтобы добиться нормальной работы питателя в широком диапазоне выходных токов. Ну, да, как говорится:- не боги горшки обжигают. Прорвёмся. ;)