пилим, пилим, пилим... (или как получить бюджетные датчики)

gorbln

Гуру, помогите ещё раз, пожалуйста.

Выпилил гиру из WM+. Подключил - не видится - цифры в конфигураторе не бегут. настройки такие:
#define I2C_SPEED 100000L //100kHz normal mode
//enable internal I2C pull ups
//#define INTERNAL_I2C_PULLUPS
/* I2C gyroscope */
#define ITG3200
/* ADC accelerometer */
#define ADCACC

Скорость i2c пробовал и 400, и 100. Пуллапы включал-выключал, адрес гиры менял, интерливинг делей делал и 3000 и 4000… не видится. Микросхема пыщь? Или я что-то упустил? 😃 Время цикла в конфигураторе 3900-4200.

К слову, у меня не были объединены области “земли” на плате (на картинке - область, обведённая фиолетовым), пришлось припаять перемычку. Но всё равно не работает. 😦
Всю плату промерил - результат на картинке. На charge pump конденсаторе - около 20-22 вольт, на выводах i2c - осциллограммы примерно такого вида, как нарисовано.

SovGVD

стоит попробовать сначало этот код: code.google.com/p/ardupirates/…/i2c_spy.pde?r=723 (залить и запустить в терминале/консоле ардуинко-проги)
если адрес гиры вылезет - ковырять код, если нет, то пыщ

и кстатии там точно 20в? о_0 микросхемка больше 5в вроде бы не любит, если там 20, то наверняка пыпыщь давно

sulaex

То же не понял пометку 20v
Егор, отключите аксель (закоментируйте так же его в скетче), проверьте скетч на наличие других гир (должна быть только 3200)
Перемычек никаких я не ставил, на моих фотках последних, полностью рабочая и проверенная версия платы мультивия, с таким же пиленым датчиком гир

gorbln
SovGVD:

и кстатии там точно 20в? о_0 микросхемка больше 5в вроде бы не любит

Это charge pump capacitor - на нём как раз делается высокое напряжение для питания пьезоэментов гиры. 20 вольт - это нормально, вроде.

Чудо-софтина говорит:
I2C devices detector
=================================

=================================
Cycle is over

Походу пыщщь…

SovGVD
gorbln:

Чудо-софтина говорит:

или sda с scl перепутаны

Dimm168pin
gorbln:

Гуру, помогите ещё раз, пожалуйста.

Выпилил гиру из WM+. Подключил - не видится - цифры в конфигураторе не бегут. настройки такие:
#define I2C_SPEED 100000L //100kHz normal mode
//enable internal I2C pull ups
//#define INTERNAL_I2C_PULLUPS
/* I2C gyroscope */
#define ITG3200
/* ADC accelerometer */
#define ADCACC

Скорость i2c пробовал и 400, и 100. Пуллапы включал-выключал, адрес гиры менял, интерливинг делей делал и 3000 и 4000… не видится. Микросхема пыщь? Или я что-то упустил? 😃 Время цикла в конфигураторе 3900-4200.

К слову, у меня не были объединены области “земли” на плате (на картинке - область, обведённая фиолетовым), пришлось припаять перемычку. Но всё равно не работает. 😦
Всю плату промерил - результат на картинке. На charge pump конденсаторе - около 20-22 вольт, на выводах i2c - осциллограммы примерно такого вида, как нарисовано.

посмотрите схему включения хотя бы на примере платы freeimu www.varesano.net/files/FreeIMU_schematics.pdf
всего 4 провода, если у вас не так то работать и не буде, сжечь даже 5ю вольтами трудно. поверьте то что я делал с этим гириком должно было убить что угодно
По хорошему просто прозвоните линии sda scl и питание до того места где вы подпаялись.
Кстати напряжение питания у вас какое?
нога 9 AD0 на чем сидит? vcc или gnd? это влияет на адрес в конфиге. если случайно обрубили может не работать,
если подключено через llc или питание ардуины 3.3 то резисторы можно убрать

Alexey84

суперски полезная тема. до гуру мне далеко. но стараюсь не отставать. спасибо!

gorbln
Dimm168pin:

Кстати напряжение питания у вас какое?
нога 9 AD0 на чем сидит? vcc или gnd? это влияет на адрес в конфиге. если случайно обрубили может не работать,
если подключено через llc или питание ардуины 3.3 то резисторы можно убрать

Питание ардуинки - от USB, 5V. Питание плат с датчиками - через стабилизатор от WM+, 3V (почему-то именно 3, а не 3.3). Подключено напрямую от +5V, пробовал и через ногу 12.
AD0 посажена на землю, кроме того, адреса я пробовал оба =)
Подключено всё через питание ардуины, внутренние подтяжки в ардуинке убраны. (пробовал включать - без разницы). LLC отсутствует.
Непилёную плату не подключал, грешу на процесс выпиливания (дело было дремелём, может чего “стряхнул”).

Попробую ещё платку прогреть феном - но похоже что чип дохлый.

SovGVD:

или sda с scl перепутаны

Провода припаяны по картинке, дороги на плате разведены в точности как у sulalex-а.

gorbln

Омайгат… Были перепутаны провода sda и scl !!! Выпаял пуллапы, поменял провода местами - и всё заработало.😁

Но! Раньше провода были припаяны как по этой ссылке:ссыль на форум
Учитывая, что sulalex говорил, что собрал уже over9000 коптеров именно с такой разводкой (а я не сомневаюсь в его словах) - походу дела, Wii Motion-ы, даже с одинаковыми по виду платами, отличаются друг от друга. 😃

Итого, получилось так: провод от резистора, который ближе к чипу - на ногу А5, а провод от резистора, который ближе к конденсатору - на ногу А4. 😌

P.S. Благодарю SovGVD, за предположение о проводах. Проверил в последнюю очередь, но именно оно и оказалось =)

sulaex
gorbln:

Но! Раньше провода были припаяны как по этой ссылке:ссыль на форум

sulaex:

Перемычек никаких я не ставил, на моих фотках последних, полностью рабочая и проверенная версия платы мультивия, с таким же пиленым датчиком гир

указал в этом посте что найдена ошибка и протестирована схема

sulaex:

ВНИМАНИЕ!
в предыдущих постах обнаружена ошибка при подключении датчика гироскопов
провода с данными (SDA и SCL) должны быт подключены к контроллеру наоборот, фотографии этого поста верны по подключению, проверены в работе, так что можно сверяться для будущих разработок

gorbln

Нда… Я кросавец. И ведь читал этот пост. Рукалицо…

sulaex

огласите пожалуйста результаты работы с акселем (y3u), схему разводки если подключение удалось

gorbln

Аксель запустился. 3-осевой, аналоговый.

Так выглядит отпиленный. Подключение к контактам Arduino на рисунке.
Отпиливал согласно вашему совету:

Насчёт осей хотелось бы уточнить: ось “вперёд по ходу движения” - это pitch? Соотв-но, вправо-влево - roll, а вверх-вниз - Z по конфигуратору?

Забыл подписать - зелёный провод - земля, красный - питание. На акселе питание - это контакты чипа 14-15 (сверху, если смотреть на нижнюю фотку), а земля - контакты 6-7 (снизу).

Добавление: подключение правильное, но плату с акселерометром надо развернуть на 180 градусов. направление полёта - на картинке “вверх”

sulaex

X - Pitch
Y - Roll
Z - Yaw

окончательный результат таков?

у вас при наклоне в разные стороны в гуи соответственно должен откланяться рисунок коптера и оставаться в том положении в котором вы зафиксировали плоскость, если медленно возвращается назад, значит не верно расположены плоскости микросхем (это относится к режиму автоуровня, одновременно работают гиры и аксель)

ЗЫ как получете ожидаемый результат, не забудьте указать направление движения для микросхемы акселя, думаю полная информация по этому акселю будет полезна еще долгое время 😃

gorbln

Да, но это вращение. Для акселя более логично, на мой взгляд, было бы Acc FWD, Acc Right, Acc Up. Ну или типа того. Ибо ускорение по pitch - это куда? Ну да ладно. Не суть важно. Акселерометр работает, подключение выше описал. Не сочтите за засорение форума, для ясности окончательный макет комбинации ITG3205 + Y3U 6353:

P.S. Кстати да… Не прошло и полчаса, как я понял =))) Ускорение по pitch - это по Х =) то есть вправо-влево.

sulaex
woddy:

кто знает что за чудо?
маркировка
Y3U
2647

ну вот, общими усилиями и ответ назревает на ваш вопрос 😃
а если сделаете фото качественное сверху, то и места распила можно обозначить

Егор, не сочтите за труды, прозвонить микруху на предмет распиновки для общего пользования (А1 на такую то ногу микросхемы, соответственно А2 и А3, относительно точки на корпусе)
а то для синего варианта чака с микрухой y3u придется так же подбирать в слепую варианты подключений
и судя по вашему фото направление движение такое

макет для правки

gorbln
sulaex:

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

Всё так и есть.

Сделал ещё картинку, с номерами ног:

Соответствие ног:
1,3,6,7 - GND
2,8,9,10,11,12,13 - NC (ну или где-то под микросхемой)
14,15 - Vcc - 3.3V
4 - A2
5 - A1
16 - A3

Окончательный вариант распила платы - как и показывает Александр:

Dimm168pin


такая чака есть, брал не для коптера, т.к есть обычные adxl345, а исключительно из-за джойстика для управления фоллоу фокусом и перемещением рельсов для DSLR камеры, показалось удобным в руке и кнопочки можно назначить под любые задумки) может кому поможет фото внутрянки, item ID на ebay 320646084796, может на досуге тоже проверю в вие как работает)

gorbln

Y3U - походу тип акселя. а цифры - номер партии или дата изготовления или типа того

=alex#
sulaex:

места распила и подключения:

а кто-нибудь знает какие дорожки на этой плате надо резать, чтобы плату не разрезать на части?