Специальные цены   новые товары
Закрытая тема
Страница 8 из 13 ПерваяПервая ... 6 7 8 9 10 ... ПоследняяПоследняя
Показано с 281 по 320 из 497

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

Тема раздела Драйверы и контроллеры для CNC в категории Станки ЧПУ, Hobby CNC, инструмент; Сообщение от arisov77 Совет mura, мне немного не понятен, наверное Вы неточно написали. Прерывания «идут» по А и В энкодера? ...

  1. #281

    Регистрация
    13.07.2006
    Адрес
    Харьков, украина
    Возраст
    57
    Сообщений
    928
    Цитата Сообщение от arisov77 Посмотреть сообщение
    Совет mura, мне немного не понятен, наверное Вы неточно написали. Прерывания «идут» по А и В энкодера? Если одно прерывание по энкодеру, а другое по Step, то тогда всё «становится на свои места». Опять же надо механическую систему, которая может ограничить результат.
    A на INT0 и одновременно на INT1, B по вкусу.
    прерывание по INT0 обрабатывает энкодер и результат накапливает в перевенной
    прерывание по INT1 обрабатывает энкодер и результат накапливает в той же перевенной, но с вычитанием . На каждый импульс от энкодера 0-прерывание даст +1, а 1-е даст -1, и мы получим 0 в итоге, на малых скоростях так и выходит, а вот при увеличении скорости начинает накапливатся ошибка.

  2.  
  3. #282

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Получается INT0 и INT1 запараллелены? Если это так, то одновременно «выставляются» 2 флага, в порядке очередности (у AVR) первым обработается INT0 (Poz+), затем INT1 (Poz-). И что это даёт? Допустим прибавляем постепенно частоту на входах, достигаем порога, когда импульсы не смогут считаться, но они не будут считываться одновременно по обоим входам-прерываниям. Что-то я не «догоняю».
    Также нужно в сервоконтроллере ещё Step опросить и учесть, что в промежутках между прерываниями от Step и энкодера МК должен успеть рассчитать значения ПИД.

    Может это всё просто элементарно подсчитывается: время на обработку INT0 + INT1 + время расчёта ПИД + небольшой запас? Но тут опять «грабли» - во время расчета ПИД МК «отвлекается» на прерывания и если прерывания слишком частые, то время на расчёт может не остаться. Как найти, измерить или высчитать эту грань? И чтобы все импульсы с входов «захватить» и чтобы время на расчёт (реакция на изменения) осталось?

    Механический способ, наверное всё-таки самый надёжный, но очень не удобный и не всегда выполнимый.

    Вот для примера сравнительные характеристики некоторых сервоконтроллеров
    У некоторых “Max step rate” до МГц доходит. Как они этот параметр определили?
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: Servo.jpg‎
Просмотров: 1149
Размер:	110.8 Кб
ID:	240971  
    Последний раз редактировалось arisov77; 06.04.2009 в 14:44.

  4. #283

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Сделал видеоуроки (попросили на cnczone.com) как с помощью PonyProg и CodeVision со схемой программатора STK200 http://avr123.nm.ru/img/07_avrprog.png (можно на свой «страх и риск» попробовать и с адаптером "5-проводков" http://avr123.nm.ru/07.htm ) "прошить" микроконтроллер.
    Fuse-биты «прошиваются» только один раз. В последствии, если нужно будет изменить прошивку, то надо «заливать» только файлы (с разшерением .hex и .eep).
    Вложения

  5. #284

    Регистрация
    12.12.2005
    Адрес
    Могилёв, Беларусь
    Возраст
    60
    Сообщений
    22
    Примерно лет восемь назад, мне с группой коллег, в связи с производственной необходимостью, пришлось состыковывать промышленную стойку ЧПУ, работающую по принципу шаг-направление с аналоговым сервоприводом (привод ,который управляется аналоговым напряжением +- 10В). В то время мы делали блок согласования на дискретных элементах. Основу этого блока составлял реверсивный счётчик, ( по- моему, четыре корпуса 155ИЕ7 ) к выходам которого подключался ЦАП К572ПА1.На вход счётчика +1 подавались импульсы со стойки, а на -1 импульсы с энкодера . Энкодер на 1000 имп. ( ВЕ178).Двигатель , известный Вам – СЛ. При работе, на выходе счетчика появлялся код рассогласования, который ЦАП преобразовывал в напряжение, оно поступало на ОУ, затем суммировалось с напряжением, которое вырабатывал скоростной канал ( преобразователь частота – напряжение) , фильтровалось и шло на управление приводом. Допустимое рассогласование, при котором срабатывала защита – 500 дискрет, на машине -- 0.5 мм. Всего у нас тогда ушло корпусов 20 155 логики. Думаю, для того, чтобы определить быстродействие сервопривода на МК, можно собрать реверсивный счётчик на той же 555 серии (или на МК , если это проще для ВАС) к выходу подключить дешифратор с АЛС. Вход счётчика +1 подключаем параллельно входу степ сервопривода, вход -1 счетчика -- к любому каналу энкодера ( А или В), подаём импульсы с генератора на вход сервопривода, двигатель вращается, счётчик показывает нам разность между количеством поданных на сервопривод импульсов и отработанных двигателем . Это рассогласование должно быть минимальным. При какой- то частоте рассогласование начнёт расти, т.е. быстродействия привода будет не хватать. Но, ИМХО, быстродействие привода надо рассматривать для системы сервопривод – конкретный двигатель. Если двигатель на 110v, и такое напряжение на нём получается, при подаче на привод частоты , например, 10 Кгц, то это и будет максимальная частота для этой системы. Но, чем выше частота, при которой напряжение на двигателе достигает номинального – тем лучше ( особенно для приводов подач ).

  6.  
  7. #285

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Спасибо, мысль понял – параллельно сервоконтроллеру подключить независимый аппаратный реверсивный счётчик показывающий рассогласование. Идея интересная, т.к. при этом можно точнее измерить частоту, чем если использовать «внутренние» ресурсы МК. Но опять всё «упирается» в быстродействие механической системы.
    Сегодня мне пришла идейка, как измерить быстродействие сервоконтроллера без механической системы. Я здесь http://electronix.ru/forum/index.php...dpost&p=573864 уже поделился с профессионалами, пока жду отзывов.
    Поделюсь её и здесь, может кто-то выскажется на счёт этого способа.
    Вместо двигателя на выходе сервоконтроллера установливается генератор управляемый напряжением (ГУН). Сглаживающей RC-цепочкой («сглаживает» ШИМ) по входу ГУН можно в небольших пределах имитировать инерцию системы. «Крутизной» ГУНа - разрешение энкодера. Светодиод горит когда нет рассогласования, при превышении +/-1 Step – гаснет, но можно и наоборот (это рассогласование определяю программно).
    Прибавляя постепенно частоту на входе Step находим максимум.
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: Servo_1.jpg‎
Просмотров: 851
Размер:	22.3 Кб
ID:	241439  
    Последний раз редактировалось arisov77; 08.04.2009 в 14:25.

  8. #286

    Регистрация
    20.01.2009
    Адрес
    Тула
    Возраст
    65
    Сообщений
    9
    Здравствуйте!

    Прочитав всю тему здесь и на cnczone.com, очень заинтересовался. Так как делал приводы только на шаговых, возникли вопросы.

    Для чего нужна прога ServoTuning, без нее драйвер сразу работать будет или нет? Я понял, что она нужна чтобы узнать предельные параметры драйвера или это не так. В архиве ServoCode_AtMega88, три папки с прошивками - Servo_int_AtMega88, ServoFinishInt_AM88, ServoUART_AM88, для чего какие нужны?

  9. #287

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Без ServoTuning (дословный перевод - серво настройка) работать не будет. Вернее драйвер работать будет, но не так как надо. ServoTuning нужен пару раз для настройки привода, впослествии ServoTuning и соотвественно внешний преобразователь RS232/UART (Rx-Tx) будут не нужны.
    Лучше всего использовать конструктив pájač (Jozefp) http://forum.rcdesign.ru/f41/thread4...ml#post1158976 (сообщение №198) и внизу там есть прошивочка в архиве Servo_AtMega88_CompInt_Modif.zip.

  10.  
  11. #288

    Регистрация
    20.01.2009
    Адрес
    Тула
    Возраст
    65
    Сообщений
    9
    Цитата Сообщение от arisov77 Посмотреть сообщение
    Без ServoTuning (дословный перевод - серво настройка) работать не будет. Вернее драйвер работать будет, но не так как надо. ServoTuning нужен пару раз для настройки привода, впослествии ServoTuning и соотвественно внешний преобразователь RS232/UART (Rx-Tx) будут не нужны.
    Так я и предполагал.

    Скажите, а где подробней почитать о настройке привода с прогой ServoTuning, в какой последовательности что делать и чего добиваться.

    Я хочу попробовать применить серво вместо шаговика.

    А вы не хотели, бы подробно описать как с этой прогой работать, хорошо у вас получается. Конечно, времени катастрофически не хватает всем, но какая польза, для тех кто впервые сталкивается с этой прогой.

  12. #289

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от Sacha56 Посмотреть сообщение
    Скажите, а где подробней почитать о настройке привода с прогой ServoTuning, в какой последовательности что делать и чего добиваться.
    Начиная с сообщения №96 http://forum.rcdesign.ru/f41/thread4...ml#post1019963 этой ветки форума.
    Вообще, конечно, надо бы снять видеоурок, но как обычно "руки не доходят". Ничего сложного в настройке нет. "Не боги горшки обжигают"

  13. #290

    Регистрация
    20.01.2009
    Адрес
    Тула
    Возраст
    65
    Сообщений
    9
    Да, видеоурок, это было бы идеально.

    Спасибо.

  14. #291

    Регистрация
    08.07.2005
    Адрес
    Москва
    Возраст
    53
    Сообщений
    415
    Цитата Сообщение от arisov77 Посмотреть сообщение
    ...
    Прибавляя постепенно частоту на входе Step находим максимум.
    Чуть не в тему.
    Я сначала сделал так: поставил 2313 чисто как счетчики как енкодера, так и степа. Основная мега имеет сервоцикл 10кГц, опрашивает счетчики, вычисляет рассогласование, считает ПИД и вычисляет ШИМ.
    Потом первую часть размножил и 10 каналов зашил в ФПГА, причем на входе енкодера стоит 8-уровневый фильтр дребезга. Как показала практика, дешевые непромышленные енкодеры им страдают. (Хотя и пара триггеров в россыпи вполне должны справляться..).

  15. #292

    Регистрация
    22.03.2006
    Адрес
    Железногорск
    Возраст
    61
    Сообщений
    827
    Цитата Сообщение от arisov77 Посмотреть сообщение
    Вместо двигателя на выходе сервоконтроллера установливается генератор управляемый напряжением (ГУН). Сглаживающей RC-цепочкой («сглаживает» ШИМ) по входу ГУН можно в небольших пределах имитировать инерцию системы.
    Imho, с реальным двигателем будет проще:
    1. у ГУН нет частоты = 0, а с энкодера при стоящем двигателе сигнал не идет.
    2. подобрать параметры фильтра ГУН для имитации реакции двигателя будет не проще, чем настроить реальную систему - просто интегратором там не обойтись.

  16. #293

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от maxvovk Посмотреть сообщение
    Я сначала сделал так...
    Я всё таки не понял, а по какому признаку находиться максимум?
    Цитата Сообщение от ATLab Посмотреть сообщение
    Imho, с реальным двигателем будет проще:
    1. у ГУН нет частоты = 0, а с энкодера при стоящем двигателе сигнал не идет.
    2. подобрать параметры фильтра ГУН для имитации реакции двигателя будет не проще, чем настроить реальную систему - просто интегратором там не обойтись.
    Тоже считаю, что проще и достовернее результат, если двигатель и энкодер с повышенным разрешением есть в наличии.
    Я планировал, преобразователь (ГУН с формирователем квадратурных сигналов) «запихнуть» в МК. Измерять АЦП и преобразовывать в А и В. Как вариант, с МК можно измерять не напряжение, а ширину импульса ШИМ на выходе сервоконтроллера. «Математикой», если понадобиться, «вывести в ноль».


    Цитата Сообщение от maxvovk Посмотреть сообщение
    Как показала практика, дешевые непромышленные енкодеры им страдают. (Хотя и пара триггеров в россыпи вполне должны справляться..).
    Я сейчас в экспериментальном варианте сервоконтроллера применяю такую схему.
    Преимущества перед аналогичными схемами, на мой взгляд, заключаются в следующем - на входах установленны для уменьшения дребезга аналоги триггера Шмита (DD1.1 и DD1.2) с возможностью регулирования «ширины окна» и временем фильтрации шумов (RC-цепочками), сигнал прерывания возникает только во время «правильных» переходов (т.к. переходов с энкодера с 00 на 11, с 01 на 10 или наоборот не может быть, то за счёт применения элемента DD1.3 «Иск. ИЛИ» обеспечивается дополнительная защита от «ложных» переходов и повышается быстродействие, т.к. МК лишний раз «не отвлекается» и не надо в п/программе проводить это сравнение) и всё это реализуется на одном корпусе К561ЛП2, да ещё 1 элемент остаётся. И надо только один вход прерывания, настроенного на любое изменение уровня. Следует учитывать, что кодировка при этом меняется.
    Если кто захочет применить, то вот исходник подпрограммы обработки прерывания от энкодера.
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: Encoder.jpg‎
Просмотров: 1555
Размер:	37.6 Кб
ID:	244843  
    Вложения

  17. #294

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Вот ещё некоторые мои размышления.
    Сейчас при экспериментах над новым вариантом прихожу к выводу, что предыдущем варианте схемы (сообщение №161) в узле токоограничения (когда отключение тока производиться по входу IN, а не по SD драйверов IR2184), я сам того не желая, получил «подобие» ШИМ контура стабилизации тока.
    При «выставлении» подстроечным резистором R33 «Current Limit» момента, когда при реверсе происходит «подмигивание» HL3 “Over Currect” то останов двигателя происходит точно, без «выбега» и настройка привода, такое ощущение, что производиться легче.
    При прерывании тока по входу SD «выбег» значительно увеличивается и практически приходиться увеличивать порог срабатывания защиты, чтобы не было «подмигивания» светодиода. При этом ток через двигатель не ограничивается, происходит только ограничение максимального тока через транзисторы.
    Получается, что мой вариант токоограничения, в плане улучшения позиционирования – неплох. Но со своим одним большим недостатком, про который я уже писал (в середине 198 сообщения) – нет защиты «нижних» по схеме транзисторов в момент их одновременного открытия от тока самоиндукции двигателя.

    Сейчас читаю много «умных» книг по электроприводу и везде написано, что для более точного позиционирования необходим второй контур стабилизации тока двигателя.
    На картинке, которую я приводил в сообщении № 282, как я понял, стабилизация тока (контроль вращающего момента - Тorque control) есть не во всех сервоконтроллерах. Также во многих нет защиты от короткого замыкания (Short circuit protection). Надо над этим поработать.

  18. #295

    Регистрация
    12.12.2005
    Адрес
    Могилёв, Беларусь
    Возраст
    60
    Сообщений
    22
    " ...Сейчас читаю много «умных» книг по электроприводу и везде написано, что для более точного позиционирования необходим второй контур стабилизации тока двигателя..."

    Arisov 77, двухконтурное регулирование применяется в приводах не всегда.Пример -- промышленный, очень даже не плохой, чешский привод " Мезоматик".У нас они стоят на довольно точных обрабатывающих центрах и мы ими, в принципе, довольны," динозаврики", но ещё работают. "Выбега" в приводах подач вообще быть не должно.Если интересно, описание здесь:
    http://depositfiles.com/files/mx233w5vc

  19. #296

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Спасибо, за инфу, этой у меня ещё не было.
    Я с " Мезоматик" дело не имел. Ремонтировал только «КЕМТОР», «КЕМРОС» и ЭТШР и ещё какие-то «мелкие» тиристорные регуляторы.
    На стр. 203, того описания которое Вы дали, написано - ….Это особенно характерно для привода «Мезоматик», имеющего худшие динамические характеристики по сравнению с другими приводами (Кемрон, ЭТУ3601, ЭТ6С).
    Последний раз редактировалось arisov77; 30.04.2009 в 17:28.

  20. #297

    Регистрация
    12.12.2005
    Адрес
    Могилёв, Беларусь
    Возраст
    60
    Сообщений
    22
    Это я к тому, что одноконтурные привода тоже имеют право на жизнь и применяются в серьёзных промышленных станках.Динамика особенно необходима там, где нужно чётко согласовывать два движения и очень точно выдерживать скорость подачи, например, при нарезании резьбы на токарном станке с ЧПУ. Там надо чётко попадать в нитку резьбы и очень точно выдерживать шаг, т.е. скорость . " Мезоматики" стоят ещё и на фрезерных станках типа ГФ. Arisov77, вот ВАМ ещё немного информации, может будет интересно. Качество не очень, но разобраться можно. Здесь есть и промышленный транзисторный привод ЭШИР с ШИМ.
    http://depositfiles.com/files/vlibq3f97

  21. #298

    Регистрация
    03.04.2006
    Адрес
    Торонто
    Возраст
    53
    Сообщений
    676
    Кто понимает по английски, послушайте как работает новый магнитный энкодер от компании CUI. Продается в digikey.com за 30$. Судя по цене доступное и дешевое решение для энкодера двигателя.

    http://dkc1.digikey.com/ca/en/tod/CU...TEncoders.html

  22. #299

    Регистрация
    11.01.2009
    Адрес
    Ростов-на-Дону
    Возраст
    64
    Сообщений
    43
    boldive,проверьте,пожалуйста ссылку,не рабочий сайт? http://dkc1.digikey.com/ca/en/tod/CU...TEncoders.html

  23. #300

    Регистрация
    14.03.2009
    Адрес
    Belize, Belmopan
    Возраст
    61
    Сообщений
    71
    2Виктор Петрович
    ссылка boldive живая и со звуком (просто показана сокращенно), ваша - скопипастенная неправильно (наведите мышку без нажатия на обе - увидите разницу)

  24. #301

    Регистрация
    19.08.2007
    Адрес
    Санкт-Петербург
    Возраст
    46
    Сообщений
    31
    А как вам такой сервоконтроллер http://www.quantumservo.com/English.htm
    Правда от Чена здесь ничего нет.

  25. #302

    Регистрация
    03.04.2006
    Адрес
    Торонто
    Возраст
    53
    Сообщений
    676
    Цитата Сообщение от vadik Посмотреть сообщение
    А как вам такой сервоконтроллер http://www.quantumservo.com/English.htm
    Правда от Чена здесь ничего нет.
    Что-то цены у них неправильные, интересно, на кого расчитаны?
    Вот готовый комплект http://www.dmm-tech.com/Pricing.html по этому поводу.

  26. #303

    Регистрация
    11.01.2008
    Адрес
    Прага
    Возраст
    46
    Сообщений
    95
    Цитата Сообщение от boldive Посмотреть сообщение
    Что-то цены у них неправильные, интересно, на кого расчитаны?
    Вот готовый комплект http://www.dmm-tech.com/Pricing.html по этому поводу.
    250 баксов просто супер цена мне кажется.
    не очень понятно почему более слабый комплект дороже.

  27. #304
    Забанен
    Регистрация
    22.06.2008
    Адрес
    Москва
    Возраст
    50
    Сообщений
    295
    Читал с огромным интересом. Я использую DC сервомотор с энкодером 1000 и Геко 320.
    Немног о геке. При использовании энкодера он считает фронты с энкодера как нарстающие так и спадающие. То есть реально дает 4000 позиций на оборот. Моя схема управляющая двигателем примерно стакой частотой и дает импульсы для управления двигателем на геку. То есть почти до 200 кГц. (скорость движка до 3000 об/минуту). И в принципе меня почти все устраивает. Но!!!
    А вот теперь об этом самом но. Движок поет. То есть когда он стоит он урчит себе. Причем урчит достаточно громко. И это меня добивает. В некоторых системах при останове двигателя на него ничего не подается. В других при остановки на движок подается напряжение то в одну сторону то в другую. Теоретически при этом движок должен стоять, но это не так. На сколько я помню в первой версии чена было раздельное управление шимами для разного направления,и в точке останова движок практически обесточивался. Именно такая система применяется в современных принтерах. То есть движок повернулся и все. Дальше его хоть руками вращай. В этом смысле вариант чена меня устраивал. А вот скорость его работы - категорически нет.
    Теперь я так понимаю со скорость все нормально но вот движки опять поют?
    А вообще проект пора переносить на ATxmega.

  28. #305

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от cd-printru Посмотреть сообщение
    ... Теперь я так понимаю со скорость все нормально но вот движки опять поют? А вообще проект пора переносить на ATxmega.
    Со скоростью пока "непонятки", пока измерить максимальную "скорострельность" этого сервоконтроллера "руки не доходят". Скорость у UHU по «паспорту» достигает 250кГц, но это с кварцем на 24МГц, а этот работает на 16МГц, так что скорость будет ниже. Движки не поют. С прошивкой smc2 (которая сейчас используется) действительно раздельное управление ШИМ для каждого направления. При останове, всё равно полного отключения не происходит. Я ставил светодиоды на направление и видно, что при останове практически всегда один из светодиодов (в зависимости от заданного предыдущего направления) светиться. Руками можно «довести» (+/-1шаг) до полного погашения светодиодов, но вал, как Вы написали «хоть руками вращай» - вращать не получится, т.к. «сработает» основная задача сервоконтроллера – компенсация рассогласования. В момент когда двигатель остановлен и светодиод направления светиться на выходе соответствующего ШИМ присутствуют «короткие» иголки (возможно их когда то stano4nek http://forum.rcdesign.ru/f41/thread4...ml#post1036327 принял за паразитные). Я предполагаю, что это связанно с тем, что этого короткого импульса недостаточно по амплитуде для двигателя, чтобы установиться в нулевое положение и поэтому не происходит полного отключения ШИМ и погашения светодиодов.
    С прошивкой smc3 (с которой обычно все и повторяют оригинальный Ченовский вариант) ШИМ формируется, также как в Gecko, UHU и во многих других сервоконтроллерах, т.е. по очереди сначала в одном, потом в другом направлении. В режиме «Стоп» ШИМ 50/50, а при вращении это соотношение меняется в зависимости от направления. Я пробовал и с этой прошивкой, но мой движок при останове и с ней не «поёт», но звук от него при движении другой (более низкий, рокочущий, хотя частота ШИМ с кварцем 16МГц – 31,25кГц). Звук мне больше понравился с smc2 . С smc3, на мой взгляд - больше помех, выходные полевики сильнее греются, у двигателя визуально максимальные обороты меньше. Но позиционирование, опять же на мой взгляд, происходит немного «жестче», т.е. то что и надо сервоприводу. Видимо поэтому Чен и применил в smc3 такое формирование, несмотря на все достоинства способа с раздельным ШИМ.
    Кстати с этой прошивкой светодиоды индикации направления тоже не гаснут при останове. Более того с прошивкой «как есть» двигатель при останове «дёргается», пытаясь компенсировать это небольшое рассогласование и настроить сервоконтроллер мне не удалось (пока не изменил программу). Возможно поэтому, те кто повторил оригинальный Ченовский сервоконтроллер с прошивкой smc3 и получили разочарование в его работе.

    Я здесь (http://forum.rcdesign.ru/f41/thread4...ml#post1190393) и на cnczone.com выкладывал прошивку под AtMega48. Она в реальном сервоконтроллере не работает (а AVRStudio-всё o’k) - ошибся с размером памяти при очистке RAM.
    Выкладываю проверенные «на столе» 2 версии с кварцами на 16МГц и 20МГц:
    - version_v3.4 (for AtMega48 = 16MHz) – в ней ограничил пределы изменения ШИМ до +/-240 усл.ед., для более надёжной работы драйверов с бутстрепными кондесаторами.
    - version_v3.5 (for AtMega48 = 20MHz) – дополнительно к предыдущему изменению уменьшил частоту ШИМ до 19,5кГц, чтобы уменьшить потери на переключение (нагрев) полевиков.
    Fuse-биты для AtMega 48 с кварцевым (не керамическим!) резонатором под CodeVision и PonyProg в архиве.
    По поводу использования ATxmega – сравните цены, доступность, количество ног на неё и на AtMega48. Думаю, для этого варианта сервоконтроллера AtMega48 будет «самое то»!

    На cnczone.com Миша (Michael = krazatchu) из Южной Кореи разработал платку под этот вариант сервоконтроллера. Вот фото этой платы, остальное можно скачать c http://www.cnczone.com/forums/showth...t=69640&page=3 (у меня на этом форуме уже ограничения по объему закачки). Платка на мой взгляд очень неплохо разведена. Но он переделал немного схему (исключил опторазвязку и защиту от превышения тока) и этот вариант лучше всего подходит для низковольтных «слабеньких» двигателей.
    Он планирует эти платы продавать. В переписке с ним я давал ему несколько вариантов прошивки для AtMega8, но все они «пошли» плохо. Так же он заметил, что был «слёт» EEPROM. С AtMega88, как он написал - работает отлично. И у меня с начала этого года в процессе эксплуатации 2 сервоконтроллеров на AtMega88 «слёта» EEPROM ни разу не было.
    Получается, что все мои ухищрения направленные на устранение «слёта» EEPROM в AtMega8 были напрасны. . Как писал Художник на одном из форумов и мне в переписке, настоящий автор модернизированного Ченовского сервоконтроллера и программы настройки ServoTunning - Александр Карсакбаев (а не Художник, хотя они и были «связанны») для устранения этой «бяки», с AtMega8, надо установить внешний Brown-out Detection, например MC34064D-5.
    Миниатюры Миниатюры Нажмите на изображение для увеличения
Название: servo brd.jpg‎
Просмотров: 1388
Размер:	102.8 Кб
ID:	259680  
    Вложения

  29. #306
    Забанен
    Регистрация
    22.06.2008
    Адрес
    Москва
    Возраст
    50
    Сообщений
    295
    Я ковырял серво управление На струйном принтере Эпсон 4400. Там раздельное шим формирование на серводвигателях. Для себя я сделал вывод что мне тоже нужно раздельное. Так что прийдется ковырять smc2.

    xMega - 6$-8$
    Мега88 - 2$
    Разница 4-6$ на стоимости конечного устройства особой рояли несыграет. (А в моем случае вообще пофиг +-50баксов).
    но зато иксмега не только в почти два раза быстрее, но еще можно завести на прерывания не только по Step но и по энкодеру оба канала.

    Но это все лирика.

    Если честно, то меньше всего я хотел заниматься разработкой собственного серво контроллера. Но кажись увы прийдется.

    Немного о геке. У геки допустимая ошибка +-127 шагов. С точки зрения разработчика есть некоторое предположение что если при управлении двигателем ошибка больше 127 шагов то значит вы неправильно управляете двигателем. То есть пользователь должен правильно настроить характеристики разгона, торможения двигателя и т.д. В чем-то они правы. Мне пришлось немало поработать чтобы настроить свою программу так, что и иметь максимальный разгон/торможение/скорость и при этом ошибка не привышала 127.

    А теперь о главном. Откуда взялась эта цифра +-127. Все очень просто. На обычной логике типа нашей 155 серии (ну их соотвественно 74...) сделан вычислитель ошибки с энкодера и сигналов степ/дир. И максимальная частота определяется максимальной частотой этой самой логики. там буквально 3-4 корпуса микросхем. И на выходе имеем ту самую дельту X с которой и проделываем все операции по PID алгоритму. Ну и соотвественно все упирается в то, что эта самая логика 8-ми битная. Хотя ее легко расширить в 16 бит.

    То есть. Если мы разгрузим процессор от необходимости общитывать дельта х, и вынесем это на некотурую внешнюю схему, то мы получим за недорого гарантированно высокую скорость обработки сигналов энкодера и сигналов степ. Эту внешнюю схему можно реализовать как на рассыпухи, так и на ПЛИС или отдельном процессоре.
    При этом в эту-же схему можно внести возможности по умношению шагов, ну или там передаточного числа. Схемку такого плана я могу сделать за пару дней. Но вот ковырять программу чена я повешусь. То есть идея у меня такова. Выкинуть из программы обсчет энкодера и т.д. и тупо брать значение дельта х из какого-нибудь порта. Напрашивается порт D но там RX/TX мешает. Порт С- слишком мало разрядов. Уже поглядываю на 32 мегу.
    arisov77 Если я сделаю внешний счетчик, сможете подправить прошивкой smc2 так, что-бы она использовала внешний счетчик?

    Цитата Сообщение от boldive Посмотреть сообщение
    Что-то цены у них неправильные, интересно, на кого расчитаны?
    Вот готовый комплект http://www.dmm-tech.com/Pricing.html по этому поводу.
    Попробую купить на следующей неделе.

  30. #307
    Забанен
    Регистрация
    22.06.2008
    Адрес
    Москва
    Возраст
    50
    Сообщений
    295
    Сижу и думаю. А какого собственно говоря изобретать велосипед.
    Надо просто померить реальную скорость текущей версии контроллера.
    для этого надо установить предел по ошибке ну например 32 (или 128/256) то есть не очень большую. С внешнего генератора подать частоту STEP. и через схемку с этого же генератора синхронно генерить эмуляцию сигналя A/B с энкодера. Увеличиваем частоту и в какой-то момент (когда проц уже не сможет успевать обрабатывать сигналы) он встанет по ошибке.
    А дальше уже думать чо делать.
    Попробую на выходных повозиться.

    Вот еще мысль. Почемубы не скрестить ужа с ежом. То есть в одну схемку завести и экодер и Step/dir и процессор дергать только по двум прерываниям Увеличение/уменьшение дельта х.

  31. #308
    Забанен
    Регистрация
    22.06.2008
    Адрес
    Москва
    Возраст
    50
    Сообщений
    295
    О. Победил Геко. Короче проблема была в том, что стоял высокое (для моего двигателя) значение GAIN/DAMP. Уменьшил примерно до 15-20% (по умолчанию стояло примерно 30%) и движок замолчал.

  32. #309

    Регистрация
    14.02.2009
    Адрес
    Бердск
    Возраст
    52
    Сообщений
    178
    А на синхронном серводвигателе слабо сделать сервопривод?

  33. #310

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от cd-printru Посмотреть сообщение
    …Моя схема управляющая двигателем примерно стакой частотой и дает импульсы для управления двигателем на геку. То есть почти до 200 кГц. (скорость движка до 3000 об/минуту)...
    А чем управляете? Какие программы могут управлять несколькими осями через LPT-порт с частотой 200кГц на каждую ось?
    Цитата Сообщение от cd-printru Посмотреть сообщение
    arisov77 Если я сделаю внешний счетчик, сможете подправить прошивкой smc2 так, что-бы она использовала внешний счетчик?
    Подправить могу, но гарантировать работоспособность не смогу, потому что уже не раз убеждался – не имея под рукой «реального» устройства, «виртуально» очень трудно написать «правильную» программку. А Proteus-ом для визуализации отладки, я ещё не научился пользоваться, да и как то особо не доверяю результатам таких моделирований.

  34. #311
    Забанен
    Регистрация
    22.06.2008
    Адрес
    Москва
    Возраст
    50
    Сообщений
    295
    Цитата Сообщение от arisov77 Посмотреть сообщение
    А чем управляете? Какие программы могут управлять несколькими осями через LPT-порт с частотой 200кГц на каждую ось?
    У меня не фрезерный станок, а принтер. Управление от своей схемы на AVR-ках. Для получения нужной скорости стоит несколько процессоров, каждый из которых занимается своей задачей. За движение отвечают две меги88.
    Принтерный порт тут не причем.

    Собственно не стал приставать со схемой, так как геки уже месяц работают без нареканий, и от добра добра не ищут.

  35. #312

    Регистрация
    14.02.2009
    Адрес
    Бердск
    Возраст
    52
    Сообщений
    178
    С синхронным сервоприводом никто дела вообще не имел что ли? Или это уже из разряда ПРОФИ, а не ХОББИ?

  36. #313
    Забанен
    Регистрация
    22.06.2008
    Адрес
    Москва
    Возраст
    50
    Сообщений
    295
    А что значит несинхроммый сервопривод?
    Я как-то считал что они все синхронные.

  37. #314

    Регистрация
    14.02.2009
    Адрес
    Бердск
    Возраст
    52
    Сообщений
    178
    Ну типа двигатели постоянного тока - не есть синхронные

  38. #315

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от KoCNC Посмотреть сообщение
    А на синхронном серводвигателе слабо сделать сервопривод?
    У меня таких двигателей нет в наличии и следовательно нет цели (мотивации) для их запуска .
    Вот здесь http://www.gaw.ru/html.cgi/txt/app/motor/dc/index_3.htm можно почитать про управление бесколлекторными электродвигателями постоянного тока, думаю про эти двигатели идёт речь.
    Вот этот http://www.cnczone.com/forums/showthread.php?t=74532 проект, насколько я понял, может работать с вентильными ЭД по Step/Dir, но через дополнительный усилитель мощности (ключи).

  39. #316

    Регистрация
    23.11.2007
    Адрес
    Latvija
    Возраст
    34
    Сообщений
    5
    Здравствуйте.
    Пользователь GuntisK рекомендовал мне ваш форум как раз по этой теме. Стал потихонько собирать схему приведенную в сообшений 161. Нашлась небольшая ошибка в софте - выхода Direction включаетса неправильно. Быстро исправил подпрограммы Direct_L и Direct_R и сейчас всё в порядке. Выход еще не собирал - это на завтра.

  40. #317
    Забанен
    Регистрация
    09.03.2008
    Адрес
    Украина, граница между Днеп
    Возраст
    57
    Сообщений
    1,671
    Прям голова кругом. На плату что дал чех - можно ставить мегу 8? или только 88? Или любую?
    Vikings, а нельзя поделиться доработанным НЕХом? А то я мягко говоря в этом ....

  41. #318

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от Vikings Посмотреть сообщение
    …Стал потихонько собирать схему приведенную в сообшений 161. Нашлась небольшая ошибка в софте - выхода Direction включаетса неправильно. Быстро исправил подпрограммы Direct_L и Direct_R и сейчас всё в порядке. Выход еще не собирал - это на завтра.
    Цитата Сообщение от arisov77 Посмотреть сообщение
    … В ней также исправлены несколько замеченных мною багов, которые на работу сервоконтроллера никак не влияли..
    (из сообщения №198)
    Да такая ошибка была, но для AtMega88 (прошивка в сообщение №198 и для AtMega48 в собщении №305 это было устранено). У меня эти выхода не использовались для основной работы. Я делал их только для индикации направления вращения и в расчёте, что кому-то они пригодиться для своих вариантов выходных драйверов или ещё каких то других целей. В приведённых мною схемах эта ошибка не влияет на работоспособность сервоконтроллера (в плане управления двигателем).

    Цитата Сообщение от Dj_smart Посмотреть сообщение
    Прям голова кругом. На плату что дал чех - можно ставить мегу 8? или только 88? Или любую?
    Vikings, а нельзя поделиться доработанным НЕХом? А то я мягко говоря в этом ....
    Микроконтроллеры AtMega8, 48, 88, 168 одинаковы по «ногам» и с соответствующей прошивкой (для AtMega168 – у меня нет) любой из этих МК может работать в схемах сервоконтроллеров, которые я выкладывал в этой ветке. Лучше всё-таки применять AtMega 48 или 88, т.к. с ними меньше вероятность «слёта» данных (коэффициенты ПИД) в EEPROM, чем с AtMega8.
    Кстати, в плате словака (Jozefp - не чех), необходимо установить керамический конденсатор 0,1-0,22мкФ непосредственно на выводы питания (5 и 8) входной оптопары HCPL-2531 (2631). Один мой знакомый, который собирал сервоконтроллер с платой Josefp, писал, что без него происходили «глюки» при управлении двигателем в одну сторону вращения, при напряжении питания около 50В, а при 24В было всё нормально. При установке кондёра всё стало O’k.

  42. #319
    Забанен
    Регистрация
    09.03.2008
    Адрес
    Украина, граница между Днеп
    Возраст
    57
    Сообщений
    1,671
    arisov77, большое спасибо за оперативный овет. За чеха извиняюсь, когда пятый раз перечитываешь тему, мозги кипят.
    У меня ещё один вопрос: чем продиктовано применение драйверов 2184? Есть какие-то спецтребования? Просто у меня есть в наличии драйвера 2104 с аналогичной логикой работы. Они по выходному току слабее, и цоколёвкой отличаются. Бескровно явно не получится, вот и хотелось бы их применить.

  43. #320

    Регистрация
    22.07.2007
    Адрес
    Ульяновская обл.
    Возраст
    44
    Сообщений
    301
    Цитата Сообщение от Dj_smart Посмотреть сообщение
    У меня ещё один вопрос: чем продиктовано применение драйверов 2184? Есть какие-то спецтребования? Просто у меня есть в наличии драйвера 2104 с аналогичной логикой работы. Они по выходному току слабее, и цоколёвкой отличаются. Бескровно явно не получится, вот и хотелось бы их применить.
    Я применил IR2184 с запасом, чтобы управлять IRFP260 (200В 49А, Ciss=5200pF). С полевиками IRF540 (100В 28А, Ciss=1700pF) драйвер IR2104, по моим «быстреньким» «прикидкам» должен надёжно работать. Если не ошибаюсь в оригинальном Gecko G320 установлены именно такие драйвера, по крайней мере, судя по моему анализу фотографий печ.плат, цоколёвка совпадает. Только, вот не знаю какие там MOSFET-ы установлены. Может, кто "заодно", подскажет наименование вых. транзисторов и драйверов в Gecko G320, так для «общего развития».

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

Похожие темы

  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

Ваши права

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