-
23.12.2006, 15:15 #1
- Регистрация
- 21.01.2006
- Сообщений
- 28
- Поблагодарили
- 0
- Поблагодарил
- 0
управление тремя приводами
В общем тема такая, до недавнего времени я считал что раз проц работает очень быстро и команды обрабатывает тоже,то и применил алгоритм Брезенхема на практическом устройстве управления приводом.
Но как говорится наткнулся на кучу подводных камней, проблема в том что, чем больше нужно обработать координат тем больше затрачивается время для разгона шаговых эл.двигателей, да и показания не те что при расчетах. К примеру период мне нужен для старта 1428 мкс, на самом деле показания на порядок больше а значит и частота тоже будет ниже, а это не есть хорошо. Ну так вот может кто занимался это проблемкой на практике, или видел может где, а то уже голова раскалывается.
спасибо за любую оказанную помощь.
-
23.12.2006, 16:00 #2
- Регистрация
- 14.02.2005
- Адрес
- Санкт-Петербург
- Возраст
- 60
- Сообщений
- 484
- Поблагодарили
- 43
- Поблагодарил
- 11
1) Разделить задачи расчета координат и
2) Исполнение шага с заданным временем. Второе лучше на аппаратуру возложить (хотя бы аппаратный таймер).
3) Участки разбивать на разгон - дорога - торможение - На разгоне понемногу повышать скорость - на торможении снижать.
Если слишком короткие участки перемещения - "дорога" может отсутствовать - и не придется большую скорость набирать.
0) Выкинуть нафик плавающую точку, если еще не сделали этого.... Я там сам глубину промерял! :: Геннадий Завидовский (Санкт-Петербург)
-
30.12.2006, 02:47 #3
- Регистрация
- 21.01.2006
- Сообщений
- 28
- Поблагодарили
- 0
- Поблагодарил
- 0
про второй пункт я как раз недавно подумал об этом, про то как подключить таймер 580 ВИ 53. И все же насколько точен будет результат на выходе таймера, и какой будет шаг в герцах.
вобще не знаете где можно справку найти про таймер, а то схемные решения встречаются в разных устройствах для звуковых устройств, а справочных данных так и не нашел.
0) Выкинуть нафик плавающую точку, если еще не сделали этого.
не понял совсем про этот пункт, в обще говоря алгоритм связан с вещественными типами данных т.к. необходима точная координация.
-
30.12.2006, 13:22 #4
- Регистрация
- 29.11.2005
- Адрес
- Тула, Россия
- Возраст
- 45
- Сообщений
- 2,689
- Поблагодарили
- 136
- Поблагодарил
- 8
а какой проц то7
73. Алексей (RA3POD)
-
30.12.2006, 14:17 #5
- Регистрация
- 14.02.2005
- Адрес
- Санкт-Петербург
- Возраст
- 60
- Сообщений
- 484
- Поблагодарили
- 43
- Поблагодарил
- 11
"Координация" Вам нужна с точностью до шага позиционера, так что переходите на целочисленный алгоритм Брезенхема.
Если не найдете, подкину кусочек апроксиматора своего для целочисленки.... Я там сам глубину промерял! :: Геннадий Завидовский (Санкт-Петербург)
-
30.12.2006, 15:23 #6
- Регистрация
- 21.01.2006
- Сообщений
- 28
- Поблагодарили
- 0
- Поблагодарил
- 0
алгоритм Брезенхема и был применен, только я его немного модифицировал, было для двух - координатной системы, переделал для трех - координатной. А что бы точность позиционирования была точной, я для начала нашел минимальный шаг исполнительного механизма естественно это вещественный тип данных, затем длину отрезка в миллиметрах делю на этот шаг и получаю количество шагов тип данных целый (integer). Пока вот так.
Да процессор использую ATMEGA16, ранне был AT90S8535, но т.к. памяти программ маловато стало для выполнения некоторых функций пришлось взять поболее. прогу пишу в CodeVisionAVR 1.27 компилятор языка С, хотел на ассемблере но т.к. все будет запутано решил писать на С.
и все же где найти информацию о таймере 580 ВИ 53
ВСЕХ С НАСТУПАЮЩИМ НОВЫМ ГОДЫМ !
-
31.12.2006, 03:11 #7
- Регистрация
- 14.02.2005
- Адрес
- Санкт-Петербург
- Возраст
- 60
- Сообщений
- 484
- Поблагодарили
- 43
- Поблагодарил
- 11
Прототипом 580ви53 был Интел 8253. Есть его "клоны" от других фирм. Ищите pdf на 8253, 82c53.
... Я там сам глубину промерял! :: Геннадий Завидовский (Санкт-Петербург)
-
31.12.2006, 04:41 #8
- Регистрация
- 20.08.2003
- Адрес
- Владивосток
- Возраст
- 74
- Сообщений
- 43
- Поблагодарили
- 14
- Поблагодарил
- 0
здесь есть краткое описание таймера
dssplab.karelia.ru/sources/ivash/ims/t16/TEMA10.HTM#bi53Владимир UA0LFK
-
31.12.2006, 20:48 #9
- Регистрация
- 21.01.2006
- Сообщений
- 28
- Поблагодарили
- 0
- Поблагодарил
- 0
dssplab.karelia.ru/sources/ivash/ims/t16/TEMA10.HTM#bi53
страничку загрузил, пока еще не рассмотрел ,но на первый взгляд вроде какие-то данные есть, очень благодарен.
|
Социальные закладки