Система управления учебным робот-манипулятором на базе ПК

Автор dima, Среда, марта 28, 2018, 07:45:57

« предыдущая тема - следующая тема »
Вниз

KudakIG

Долго думал писать или не писать, но все таки...

Почему LPT, голый МК, командная строка, ассемблер?
Я конечно понимаю что это основа, низкие языки программирования, но оно грубо говоря мертво.

Почему не использовать более продвинутые платформы?
Просто взяв тот же Processing+arduino, скорость отладки, разработки увеличится в разы.
Не говоря уже о том что построение графического интерфейса на процессинге, дело 5 минут.


П.С.Processing -- открытый язык программирования, основанный на Java. Среда программирования arduino написана на нем, поэтому они "общаются" друг с другом как родные.

dima

Замечания устраню в ближайшее время.

dima

Изначально была поставлена задача в разработке программы управления драйверами ШД по протоколу STEP/DIR через интерфейсы LPT-порта. Микроконтроллер PIC был выбран так как имелся в наличии, да и работать с данными МК мне нравится. Тестирование программ проводим в консольном варианте, в дальнейшем будет приложение c визуальным интерфейсом.

KudakIG

Разработка деревянного велосипеда.
Но это не ваша вина.

По текущему:
В схем с МК.
Зачем вы используете для подачи сигнала DIR МК?
Тут либо уберите переключатель SA и управляйте направлением движения программно.
Либо входы переключателя SA подвяжите к +5 и земле, а не к МК.

А вообще зачем это нагромождение МК->ВОВ-5х2->Драйвер ШД->ШД, а точнее накой тут "ВОВ-5х2"?

dima

Переключатель SA использовался только при тестировании, для упрощения кода программы, в дальнейшем управление направлением движения будет осуществляться программно.
Система ВОВ-5х2->Драйвер ШД->ШД была собрана ещё до нас, так же к плате подключены датчики конечных положений, кроме того ВОВ-5х2 обладает реле и ШИМ которые могут пригодиться в будущем.

knoppix

Я бы даже без данного весьма объемного исследования сказал бы что МК справится, это вообщем-то очевидно.
P.S. Автор почитайте зачем в коде нужны комментарии, практика комментировать каждую строк - плохая практика (особенно в языках высокого уровня), все и так знаю основные структуры и команды языка, дублирования очевидного в комментариях только засоряет код.
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

RVL

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


knoppix

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


Это хорошая практика пока программа занимает пять строчек (или написана на ассемблере, хотя тоже вопрос спорный), в иных случаях такое количество комментариев лишь засоряет код и может быть оправдано только тем, что человек который этот код будет смотреть программировать не умеет абсолютно. Кроме того описание каждой строки не дает понимания работы программы или функции в целом, что так же негативно сказывается при доработке или ревизии кода другими людьми.
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

dima

Исследования с МК были не такими уж и объемными, и в первую очередь были необходимы для нахождения оптимальной длительности импульсов сигнала STEP.

knoppix

#24
Вторник, апреля 03, 2018, 17:16:58 Последнее редактирование: Вторник, апреля 03, 2018, 17:37:55 от knoppix
Исследования с МК были не такими уж и объемными, и в первую очередь были необходимы для нахождения оптимальной длительности импульсов сигнала STEP.
А разве в документации не указана требуемая длина импульсов Step? Задержка формировалась программно? Если да, то почему не задействовать аппаратные таймеры и прерывания?
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

dima

А разве в документации не указана требуемая длина импульсов Step? Задержка формировалась программно? Если да, то почему не задействовать аппаратные таймеры и прерывания?
Данной документации не существует... Как формировались задержки можно прочитать в разделе "2.2 Управление ШД с помощью микроконтроллера".

RVL

Данной документации не существует... Как формировались задержки можно прочитать в разделе "2.2 Управление ШД с помощью микроконтроллера".
Дмитрий, Вы пож. поподробнее про сигнал step, для чего нужен, на что влияет его длительность!

ran

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

knoppix

А разве в документации не указана требуемая длина импульсов Step? Задержка формировалась программно? Если да, то почему не задействовать аппаратные таймеры и прерывания?
Данной документации не существует... Как формировались задержки можно прочитать в разделе "2.2 Управление ШД с помощью микроконтроллера".
Прочел еще два раза, как там не написано (программно или аппаратно), написано какой длительностью будут сформированы задержки.
По поводу не существующей документации, то есть каждый раз при смене ШД или драйвера надо проводить процедуру определения оптимальной длительности сигнала Step?
Амурский Государственный Университет  - 2010 - Специалист
Harbin Institute of Technology - 2016 - M.Sc.Eng
Главный инженер-программист АСУ ТП

dima

#29
Четверг, апреля 05, 2018, 01:34:42 Последнее редактирование: Четверг, апреля 05, 2018, 01:52:26 от dima
STEP - шаг, тактирующий сигнал. Один импульс говорит о том, что ротор двигателя надо повернуть на один шаг. Под шагом понимается не минимальная дискретность положения шагового двигателя, а шаг драйвера (шаг выставленный на драйвере - 1:1, 1:8, 1:16 и т.д.). В микро шаговом режиме это может быть только часть физического шага двигателя. Когда импульсы сигнала STEP прекращаются двигатель останавливается.
Частота следования сигнала STEP определяет скорость вращения двигателя. Существуют ограничения на максимальную частоту следования импульсов STEP и на минимальную длительность импульса (имеется в виду ограничения драйвера).

Вверх