Управление станком через rs232 , контроллер на pic16F877

STEPMOTOR

Хочу сделать управление станком через RS232 , т.е спаять контроллер на PIC16F877. Так то вроде все решаемо только вот сталкнулся с одной проблемой ! Немогу осуществить алгорим формирования числа с плавающей запятой ,из полученных байтов (кодов символов) по RS232 с компьютера.
Мож у кого есть соображения на эту тему ?

Или мож посоветуете существующий вариант .
Заранее благодарен !

toxa
STEPMOTOR:

Хочу сделать управление станком через RS232 , т.е спаять контроллер на PIC16F877. Так то вроде все решаемо только вот сталкнулся с одной проблемой ! Немогу осуществить алгорим формирования числа с плавающей запятой ,из полученных байтов (кодов символов) по RS232 с компьютера.

  1. с какой программой это будет работать? или процессор g-code будет встроен в станок?
  2. какой формат числа с плавающей точкой интересует? так как в этом контроллере нет аппаратной поддержки плавающей арифметики, все зависит от выбранной библиотеки для работы с floating point. их может быть несколько (библиотек), нужно знать какой нужен формат.
  3. самое простое и эффективное решение - писать прошивку на си.
STEPMOTOR

Программу напишу сам. У нее будет всего две функции это посылать строки из файла управляющей программы в МК, и отображать необходимую информацию. Да совершенно верно процессор G-Code будет встроен в МК(станок). Он будет совместим с управляющими файлами для Mach2.
Три ноля после запятой вполне удовлетворит !
Ок с “С” я дружу ,как это будет выглядеть в этом варианте ?

VD46

Есть полуфабрикат
www-users.rwth-aachen.de/…/e_index.html
Может, что-то в пользу пойдет.

Там задуман контроллер для вывода в HPGL формате,
если довести до рабочего состояния, можно прямо из CADа в режиме вывода на плотер
детальки резать.

toxa
VD46:

Там задуман контроллер для вывода в HPGL формате, если довести до рабочего состояния, можно прямо из CADа в режиме вывода на плотер
детальки резать.

Ну hpgl как-бы не очень интересно. ЧПУ - все-таки не принтер. К тому же hpgl перевести в g-code не составляет большого труда.

STEPMOTOR:

Ок с “С” я дружу ,как это будет выглядеть в этом варианте ?

Вот так:

atof($str)			   string to float   ->double <stdlib.h>|<math.h>
atoi($str)			   string to integer ->int <stdlib.h>
atol($str)			   string to long	->long <stdlib.h>
STEPMOTOR

Спасибо ! Дело пошло !
После оконьчания ,кину сюда всем на радость !

Нашел готовый вариант !
Работает по RS232 и USB по описанию понимает намного больше чем Mach2
и по стоимости 69 Euro.

1 month later
STEPMOTOR

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

его фото

ATLab
STEPMOTOR:

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

его фото

На Чип-Дип есть pdf-ка примерно на 100 кбайт по кварцевым генераторам, там есть аналогичный корпус с описанием выводов.
www.chip-dip.ru/shop/GetPdf.xtml?fileid=3798292413…

P.S. Елы-палы, ну куда еще надо написать, чтобы подключили пристегивание файлов?! В ООН что-ли попробовать…

STEPMOTOR
ATLab:

На Чип-Дип есть pdf-ка примерно на 100 кбайт по кварцевым генераторам, там есть аналогичный корпус с описанием выводов.
www.chip-dip.ru/shop/GetPdf.xtml?fileid=3798292413…

P.S. Елы-палы, ну куда еще надо написать, чтобы подключили пристегивание файлов?! В ООН что-ли попробовать…

Спасибо ! Очень выручили !
Утюжу !

Galant1
STEPMOTOR:

Нашел готовый вариант !
Работает по RS232 и USB по описанию понимает намного больше чем Mach2
и по стоимости 69 Euro.

А сцылочку можна пополнее?

Художник

Мож у кого есть соображения на эту тему?

А какая цель преследуется? Длину кабеля нарастить? Помехозащищённость повысить? Или что-то другое?

Чем Мач2 не устраивает? Вариант с одноплатным компьютером, типа PC 104 рассматривали?

STEPMOTOR
Художник:

А какая цель преследуется? Длину кабеля нарастить? Помехозащищённость повысить? Или что-то другое?

Чем Мач2 не устраивает? Вариант с одноплатным компьютером, типа PC 104 рассматривали?

Вариант с PC 104 расматривал ! Но на пике решил сделать из-за того что это дешевле. И из-за того что хочу под ПО контроллера сделать под windows, а как вы знаете при работе в onlin-e через LPT в нем бывают сбои тайминга. А вот внешний контроллер с буферизацией будет работать без сбоев. +никаких помех на кабель!

Galant1:

А сцылочку можна пополнее?

www.burger-web.com/…/en_DescAKKON_USB.htm.en

Художник

STEPMOTOR,

Свой контроллер разрабатывать проблемно, это подороже вылезет, чем PC 104.

А за 69 Euro чем не устраивает? Дешевле только даром.

STEPMOTOR
Художник:

STEPMOTOR,

Свой контроллер разрабатывать проблемно, это подороже вылезет, чем PC 104.

А за 69 Euro чем не устраивает? Дешевле только даром.

Хочу свой ! Если могу почему-бы не сделать !

Pic18f452 290руб
max232cpe 42pуб
Кварцевый генератор 40mhz 51руб
7805 15руб
мелочевка 100руб
клеммы на плату 150руб

разработка своя ,в свободное время
печатная плата утюгом !

Думаю недорого выходит !

Художник

Думаю недорого выходит !

У меня зарплата на последнем месте работы 1600$, разработка своего контроллера и ПО один год и один месяц (1600*13= 19200$ не считая стоимости площадей, машинного времени, измерительной техники, и т. д.) думаю недёшево выходит 😃

Хобби есть хобби 😁

buslik

На мой взгляд внешний контроллер типа DeskCNC упрощает работу любого софта под Win32. Контроллеру легче держать времянку это не OS со своими делами и 5ms замерзаниями при обращении к диску.

Вопрос только в том что на сегодняшний день нет открытых стандартов для работы по RS232 или USB

В mach есть в настройках USB - но это только digital I/O насколько я понял.

А как бы было хорошо отправить команду типа
destination 5000
accel 50000
decel 50000
speed 3000

и получить ответ когда она выполнена.

STEPMOTOR
Художник:

У меня зарплата на последнем месте работы 1600$, разработка своего контроллера и ПО один год и один месяц (1600*13= 19200$ не считая стоимости площадей, машинного времени, измерительной техники, и т. д.) думаю недёшево выходит 😃

Хобби есть хобби 😁

Я пока на все потратил месяца 3-ри, так при возможности вечером часа 1-2 уделяю. Думаю еще 1,5 мес и все готово будет . Осталось написать ПО под Win, думаю VB написать. Так как все будет работать через rs232 то особой дури компьтера не требуется.

Художник

STEPMOTOR,

У Вас в контроллере, работающем на скоростях хотя бы килогерц 15, интерпретатор, интерполятор, обработчик контурной скорости, S образный разгон, корректоры, в том числе по эквидистанте, Look Ahed, построцессоры, круговая интерполяция, работа с пультом и другими внешними устройствами? Градация регулировки частот управления кстати какая? Сколько бит? А стабильность частоты какая? Как на картинке? Может ещё что то? Сплайны? Контроллер работает абсолютно без сбоев, корректно прошёл серьёзные тесты, на серьёзных машинах и деталях… В ПО визуализация, редактор, настройки, хотя бы на уровне Мачь? И всё один за месяц?

buslik,

А как бы было хорошо отправить команду типа

Команду отправить можно, но при отправке команд перемещения короткими отрезками, скорость движения машины, ограниченная RS-232, будет никакой. В байтах посчитайте, подтверждение приёма данных и разгон-торможение учтите, вообще протокол побитно распишите, такие предложения и отпадут.

buslik
Художник:

buslik,

Команду отправить можно, но при отправке команд перемещения короткими отрезками, скорость движения машины, ограниченная RS-232, будет никакой. В байтах посчитайте, подтверждение приёма данных и разгон-торможение учтите, вообще протокол побитно распишите, такие предложения и отпадут.

USB
комманды вида - количество импульсов задержка между импульсами

Уже лучше?

Художник

Вопросы в моём предыдущем топике риторические, просто чтобы проблему обозначить. Понятно, что за месяц такое не сделаешь. Даже имея наработки, неплохую базу, и то, я лично год провозился, делая контроллер, который теперь меня уже не устраивает. Если серьёзный контроллер делать, PICами не обойдёшься, нужны DSP или ещё лучше мощные специализированные контроллеры, буферы памяти, порты, опторазвязки, и т. Это увеличение степени интеграции печатной платы. На коленке утюгом такое не делается.

А всё до банального просто. Нужно использовать готывые универсальные контроллеры, самые распространённые и имеющие наилучший балланс цена-характеристики, это IBM PC.

Для станочных применений можно использовать Compact PC, PC-104, встроенные на ISA, а для хобби ничего лучше персоналки нету.

Материнская плата с Пентиум 166 вместе с памятью сейчас 10$ стОит.

По характеристикам, никакие пики рядом не валялись. Писюк забьъёт по совокупным параметрам любые контроллеры и стойки ЧПУ.

toxa
buslik:

USB комманды вида - количество импульсов задержка между импульсами Уже лучше?

уже хуже. 😦 есть такие моменты, как разгон-торможение и синхронизация по осям. лучше всего если ваш контроллер будет сразу понимать g-коды.

Художник

USB
комманды вида - количество импульсов задержка между импульсами

Уже лучше?

Уже хуже.

Лучше сразу G код гнать.

USB не предназначен для промышленного применения. Длина кабеля 1,5 м., помехозащищённость низкая.

Порты ввода-вывода изначально предназначены не для управления устройствами, а для передачи данных. USB и LPT использовать для пром. применений управления станками нежелательно в связи с низкой помехозащищенностью и небольшой длиной линии передачи.

Для передачи данных в системах управления станков используются RS232, RS485, ISA или её промышленный аналог PC/104, CAN шина, SERCOS.

Для скоростных станков лучше использовать схему управления посредством специализированного контроллера, в который передаются данные с управляющего компьютера по портам или сети. При такой схеме RS232 легко справляется с задачей. Управляющий компьютер может работать под любой ОС, обеспечивающей максимальный сервис работы оператора, например, под Windows.

В качестве специализированного контроллера целесообразно использовать IBM PC под РТ ОС, в связи с низкой ценой, высокими техническими характеристиками, большой распространённостью, отлаженностью схем многомиллионных тиражей материнских плат и процессоров, наличием дешёвых массовых ремонтных комплектов, надёжностью и испытанностью ПО и конструкций, что обуславливает снижение себестоимости, повышение надёжности, простоту унификации и обслуживания.

buslik
Художник:

В качестве специализированного контроллера целесообразно использовать IBM PC под РТ ОС,

Ну вот мыло мочало - начни сначала. Уже более 10 лет пользую IBM PC и не помню чтобы к нему моторы напрямую подключались.

Итого - хобби CNC - ОДИН IBM PC под ОС WIN XP на нем разрабытваем на нем и пилим. Одна проблемма - на LPT более 45 килостепов в секунду не выжать - а это не много при 2000 отсчетах на оборот.
Плюс неравномерность выдачи импульсов - WIN да и PC не RTOS 😃

Засдушаем мэтра какие порты у него есть в PC дома?

STEPMOTOR
Художник:

STEPMOTOR,

У Вас в контроллере, работающем на скоростях хотя бы килогерц 15, интерпретатор, интерполятор, обработчик контурной скорости, S образный разгон, корректоры, в том числе по эквидистанте, Look Ahed, построцессоры, круговая интерполяция, работа с пультом и другими внешними устройствами? Градация регулировки частот управления кстати какая? Сколько бит? А стабильность частоты какая? Как на картинке? Может ещё что то? Сплайны? Контроллер работает абсолютно без сбоев, корректно прошёл серьёзные тесты, на серьёзных машинах и деталях… В ПО визуализация, редактор, настройки, хотя бы на уровне Мачь? И всё один за месяц

Look Ahed конечно пока нет ,
корректоры есть,
интерпретатор есть а как-же без него. инфу брал от сюда www.isd.mel.nist.gov/…/RS274NGC_3TOC.html

Градация регулировки частот управления кстати какая? Сколько бит?

24 бита

посмотрю завтра на опыте проверю максимальную частоту сигнала step.

Визуализацию делать небуду, я и без нее прекрасно обхожусь. А вообще посмотрим в дальнейшем.

А это собственно плата ! Мож и похуже других разработок но работает.

ATLab
STEPMOTOR:

А это собственно плата ! Мож и похуже других разработок но работает.

А силовая часть где?