решено: Как узнать команды Melzi + COM USB + synaser/synapse

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

решено: Как узнать команды Melzi + COM USB + synaser/synapse

Сообщение vitaly_l » 22.12.2014 04:10:27

Всем привет и хорошего настроения!

Есть плата Melzi - управляет 3d принтером. Примерно такая:http://reprap.org/wiki/Melzi
Взял synaser. Подключил. Synaser вроде её(плату видит), по крайней мере COM порт определяет.
Код: Выделить всё
  ser:=TBlockserial.Create;
  ser.RaiseExcept:=false;
  ser.Connect('com3');
  if ser.InstanceActive then
    begin
      ser.Config(115200,8,'N',SB1,false,false);
      ser.SendString('G21 X5 Y5 F0.2');
      a:=ser.RecvString(100);
      Memo1.Lines.Add(a);
      a:=ser.RecvPacket(1000);
      Memo1.Lines.Add(a);
      Memo1.Lines.Add(ser.Device+': '+IntToStr(ser.LastError)+'-'+ser.LastErrorDesc);
    end;
  ser.Free;


В мемо выводится вот это:
Код: Выделить всё
Memo1


.COM3: 9997-Timeout during operation


Вопросы:

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



Заранее благодарен всем и каждому, за любую полезную информацию.




.

Добавлено спустя 15 часов 7 минут 36 секунд:
На другом форуме мне сказали что, плате Melzi - нужно отправлять G-code.

G-code - это очень простой язык, и я собственно пытался отправить плате именно G-code.
Вот он: G21 X5 Y5 F0.2. По идее моторы должны были активироваться и переместиться в позицию Х=5мм У=5мм со скоростью 0.2.
Но ничего не происходит... Я пытался послать G-code c помощью ser.SendString (пример отправки в первой записи).

Соответственно я неправильно посылаю команды...

Я никогда не программировал для внешних устройств и не знаю как это должно быть.
Человек написал, что команды G-code можно отправлять также и через терминал и всё должно работать...

Спасите помогите ПОЖАЛУЙСТА :oops:
Мне бы только крохотный рабочий пример, который отправит например такую G21 X5 Y5 F0.2 команду плате и
чтобы плата её выполнила, остальное безусловно проще, т.к. G-code - очень прост в идентификации.
прлииииз...



.

Добавлено спустя 2 часа 8 минут 43 секунды:
Ура! - устройство ответило, что всё хорошо,
нужно было добавить CR/LF в описании synaser узрел (возможно кому пригодится).
Код: Выделить всё
запрос такой:
      ser.Config(115200,8,'N',SB1,false,false);
      ser.SendString('G21 X5 Y5 F0.2'+#13);
      a:=ser.RecvPacket(1000);
      Memo1.Lines.Add(a);
      Memo1.Lines.Add(ser.Device+': '+IntToStr(ser.LastError)+'-'+ser.LastErrorDesc); 

ответ такой:
Memo1
ok

\.COM3: 0-OK


Но девайс ответил только ОК и что ошибок нет...
Но с места ничего не сдвинулось, а должны были моторы заработать... наверное...

Соответственно вопрос ещё в силе...

Добавлено спустя 31 минуту 12 секунд:
Всё заработало, я неправильно вводил G-code.
Вот правильный запрос с ним всё работает, если кому понадобится:
Код: Выделить всё
      ser.SendString('%'+#13);// начало программы
      ser.SendString('G90 G21'+#13); //установить миллиметры
      ser.SendString('G1 X5 Y5 Z5 F0.2'+#13); // переместить туда-то с такой-то скоростью
      ser.SendString('M30'+#13);// конец программы 

Сам с собой разговариваю... дожили...
Всем хорошего настроения!





.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: решено: Как узнать команды Melzi + COM USB + synaser/syn

Сообщение skripnik83 » 23.12.2014 14:26:48

Советую прогу Free Serial Port Analizer. Она работает как прослушка. Видно сразу какие данные в порт уходят и что обратно приходит.
skripnik83
незнакомец
 
Сообщения: 7
Зарегистрирован: 21.12.2014 00:12:39

Re: решено: Как узнать команды Melzi + COM USB + synaser/syn

Сообщение Alleg » 24.12.2014 18:54:24

Добрый день, поскажите у Вас контроллер для шаговиков работает по USB?
Alleg
незнакомец
 
Сообщения: 2
Зарегистрирован: 24.12.2014 01:51:26

Re: решено: Как узнать команды Melzi + COM USB + synaser/syn

Сообщение vitaly_l » 25.12.2014 01:39:42

skripnik83 писал(а):Советую прогу Free Serial Port Analizer.

О это то что нужно, если она покажет команды.

Alleg писал(а):контроллер для шаговиков работает по USB?

Да работает через USB, но в системе виден как COM3.
Контроллер они сделали хороший и прошивку - сбоев не видел (пока).
Там G-code. Она тянет: 4,точнее 5 движков(на z спаренные), конец, кровать, вентилятор, три стопора и два датчика температуры.

Добавлено спустя 10 минут 13 секунд:
Re: решено: Как узнать команды Melzi + COM USB + synaser/synapse
vitaly_l писал(а):skripnik83 писал(а):
Советую прогу Free Serial Port Analizer.

Офигенная программа - очень удобная и показывает всё что нужно! Большое СПАСИБО!
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41

Re: решено: Как узнать команды Melzi + COM USB + synaser/syn

Сообщение Alleg » 29.12.2014 22:46:26

А контроллер на каком кристалле?

Добавлено спустя 6 минут 1 секунду:
Re: решено: Как узнать команды Melzi + COM USB + synaser/synapse
и еше вопрос, скорей просьба, можно ли часть кода для связи по УСБ ?
Alleg
незнакомец
 
Сообщения: 2
Зарегистрирован: 24.12.2014 01:51:26

Re: решено: Как узнать команды Melzi + COM USB + synaser/syn

Сообщение vitaly_l » 30.12.2014 02:38:50

Alleg писал(а):А контроллер на каком кристалле?
можно ли часть кода для связи по УСБ ?


Весь код вверху, он такой короткий и там же есть ссылка на описание платы.

.
Аватара пользователя
vitaly_l
долгожитель
 
Сообщения: 3333
Зарегистрирован: 31.01.2012 16:41:41


Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

Рейтинг@Mail.ru