|
|
  |
драйвер биполярного шагового двигателя |
|
|
|
May 8 2012, 09:35
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 10-02-09
Из: Выборг
Пользователь №: 44 667

|
Цитата(dinam @ May 6 2012, 16:54)  В секунду! Может и слишком быстро, но сам факт разгона конкретного движка этим драйвером до такой скорости меня поразил! Круто! Дравер я как понимаю на А4989? Какое напряжение питания? А разгон до частоты в 380кГц как делаете? Откуда такую частоту генерите? Свой контроллер?
|
|
|
|
|
May 8 2012, 11:50
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 10-02-09
Из: Выборг
Пользователь №: 44 667

|
Цитата(dinam @ May 8 2012, 13:05)  Напряжение питания 45В. Драйвер А4989. У меня стоит FPGA, на ней всё и сделано. У меня тут мысля закралась, я скорость кручения вала не замерял. А может ШД крутиться с другой скоростью, не совпадающей с той которой я задаю? Если выходной вал редуктора вращается, то наврено все правда. 100 об/сек / 12.5 = 8 об/сек вала редуктора, можно "на глаз" прикинуть. На FPGA это круто. А кривая разгона какая, возможно в этом секрет такой большой скорости.
|
|
|
|
|
May 8 2012, 12:09
|
Профессионал
    
Группа: Свой
Сообщений: 1 415
Регистрация: 10-06-05
Из: Наукоград Кольцово(Новосибирск)
Пользователь №: 5 898

|
На глаз вроде так и есть. Линейный разгон с нулевой скорости до максимальной. На удивление и разгон ОЧЕНЬ бодрый. Цитата(Abrams @ May 8 2012, 18:50)  На FPGA это круто. Для меня наибольшую сложность представляла реализация линейного ускорения/торможения. Остальное вроде всё просто. Сейчас думаю как выбирать slow-, mixed-, or fast-decay modes в зависимости от оборотов и двигателя. Ничего в голову не приходит.
|
|
|
|
|
May 9 2012, 08:24
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 10-02-09
Из: Выборг
Пользователь №: 44 667

|
Цитата(dinam @ May 8 2012, 15:09)  На глаз вроде так и есть. Линейный разгон с нулевой скорости до максимальной. На удивление и разгон ОЧЕНЬ бодрый. Для меня наибольшую сложность представляла реализация линейного ускорения/торможения. Остальное вроде всё просто. Сейчас думаю как выбирать slow-, mixed-, or fast-decay modes в зависимости от оборотов и двигателя. Ничего в голову не приходит.  Не поделитесь алгоритмом линейного разгона? Буду очень признателен. Я делал разгон просто постоянным приращением частоты на каждый шаг.
|
|
|
|
|
May 12 2012, 12:42
|
Участник

Группа: Участник
Сообщений: 55
Регистрация: 10-02-09
Из: Выборг
Пользователь №: 44 667

|
Цитата(dinam @ May 10 2012, 04:51)  К сожалению алгоритм придуман не мной, а нашим программистом. Я его просто реализовал в FPGA и благополучно забыл Хотя я в своё время даже темку заводил. Спасибо!
|
|
|
|
|
May 21 2012, 12:02
|
Знающий
   
Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515

|
Цитата(dinam @ May 10 2012, 05:51)  К сожалению алгоритм придуман не мной, а нашим программистом. Я его просто реализовал в FPGA и благополучно забыл Хотя я в своё время даже темку заводил. Меня там слегка удивила проблема с делением. Ведь делить надо не каждый такт FPGA, а каждый микрошаг, то есть на одно деление более 200 тактов, что позволяет последовательно выполнить деление столбиком(как в школе учат  ) на небольшом числе лутов, по такту на двоичный разряд. Алгоритм примерно 25 строк в Верилоге, очень странно, что такого модуля нет в стандартных библиотеках.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|