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

kompmen

Спасибо sulaex Александр ОГРОМНОЕ за исправление в моей и вашей схеме
Перерисовал

Админы замените в 42 посту фотографию

sulaex

содержимое в “Код:” не актуально

еще один момент
скорей всего у вас уно пяти вольтовая, так, что придется ставить стабилизацию 3 вольта, она у вас должна быть (схема стабилизации) на спиленной платке моушина, с которой вы выпилили гиры, посмотрите на моем примере
под 5 вольтовой уной подразумевается, что запитка контроллера происходит от стабилизатора установленного на плате уно, контроллер может работать от 1.8 до 5.5 вольт, так, что ему по барабану, померяйте какое напряжение подается на контроллер (земля на контроллере, самой микросхеме 3, 5, 21, питание на 4, 6, 18), соответственно такое и будет на датчиках, исходя из этого и решайте, нужна ли стабилизация

зы а можно поступить проще, вероятней всего на задней части уно установлен стабилизатор 1117 который устанавливает напряжение питания контроллера, сменив всего один резистор в схеме стабилизации на 120 Ом (если не изменяет мне память) можно как раз получить напряжение питания 3.3 вольта на контроллер. соответственно и запитка датчиков будет
это мое предположение, платки уно не имею, по этому более точно посоветовать не могу, схема стабилизации 1117 микросхеме как раз в первом моем посте этой темы

добавлено апосля 😉
а схему то я и не заметил (схему уно которую вы приложили), по схеме используется микросхема стабилизации именно 5 вольт
то есть выше описаное мной по перепайке резистора отменяется, хотя можно поискать и 3.3 вольтовый стабилизатор этой серии 😃

kompmen

Да стабилизатор вырезан

завтра по светлому уже померяем напряжение на контроллере.
Devv мерял - без кабеля юсб. только внешнее питание. между 3.3 и gnd напруга 3.38v - ардуина у него такая же, как у меня 1:1.
Александр , не сочтите за труд- отметьте где мереть и как правильно стабилизатор зацепить а моём случае.
Спасибо заранее

sulaex

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

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

в скетче найти и раскоментировать

//if you use independent sensors
//leave it commented it you already checked a specific board above
/* I2C gyroscope */
#define ITG3200
//#define L3G4200D

/* ADC accelerometer */ // for 5DOF from sparkfun, uses analog PIN A1/A2/A3
#define ADCACC

soliada
sulaex:
  1. на прямую питание на датчики подавать не следует, дело в том, что питание с ардуины на датчики подается управляемое с Д12, это связано с тем что датчики запитываются не сразу при включении и еще они могут перегружаться путем изменения состояния Д12 (это не мое ИМХО, где то читал про это)

Практически можно подключить и на прямую,особо ничего не измениться,коптер упадет гораздо раньше,чем что-то перезагрузится.Минус такого подключения в максимальных 40мА на выходе и шанс спалить вывод при неправильном подключении.
Плюс в последних версиях прошивок пин 12 можно использовать по другому назначению.

sulaex

Михаил, вот собственно выдержка из ФАК разработчиков, возможно я не правильно понял то, что написано, так как плохо читаю по английски

Connecting elements
What about the diodes, 3.3V voltage regulators & pin 12?
With a WMP
The WM+ has an on board voltage regulator and works perfectly with a 5VDC supply.
It is powered directly with via D12 to be able to reset it quickly in case of failure.
A NK can be connected optionality on the WM+.
Alternatively, the WM+ can be powered from 5VDC or from 3.3VDC continuously, but note that the software cannot reset in this case the WM+ if the I2C communication bus freezes.
The reset option has saved already several quads & tricopters from hard crashes!

Optional I2C sensors works only if powered with 3.3VDC.
The voltage reduction from 5V to 3.3V can be done by placing 2 diodes in series with the sensors or by connecting an 3.3V voltage regulator (LM1117).
Of course other options are possible. E.g. powering it from the 3.3V from an Arduino board with 3.3V available.
There is no need to reset other I2C sensors, because they never freeze the lines.

линк на фак:
www.multiwii.com/faq

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

kompmen

Гугл перевёл ))
Соединительные элементы
А как насчет диоды, стабилизаторы напряжения 3,3 В и контакт 12?
С WMP
WM + имеет на регулятор напряжения борту и отлично работает с 5В питания.
Он рассчитан на питание непосредственно с помощью D12, чтобы иметь возможность сбросить его быстро в случае неудачи.
НК может быть подключен необязательность на WM +.
Кроме того, WM + может получать питание от 5 В постоянного тока или от 3.3VDC непрерывно, но отмечают, что программное обеспечение не может сбросить в этом случае + WM, если I2C шине замерзает.
сбросить опцию спас уже несколько квадрациклов и tricopters с жесткого вылетает!
Дополнительный I2C датчиков работает, только если с питанием 3.3VDC.
снижении напряжения от 5В до 3.3В может быть сделано путем размещения 2 диодов последовательно с датчиков или при подключении регулятор напряжения 3,3 В (LM1117).
Конечно, возможны и другие варианты. Например, питание от 3,3 В от платы Arduino с 3,3 доступны.
Существует не нужно для сброса других I2C датчиков, потому что они никогда заморозить линий.

sulaex

ну, в моем понимании они повествуют, что моушен может зависнуть, по этому подключают его через Д12, просто еще где то я встречал упоминание про задержку подачи питания на датчики, думаю программеру не сложно будет это проверить в скетче

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

soliada

На сколько я понял,то питание с 12го пина необходимо для “не пиленого” варианта WM+,в силу каких то его особенностей и необходимости его перезапуска и подачи питания в нужный момент.
Для остальных и"выпиленных" датчиков это не обязательно.
There is no need to reset other I2C sensors, because they never freeze the lines.
Задержка в этом случае предусмотрена программно.
На личном опыте проверено,работает и так и так.

sulaex

возможно так оно и есть, в то время когда у меня не запускался контроллер, использовался именно не пиленный вимоушен, но теперь да же и с пиленными датчиками предпочитаю запитываться с Д12 )

SovGVD

питание через д12 из-за периодиечского возможного повисания wmp, для пиленного это не актуально
а вот у меня вопрос - нужен ли LLC для itg3205 (и прочих 3.3в датчиков)? питание 3.3в, а пины так и остаются 0…5в - не будет проблем?
зы: сам то через llc подлючил и нет проблем, но есть еще детали, малоли захочу собрать чего =)

Gapey

проблемы могут вылезти только если мега по какойто причине сконфигуритЪ ноги I2C как выходы и зафигачит туда 5в … и даже в этом случае обычно ничего страшного не происходит … но всетаки есть некоторая вероятность повреждения датчиков …

SovGVD

спалить то датчики имхо сложно (в ардуинке 5в 150mA максимум вроде бы), я про логические уровни… для датчика это 0 и 3.3в, адруинка шлет/ждет 0 и 5в (поправте, если не прав) - помнится был какой то косяк с этим в multiwii и все рекомендовали LLC пихать

Gapey

если ноги меги отконфигурированы как I2С и отключены внутренние пуллапы (те что в атмеге) , то мега (как и датчики) формирует только уровень логического нуля … единица формируется внешним резистором (пуллапом) … если пуллапы стоят на платке ардуины (обычно стоят на 5 вольт ) то их нужно отпаять ну и исоответственно припаять на стабилизатор питания датчиков … в этом случае все должно нормально работать без всяких LLC …
проблемы могут возникнуть в случае сбоя , или вслучае заливки нетой прошивки … тогда мега может сконфигурить ноги как выходы и зафигачить на шину 5 вольт … для датчиков это не есть хорошо …

woddy
Gapey:

если пуллапы стоят на платке ардуины (обычно стоят на 5 вольт ) то их нужно отпаять ну и исоответственно припаять на стабилизатор питания датчиков … в этом случае все должно нормально работать без всяких LLC …

о как! спасибо. не знал.
на плате 1280 отпаять проблем нет. а на плате 2560 стоит резистивная сборка, если её отпаять то мы теряем подтяжку ресета, что не есть хорошо. ресет надо подтягивать отдельно, вариантов много, но не аккуратно.

romushock
SovGVD:

для датчика это 0 и 3.3в, адруинка шлет/ждет 0 и 5в (поправте, если не прав) - помнится был какой то косяк с этим в multiwii и все рекомендовали LLC пихать

Глеб, пошарь в сети повнимательней. Есть Мини Про 3v3, там LLC не нать. А на 5 вольтовой без LLC никак. Цена вопроса всего 2 зелёных рубля на спаркфане. Ваш слуга покорный юзает и горя не знает…

ПыСы Типа вот

SovGVD

причем тут питание и LLC? если я питаю датчик от 3.3в, арудинка i2c шину внезапно сама меняет на 0/3.3в (обычная такая ардуинка здоровая на 3хх чипе)?
т.е. как я понимаю всё эту дребедень (вдруг не так понимаю) - у датчика 0 (false) - это 0в, 1 (true) - это 3.3в, а для ардуинки - 0 (false) - 0в, а 1 (true) - 5в, дык вот вопрос вылезает, надо ли LLC на SCL/SDA или не обязательно, если захочу еще мозгов наделать?

romushock
SovGVD:

причем тут питание и LLC?

Русским же языком написано:
This %100 Arduino compatible 16MHz 3.3v Atmega328P board is perfect for MultiWiiCopters.
You don’t need an additional Logic Level Converter anymore for 3.3v I2C sensors.

SovGVD
romushock:

Русским же языком написано:

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

SovGVD:

обычная такая ардуинка здоровая на 3хх чипе

ну в общем надо затариваться LLC походу, иначе тема зафлудится до упора =)

romushock
SovGVD:

обычная такая ардуинка здоровая на 3хх чипе

+1

SovGVD:

ну в общем надо затариваться LLC походу

и сэкономить 4 уя на связке Арду 5в +LLC против Арду 3в3

soliada

Чисто практически можно обойтись только подтягивающими резисторами,конечно не совсем чесно,но работоспособно.
По сути, подтягивающий резистор нужен, чтобы гарантировать на логическом входе, с которым соединен проводник, высокий, либо низкий уровень.
В случае 3.3в-5в просто возможно непонимание сигнала с датчиков МК.
По большей степени,надо смотреть в даташитах к самим датчикам рекомендованную схему подключения и макс-мин отношение напряжения SCL SDA к Vdd-IO.Даже при 3.3в питании всей схемы рекомендовано(возможно и не для всех датчиков) использовать подтягивающие резисторы от SCL SDA к Vdd-IO.