+7-960-0655211 (Билайн)
+7-987-4207734 (МТС)
интернет-магазин
доставка по России и СНГ
нам уже 10 лет!

Форум

Страницы: 1 2 3 4 5 6 След.
Советы бывалых
 
ПОМОГИТЕ!!!
Купил ультразвуковой дальномер URM37 от YERobot
Подключил питание, rx tx кинул на com- порт

Пытаюсь послать на сенсор команду через гипертерминал - нет ответа, всё начинает подвисать.
Перепробовал все возможные комбинации включения порта. Ничего не получилось.

Самое интересное то, что программа, скачанная с сайта

URL:: http://www.yerobot.com/products/manual/URM37V3.2helpmate.rar

вроде бы работает, дает значения в шестнадцатеричном виде, в зависимости от расстояния до препятствия значения изменяются...

Как правильно послать команду 22 00 00 22 (чтоние расстояния) на сенсор?
или 0x22 0x00 0x00 0x22 ?
или 2 0 0 2 или 22000022?
И при этом получить кокое-нибудь значение???
Помогите пожалуйста советом...
 
Цитата
Евгений Зуев пишет:
Как правильно послать команду 22 00 00 22 (чтоние расстояния) на сенсор?
или 0x22 0x00 0x00 0x22 ?
или 2 0 0 2 или 22000022?
И при этом получить кокое-нибудь значение???
Помогите пожалуйста советом...
0x22 пишете прямо в компорт, как строка(4 байта)? или пишете как 1 байт?
Я документацию на данный расстояниеметр не читал, но 99% уверен, что надо писать 0x22 0x00 0x00 0x22 не как символы, а как 4 байта.

По сабжу: тема ещё актуальна?
Изменено: parus - 07.12.2010 16:48:48
 
Поднимаем проблемы использования тех или иных компонентов.
 
Сейчас столкнулся: при использовании батареек, при включенных двигателях напряжение сильно падает, поэтому тупо LM'кой не обойтись - нужен buck or burst преобразователь. Например Pololu S8V3A. Но это дорого, пытаюсь на MC34063 что-нибудь сделать.
 
Цитата
parus пишет:
Цитата
Евгений Зуев пишет:
Как правильно послать команду 22 00 00 22 (чтоние расстояния) на сенсор?
или 0x22 0x00 0x00 0x22 ?
или 2 0 0 2 или 22000022?
И при этом получить кокое-нибудь значение???
Помогите пожалуйста советом...
0x22 пишете прямо в компорт, как строка(4 байта)? или пишете как 1 байт?
Я документацию на данный расстояниеметр не читал, но 99% уверен, что надо писать 0x22 0x00 0x00 0x22 не как символы, а как 4 байта.

По сабжу: тема ещё актуальна?

ВЫ оказались правы.
В программе для работы с com-портом установил вывод в 16теричном виде и отправил
"22 00 00 22", сонор исправно вернул "22 00 82 34" где 82 34 - величина, пропорциональная расстоянию до препятствия.
Т.Е. проблема связи сонор- комп решена.
Вот теперь пытаюсь решить ЭТУ ЖЕ проблему но обмен должен вестись между сонором и МК atmega16
через usart. Пока не получается. Мож поможете ответить на пару ребусов?:
1)))--- как отправить через usart команду "0x22 0x00 0x00 0x22"?
пытаюсь putsf("0x22 0x00 0x00 0x22") --- так правильно?
2)))--- как принять команду такого же формата от сонора (4 байта) и вывести её на жк.
у меня раза стоит
a=getchar();
b=getchar();
c=getchar();
d=getchar()// взял 4 принятых байта из буфера приемника
lcd_putsf(a);lcd_putsf("_");
lcd_putsf(a);lcd_putsf("_");
lcd_putsf(a);lcd_putsf("_");
lcd_putsf(a);lcd_putsf("_");// вывел на lcd 16x2
----------------------------------------------------Эта программа не работает, что-то напутал... :cry:
 
И вы опять выводите строчку, только теперь через микроконтроллер.
0)Убедитесь, что вы не соединили USART с RS232(разные напряжения - сгорит)
1)Убедитесь, что TXсонара соединён с RXмикроконтроллера и наоборот.
2)RX компьтера можно использовать для просмотра данных, идущих по проводу(опять см. п.1)
2.5)Убедитесь, что на микроконтроллере USART инициализирован с нужными параметрами(скорость, чётность...)
3)С микроконтроллера нужно как-то так: putchar(0x22); putchar(0x00); putchar(0x00); putchar(0x22);
4)Чтение вы написали правильно, но я-бы использовал массивы:
Код
#define SONAR_BYTES 4
unsigned char sonar_data[SONAR_BYTES],i;
putchar(0x22); putchar(0x00); putchar(0x00); putchar(0x22);
for (i=0;i<SONAR_BYTES;i++) sonar_data[i]=getchar();
for (i=0;i<SONAR_BYTES;i++) { lcd_putsf(itoa(sonar_data[i])); lcd_putsf("_");}



Цитата
Евгений Зуев пишет:
ВЫ оказались правы.
В программе для работы с com-портом установил вывод в 16теричном виде и отправил
"22 00 00 22", сонор исправно вернул "22 00 82 34" где 82 34 - величина, пропорциональная расстоянию до препятствия.
Т.Е. проблема связи сонор- комп решена.
Вот теперь пытаюсь решить ЭТУ ЖЕ проблему но обмен должен вестись между сонором и МК atmega16
через usart. Пока не получается. Мож поможете ответить на пару ребусов?:
1)))--- как отправить через usart команду "0x22 0x00 0x00 0x22"?
пытаюсь putsf("0x22 0x00 0x00 0x22") --- так правильно?
2)))--- как принять команду такого же формата от сонора (4 байта) и вывести её на жк.
у меня раза стоит
a=getchar();
b=getchar();
c=getchar();
d=getchar()// взял 4 принятых байта из буфера приемника
lcd_putsf(a);lcd_putsf("_");
lcd_putsf(a);lcd_putsf("_");
lcd_putsf(a);lcd_putsf("_");
lcd_putsf(a);lcd_putsf("_");// вывел на lcd 16x2
----------------------------------------------------Эта программа не работает, что-то напутал... smile:cry:
 
Уважаемые бывалые,
а есть ли где в нетах ресурсы ли, литература какая - с чего начать.
 
Цитата
Дмитрий пишет:
Уважаемые бывалые,

а есть ли где в нетах ресурсы ли, литература какая - с чего начать.
С чего начать? Поставить перед собой задачу и решить её. Например, помигать светодиодом с микроконтроллера, если хочется начать изучать программирование микроконтроллеров. Вообще, нужно определить: бюджет и область, которую начать изучать.
 
Подскажите пожалуйста имеется плата расширения ввода/вывода DFRobot для Arduino Nano, само Arduino Nano и радиомодуль APC220.
Состыковал всё это установил драйвер для модуля (он его определил как СОМ5), данные с МК через СОМ порт поступают, но скетч через IDE в контроллер загрузить не могу выдаёт ощибку:

Binary sketch size: 3440 bytes (of a 126976 byte maximum)

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

Кроме того при подключённом радиомлдуле APC220 невозможно загрузить скетч с подключённого к Nano USB, приходится снимать модуль-загружать-снова ставить, перепробовал все варианты комбинаций перемычек.
Попробовал поискать на сайте www.dfrobot.com но там информация необычайно скудная по другим ссылкам тоже ничего не нашел.
Может Вы, что можете подсказать может сталкивались с подобной проблемой.
 
Как не "усыпить" платы Орангутан SVP 1284!!!

ВНИМАНИЕ ВСЕМ!!!
игры с регистрами CLKPR (регистр временного масштабирования) и регистра CKDIV8 внутреннего делителя , могут привести к ситуации когда не окажется НИ ОДНОЙ ЧАСТОТЫ с которой SPI может "разговаривать" с ATmega!!!

поэтому
1.ЛИБО НЕ ИСПОЛЬЗУЙТЕ ИХ ;
2.ЛИБО ПРОГРАММА ДОЛЖНА ВОССТАНАВЛИВАТЬ ИХ ;
3.ЛИБО РАСЧИТЫВАЙТЕ ВРЕМЕННЫЕ ХАРАКТЕРИСТИКИ ... для нормальной работы на шине между SPI и ATmega.
Изменено: Vladimir Smolentsev - 14.03.2011 14:43:15
 
1) Подскажите пожалуйста, правильно ли я подключаю эти два устройства! :?:



2) Можно ли подключать USB когда Маэстро 12 уже имеет отдельное питание (5V) для своей логики (в мануале не сказано)? :?:

3) Можно ли питать щеточные моторы и сервоприводы от одного источника (напряжения обоих совпадают 6V) с учетом схемы из первого вопроса? :?:

Заранее спасибо за советы! :)
Изменено: Сергей Скляров - 31.03.2011 14:08:47
 
1.непонятно кто кого запитывает.... VIN -входящее напряжение!
такое ощущение что маэстро остался без питания :)

2.можно и в документации сказано (смотреть документацию нужно ко всему семейству Маэстров)
и втыкать и вытыкать ;)

3.конечно можно ... но одновременное работа и тех и других может подсаживать питание (по напряжению) и возможна потеря логики(когда для основного контролера не хватит напряжения)!
Изменено: Vladimir Smolentsev - 31.03.2011 19:47:47
 
Изменил картинку!

(2.) Да, в документации сказано что можно питать по VIN и USB, а если одновременно, конфликтов не будет?

(3.) Логика питается отдельно, а вот плата Qik питается от Маэстро regulated 5V (на картинке оранжевый "шланг"), а вопрос был о том не спалит ли оно логику? :cry:

Пояснение: regulated 5V нужен Qik'у при условии работы логики обоих плат только от USB, при этом сервы и щеточные моторчики имеют общее питание (как в схеме 6V).
Изменено: Сергей Скляров - 31.03.2011 20:48:10
 
(2) конфликтов не будет.... USB обычно при стандартных перемычках питает только
ИНТЕРФЕСНУЮ микросхему!

ну если VCC по даташиту для Qik питание то тогда выглядит нормально!
Изменено: Vladimir Smolentsev - 01.04.2011 00:31:37
 
Ну тогда всё ОК! 8)
Спасибо за консультацию.
 
Здравствуйте уважаемые специалисты!

Когда изучал своего "Маэстро 12", обнаружил что он некорректно обрабатывает команду "Set Multiple Targets", т.е. первая команда срабатывает нормально, а вторая (и последующие) действует только на первый серво из списка. После переподключения COM порта все повторяется(вначале все, потом только один :cry: ).

У меня есть подозрения что это брак, либо архитектуры Маэстро 12-ых, либо только партии.

Геннадий Чернышев, Вы говорили что владеете программированием, если Вас не затруднит, не могли бы Вы проверить сей код на каком нибудь из своих Маэстров (6, 12, 18 или 24)? :?:

Код
void* handle=CreateFileW(L"\\\\.\\COM12", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

unsigned short pos_0[2]={550, 2496};
unsigned short pos_1[2]={2496, 550};
//---
unsigned long size=0;
//---
unsigned char data_0[9]={0xAA, 0x0C, 0x1F, 0x02, 0x00, (pos_0[0]*4)&0x7F, ((pos_0[0]*4)>>7)&0x7F, (pos_0[1]*4)&0x7F, ((pos_0[1]*4)>>7)&0x7F};
//---
unsigned char data_1[9]={0xAA, 0x0C, 0x1F, 0x02, 0x00, (pos_1[0]*4)&0x7F, ((pos_1[0]*4)>>7)&0x7F, (pos_1[1]*4)&0x7F, ((pos_1[1]*4)>>7)&0x7F};
//---
WriteFile(handle, data_0, 9, &size, 0);
Sl eep(2000);
WriteFile(handle, data_1, 9, &size, 0);
//---
CloseHandle(handle);

(проверки ошибок опущены для краткости)

Ошибок при приеме команд не возникает (красные лампочки не горят). :!:

Вопрос закрыт. В "Маэстро 24" все работает, видимо это проблема "12" (возможно брак только в моем образце)!
Изменено: Сергей Скляров - 27.04.2011 19:53:55
 
Доброго времени суток

Скажите, пожалуйста, если сервопривод упрямо вращается только в одну сторону до упора и никак не реагирует на сигнал, причем вращается даже если подключен к питанию напрямую (третий, сигнальный провод не задействован), то его можно считать убитым? :cry:
 
Цитата
Procrust пишет:
Доброго времени суток



Скажите, пожалуйста, если сервопривод упрямо вращается только в одну сторону до упора и никак не реагирует на сигнал, причем вращается даже если подключен к питанию напрямую (третий, сигнальный провод не задействован), то его можно считать убитым?
Если сигнальный привод присоединить к минусу, а сервопривод всё-равно, редиска такой, вращается, то да - убит. Есть три варианта:
0) Ремонт(благо умерла только электроника, а она там несложная)
1) Юзать как моторчик с редуктором(тоже неплохо)
2) Выкинуть(никогда не понимал смысла что-либо ценное выкидывать)
 
Цитата
parus пишет:


Если сигнальный привод присоединить к минусу, а сервопривод всё-равно, редиска такой, вращается, то да - убит. Есть три варианта:

0) Ремонт(благо умерла только электроника, а она там несложная)

1) Юзать как моторчик с редуктором(тоже неплохо)

2) Выкинуть(никогда не понимал смысла что-либо ценное выкидывать)

Нет, сигнальный к минусу подключал - не шевелится.
Увы, ремонт электроники - не вариант для меня. Мотор с редуктором не запрограммируешь сервоконтроллером, так что тоже увы. А серва-то была новая, только с почты...
:oops: У меня сложилось ощущение, что она не пережила встречи источника питания с 6 вольтами, как положено, но вместе с тем с 1 ампером на выходе.
 
Цитата
Procrust пишет:
Нет, сигнальный к минусу подключал - не шевелится. Увы, ремонт электроники - не вариант для меня. Мотор с редуктором не запрограммируешь сервоконтроллером, так что тоже увы. А серва-то была новая, только с почты... smile:oops: У меня сложилось ощущение, что она не пережила встречи источника питания с 6 вольтами, как положено, но вместе с тем с 1 ампером на выходе.
Походу всё живо.
на http://easyelectronics.ru где-то было написано как серва управляется - очень просто. Если есть возможность, можно на (avr, pic, msp430, arm, st8 на выбор)-ке собрать девайс для проверки.
Вообще убить что-либо это не так просто, как кажется...
 
Цитата
parus пишет:


Походу всё живо.

на http://easyelectronics.ru где-то было написано как серва управляется - очень просто. Если есть возможность, можно на (avr, pic, msp430, arm, st8 на выбор)-ке собрать девайс для проверки.

Вообще убить что-либо это не так просто, как кажется...

Так ведь не должна она вертеться без сигнала. У меня к тому же есть и контроллер к ней, но он попросту не вносит никакого вклада, потому что серва как угорелая вертится до упора, не обращая внимания на сигнал.
 
Цитата
Procrust пишет:
0)Так ведь не должна она вертеться без сигнала.
1)У меня к тому же есть и контроллер к ней, но он попросту не вносит никакого вклада, потому что серва как угорелая вертится до упора, не обращая внимания на сигнал.
0)Может вертеться из-за выгорания pull-down резистора по входу(или его отсутствия). Т.е. реагировать на наводки.
1)Ну значит к электронике сервы в гости пришёл пушистый зверёк песец. Если есть желание - ремонтируй, если нет, то и без электроники можно найти кучу применений.

Я свою серву(купленную в этом магазине) (микро(очень маленькая серва)) рублей за 150 чтоли. Мучал дико - и подавал вместо сигнала питание, и полярность путал. Но она жива. Но больше 5 вольт я ей не подавал...
 
Сжег серву ... 9 вольтами противоположной полярности :oops:

был нетрезв :D

АЛКОГОЛЬ-ЗЛО!!!
Изменено: Vladimir Smolentsev - 04.05.2011 15:16:35
 
Цитата
Vladimir Smolentsev пишет:
Сжег серву ... 9 вольтами противоположной полярности
был нетрезв
АЛКОГОЛЬ-ЗЛО!!!
это надо было постараться сжечь...
 
А что будет с сервой, если перепутать полярность?
Страницы: 1 2 3 4 5 6 След.
Читают тему (гостей: 3)