‘орум программистов, компьютерный форум, киберфорум
Ќаши страницы
Ёлектродвигатели
¬ойти
–егистраци€
¬осстановить пароль
 
–ейтинг 4.55/11: –ейтинг темы: голосов - 11, средн€€ оценка - 4.55
slovnosvoboda
9 / 9 / 5
–егистраци€: 21.09.2015
—ообщений: 102
1

ѕередача данных по rs232

27.06.2016, 12:12. ѕросмотров 1958. ќтветов 2
ћетки нет (¬се метки)

ƒобрый день!
 упили драйвер шагового двигател€ DM556, в котором имеетс€ порт rs232. ¬озникла необходимость написать небольшую софтинку, с помощью которой можно будет управл€ть шаговым двигателем использу€ данный порт.
ѕротокола обмена в комплекте не было. Ќаписали производителю - посылают в гугл. ѕоследний, к сожалению, тоже молчит.
Ќашли программу на сайте производител€, с помощью которой можно покрутить движком использу€ порт - работает. ”же что-то.
¬ общем всЄ подключили - смотрим как происходит процесс общени€.

¬от пример лога:
 ликните здесь дл€ просмотра всего текста

[27/06/2016 11:34:43] - Open port COM3 (C:\Program Files (x86)\ProTuner_All\DM556_en.exe)

[27/06/2016 11:34:55] Written data (COM3)
01 03 00 1f 00 01 b5 cc ......µћ
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 04 00 e6 ca ......ж 
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 20 00 01 85 c0 ... ..Еј
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 01 25 ca ......% 
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 99 00 01 54 25 ...Щ..T%
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 03 e8 e4 b4 .....иді
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 40 00 01 85 de ...@..Её
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 41 00 01 d4 1e ...A..‘.
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 42 00 01 24 1e ...B..$.
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 43 00 01 75 de ...C..uё
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 44 00 01 c4 1f ...D..ƒ.
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 45 00 01 95 df ...E..Хя
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 46 00 01 65 df ...F..eя
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 47 00 01 34 1f ...G..4.
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 48 00 01 04 1c ...H....
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 80 e5 aa .....Ае™
[27/06/2016 11:34:55] Written data (COM3)
01 06 00 48 00 80 08 7c ...H.А.|
[27/06/2016 11:34:55] Read data (COM3)
01 06 00 48 00 80 08 7c ...H.А.|
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 49 00 01 55 dc ...I..U№
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 80 e5 aa .....Ае™
[27/06/2016 11:34:55] Written data (COM3)
01 06 00 49 00 80 59 bc ...I.АYЉ
[27/06/2016 11:34:55] Read data (COM3)
01 06 00 49 00 80 59 bc ...I.АYЉ
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 4a 00 01 a5 dc ...J..•№
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 08 d1 23 96 .....—#Ц
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 4b 00 01 f4 1c ...K..ф.
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 04 12 66 c7 ......f«
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 ff 00 01 b4 3a ...€..і:
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 00 e4 0a ......д.
[27/06/2016 11:34:55] Written data (COM3)
01 06 00 20 00 01 49 c0 ... ..Iј
[27/06/2016 11:34:55] Read data (COM3)
01 06 00 20 00 01 49 c0 ... ..Iј
[27/06/2016 11:34:55] Written data (COM3)
01 03 00 20 00 01 85 c0 ... ..Еј
[27/06/2016 11:34:55] Read data (COM3)
01 03 00 02 00 01 25 ca ......% 
[27/06/2016 11:35:04] Written data (COM3)
01 06 00 16 08 10 6e 02 ......n.
[27/06/2016 11:35:04] Read data (COM3)
01 06 00 16 08 10 6e 02 ......n.
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 1c 00 01 89 cc ......Йћ
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 1c 00 01 89 cc ......Йћ
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 1a 00 01 69 cd ......iЌ
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 1a 00 01 69 cd ......iЌ
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 19 00 05 98 0e ......Ш.
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 19 00 05 98 0e ......Ш.
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 18 03 e8 09 73 .....и.s
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 18 03 e8 09 73 .....и.s
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 1b 00 32 78 18 .....2x.
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 1b 00 32 78 18 .....2x.
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 16 08 10 6e 02 ......n.
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 16 08 10 6e 02 ......n.
[27/06/2016 11:35:06] Written data (COM3)
01 06 00 09 00 01 98 08 ......Ш.
[27/06/2016 11:35:06] Read data (COM3)
01 06 00 09 00 01 98 08 ......Ш.
[27/06/2016 11:35:07] Written data (COM3)
01 06 00 09 00 00 59 c8 ......Y»
[27/06/2016 11:35:07] Read data (COM3)
01 06 00 09 00 00 59 c8 ......Y»

[27/06/2016 11:35:09] - Close port COM3


¬сЄ вроде пон€тно. ѕрограмма отсылает 8 бит информации - драйвер отвечает ей.
ѕовтор€ю всЄ тоже самое через терминал - работает.

Ќо вот что означает каждый бит - загадка, которую нужно разгадать.

ћетодом тыка, измен€€ различные величины в программе, € определил, что во втором и третьем битах наход€тс€ такие параметры как величина тока, шага, частоты и т.д.
„то в других - пока не могу пон€ть. Ћадно, этого достаточно - подумал €, но не тут-то было.

Ќапример € посылаю через терминал следующую строку, которую подсмотрел процессе работы программы производител€, отвечающую за изменение частоты: 01 06 00 16 08 10 6e 02
√де (08 10)16 = 206410
 ак € говорил ранее - всЄ отлично работает, но изменив нулевой и первый биты на другие значени€ драйвер это не усваивает, давитс€ и обратно присылает строку: FD FD.

Ќатолкните в нужную сторону.  ак пон€ть за что отвечают данные биты? ’от€ бы примерно
0
Ћучшие ответы (1)
QA
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
27.06.2016, 12:12
ќтветы с готовыми решени€ми:

ѕрием по UDP и передача на RS232
»меетс€ программа, котора€ передает через UDP протокол некую информацию. Ќеобходимо перенаправить...

ѕередача по rs232 (текстовые команды)
«адача состоит в том чтобы наладить обмен осциллографа с пк. ≈му нужно отправл€ть текстовые команды...

ѕередача информации с ѕ  по RS232 на UART ATmega2313
ѕомогите разобратьс€ с алгоритмом. ≈сть символьна€ строка информации, "ѕривет123".  акой тип...

обработка данных с rs232
«дравствуйте, по€вилась пару недель назад задумка собрать на AVR-ке простейшую схему и по —ќћ порту...

RS232 приЄм данных
на ком порт приход€т 10ричные числа, от 1 до 9 со знаком ? в начале т.е. (?1) (?2), итд ? означает...

2
yuyaryshev
19 / 19 / 6
–егистраци€: 21.06.2015
—ообщений: 34
27.06.2016, 16:48 2
Ћучший ответ —ообщение было отмечено ValeryS как решение

–ешение

ѕо описанию http://www.leadshine.com/UploadFile/Down/DM556m.pdf на странице 4 выходит что:

≈сть 4 бита: PULp PULm DIRp DIRm

1. Ќужно настроить режим PUL/DIR, как это сделать есть в этом руководстве
Ёто делаетс€ один раз, потом не трогаетс€.

 ак потом управл€ть:
2. Ќа DIR битах выставл€ешь направление:
DIRp=0 DIRm=1 - в одну сторону
DIRp=1 DIRm=0 - в другую сторону

ƒругие значени€ битов DIRp DIRm запрещены, приведут к ошибке (что у теб€ и произошло как € пон€л)

ѕрежде чем переходить к пункту 3 - ждем 5 миллисекунд

3. Ќа PUL шлешь импульсы, то есть:
PULp=0 PULm=1
ждем 3 миллисекунды
PULp=1 PULm=0
ждем 3 миллисекунды

» это будет означать "—делай один шаг"

“аким образом программа:

// ‘ункци€ send_to_port - это отправить байт, как в твоем API она зоветс€...
// я программу не провер€л, не запускал, могут быть ошибки, написал ее как драфт дл€ по€снени€ своих слов.
// я могу ошибатьс€ в том какие именно это биты (верхние или нижние, они также могут быть переставлены местами - это все нужно уточнить по перехваченному примеру)
//  онстанты ниже составлены исход€ из того, что первые два бита - это DIR, а вторые два это PUL

// ≈стественно все это можно сделать многопоточным, функции sleep могут быть не точны (от этого скорость может прыгать),
// то есть все это еще допилить нужно. Ёто лишь пример, ориентированный на простоту программы дл€ нагл€дности
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const char forward[3] = {0b0100, 0b0101, 0b0110};
const char backward[3] = {0b1000, 0b1001, 0b1010};
 
void move(long distance, unsigned long step_delay)
    {
    if(distance == 0) return;
    const char* sequence = nullptr;
    
    // ¬ыбираем набор констант исход€ из направлени€ движени€
    if(distance>0)
        {
        sequence = forward;
        }
    else
        {
        sequence = backward;
        distance = -distance;
        }
 
    // »нициализируем направление движени€
    send_to_port(sequence[0]);
    sleep(5);
    
    // ƒелаем нужное количество шагов
    for(long i=0; i<distance; i++)
        {
        send_to_port(sequence[1]);
        sleep(3);
        send_to_port(sequence[2]);
        sleep(3+step_delay);            // ƒоп. задержка перед следующим шагом
        }
    };
 
void main()
    {
    // ѕриведет к максимально быстрому движению "вперед" на 100 шагов.
    move(100, 0);
    
    // ѕодождем 5 секунд
    sleep(5000);
    
    // ѕриведет к медленному движению "назад" на 50 шагов.
    move(-50, 300);
    };
4
woleku
2 / 2 / 0
–егистраци€: 28.02.2019
—ообщений: 11
19.08.2019, 15:23 3
–асскажите по подробнее пожалуйста, не €сно через какой терминал и что именно ужно ему посылать. ’очу сделать св€зку с ардуино. —пасибо
0
Answers
Ёксперт
37091 / 29110 / 5898
–егистраци€: 17.06.2006
—ообщений: 43,301
19.08.2019, 15:23

ѕроблема при передаче данных через RS232 - Wi-Fi
”стройство с интерфейсом RS232 подключено через Wi-Fi удлинитель WiBOX...

ѕерехват и подмена данных при чтении\записи в rs232
ƒоброго дн€, уважаемые. ѕерерыл, кажетс€, весь интернет, и так и не нашел ответа на простой вопрос...

ѕодвисает порт RS232 при отправке данных из кода
ѕри отправке в COM через Hercules устройство отвечает нормально, но при отправки через мое...


»скать еще темы с ответами

»ли воспользуйтесь поиском по форуму:
3
ќтвет —оздать тему
ќпции темы

 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
–ейтинг@Mail.ru