Управление станком через rs232 , контроллер на pic16F877
Хочу сделать управление станком через RS232 , т.е спаять контроллер на PIC16F877. Так то вроде все решаемо только вот сталкнулся с одной проблемой ! Немогу осуществить алгорим формирования числа с плавающей запятой ,из полученных байтов (кодов символов) по RS232 с компьютера.
Мож у кого есть соображения на эту тему ?
Или мож посоветуете существующий вариант .
Заранее благодарен !
Хочу сделать управление станком через RS232 , т.е спаять контроллер на PIC16F877. Так то вроде все решаемо только вот сталкнулся с одной проблемой ! Немогу осуществить алгорим формирования числа с плавающей запятой ,из полученных байтов (кодов символов) по RS232 с компьютера.
- с какой программой это будет работать? или процессор g-code будет встроен в станок?
- какой формат числа с плавающей точкой интересует? так как в этом контроллере нет аппаратной поддержки плавающей арифметики, все зависит от выбранной библиотеки для работы с floating point. их может быть несколько (библиотек), нужно знать какой нужен формат.
- самое простое и эффективное решение - писать прошивку на си.
Программу напишу сам. У нее будет всего две функции это посылать строки из файла управляющей программы в МК, и отображать необходимую информацию. Да совершенно верно процессор G-Code будет встроен в МК(станок). Он будет совместим с управляющими файлами для Mach2.
Три ноля после запятой вполне удовлетворит !
Ок с “С” я дружу ,как это будет выглядеть в этом варианте ?
Есть полуфабрикат
www-users.rwth-aachen.de/…/e_index.html
Может, что-то в пользу пойдет.
Там задуман контроллер для вывода в HPGL формате,
если довести до рабочего состояния, можно прямо из CADа в режиме вывода на плотер
детальки резать.
Там задуман контроллер для вывода в HPGL формате, если довести до рабочего состояния, можно прямо из CADа в режиме вывода на плотер
детальки резать.
Ну hpgl как-бы не очень интересно. ЧПУ - все-таки не принтер. К тому же hpgl перевести в g-code не составляет большого труда.
Ок с “С” я дружу ,как это будет выглядеть в этом варианте ?
Вот так:
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>
Спасибо ! Дело пошло !
После оконьчания ,кину сюда всем на радость !
Нашел готовый вариант !
Работает по RS232 и USB по описанию понимает намного больше чем Mach2
и по стоимости 69 Euro.
Написал прошивку ,теперь надо на железе испытать !
Камень взял другой ,пошустрее PIC18F452.
Купил сегодня все необходимое для сборки контроллера, а также кварцевый генератор на 40 Мгц, вот только разводку его незнаю. В инете даже чето найти немогу. Мож кто поможет.
его фото
На Чип-Дип есть pdf-ка примерно на 100 кбайт по кварцевым генераторам, там есть аналогичный корпус с описанием выводов.
www.chip-dip.ru/shop/GetPdf.xtml?fileid=3798292413…
P.S. Елы-палы, ну куда еще надо написать, чтобы подключили пристегивание файлов?! В ООН что-ли попробовать…
…На Чип-Дип есть pdf-ка примерно на 100 кбайт по кварцевым генераторам, там есть аналогичный корпус с описанием выводов.
www.chip-dip.ru/shop/GetPdf.xtml?fileid=3798292413…P.S. Елы-палы, ну куда еще надо написать, чтобы подключили пристегивание файлов?! В ООН что-ли попробовать…
Спасибо ! Очень выручили !
Утюжу !
Нашел готовый вариант !
Работает по RS232 и USB по описанию понимает намного больше чем Mach2
и по стоимости 69 Euro.
А сцылочку можна пополнее?
Мож у кого есть соображения на эту тему?
А какая цель преследуется? Длину кабеля нарастить? Помехозащищённость повысить? Или что-то другое?
Чем Мач2 не устраивает? Вариант с одноплатным компьютером, типа PC 104 рассматривали?
…А какая цель преследуется? Длину кабеля нарастить? Помехозащищённость повысить? Или что-то другое?
Чем Мач2 не устраивает? Вариант с одноплатным компьютером, типа PC 104 рассматривали?
Вариант с PC 104 расматривал ! Но на пике решил сделать из-за того что это дешевле. И из-за того что хочу под ПО контроллера сделать под windows, а как вы знаете при работе в onlin-e через LPT в нем бывают сбои тайминга. А вот внешний контроллер с буферизацией будет работать без сбоев. +никаких помех на кабель!
…А сцылочку можна пополнее?
STEPMOTOR,
Свой контроллер разрабатывать проблемно, это подороже вылезет, чем PC 104.
А за 69 Euro чем не устраивает? Дешевле только даром.
STEPMOTOR,
Свой контроллер разрабатывать проблемно, это подороже вылезет, чем PC 104.
А за 69 Euro чем не устраивает? Дешевле только даром.
Хочу свой ! Если могу почему-бы не сделать !
Pic18f452 290руб
max232cpe 42pуб
Кварцевый генератор 40mhz 51руб
7805 15руб
мелочевка 100руб
клеммы на плату 150руб
разработка своя ,в свободное время
печатная плата утюгом !
Думаю недорого выходит !
Думаю недорого выходит !
У меня зарплата на последнем месте работы 1600$, разработка своего контроллера и ПО один год и один месяц (1600*13= 19200$ не считая стоимости площадей, машинного времени, измерительной техники, и т. д.) думаю недёшево выходит 😃
Хобби есть хобби 😁
На мой взгляд внешний контроллер типа DeskCNC упрощает работу любого софта под Win32. Контроллеру легче держать времянку это не OS со своими делами и 5ms замерзаниями при обращении к диску.
Вопрос только в том что на сегодняшний день нет открытых стандартов для работы по RS232 или USB
В mach есть в настройках USB - но это только digital I/O насколько я понял.
А как бы было хорошо отправить команду типа
destination 5000
accel 50000
decel 50000
speed 3000
и получить ответ когда она выполнена.
…У меня зарплата на последнем месте работы 1600$, разработка своего контроллера и ПО один год и один месяц (1600*13= 19200$ не считая стоимости площадей, машинного времени, измерительной техники, и т. д.) думаю недёшево выходит 😃
Хобби есть хобби 😁
Я пока на все потратил месяца 3-ри, так при возможности вечером часа 1-2 уделяю. Думаю еще 1,5 мес и все готово будет . Осталось написать ПО под Win, думаю VB написать. Так как все будет работать через rs232 то особой дури компьтера не требуется.
STEPMOTOR,
У Вас в контроллере, работающем на скоростях хотя бы килогерц 15, интерпретатор, интерполятор, обработчик контурной скорости, S образный разгон, корректоры, в том числе по эквидистанте, Look Ahed, построцессоры, круговая интерполяция, работа с пультом и другими внешними устройствами? Градация регулировки частот управления кстати какая? Сколько бит? А стабильность частоты какая? Как на картинке? Может ещё что то? Сплайны? Контроллер работает абсолютно без сбоев, корректно прошёл серьёзные тесты, на серьёзных машинах и деталях… В ПО визуализация, редактор, настройки, хотя бы на уровне Мачь? И всё один за месяц?
buslik,
А как бы было хорошо отправить команду типа
Команду отправить можно, но при отправке команд перемещения короткими отрезками, скорость движения машины, ограниченная RS-232, будет никакой. В байтах посчитайте, подтверждение приёма данных и разгон-торможение учтите, вообще протокол побитно распишите, такие предложения и отпадут.
buslik,
…Команду отправить можно, но при отправке команд перемещения короткими отрезками, скорость движения машины, ограниченная RS-232, будет никакой. В байтах посчитайте, подтверждение приёма данных и разгон-торможение учтите, вообще протокол побитно распишите, такие предложения и отпадут.
USB
комманды вида - количество импульсов задержка между импульсами
Уже лучше?
Вопросы в моём предыдущем топике риторические, просто чтобы проблему обозначить. Понятно, что за месяц такое не сделаешь. Даже имея наработки, неплохую базу, и то, я лично год провозился, делая контроллер, который теперь меня уже не устраивает. Если серьёзный контроллер делать, PICами не обойдёшься, нужны DSP или ещё лучше мощные специализированные контроллеры, буферы памяти, порты, опторазвязки, и т. Это увеличение степени интеграции печатной платы. На коленке утюгом такое не делается.
А всё до банального просто. Нужно использовать готывые универсальные контроллеры, самые распространённые и имеющие наилучший балланс цена-характеристики, это IBM PC.
Для станочных применений можно использовать Compact PC, PC-104, встроенные на ISA, а для хобби ничего лучше персоналки нету.
Материнская плата с Пентиум 166 вместе с памятью сейчас 10$ стОит.
По характеристикам, никакие пики рядом не валялись. Писюк забьъёт по совокупным параметрам любые контроллеры и стойки ЧПУ.
USB комманды вида - количество импульсов задержка между импульсами Уже лучше?
уже хуже. 😦 есть такие моменты, как разгон-торможение и синхронизация по осям. лучше всего если ваш контроллер будет сразу понимать g-коды.
USB
комманды вида - количество импульсов задержка между импульсамиУже лучше?
Уже хуже.
Лучше сразу G код гнать.
USB не предназначен для промышленного применения. Длина кабеля 1,5 м., помехозащищённость низкая.
Порты ввода-вывода изначально предназначены не для управления устройствами, а для передачи данных. USB и LPT использовать для пром. применений управления станками нежелательно в связи с низкой помехозащищенностью и небольшой длиной линии передачи.
Для передачи данных в системах управления станков используются RS232, RS485, ISA или её промышленный аналог PC/104, CAN шина, SERCOS.
Для скоростных станков лучше использовать схему управления посредством специализированного контроллера, в который передаются данные с управляющего компьютера по портам или сети. При такой схеме RS232 легко справляется с задачей. Управляющий компьютер может работать под любой ОС, обеспечивающей максимальный сервис работы оператора, например, под Windows.
В качестве специализированного контроллера целесообразно использовать IBM PC под РТ ОС, в связи с низкой ценой, высокими техническими характеристиками, большой распространённостью, отлаженностью схем многомиллионных тиражей материнских плат и процессоров, наличием дешёвых массовых ремонтных комплектов, надёжностью и испытанностью ПО и конструкций, что обуславливает снижение себестоимости, повышение надёжности, простоту унификации и обслуживания.
В качестве специализированного контроллера целесообразно использовать IBM PC под РТ ОС,
Ну вот мыло мочало - начни сначала. Уже более 10 лет пользую IBM PC и не помню чтобы к нему моторы напрямую подключались.
Итого - хобби CNC - ОДИН IBM PC под ОС WIN XP на нем разрабытваем на нем и пилим. Одна проблемма - на LPT более 45 килостепов в секунду не выжать - а это не много при 2000 отсчетах на оборот.
Плюс неравномерность выдачи импульсов - WIN да и PC не RTOS 😃
Засдушаем мэтра какие порты у него есть в PC дома?
STEPMOTOR,
У Вас в контроллере, работающем на скоростях хотя бы килогерц 15, интерпретатор, интерполятор, обработчик контурной скорости, S образный разгон, корректоры, в том числе по эквидистанте, Look Ahed, построцессоры, круговая интерполяция, работа с пультом и другими внешними устройствами? Градация регулировки частот управления кстати какая? Сколько бит? А стабильность частоты какая? Как на картинке? Может ещё что то? Сплайны? Контроллер работает абсолютно без сбоев, корректно прошёл серьёзные тесты, на серьёзных машинах и деталях… В ПО визуализация, редактор, настройки, хотя бы на уровне Мачь? И всё один за месяц
Look Ahed конечно пока нет ,
корректоры есть,
интерпретатор есть а как-же без него. инфу брал от сюда www.isd.mel.nist.gov/…/RS274NGC_3TOC.html
Градация регулировки частот управления кстати какая? Сколько бит?
24 бита
посмотрю завтра на опыте проверю максимальную частоту сигнала step.
Визуализацию делать небуду, я и без нее прекрасно обхожусь. А вообще посмотрим в дальнейшем.
А это собственно плата ! Мож и похуже других разработок но работает.
А это собственно плата ! Мож и похуже других разработок но работает.
А силовая часть где?