Специальные цены   новые товары
Закрытая тема
Страница 1 из 13 1 2 3 11 ... ПоследняяПоследняя
Показано с 1 по 40 из 497

Усовершенствованный сервопривод Чена

Тема раздела Драйверы и контроллеры для CNC в категории Станки ЧПУ, Hobby CNC, инструмент; Уважаемые хоббисты, хочу поделиться разработкой. Это сервоконтроллер на AVR, с удобной программой настройки. За основу брал прошивку Чена - http://elm-chan.org/ ...

  1. #1

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276

    Усовершенствованный сервопривод Чена

    Уважаемые хоббисты, хочу поделиться разработкой. Это сервоконтроллер на AVR, с удобной программой настройки. За основу брал прошивку Чена - http://elm-chan.org/ Его проект открытый, я тоже публикую свои изыскания. Использовал этот контроллер в одном из гравировальных станков ЧПУ для экспериментов. Силовые ключи штатные.

    Для улучшения характеристик применил более скоростной микроконтроллер АТmega8, поднял частоту ШИМ до 25КГц. Для удобства настройки и снятия характеристик была разработана программа под Windows, работа с контроллером по RS-232.

    F2 - Предыдущий серво-режим (во время измерений недоступно)
    F3 - Следующий серво-режим (во время измерений недоступно)
    F8 - СТАРТ (переместиться в заданное относительное положение)
    F9 - ИЗМЕРЕНИЕ
    F11 - СТОП
    F12 - СБРОС (всех координат в 0 + стоп)

    Лево - Управление - уменьшить
    Право - Управление – увеличить
    Вверх – «0» стоп
    Ctrl + Лево - Управление крайнее левое положение
    Ctrl + Право - Управление крайнее правое положение

    При нажатии Ctrl, после отпускания лево/право, выставляется значение, которое было до
    удержания Ctrl. Если это значение было из противоположного направления, устанавливается
    значение 0, чтобы лишний раз резко не изменять направление на противоположное и не ломать
    ключи с приводом.

    Клик правой кнопкой мыши на график - выпадающее меню "Сохранить график", можно сохранять в BMP и векторный WMF.

    В банки данных заносятся коэффициенты PID. По умолчанию используется нулевой.
    Значения полей "Имп/мм", "История измерений", "Период измерений" сохраняются после выхода в INI файл, который будет находиться в той-же папке, откуда была запущена программа.

    Это проверенная схема и прошивка. Можно ли на ней работать? Для хобби возможно подойдёт, но скорости без отклонений от координат довольно низкие. При рабочем перемещении на скорости 2 м/мин ловил при плохом разгоне отклонение на диагонали до 0,2 мм. Импульсов энкодера – 200 имп/мм. На свободном перемещении при скорости 2 м/мин идёт очень неплохо, в случае отклонения, вгоняет машину в координату, машина всегда выходит в “ноль“. Пользуйтесь.

    В приложенных файлах схема, трассировка, сборочный чертёж, прошивка, программа ServoTuning для настройки контроллера. Трассировка не очень удачная, по быстрому сделана, но всё функционирует. Просто обратите внимание при подключении, чтобы экран провода не задел шину +5V. Прошивку контроллера можно осуществлять непосредственно на плате. Светодиоды для индикации процесса прошивки. Типичный график поведения машины приложен. Старт с нуля, без разгона-торможения.

    Если нужно будет фото контроллера в сборе, или коэффициенты настройки для моего станка, размещу. Интересно будет узнать коэффициенты PID регулятора для вашей серво системы.

    Буду признателен за рабочие проверенные схемы силовых ключей для сервомоторов, 110 В, 20А.
    Вложения

  2.  
  3. #2

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    Что-то прошивки нету в приложенных файлах.
    А почему получается уход по координате на 0.2 мм,из-за схемы или может дело в двигателе или энкодере. И кстати, схема так и работает без прерываний?

  4. #3

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    Программа Сервотюнинг.

    Позиция "назначение" относительная.

    Настройка "История" - число измерений, после которых старые данные будут удаляться из графика.

    Для серво - режима "скорость", возможно строить графики скорости/рассогласования по скорости в килоимпульсах в секунду, или отклонение скорости от выбранной в процентах (зависит от второго параметра Kf).

    Настройка "период измерений", значения в мс.

    Прошивка см. приложение. Две версии, вторая вроде как стабильнее, попробуете, пишите отзывы.

    Успехов в творчестве!

    technik,
    А почему получается уход по координате на 0.2 мм, из-за схемы или может дело в двигателе или энкодере. И кстати, схема так и работает без прерываний?
    При чём здесь схема? Уход потому что время сервоцикла 200 мкс. Конечно без прерываний. С прерываниями теоретически лучше. Я же писал, и прошивку Microchip выкладывал.
    Вложения

  5. #4

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    48
    Сообщений
    415
    Ничего не изменилось, кроме вывода отклонения.
    Главная ошибка - чистый ПИД без учета реакций мотора, параметров нагрузки. Также привод должен ругаться на превышение своих возможностей, он главный в системе.
    Исходник Чена я изучил и выбросил, свой писал с чистого листа. Уперся только в скорость МК, АВР не способен с нужной скоростью обработать все входные параметры. Есть большое подозрение, что и АРМа может не хватить...
    И в исходнике обнаружены непонятки. Это или ляпсусы, или фьючи.

    Кто-то упоминал (не помню кто и где), что параметры мотора, например момент инерции ротора, слабо влияет на динамику по отдельно взятой координате (в сборе). Это совсем не так. Поставив на тестовую координату специализированный серво-мотор (картинка снизу) с енкодером 1000cpr, убедился, что на высоких (> 1000) оборотах мотор с малый моментом инерции, но с шустрой динамикой даёт в разы меньшую погрешность позиционирования.

    Мой вывод простой: на небыстром МК серва способна нормально управлять мотором до 800-1000 оборотов. Дальше - уже совсем другой уровень вычислений, и примитивный ПИД тут не катит.
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: chehmoto.jpg‎
Просмотров: 2778
Размер:	85.4 Кб
ID:	31683  

  6.  
  7. #5

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    А можно сразу hex или bin выложить.И ещё, чем исходник компилировать?

  8. #6

    Регистрация
    26.03.2006
    Адрес
    BW, Germany
    Возраст
    51
    Сообщений
    433
    Цитата Сообщение от maxvovk Посмотреть сообщение
    Мой вывод простой: на небыстром МК серва способна нормально управлять мотором до 800-1000 оборотов. Дальше - уже совсем другой уровень вычислений, и примитивный ПИД тут не катит.
    А что катит для другого уровня вычислений?

  9. #7

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    48
    Сообщений
    415
    Цитата Сообщение от Galant1 Посмотреть сообщение
    Цитата Сообщение от maxvovk Посмотреть сообщение
    Мой вывод простой: на небыстром МК серва способна нормально управлять мотором до 800-1000 оборотов. Дальше - уже совсем другой уровень вычислений, и примитивный ПИД тут не катит.
    А что катит для другого уровня вычислений?
    По математике - тот же ПИД, но с учетом массы параметров, от момента инерции мотора до момента трогания с места портала.
    По железу - МК на АРМ-архитектуре или ДСП.

    В идеале сервоцикл на каждом импульсе енкодера, при 3000об/мин для енкодера 2000cpr это 100кГц или 10мксек.

    Коэффициенты, кстати, непостоянны, поэтому таблица под конкретное применение сильно снижает нагрузку МК.

    Вообще пришел к выводу, что без нормального стенда сделать рабочую динамичную серву нельзя. Подбирать коэффициенты ручками - непродуктивная трата времени.

  10.  
  11. #8

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    В идеале сервоцикл ... это 100кГц или 10мксек.
    Всё правильно. Для серьёзных приложений это даже минимум. Я сейчас делаю систему ЧПУ со временем обработки цикла 5 мксек. А привод должен быть шустрее ЧПУ, в идеале, на порядок. Но тут уже сказывется инерционность системы, поэтому в реале в наносекунды уходить не трэба. А самые лучшие характеристики обеспечивает аналог. Что и используется в приводах локаторов. Сейчас появились новые микрухи, типа ПЛИсок, только аналоговые, с крутейшими операционниками, до 46 штук на корпус, и строй, как хочешь.

    Вот на них то и можно обалденный привод построить!

    А стенды не каждый может сделать, поэтому я программу Сервотюнинг сделал. Это реально работает на любом быстром компьютере. Даже на 166 пентюхе, в принципе работает.

  12. #9

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    А можно сразу hex или bin выложить.
    Пожалуйста. См. в приложении. V0.2 с прерыванием, но что то мне не нравится. Через недельку, как тесты закончу, выложу вариант с сигналом торможения.
    Вложения

  13. #10

    Регистрация
    22.05.2005
    Адрес
    Zero
    Сообщений
    276
    Настроил контроллеры, прогнал тестовый файл на машине с этими приводами. Пластик. Подача 800 мм/мин, в режиме удержания контурной скорости. Круги практически идеальные, без искажений и ухода размеров.

    Так что думаю, для хобби подходит.

    Попробую более жёсткие режимы и нагрузки, сообщу.

    P.S. Похоже ни у кого проверенной схемы ключей нет…

  14. #11

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    Уважаемый чем исходники компелить?

  15. #12

    Регистрация
    17.09.2005
    Адрес
    Москва, Зеленоград
    Возраст
    35
    Сообщений
    974
    Цитата Сообщение от ZanozM Посмотреть сообщение
    Уважаемый чем исходники компелить?
    Ассемблером для Atmel миктроконтроллеров !

  16. #13

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    Уважаемый чем исходники компелить?



    Ассемблером для Atmel миктроконтроллеров ![quote]
    Да по ночам мозги отключаются, не в том архиве искал.
    С AStudiO я маленько знаком даже на Асме писал для AT90S2313 примитивный девайс для управления LB1847 типа там микростеп. В графической среде писал для ATmega8535 девайс по SPI управляет DAC.
    Я это все к тому что с исходниками я могу разобратся в плане где какое прерывание, может даже смогу на ATmega16 перевести, под рукой ATMEGA8 нет.
    Только как всегда хочется большего, интересует как эта адская машина работает.
    Книги читал читал ну нех-ра непонял, вопрос зачем нам переводить дискрету в аналог, чтобы потом аналогово управлять сервой, которая построена на дискретном принципе.
    Может проще можно сделать, типа стойка выдает по паралельной шине в серву значение этого самого DACA.
    MACH2 и тому подобное, выдают шаг направление, а что там серва делает его мало беспокоит как я понял у сервы есть какой то предел ошибки положения, после чего он выдает стоп машина.
    Я сделал вывод что принцип построения сервы понятен далеко не всем.
    Давайте общатся на эту тему, и многое станет ясным.
    Разберемся что к чему.
    Завтра намерен выложить основательно свои мысли. тем более пришла отладочная плата ARM7 с простеньким Филипком,короче реализация ждет своего проджекта.

  17. #14

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    Нашел в нете диссертацию на тему КВАЗИРЕЗОНАНСНЫЕ ИМПУЛЬСНЫЕ ПРЕОБРАЗОВАТЕЛИ ДЛЯ СИСТЕМ ТОЧНОГО ЭЛЕКТРОПРИВОДА автор Ревко Анатолий Сергеевич.
    Задача оптимизации точного привода(быстродействие, возможность за минимальное время и с минимальной ошибкой отработать заданную команду или скомпенсировать возмущающее воздействие) решается по принципу максимума Понтрягина.
    В эти расчеты закладывается очень много параметров инертность якоря, магнитный поток, ток якоря, индуктивность цепи, угол поворота, если это не начало движения то угловую скорость , и так далее.
    При задании повернуть якорь на определенный угол, выдается примерно такое воздействие на двигатель 1) в нулевой момент времени подать +24вольта 2) во время t1 подать -24 вольта 3) в момент времени t2 снять напряжение с якоря.
    Также можно рассчитать воздействия на якорь для ускорения до определенной скорости, на мой взгляд можно много еще чего сделать.
    Да только алгоритм математически громоздкий и разобраться в нем, тем более реализовать в железо у меня точно не выйдет.
    Это была так сказать реплика по поводу, чего только нет на свете, мысли же мои гораздо скромнее.
    Хочу на пальцах прикинуть как работает сервопривод, у которого есть только два входа Степ и Дир.
    Для начала хочу вспомнить как работает классическая серва , в моем понимании у классики рулит задание значения скорости в аналоговой величине, приходит такая величина с ЧПУ на серву , и привод обнаруживает что на одной ножке есть напряжение а на другой с тахогенератора его нету. Разность напряжения и есть величина рассогласования которое, привод спешит компенсировать подав на классический ШИМ напряжение.
    Сигнал рассогласования приходит на ПИД регулятор, а из него выходит сигнал управления ключами, еще есть обратные связи по скорости, здесь мне кое что понятно.
    Но как работает импульсная серва , что в ней является сигналом рассогласования ?
    Осмелюсь предположить, что по приходу импульса управления на контроллер он подает напряжение на якорь, якорь поворачивается на заданный угол, а время между приходом импульса с ЧПУ и выдачей энкодером импульса о благополучной отработке, и есть рассогласование которое контроллер должен стремится компенсировать.
    По логике, для того чтобы быстро скомпенсировать рассогласование, привод должен знать последует за первым импульсом второй, а следом третий или первый импульс будет одиночный. Ведь контроллер должен знать оставлять ему угловую скорость, или тормозить до нуля в случае одиночного импульса, а может надо по заложенной динамике разгона все больше и больше выдавать управляющее воздействие на якорь, для компенсации растущего рассогласования.
    Короче надо плавно разгонятся потом маленько зафиксировать скорость а далее так же медленно тормозить, иначе можно вылететь на больший угол якоря , потом компенсировать это противодействием, по моему это называется перерегулированием?
    Скорей я просто много не знаю, может быть контроллер замеряет длину импульса, к примеру первый импульс очень короткий в смысле конкретно по времени, и контроллер понимает что он одиночный, другой первый импульс имеет из расчета максимальной частоты максимальную длину и серва понимает что сейчас будет крутой разгон, и так далее. Сам думаю что это не так.
    Потому как видел руководстве к MACH2 как обычную серву приспособить, дак там стоит обычный кондер в который сливаются импульсы и на нем поддерживается уровень напряжения естественно там и сопротивление стоит, это говорит о том что длинна импульса прямо пропорциональна скважности.
    Как устроен аналоговый ШИМ я представляю, как он работает в цифровых приводах понятия не имею, то что я находил в литературе написано заумно.
    Объясните мне пожалуйста как можно проще , на примерах как он работает.
    Вот к примеру Модуль Захвата в Microchip PIC16F684 написано с помощью его можно измерить период между положительными фронтами двух импульсов, в чем он измеряется,
    Для начала наверное в количестве импульсов тактового генератора микроконтроллера, произошедших за период между двумя импульсами.
    Если первый импульс будет от ЧПУ а второй с датчика положения тогда это будет величина рассогласования, к чему это количество отсчитанных импульсов надо привести, в смысле надо посчитать период в секундах, или что еще?
    В аналоговых приводах значение рассогласования есть напряжение, а здесь может так и оставить в количестве импульсов? А как с ними дальше работать и самое главное что прейдет на ШИМ ?
    А самое главное надо еще контур скорости сделать который всю эту систему стабилизирует, потому как если оставить одно рассогласование по положению, то ерунда получится .
    Может надо длительность импульса ЧПУ замерять, и от этой величины для начала через прямо пропорциональный контур подавать на ШИМ, естественно ввести обратную связь , измерять длительность импульса с энкодера. А дальше к этому значению добавлять значение рассогласования положения в аналоговой технике это делает сумматор.
    Да кстати, значение рассогласования нужно пропускать через ПИД регулятор.
    Короче одни вопросы.
    Всем кто прочитал эту бредятину, за любой ответ спасибо.

  18. #15
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    Все прочитал.. когда дочитал до конца - забыл че в начале было..

    Короче как я себе представляю сервопривод(любительский, не сверх прецезионный..) :
    Стоит ЦАП и задает напряжение пропорциональное току в обмотке, ШИМ подгоняет ток под это напряжение, движок крутится, энкодер считает, контроллер думает... Когда надо сделать одиночный шаг - комп сам должен знать какое значение загнать в ЦАП чтобы движок не улетел слишком далеко от намеченной точки.. Таблица значений подгоняется вручную под условия работы - обрабатываемый материал, скорость, погрешность позиционирования..

    Сервопривод чуть по навороченнее(но все еще любительский) :
    Стоит два цапа - на входе(выдает напряжение пропорциональное координате относительно ближайшей нульметки) и на энкодере(выдает напряжение пропорциональное координате относительно ближайшей нульметки у энкодера) потом стоит компаратор который сравнивает эти напряжения и крутит движок в нужную сторону..

    Еще более навороченный вариант:
    Смысл тот же, только надо добавить буфер обмена чтобы контроллер знал будет ли это одиночный импульс или нет..

    По поводу вычисления нужного тока - в случае одиночного импульса - тот компаратор (описанный выше) должен выдавать не только направление куда крутиться, но и величину рассогласования - напряжение пропорциональное нужному току которое при подходе к нужной координате соответственно будет уменьшаться и обеспечет тем самым плавный подход к нужной точке..

  19. #16

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    Хорошо я понял, то что вы говорите, о системе ЧПУ с обратной связью которое следит за сервой и корректирует её .
    Я же говорю о системе типа МЯЧ2 у которой выход импульсный DIR направление STEP шаг.
    С такой системой серва сама должна о всем думать.
    И потом как вы себе представляете буфер обмена может есть какой то стандарт.
    Насчет ЦАП какой он из себя, если он выдает аналог на выходе а потом это все идет на класический ШИМ, то на кой он нужен, если есть дискретный ШИМ на который подаешь комбинацию нулей и единиц а на выходе получаешь Широтно Импульсный Модулированный сигнал, мне бы разжевал как он работает.
    Кстати в серве Художника Цапа нет, дак как он работает?
    Нужно составить Блок Схему Алгоритма тогда жить станет проще!
    Да вот еще что, ответа от автора на этом форуме нам точно недождаться, я это знаю.

  20. #17
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    По поводу аналогового шима - а как цифорвой шим будет ограничивать ток в обмотках?
    В случае аналогового - получается - нагрузка возрасла ток добавился - движок координату держит, а в цифровом - нагрузка возросла(на чуть-чуть) ток надо поднять на 0.1младшего бита ц.шима и че он будет делать - а ничего - он просто сдвинется от нагрузки и будет уже там висеть или начнет болтаться между указанной точкой и следующей..

    Подобные мысли навеянны прочтением инструкций на СM600 где применяются линейные движки и индуктосины - тоесть разрядность обратной связи (в пределах ПИ-регулятора) практически бесконечна..

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



    кстати, такой вопрос - зависит ли ток обмотки линейного синхр. двигателя(что вроде почти тоже самое что шаговик в микрошаге) от нагрузки при фиксированном ШИМе?

    я имею ввиду не для удержания координаты а просто если питание подать и затормозить его..

  21. #18

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    кстати, такой вопрос - зависит ли ток обмотки линейного синхр. двигателя(что вроде почти тоже самое что шаговик в микрошаге) от нагрузки при фиксированном ШИМе?
    Как устроен линейник если принцип работы близок к ШД5 то есть реактивный без магнитов, то по анологии к пускателю если включить катушку дать железу примагнитится а потом маленько приподнять его то ток увеличится, а если просто тянуть железо то как у постоянного магнита нечего не изменится.
    А вот с ШИМом надо подумать, при нарушении магнитного потока произойдет изменение индуктивности в меньшую сторону, только шиму по барабану он ведь за ним и следит, но изменится время наростания тока в меньшую сторону и если у вас малая частота ШИМ то по моему может произойти обратный эффект, ведь кофициент заполнения упадет, хотя черт его знает так с шару не ответишь.
    Подскажите почему у меня ссылки на книги из ветки Линейный индуктосин
    Не грузятся!!!!!!!!

  22. #19
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    Там все лишнее из ссылки убери - зайдеш просто в библиотеку и поиском найди ее - там почемуто сразу по ссылке не грузится..

    По поводу шима - я имею ввиду цифровой (фиксированный) шим который не видит изменения тока а просто выдает импульсы фиксированной длинны..

  23. #20

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    Теперь я понял смысл слова фиксированный, тогда как и говорил, если нагрузка не сместит ротор, то
    не чего не изменится. А если потеряет шаг, то скорей всего встанет в ближайшее выгодное ему положение, но если специфика нагрузки не позволит сделать это, тогда ток явно возрастет.

    По поводу аналогового шима - а как цифорвой шим будет ограничивать ток в обмотках?
    В случае аналогового - получается - нагрузка возрасла ток добавился - движок координату держит, а в цифровом - нагрузка возросла(на чуть-чуть) ток надо поднять на 0.1младшего бита ц.шима и че он будет делать - а ничего - он просто сдвинется от нагрузки и будет уже там висеть или начнет болтаться между указанной точкой и следующей..
    Чего то я в этих ШИМах запутался, сегодня в книге прочитал термин КОД-ШИМ , там же описан принцип устройства последнего.
    Дак вот аналоговый ШИМ, в класической форме я представлял как компаратор, в который на одну ножку приходит сигнал подлежащий модуляции, а на другую пила, и внем тоже обратной связи по току нет.
    А вы говорите о ШИМ в котором заведена обратная связь.
    Опишите его подробней.
    Вот в Шаговых приводах изпользуется ШИМ при котором частота является стробирующей, то есть разрешает включить тригер, а выход с компаратора обнуляет тригер, как назвать такой ШИМ?
    В контроллере Чена нет контроля тока, то есть нет резистора на котором измеряет компаратор падение напряжения.
    В контроллере UHU, контроль тока есть,Вопрос для чего он там стоит? Если он влияет на ШИМ то каким образом?

  24. #21
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    ШИМ представляет из себя вот че:
    стоит компаратор на один вход коотрого подается пила, а на другой напряжение обратной связи(по напряжению, по току, еще по чему - не важно) и когда напр обратной связи сравняется а затем станет больше того что на пилообразном сигнале в данный момент - уровень на выходе сменится..

    В см600 и прочих девайсах работающих с линейными движками стоит такая схема:
    компаратор, на один вход которого подается напряжение пропорциональное току в обмотке, а на другой - обратная связь по току, затем стоит триггер на вход которого идет напряжение с выхода компаратора а на вход сброса/загрузки - тактовый сигнал частотой 2кгц(в СМках) или другая, этой частотой достигается то что схеме не заведется на высших гармониках и не войдет в линейный режим, тоесть задали допустим 1А - ключ открылся, ток растет... бац - привысил 1А, компаратор выдает единичку, а тригер тем временем ждет тактового импульса, как импульс пришел - он переключает ключи в другую сторону и ток идет уже из обмотки обратно в питание, как станет ниже заданного - компаратор опять сменит уровень а триггер дождавшись тактового импульса переключит ключи..
    тоесть ток в обмотке будет то возрастать то убывать с чатотой 2кгц, и действующее значение будет равно заданному..

  25. #22

    Регистрация
    05.05.2006
    Адрес
    Миасс
    Возраст
    42
    Сообщений
    25
    ШИМ представляет из себя вот че:
    стоит компаратор на один вход коотрого подается пила, а на другой напряжение обратной связи(по напряжению, по току, еще по чему - не важно) и когда напр обратной связи сравняется а затем станет больше того что на пилообразном сигнале в данный момент - уровень на выходе сменится..
    Так а где в этом девайсе задающий сигнал( пропорциональный току в обмотке)?
    В см600 и прочих девайсах работающих с линейными движками стоит такая схема:
    компаратор, на один вход которого подается напряжение пропорциональное току в обмотке, а на другой - обратная связь по току, затем стоит триггер на вход которого идет напряжение с выхода компаратора а на вход сброса/загрузки - тактовый сигнал частотой 2кгц(в СМках) или другая, этой частотой достигается то что схеме не заведется на высших гармониках и не войдет в линейный режим, тоесть задали допустим 1А - ключ открылся, ток растет... бац - привысил 1А, компаратор выдает единичку, а тригер тем временем ждет тактового импульса, как импульс пришел - он переключает ключи в другую сторону и ток идет уже из обмотки обратно в питание, как станет ниже заданного - компаратор опять сменит уровень а триггер дождавшись тактового импульса переключит ключи..
    Да все верно, такой ШИМ используется и в шаговых приводах.
    Ведь там нужно контролировать ток обмотки в любой момент времени.
    Для сервы я считаю это излишне, можно поставить компаратор следящий за током, как только ток превысит номинал, контроллер поймет что нужно сбросить пыл, вот здесь похоже и нужен контур тока который будет влиять на задающий сигнал.

  26. #23
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    ШИМ представляет из себя вот че:
    стоит компаратор на один вход коотрого подается пила, а на другой напряжение обратной связи(по напряжению, по току, еще по чему - не важно) и когда напр обратной связи сравняется а затем станет больше того что на пилообразном сигнале в данный момент - уровень на выходе сменится..
    Я тут малость не все написал, там еще между обратной связью и компаратором стоит операционник который сравнивает опорное напряжение и напр обратной связи..

    глянь вот здесь - там по структурной схеме все впринципе понятно..
    http://focus.ti.com/lit/ds/symlink/tl494.pdf
    вообще гдето в инете более удачный даташит был, поищи если интересно..

  27. #24

    Регистрация
    27.10.2006
    Адрес
    Санкт-Петербург
    Возраст
    42
    Сообщений
    75
    Собрал контроллер для серводвигателей на Меге8 и L298 для двигателей с током до 4А. Если кого интересует выложу схему и печатку. Но у меня возникла проблема. Послое программирования Меги контроллер работает нормально. Через какое-то время перестает работать. Почему-то меняется содержимое EEPROM. Возможно я не правильно установил биты конфигурации. Подскажите как надо.
    Это происходит даже если не настраивать при помощи прогрммы СервоТюнинг. Кстати есть исходники к ней у кого-нибудь?

  28. #25

    Регистрация
    13.07.2006
    Адрес
    Харьков, украина
    Возраст
    52
    Сообщений
    928
    Через какое-то время перестает работать. Почему-то меняется содержимое EEPROM. Возможно я не правильно установил биты конфигурации. Подскажите как надо.
    такое обычно бывает когда используют 0-ю ячейку или не включают браунаут.

  29. #26
    AZi
    AZi вне форума

    Регистрация
    22.02.2006
    Адрес
    Иркутск
    Сообщений
    397
    Да выложи схему, печатку и прошивку если не жалко..

  30. #27

    Регистрация
    27.10.2006
    Адрес
    Санкт-Петербург
    Возраст
    42
    Сообщений
    75
    Принимаются любые замечания
    Вложения

  31. #28

    Регистрация
    19.03.2005
    Адрес
    Полоцк, Беларусь
    Возраст
    55
    Сообщений
    28
    А прошивка где, желательно исходник

  32. #29

    Регистрация
    27.10.2006
    Адрес
    Санкт-Петербург
    Возраст
    42
    Сообщений
    75
    Прошивка та, что в начале форума. Были исходники.

  33. #30

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    Собрал контроллер по схеме от celladon.Только dir не на 4, а на 26 pin.Он вроде работает, но двигатель не вращается.С программой servotuning он
    обменивается данными,даже когда вращаешь вал двигателя , на компе показывает рассогласование и mega даже пытается
    корректировать позицию.Это видно по графику,т.е. вслед за зелёной линией прыгает и красная.Но в это время на выводах 15 и 16 отсутствует напряжение.
    Когда программу переводишь в режим ШИМ , то при перетаскивании ползунка на вывыодах 15 и 16, ШИМ есть и меняется.
    Но двигатель в это время всё равно не вращается.Двигатель и энкодер из старого принтера. L298 вроде исправная.
    Объясните логику работы ШИМ1 , ШИМ2, HI1, HI2. А зачем ещё FORCE1 и FORCE2?

  34. #31

    Регистрация
    31.07.2006
    Адрес
    Москва
    Сообщений
    425
    посмотрите в симуляторах - VMLAB.nm.ru или в PROTEUS123.narod.ru/01.htm

    будет ясно что происходит.

  35. #32

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    Вот накатал проектик в Протеусе.Что-то непонятно оно работает.Может кто разберётся.
    После запуска симуляции надо подождать несколько секунд , а то сразу ничего не происходит.
    В приложении zip архив.
    Вложения

  36. #33

    Регистрация
    31.07.2006
    Адрес
    Москва
    Сообщений
    425
    что там 3 архива друг в дружку вложено ?

    вот 1.
    Вложения

  37. #34

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    Так что, у кого нибудь работает этот контроллер или нет?
    А мою схемку в протеусе кто-нибудь проверял, у вас работает?

    А курс по протеусу я уже читал --- ничего нового.

  38. #35

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    48
    Сообщений
    415
    Цитата Сообщение от technik Посмотреть сообщение
    Так что, у кого нибудь работает этот контроллер или нет?
    А мою схемку в протеусе кто-нибудь проверял, у вас работает?
    А разве вот такие конструкции работают?

    do_get_hardparam:
    ldi zl, low(hardparam)
    ldi zh, high(hardparam)
    ldi r16, 5 ; всего 4+1 параметров по 1 байту
    dghpc: ld uart_r, Z+

    Мне всегда казалось, что LD по Z невозможно и реализовано в LPM...

  39. #36

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    Ну тогда еслт исхлдник с таким кодом не работает , тогда просьба к celladon выложить тот который работал у него.

  40. #37

    Регистрация
    27.10.2006
    Адрес
    Санкт-Петербург
    Возраст
    42
    Сообщений
    75
    Я использовал прошивку без прерываний. Только я бы не сказал что она хорошо работала. Но покрайне мере двигатель вращался. Что бы нормально заработало приходилось нескольео раз включать выключать. Но даже когда двигатель не включается обмен с компьютером есть. Проверял СОМ монитором. Непонятно что за синяя линия на графике. Раньше была только красная и зеленая. А вчера вот появилась. А как успехи у других? Двигатель вращается? Какие биты устанавливали при прошивке? Я бы задал несколько вопросов к разработчику прошивки и программы. Как сним связаться я не знаю.

  41. #38

    Регистрация
    26.04.2005
    Адрес
    Кобрин,Беларусь
    Возраст
    33
    Сообщений
    57
    А у меня не хочет вращаться ни с той ни с другой прошивкой,хотя обмен по RS232 есть.
    2 celladon. А почему у вас на вашей схеме вход dir идёт на 4 вывод , а у Художника на 26?

    Саму атмегу прошивал программатором встроенным в CodeVision, пробовал и тем который в BascomAVR.
    Тут кто-то писал про включение браунаут, я и с ним и без него пробовал,менял bodlevel,результат один--- двигатель не вращается.
    Менял местами выходы с энкодера, ничего не помогает.Самое интересное , что в режиме ШИМ при передвигании ползунка, на меге он есть и меняется,
    следовательно двигатель должен вращаться или в одну или в другую сторону.Был глюк ,когда плохо прошилась мега,то двигатель вращался,и через каждые 2-3
    секунды останавливался.Что-то мне думается, что выводы 25 и 13 меги надо пустить на входы enable L298, а шим на inputsы.

  42. #39

    Регистрация
    20.02.2006
    Адрес
    Минск
    Сообщений
    20
    Цитата Сообщение от Художник Посмотреть сообщение
    Уважаемые хоббисты, хочу поделиться разработкой. Это сервоконтроллер на AVR, с удобной программой настройки. За основу брал прошивку Чена - http://elm-chan.org/ Его проект открытый, я тоже публикую свои изыскания. Использовал этот контроллер в одном из гравировальных станков ЧПУ для экспериментов. Силовые ключи штатные.

    Для улучшения характеристик применил более скоростной микроконтроллер АТmega8, поднял частоту ШИМ до 25КГц. Для удобства настройки и снятия характеристик была разработана программа под Windows, работа с контроллером по RS-232.

    F2 - Предыдущий серво-режим (во время измерений недоступно)
    F3 - Следующий серво-режим (во время измерений недоступно)
    F8 - СТАРТ (переместиться в заданное относительное положение)
    F9 - ИЗМЕРЕНИЕ
    F11 - СТОП
    F12 - СБРОС (всех координат в 0 + стоп)

    Лево - Управление - уменьшить
    Право - Управление – увеличить
    Вверх – «0» стоп
    Ctrl + Лево - Управление крайнее левое положение
    Ctrl + Право - Управление крайнее правое положение

    При нажатии Ctrl, после отпускания лево/право, выставляется значение, которое было до
    удержания Ctrl. Если это значение было из противоположного направления, устанавливается
    значение 0, чтобы лишний раз резко не изменять направление на противоположное и не ломать
    ключи с приводом.

    Клик правой кнопкой мыши на график - выпадающее меню "Сохранить график", можно сохранять в BMP и векторный WMF.

    В банки данных заносятся коэффициенты PID. По умолчанию используется нулевой.
    Значения полей "Имп/мм", "История измерений", "Период измерений" сохраняются после выхода в INI файл, который будет находиться в той-же папке, откуда была запущена программа.

    Это проверенная схема и прошивка. Можно ли на ней работать? Для хобби возможно подойдёт, но скорости без отклонений от координат довольно низкие. При рабочем перемещении на скорости 2 м/мин ловил при плохом разгоне отклонение на диагонали до 0,2 мм. Импульсов энкодера – 200 имп/мм. На свободном перемещении при скорости 2 м/мин идёт очень неплохо, в случае отклонения, вгоняет машину в координату, машина всегда выходит в “ноль“. Пользуйтесь.

    В приложенных файлах схема, трассировка, сборочный чертёж, прошивка, программа ServoTuning для настройки контроллера. Трассировка не очень удачная, по быстрому сделана, но всё функционирует. Просто обратите внимание при подключении, чтобы экран провода не задел шину +5V. Прошивку контроллера можно осуществлять непосредственно на плате. Светодиоды для индикации процесса прошивки. Типичный график поведения машины приложен. Старт с нуля, без разгона-торможения.

    Если нужно будет фото контроллера в сборе, или коэффициенты настройки для моего станка, размещу. Интересно будет узнать коэффициенты PID регулятора для вашей серво системы.

    Буду признателен за рабочие проверенные схемы силовых ключей для сервомоторов, 110 В, 20А.
    Скажите о программе для Windows .
    Не хочет коннектиться с ATMEGой Правда у меня нет COM и использую преобразователь USB-COM (PL2003) там готовые 5ти
    вольтные выходы-входы и подключаю напрямую без MAX232
    может что-то не так??

  43. #40

    Регистрация
    06.11.2007
    Адрес
    С-Пб
    Сообщений
    1
    Помогите с ответами на следующие вопросы:

    -Сколько за один оборот генерируется импульсов?

    -Что представляет собой драйвер?

    -Как при задании нагрузки происходит стабилизация скорости?

    -Есть ли описание законов перехода с одного режима в другой?

    И есть ли у вас ещё какая-нибудь информация по сервоконтроллеру, кроме той что на сайте Чена?

Закрытая тема

Похожие темы

  1. Ответов: 13
    Последнее сообщение: 26.12.2010, 03:09
  2. Совместимость сервоприводов с DX7
    от spinfinder в разделе Бортовая электроника
    Ответов: 1
    Последнее сообщение: 14.07.2009, 02:40
  3. Сервопривод
    от Debian в разделе Общие вопросы
    Ответов: 11
    Последнее сообщение: 08.05.2008, 02:04
  4. Усовершенствование электролета
    от RID в разделе Электролеты. Общие вопросы
    Ответов: 4
    Последнее сообщение: 23.09.2003, 23:22

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения