Страница 1 из 1

Задача трехкоординатного управления с помощью МК

Добавлено: Вс июл 20, 2008 18:42:03
Symbiosis
Приветствую, уважаемые соратники!

Имеется трехкоординатный позиционер с точностью до 5 нм, и к нему контроллер, такая будка, которая управляет пьезами внутри позиционера, будкой можно управлять либо через последовательный порт , к примеру присоединиться программой телнет и отправлять в порт команды , например VX50, что значит , установить напряжение 50 вольт на пьезу координаты икс. Другой способ - аналоговый, на передней панели есть разъемы , с диапазоном 0-10В, подавая на этот разъем напругу в этом интервале заставляем двигаться позиционер...

Ну и вопросик, что использовать предпочтительней в рамках изложенной ниже задачи, а также как реализовать, я не жду подробных инструкций, просто помощи в направлении, так как в МК новичек.

Вобщем создается текстовый файл состоящий из трех столбцов, x,y,z соответственно, строка - координата в евклидовой системе. Этот файл записываю на СД флэш карту , к примеру, МК читает этот файл и начинает управлять позиционером. Я думаю аналоговое управление будет проще реализовать, или я ошибаюсь? Просто в этом случае не надо будет транслировать команды, как я понимаю, а исключительно использывать ЦАП.

Собственно, где можно почерпнуть информации, желательно с примерами по реализации чтения данных с флэш ?
А вывод координаты на позиционер, я представляю просто запись числа в порт (точки координаты) умноженное на некий коэффициент...

Добавлено: Вт июл 22, 2008 09:42:29
nds
проще будет управлять через ком порт так как цап в мк довольно таки ограничен да и точность через последовательный порт будет выше
для такой задачи можно использовать какую нибудь atmega - подключить ком порт к uart микроконтроллера а на свободные ноги повесить разьем для флешки (правда mmc флешка предпочтительнее чем сд - у нее протокол проще)- примеров в интернете полно

Добавлено: Вт июл 22, 2008 11:52:26
skyther
http://dlcorp.ucoz.ru/forum/10-212-1
на второй странице есть полезный pdf

Добавлено: Вс дек 21, 2008 10:47:09
Symbiosis
Подскажите с массивами. Есть комманды XV, YV, ZV , число после них указывает какое напряжение установить на соответствующую ось.
Я сделал один массив с коммандами, другой с числами. Пока не использую флэшку. а просто из еепром, тестирую...
Как так сложить два массива, чтобы к каждому первому элемента второго массива добавлялся первый и четвертый элемент первого массива, к каждому второму элементу второго массива добавлялся второй и четвертый элемент первого массива и так далее...

Код: Выделить всё

flash  char COM[5] = "XYZV";  //массив комманд
eeprom char DATA[900]; // массив значений координат в EEPROM
тоесть должно получаться X+V+ DATA[1] , Y+V+ DATA[2], Z+V+DaTA[3], X+V+DATA[4] и т.д.

что-то я запутался уже, голова не варит, поэтому прошу помощи, как новичек в делах этих не опытный (