Перейти к содержанию
    

113

Свой
  • Постов

    69
  • Зарегистрирован

  • Посещение

Весь контент 113


  1. RTC на STM32 G03x

    Ну вообще биполярные транзисторы подтягивать особо не нужно, там через базу ток течет, который, к слову, надо ограничивать. Для ШИМа лучше все же P-канальные. Датчики влажности нельзя питать постоянно, только во время опроса. А еще рекомендуют полярность менять. Электролиз никто не отменял.
  2. Как посоветовали выше - документацию в руки. Чтоб не совсем скучно было - вариант для stm32l4:
  3. i.mx6 не всегда загружается

    Доброго дня. Имеется плата на imx6s. Грузится с emmc 5.1. Но 1 раз из 10 не может с нее загрузиться и падает в USB bootloader. Эта же конфигурация, но на emmc 4.41 работает стабильно. После загрузки проблем нет, видео пишется и читается. Возможно кто-то сталкивался с подобной проблемой или есть мысли куда копать?
  4. А это уже в большей степени зависит от режима работы. Если раз в день мигнуть лампочкой, то и 1К/100K хватит. А если ШИМ на 1МГц, то помимо уменьшения сопротивлений, еще и диод поставить не вредно. И драйвер затвора. Но в таком случае и к выбору транзистора стоит подходить обдуманно.
  5. Похоже каждый счел своим долгом вставить свои 5 копеек и упрекнуть автора. Но думается мне, он уже понял свою ошибку, а такой натиск со стороны сообщества вполне может отбить всякое желание писать сюда. Все же человек пришел за помощью, хоть и не совсем корректно отреагировал на справедливую критику. Давайте стараться держать себя в руках.
  6. Ну в схеме то нарисовано только питание и земля. Зачем так делать и тем более выкладывать на обозрение? Про либы в альтиуме тоже справедливо заметили. Компоненты надо рисовать самому.
  7. А зачем вы транзистором питание на землю коротите?
  8. Только сейчас обратил внимание, что там 10мкФ параллельно 1МОм. Зачем 10!? Думается мне и 0.1 хватило бы... Тем более если антидребезг программный и гистерезис.
  9. Если так, то смещение нуля. Просто reg33 писал про сигнал и анод диода, и не понятно что конкретно имел в виду.
  10. неправильно выразился. Последовательно перебирает интерфейсы (типы). Хотя сталкивался с ситуацией, когда отладочный интерфейс был ниже по таблице (например USART2), и не отзывался, пока не подтянешь вышестоящий (USART1). Но USART1 в качестве отладочного работал не зависимо от состояния USART2.
  11. Не совсем понял зачем тут плата. Если просто посмотреть - в виде картинки было бы куда читабельней, не у всех диптрейс есть. По поводу программатора - st-link и другие нормальные программаторы используют SWD или JTAG, который помимо непосредственно загрузки прошивки, имеют множество полезных функций. UART есть смысл использовать только в конечном продукте, где не требуется отладка (и где уже правильным образом настроена конфигурация, чтобы была возможность подключиться к загрузчику). Ну еще можно свой загрузчик сделать со своим механизмом запуска.
  12. Я бы уточнил, что он последовательно перебирает разные порты разных интерфейсов. Подробней можно посмотреть в AN2606 Для сабжа, например так: и вот Но это все равно не поможет, с учетом механизма выбора режима загрузки согласно паттерну 11, описанному выше. Нужно биты изменять конфигурационные.
  13. Возможно ток утечки через BAT54S, который на 3V3 подключен И отсутствие сигнала - это что: 0В на аноде диода или на входе операционника?
  14. Проблема простая: при 90° крена (или тангажа, смотря как считать), второй угол вырождается. Собственно проблема gimbal lock. Тут или считать тангаж по другой оси, когда крен большой, или кватернионы использовать. Но даже при использовании кватернионов, при переводе в углы Эйлера, если это необходимо, проблема вырождения угла сохранится.
  15. Мне показалось, что автор хочет огибающую оцифровывать. Если так, то это вносит некоторые изменения в постановку задачи.
  16. Ну раз уж пошла такая пьянка... https://www.hackster.io/news/the-sonicsurface-can-levitate-objects-with-nothing-but-sound-waves-aff304ed5afd Довольно эффектно в конце видео.
  17. В случае откалиброванных данных с акселерометра и магнитометра: float heading; float P,R; R = atan2f(aсс.y(), aсс.z()); //Roll float V = sqrt(aсс.y()*aсс.y()+aсс.z()*aсс.z()); P = atan2f(aсс.x(), V); //Pitch Matrix_3x3_t RM; RM = CalcRMatrix(R, P, 0); QVector3D mag_rotated = Rotate3Axis(mag_vector, RM); heading = atan2(mag_rotated.y(), mag_rotated.x()); //--------------------------------------------------------- Matrix_3x3_t CalcRMatrix(float alpha, float beta, float gamma) { Matrix_3x3_t RotMatrix; float sina = sin(alpha); float cosa = cos(alpha); float sinb = sin(beta); float cosb = cos(beta); float sing = sin(gamma); float cosg = cos(gamma); // x y // c r RotMatrix.cell[0][0] = cosb*cosg; RotMatrix.cell[0][1] = sina*sinb*cosg+cosa*sing; RotMatrix.cell[0][2] = -cosa*sinb*cosg+sina*sing; RotMatrix.cell[1][0] = -cosb*sing; RotMatrix.cell[1][1] = -sina*sinb*sing+cosa*cosg; RotMatrix.cell[1][2] = cosa*sinb*sing+sina*cosg; RotMatrix.cell[2][0] = sinb; RotMatrix.cell[2][1] = -sina*cosb; RotMatrix.cell[2][2] = cosa*cosb; return RotMatrix; } QVector3D Rotate3Axis(QVector3D point, Matrix_3x3_t RotMatrix) { QVector3D v; float x,y,z; x = point.x(); y = point.y(); z = point.z(); float x1,y1,z1; x1 = x*RotMatrix.cell[0][0] + y*RotMatrix.cell[1][0] + z*RotMatrix.cell[2][0]; y1 = x*RotMatrix.cell[0][1] + y*RotMatrix.cell[1][1] + z*RotMatrix.cell[2][1]; z1 = x*RotMatrix.cell[0][2] + y*RotMatrix.cell[1][2] + z*RotMatrix.cell[2][2]; v.setX(x1); v.setY(y1); v.setZ(z1); return v; } Выдрано из тестов, но думаю идея понятна
  18. Надо пробовать. У меня на одном гироскопе, вопреки документации значения в 2 раза меньше выдавались. самое простое - проинтегрировать данные с гироскопа во время быстрого поворота например на 180°. Если в результате получится значение +/- такое же, значит гироскоп ок и дело в чем-то другом. Под масштабом я имел в виду поправочный коэффициент. Он может быть как для перевода из разных единиц измерения, так для точной калибровки. Методика калибровки - как описано выше. Только при проведении калибровки нужно учитывать, что мемс гироскопы чувствительны к линейным ускорениям и соответственно, к ориентации оси в пространстве.
  19. Сложно синхронизировать будет несколько приемников. Сигнал от источника будет распространятся быстрее, чем от приемников до блока обработки сигналов. Понадобится калибровка на местности.
  20. Чип выдает все же +/- приведенные данные. Вот например IAM20380: switch((FULL_SCALE >> 3) & 0x03) { case 0: //±250 dps Gyro_Sensitivity = 1.0/131.0; break; case 1: //±500 dps Gyro_Sensitivity = 1.0/65.5; break; case 2: //±1000 dps Gyro_Sensitivity = 1.0/32.8; break; case 3: //±2000 dps Gyro_Sensitivity = 1.0/16.4; break; } Как видно, гироскоп выдает значения в °/сек. Конечно эти данные тоже неплохо бы откалибровать во всем температурном диапазоне, но не суть. Маджвик же оперирует с радианами, поэтому надо: //Scaling gyro from d/s to rad/s gx *= DEG2RAD; gy *= DEG2RAD; gz *= DEG2RAD; //#define DEG2RAD 0.017453292f
  21. Действительно ToF. Но они все равно привязываются к амплитуде. В стандартных условиях это будет хорошо, а когда излучатель и приемник меняют относительное положение - амплитуда будет плавать.
  22. Масштаб и в чипе надо настроить и в маджвике, т.к. чип выдает (обычно) в °/сек, а маджвик (в зависимости от реализации) принимает рад/сек. Про калибровку магнитометра - это вообще отдельная задача. Если батарейка не сменная и окружающее устройство поле не сильно изменяется, то можно обойтись однократной калибровкой. В противном случае необходимо достаточно ресурсоемкие алгоритмы встраивать в программу для калибровки в реальном времени, а это - задача по нахождению 3х-осного эллипсоида (9 неизвестных) + корреляция пары векторов магнитного поля и гравитации (которую надо выделить из общего ускорения). И зачем использовать маджвика без гироскопа? Это проще тогда комплементарный фильтр. Тоже самое примерно и получится.
  23. Приветствую. С ультразвуком тоже все не так просто. Если ловить фронт пачки импульсов, то он очень размазан в виду большого времени раскачки пьезиков. Если же измерять фазу принятого сигнала, то проблема определения периода - сложно модулировать сигнал из-за высокой добротности излучателя и приемника. А вот вынести 3 шарика наверх от планшета на штангах и следить камерами за ними - вполне рабочий вариант, если конечно уложится в другие условия.
×
×
  • Создать...