roboforum.ru

Технический форум по робототехнике.

Балансировка мотора с пропеллером на стенде

Re: Динамическая балансировка ВМГ стенд

Nesenin » 26 май 2015, 15:54

скорость чтения з порта 115200? скриншот можно?

Добавлено спустя 2 минуты 51 секунду:
коль данные с акселя идут все должно быть норм. в сысле там цифры да текст end . если скорость чтения совпадают то все должно быть ок и программа должна обрабатывать

Re: Динамическая балансировка ВМГ стенд

Акелла » 27 май 2015, 01:04

В том то и дело, когда заливаю тест скетч, то данные идут их можно в терминале видеть. Когда заливаю твой скетч, наступает полная тишина в терминале.
Если залить твой скетч в уно, то на ней работает норм, проблема только с мини-про. (У меня их 2, и 2 акселя, оба адхл но немного разные, один все пины с одной стороны, второй с двух сторон пины, ни одна из мини-про не заработала)


скорость чтения с софте и в ардуине одинаковы 115200
Завтра скрин сделаю.

Re: Динамическая балансировка ВМГ стенд

Nesenin » 27 май 2015, 13:46

ну тут понятно что что то напутано, тем более коль в уно работает. тактовая частота на mini pro 16Мгц?

Re: Динамическая балансировка ВМГ стенд

Акелла » 27 май 2015, 22:31

Да, мини 16мгц
Тестовый скетч отсюда, все работает, данные принимаются.
basic.JPG
Тестовый скетч

Твой скетч, данные не поступают.
nesenin.JPG


Проблемы программы со шрифтом.
nesenin2.JPG



Еще в строке 83 zero[sample_index] = prop ;//digitalRead (dataReadyPin); //
//digitalRead должно быть так написанно в коменте или все же нужно перенсти на новую строку?
п.с. раскоментироваение строки не помогает запустить.

Re: Динамическая балансировка ВМГ стенд

Nesenin » 27 июн 2015, 12:56

может со связью с датчиком что то не то? если на уно работает а на мини нет то тут что то аппаратное. либо уже с самой средой ARDUINO. шрифтов наверно каких то не хватает. не знаю. да и не нужны они

вместо стенда теперь использую тонкую длинную трубку
ИзображениеИзображение
http://www.hobbyking.com/hobbyking/stor ... Z018_.html
точность гораздо выше! при балансировке сдвигал грузик на пропе на считанные миллиметры. малейший дисбаланс приводит к раскачке. что в данном случае хорошо)

Re: Динамическая балансировка ВМГ стенд

Акелла » 29 июн 2015, 16:10

Nesenin писал(а):может со связью с датчиком что то не то? если на уно работает а на мини нет то тут что то аппаратное. либо уже с самой средой ARDUINO. шрифтов наверно каких то не хватает. не знаю. да и не нужны они

В том то и дело, на той же самой развязке на мини с тестовым кодом все работает, когда загружаю твой код, то не работает.
Попробую еще софт переустановить.
Я пробывал на 2х разных датчиках и 2х мини. Результат один и тот же.

Re: Динамическая балансировка ВМГ стенд

dccharacter » 29 июн 2015, 18:22

Блин, учитесь уже локализовывать проблемы - всегда одно и то же :-)
Повесь светодиод на ногу дуни, заставь емго мигать раз в секунду. Уверен, что у тебя скетч зависает на общении с акселем...

Re: Динамическая балансировка ВМГ стенд

Акелла » 29 июн 2015, 21:14

Кажись локализовал проблему.
после обновления софт начал ругаться
Sketch uses 3,770 bytes (26%) of program storage space. Maximum is 14,336 bytes.
Global variables use 1,888 bytes (184%) of dynamic memory, leaving -864 bytes for local variables. Maximum is 1,024 bytes.
Как это можно победить?
У меня atmega168(5v, 16MHz)

dccharacter писал(а):Блин, учитесь уже локализовывать проблемы - всегда одно и то же :-)
Повесь светодиод на ногу дуни, заставь емго мигать раз в секунду. Уверен, что у тебя скетч зависает на общении с акселем...


Диодами моргает как и положенно, я же писал раза 3 что на этой самой мини про, тестовый скетч с сайта выше, все работает данные с акселя получаются. Когда загружаю скетч для балансировки, данные с акселя не идут, дуня притворяется мертвой.

Re: Динамическая балансировка ВМГ стенд

holomrn » 29 июн 2015, 21:22

Очевидно ведь, что мега 328 нужна.

Re: Динамическая балансировка ВМГ стенд

dccharacter » 29 июн 2015, 21:29

Диодами моргает как и положенно, ..., дуня притворяется мертвой.

Вот я один тут дурак и не понимаю, как одновременно можно моргать диодами как положено и притворяться мертвым?

Добавлено спустя 3 минуты 53 секунды:
https://www.arduino.cc/en/Tutorial/Memory

Re: Динамическая балансировка ВМГ стенд

Акелла » 29 июн 2015, 21:30

dccharacter писал(а):Вот я один тут дурак и не понимаю, как одновременно можно моргать диодами как положено и притворяться мертвым?


Прочитай что я написал еще разок, не через слово, а все по порядку.
я написал загружал блинк скетч = моргает, ногами дрыгает все отлично.
потом я загрузил тестовый скетч для ADXL, все чудно работает, данные с акселя идут.
потом я загружаю скетч для балансировки, и ТУТ дуня притворяется мертвой.

Re: Динамическая балансировка ВМГ стенд

dccharacter » 29 июн 2015, 22:03

Код: Выделить всёРазвернуть
//This is a list of some of the registers available on the ADXL345.
//To learn more about these and the rest of the registers on the ADXL345, read the datasheet!
char POWER_CTL = 0x2D;   //Power Control Register
char DATA_FORMAT = 0x31;
char DATAX0 = 0x32;   //X-Axis Data 0
char DATAX1 = 0x33;   //X-Axis Data 1
char DATAY0 = 0x34;   //Y-Axis Data 0
char DATAY1 = 0x35;   //Y-Axis Data 1
char DATAZ0 = 0x36;   //Z-Axis Data 0
char DATAZ1 = 0x37;   //Z-Axis Data 1

Зачем это объявлено переменными? Это должны быть дефайны.

Код: Выделить всёРазвернуть
#define MAX_SAMPLES 550
byte lowbyte_x[MAX_SAMPLES], highbyte_x[MAX_SAMPLES];
byte zero[MAX_SAMPLES];

Вот тут у тебя 1650 байт только. Нахрена это?

Добавлено спустя 6 минут 4 секунды:
Акелла писал(а):
dccharacter писал(а):Вот я один тут дурак и не понимаю, как одновременно можно моргать диодами как положено и притворяться мертвым?


Прочитай что я написал еще разок, не через слово, а все по порядку.
я написал загружал блинк скетч = моргает, ногами дрыгает все отлично.
потом я загрузил тестовый скетч для ADXL, все чудно работает, данные с акселя идут.
потом я загружаю скетч для балансировки, и ТУТ дуня притворяется мертвой.

ПОнимаешь, ты работаешь над программно-аппаратным комплексом. Комплексом. Ты залил блин в дуню, проверил, все мегает. Это означает только то, что дуня не совсем мертвая. Проблему ты не локализовал. Ты не убедился, что у тебя не выгорели каскады, что ты в проводах не напутал и т.д.
После этого ты цепляешь аксель и заливаешь тестовый скетч. И видишь данные. Теперь ты убедился, что с проводами все ОК и что связка дуня-аксель работает ОК.
И программа Несенина работает на другом железе.
Не работает связка программы и твоего железа. Почему? Возможно по миллиону причин. Ты перенес программу на другое железо. То, что светодиод у тебя мигал в прошлой жизни не дает тебе никакого знания кроме того, что железо живое. Программа уже другая. Железо конфигурится в другой программе. Косяки могут быть где угодно. Так что не бычь, а учись локализовывать проблему дальше. Начал правильно, просто до конца не пошел. Повезло, что нашел косяк раньше.

Добавлено спустя 19 минут 23 секунды:
Ой, блин, оно же как DSO работает у тебя :-( Печалька.
В общем, Акелла, измени вот эту строчку:
#define MAX_SAMPLES 550
на
#define MAX_SAMPLES 300
и все заработает

Re: Динамическая балансировка ВМГ стенд

Акелла » 29 июн 2015, 22:52

dccharacter Спасибо огромное, уменьшил количество сэмплов до 250 и все заработало.
Я в програмировании совсем не разбираюсь, пытаюсь, учусь понемногу.
Еще раз спасибо за помощ

Re: Динамическая балансировка ВМГ стенд

Nesenin » 30 июн 2015, 13:53

-> Вот тут у тебя 1650 байт только. Нахрена это?
ну дык данные копятся, потом передаются.
->У меня atmega168(5v, 16MHz)
ну вот объем данных нам важен. больше лучше. по крайней мере 550 лучше 300

Re: Динамическая балансировка ВМГ стенд

Акелла » 30 июн 2015, 21:29

Nesenin писал(а):ну вот объем данных нам важен. больше лучше.

В старой версии ардуины не показывало не достачу памяти, поэтому было не понятно куда копать, переустановил и сразу обнаружилось.
Я уже заказал 328, а пока с этой помучаюсь.


cron
Rambler\'s Top100 Mail.ru counter