half 3axis контроллер шаговыз двигателей hobbyrc

ATLab
STEPMOTOR:

Исходник на PCW C Compiler IDE

Просто и работает быстро ! Мож кто еще че нибудь посоветует добавить в прошивку ?

Так я все же про частоту ШИМ:
правильно ли я понял, что оператор
delay_ms(delay)
формирует задержку в миллисекундах?
Если это так, то, как я и предполагал, никакого ШИМ управления током в обмотках нет, поскольку
последовательность операторов в main loop
loop:
output_a(step[stx]);

delay_ms(shim_delay); // 100 мс
output_a(0);
delay_ms(shim_delay2); // 200 мс

goto loop;
выполняется примерно за 300 мс, т.е. частота ШИМ будет около 3,3 Гц.
Налицо явное непонимание того, что такое ШИМ, и модуляция вообще - частота несущей не должна быть ниже частоты модулирующего сигнала (обычно предполагается, что частота несущей не меньше чем на порядок выше частоты модулирующего сигнала). В данном конкретном случае - частота несущей 3,3 Гц, а частота модулирующего сигнала (частота шагания) может быть, например, 1000 Гц. Нонсенс. Поэтому, фактически никакого ШИМ нет, основной цикл работы программы - в обработчике прерываний.
Теперь по поводу обработки прерываний:
обработка прерываний от сигналов STEP (RB4-RB6) сделана не совсем корректно - для целей данного приложения - поэтому шагание будет производиться дважды на каждый импульс шага (по переднему и заднему фронту).

Выводы: молодец, что своими руками что-то делаешь (а ведь мог бы вместо этого водку пить!), но лучше бы сначала самому во всем разобраться, все проверить и опробовать, а потом уже предлагать народу для использования.

STEPMOTOR

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

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

А про ШИМ
Широтно-импульсная модуляция – это способ влияния на управляющее воздействие при дискретном выходе. А у меня как раз это и есть. В режиме простоя вал ШД удерживается импульсами с заданной частотой.

ATLab
STEPMOTOR:

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

А народу это надо? Чтобы я его облагодетельствовал?

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

Читайте datasheet.
А если кратко, то интересующие нас прерывания возникают от изменения состояния выводов PORTB4-7.

  1. Предположим, что на входе изначально был 0, его и считали с порта при инициализации (в защелке порта 0).
  2. Пришел импульс STEP вида __/—\__, длительностью, скажем 200 мкс.
  3. По переднему фронту возникает прерывание (на входе 1 а в защелке 0), в обработчике прерываний считываем состояние порта, ликвидируя тем самым разницу между входом и защелкой порта (в защелке порта теперь 1). Здесь же выполняем шаг двигателя, считав очередную комбинацию сигналов из таблицы. Затем возвращаемся из прерывания.
  4. По заднему фронту вновь возникнет прерывание - поскольку на входе 0, а в защелке 1. Снова обработка прерывания и очередной шаг. И т.д.

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

А про ШИМ
Широтно-импульсная модуляция – это способ влияния на управляющее воздействие при дискретном выходе. А у меня как раз это и есть. В режиме простоя вал ШД удерживается импульсами с заданной частотой.

Тут вообще без комментариев… %)

P.S. Выкладывая свое творение на всеобщее обозрение, нужно быть готовым к его критике.
“Мож кто еще че нибудь посоветует добавить в прошивку?” - не Ваш ли призыв?
Вот я и посоветовал - разобраться с устройством и работой микроконтроллера, ШИМ, и причесать свое произведение. Чего обижаться-то?

Успехов!

STEPMOTOR

Неспорю насчет ваших знаний по части работы МК ,но вот я вижу что с C вы неработали. Нормальную работу шаг/импульс обеспечивает оператор input().

На этом я закончу диалог ,с Вами можно спорить очень долго !

maxvovk
STEPMOTOR:

Неспорю насчет ваших знаний по части работы МК ,но вот я вижу что с C вы неработали. Нормальную работу шаг/импульс обеспечивает оператор input().

На этом я закончу диалог ,с Вами можно спорить очень долго !

Вам все правильно говорят. Учитесь понимать и принимать критику. А то, что вы сделали, я бы пока не советовал предлагать общественности - сыро, даже мокро 😃.

12 days later
Аэробус

2 STEPMOTOR

Хочу спросить… Вы эксплуатируете данный контроллер? Какие результаты?

GOOD

Уважаемый ALL

Остановился на схеме
mac1.ifrance.com/cnc3ax/index.htm
можно ли ей доверять кто юзал ее?
рабочая ли схема и плата этого сайта?
Какие корявки (если они есть) в ней?
Сам я не силен в схемотехнике.
Как запитывать движки?
Подавать питание на каждый отдельно
(поставить на каждый блок питания 2,4А 36В)
или все запитать через один блок питания?
У меня движки 3А 36В.

С уважением

STEPMOTOR
GOOD:

Уважаемый ALL

Остановился на схеме
mac1.ifrance.com/cnc3ax/index.htm
можно ли ей доверять кто юзал ее?
рабочая ли схема и плата этого сайта?
Какие корявки (если они есть) в ней?
Сам я не силен в схемотехнике.
Как запитывать движки?
Подавать питание на каждый отдельно
(поставить на каждый блок питания 2,4А 36В)
или все запитать через один блок питания?
У меня движки 3А 36В.

С уважением

Я эту плату собирал, с первого раза полностью не заработала, но потом разобрался в чем дело и все закрутилось завертелось ! Правда потом из-за нагрева сильного движков в режиме простоя решил собрать с сайта hobbycnc.hu ,все работало хорошо только один недостаток что в режиме полного шага ! Решил сделать свой ,сейчас на нем в полушаге пашет !

GOOD
STEPMOTOR:

Я эту плату собирал, с первого раза полностью не заработала, но потом разобрался в чем дело и все закрутилось завертелось ! Правда потом из-за нагрева сильного движков в режиме простоя решил собрать с сайта hobbycnc.hu ,все работало хорошо только один недостаток что в режиме полного шага ! Решил сделать свой ,сейчас на нем в полушаге пашет !

Спасибо, буду знать что там козявки,
но если знаете какие, можно намылить
чтоб человек не мучился

STEPMOTOR
GOOD:

Спасибо, буду знать что там козявки,
но если знаете какие, можно намылить
чтоб человек не мучился

Посмотрите внимательно на печатку и схему и все увидете !

GOOD
STEPMOTOR:

Посмотрите внимательно на печатку и схему и все увидете !

А вы садист однако ))
Может проще ткнуть где козявка!

OneStep
GOOD:

А вы садист однако ))
Может проще ткнуть где козявка!

😦
Учитывая что я тоже собираю французский вариант, хотелось бы знать где грабли 😵

Не мучте. Поделитесь с народом.

18 days later
alex_PS

По поводу драйверов на ПИКах…
Вот пара “апликух” с микрочипа, там на доступном английском 😃 всё расписано
Может кому пригодится - у меня руки не доходят 😦

00907a.rar00906a.rar

7 months later
alkg

STEPMOTOR

В печатке и схеме выложеной отличие есть , может выложите схему соответствуюшую печатке

Anton_M

Пауза в мС и правда крутовато. Наверно мкС нужны там.

Наверно можно настроить ШИМ регулирование тока под КОНКРЕТНЫЙ МОТОР и напряжение питания с приемлимой точностью без обратной связи.

Вначале включение до достижения заданого тока, а затем постоянный ШИМ. Нужна осторожная настройка.

Можно сделать на ATmega16 - он побыстрей молотит.

транзисторы я бы заменил на irl24 у них входн емкость 480 пФ а у irlz44n 1700 пФ.