Как стать автором
Обновить

Комментарии 72

Блин, с каждым новым постом на хабре про arduino, все больше и больше хочется его приобрести)) Правда все же остается чувство что arduino — это читинг, потому что что-то за тебя уже сделали)))
Честно говоря, у копался с атмегой в чистом виде на макетках, это для тех кто любит больше схемотехнику в чистом виде. Arduino просто дает возможность не углубляться в дебри даташита контроллера. Для макетирования и отработки базовых вещей быстро и удобно создана Arduino, за это она мне и нравится.

Разработка конечного устройства, это естественно надо делать с нуля и по честному для конкретного случая.
честность идет лесом — это же игрушки, есть даже готовые собранные платформы на колесах, с которыми минимум мороки и максимум позитива
Ну это ещё не готовая платформа с колесами :) Хотя у нас на работе студенты на готовом шасси робота и делали
А вы на ибэй заказываете или где то напрямую? Очень заинетересован найти магазин подешевле, а на ебае не особо разгонишся — погоришь на доставке. Я вот b2cqshop.com/ заказывал
Да я на аукционах без Buy is now, по байитнау получается на 2 — 3 бакса дороже
А мне вот уже не хочется, — уже жду вот такой вот как раз акселерометр с вагоном разных сенсоров и кучей другого интересного электронного хлама — заказал где то недельку назад

Аж дух захватывает, извините, не сдержался, чтобы не порадоватся публично и неприлично :)

Я жду блюпуп и сервоприводы с металлическим редуктором, буду делать шесть степеней
Все-таки решились на редукторы?) Почем каждый? Если можно, ссылку)
Как вообще продвигается гексапод?
4 сервы металлических TowerPro стоят $35
:)
Я долго терпел. Пока на DX не появились (http://s.dealextreme.com/search/arduino)
Тут уж жаба задохнулась и пришлось брать.
Осталось собрать все на одной плате, перевернуть платформой вниз, и получится робот, способный балансировать на наклонной плоскости.
Гиростабилизацию на следующей неделе хотим попробовать если придут ещё рычаги (зафиксировать степени свободы платформы), чтобы платформа держала сама горизонт в пределах отклонения до максимального угла.
Медведь прикольный. Вспомнился Умка на льдине.
А мне Мишка на Сервере)
Интересно. Вы вдохновили меня написать пост «Акселерометр на базе телефона Android» в DIY.
Лучше напишите в DIY «Телефон Android на базе акселерометра»!
Главное заинтересовать тематикой, тогда и будут появляться новые у людей.
Драматичный конец.
На фотографии у вас платформа подключена на PWM 0, 1, 2. Так как у вас в скетче используется терминал, то я рекомендую вам переключить платформу на PWM 2,3,4. Во избежание помех и пробоя FT232RL
Это на фотографии так видно (широкие резинки на проводах), на самом деле PWM используется с 2 по 4
Готовый джойстик, только на рукоятку прицепить. Еще-бы знать, как это в виде драйвера системе отдать… Не программист я.
На самом деле тут можно сделать драйвер, который будет виртуальным джойстиком, но информацию будет брать из COM порта, а самый простой способ просто читать COM порт и управлять объектом в программе. Если интересно могу и такое для примера описать.
Чтобы для старта особо много чего не городить, протестируйте это вначале в Processing
вообще просто в программе делать опрос состояния (как и джойтиск с DirectX) и двигать свой объект, это принципиально не сложно
Показания с датчика никак не обрабатываются? Имеется ввиду фильтрация.
В тестовой программе никак, а в управлении платформой используется низкочастотный фильтр из википедии (http://en.wikipedia.org/wiki/Low-pass_filter), там есть пример программной реализации. Плюс у меня на сервы потом изменяется шкала, поэтому 140 приводится к 45 градусам поворота сервы, и часть шума за счет этого сглатывается.
Дописал про фильтрацию в конце статьи. Спасибо.
Почему-то я сразу подумал о другом белом медведе, когда прочитал Инструменты и материалы.
Тоже скоро предстоит заняться связкой акселерометр + микропроцессор, правда безо всяких ардуин. И вот потихоньку назревает вопрос — как заставить процессор выходить из режима сна (подача «1» на одну из ног, в коде прописать какую) когда акселерометр меняет свое положение?
вообще зависит все от какого движеня должен просыпаться контроллер. А так надо чтобы на шум он был не чувствителен, а то будет просыпаться от шума постоянно…
Если акселерометр с аналоговым выходом (как здесь), то это сложно. Советую присмотреться к цифровым акселерометрам, вроде ADXL312 (как пример, взял первый попавшийся). У них есть выходы прерываний, и можно настроить порог ускорения, при превышении которого будет выдан сигнал прерывания, который и разбудит контроллер.
Да по I2C будет намного удобнее работать с ним, я на шесть степеней хочу поискать 6DOF акселерометр недорогой. Кстати цифровые акселерометры дороже, но сами фильтруют и компенсируют, хоть этот заявлен тоже с компенсацией и фильтрацией, но заметно это слабовато
Пример практического применения — у одного моего коллеги есть «дом на колёсах» и одна из проблем — выставить автомобиль абсолютно горизонтально, чтобы было комфортно спать. Он как раз использует ардуино в связке с примерно таким же датчиком. А показания выведены на экран компьютера («Car PC»), встроенного в переднюю панель.
это круто! У нас мы думаем стабилизацию для вертолета самим замутить, в альтеранативу китаясам
Не Гонк-Конг, а Гонконг -__-
Исправлено ;)
НЛО прилетело и опубликовало эту надпись здесь
Много думал про «Белый медведь 1 шт.», пока читал статью, как дошел до ролика, отпустило =)
Летчик испытатель :)
А кто-нибудь знает, в чем разница между акселерометрами MMA7260 и MMA7361. Про последний пишут, что он пришел на замену первому, но почему-то цена на первый выше.
У него как минимум два режима чувствительности 1,5g и 6g, что не очень хорошо, потому что у меня например отличные результаты получились на 4g. Новым у него было стало определение свободного падения 0g. И ещё мне каежтся в нет нет температурной компенсации… Поэтому он и дешевле своего старшего собрата
Вроде разобрался. Оказывается, на MMA7260 аж четыре режима чуствительности 1.5g, 2g, 4g, 6g.
Температурная компенсация есть в обоих. В MMA7361 есть еще и self test. Разница есть в схеме подключения. В MMA7260 нужен RC фильтр на выходы xyz, а в MMA7361 нужны только конденсаторы.
Поясните, пожалуйста.

Получается что горизонт «запоминается», и далее идёт коррекция положения платформы в зависимости от показаний датчика.
Имеет ли место «дрейф» горизонта при этом? Температурный или из-за погрешности вычислений?
в моем случае запоминается горизонт и дальше снимается отколнение от горизонта. В датчике предусмотрена температурная коррекция, так же есть и фильтры простые.

Вообще горизон сам по себе шумит сильно, надо обязательно его ещё раз фильтровать
НЛО прилетело и опубликовало эту надпись здесь
да, вообще ± 0.5G это большая погрешность измерений
попробую сейсмограф собрать.
это необходимо, если регион сейсмонеустойчивый, а так будешь один шум регистрировать
low pass должен всю возьню срезать в идеале.
+-5 будет погрешность измерений в максимальной чувствительности, у меня программный фильтр стоит при альфе = 0.14, в принципе такая погрешность меня устраивает на максимуме, на минимум чувствительности будет вообще отлично, нотогда надо чтобы тебя хорошо трясло )
А что с нулем за такие пляски, с поправками, а на бок повернуть что будет? (Вопрос в плане — это у вас прям данные уже с вычетом того что он в состоянии покоя показывает -1g по оси z ?)

Погеморней с ацп… сам взял для экспериментов вначале аналоговый аксель в паре с гиро, потом поменял на цифровой, для новых экспериментов хочу подобное goo.gl/WQgSz
А стоп, ну по скетчу нет, -1g не учитывается
сам аксель уже вычитает что надо, а так я хочу 6DOF аксель, чтобы заниматься проектом под шесть степеней
Как вычитает, а секция Static Acceleration в даташите что тогда имеет в виду?

6 степеней акселерометра

имеете в виду acc + gyro
или acc + магнетометр?

по даташиту сказано в одном из случаев покоя

XOUT @ 0g = 1.65 V
YOUT @ 0g = 1.65 V
ZOUT@ -1g = 0.85 V

у вас

X = 355/1024 * 5 = 1.74 V
Y = 380/1024 * 5 = 1.85 V
Z = 178/1024 * 5 = 0.87 V
эти значения так и получаются с учетом шума, идеально он не дает значения по даташиту (
ну что идеальны- да, я просто о том что вектор ускорения для z (в отличии от x, у) это не 0 а -1g уже в состоянии покоя. его ноль (когда падать будет) будет где-то в районе 0.87 * 2 = 1.74 ~ 355ед

ну и потом всякая байда получается считаться будет в относительно правильных единицах

x = analogRead(A0) — 355;
y = analogRead(A1) — 380;
z = analogRead(A2) — 355;


roll = atan2( sqrt(y*y + x*x), z);
pitch = atan2( sqrt(x*x + z*z), y);

нет?
у меня в z минимум = 80, мне кажется на платке резистор великоват (
да… тогда печально
наверное Китаяса что-то намудрил, я сегодня в чистом виде в разными чувствительностями смотрел… все равно так
А какой у вас следующий шаг — платформу поддерживающую уровень медведя не зависимо от наклона основания где сервы стоят делали?
в смысле? Гиростабилицию? Я жду новые сервы чтобы начать заниматься шести-степенной платформочкой
а какой 6DOF моlekm заказали?
у меня есть 6DOF со спаркфана, но пока не подключал — нужна рассыпуха, чтобы сделать 3.3/5В адаптацию I2C
сейчас тоже со спаркфана заказал датчик, а что там много надо россыпи для подключения?
Вот такой конвертер уровней
image
и если 3.3В нет (Nano, Pro) то питание — LD1117 S33TR + пара кондеров
у меня Mega, а я почему то думал, что там не должно быть проблем с подключением
на Mega TTL уровни 5В, а микросхемы гиро и акселей не допускают 5В логику. Нужен конвертер уровней шины в 3.3В. Конвертер должен быть двусторонним
так, тогда надо будет парочку BSS138 заказать на платане, а то хочется как придет 6DOF поиграться, а на 9DOF я пожмотился, так и не понял, что бы мне дал полезного магнетометр
Возможность стабилизировать дрейф квадрокоптера по оси Yaw при висении на месте.
Значит если понадоибтся прикручу отдельно, все равно у меня сейчас задача прямая, я сам задаю все движения по осям, и могу посмотреть как будет себя вести датчик или наоборот.
Скажите, а принципиально возможно MMA7361 мерять пройденное расстояние?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории