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

    

ddd-ekb

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о ddd-ekb

  • Звание
    Участник
  1. вобщем распаял рядом точно также LIS344 с аналоговым выходом все глюки как рукой сняло сейчас осталось только фильтрацию отстроить, чтоб вибрации всякие отсеивать
  2. Цитата(esaulenka @ Apr 11 2018, 01:51) Если интересно, могу содержимое регистров рассказать. в принципе интересно, может я чото явно накосячил у меня сейчас так 1F,21,22,24,25,26,2E,30,32,33,38,3A,3B,3C,3D - 00H 20 - 97H 1250Гц, все 3 оси разрешены 23 - 08H диапазон +\-2G частоту менял на 50 и 400, никаких изменений
  3. Цитата(jcxz @ Apr 10 2018, 16:24) Мне кажется лучше чем впустую терять время, взять ещё один чип (другой, не LIS3DH) распаять рядом и сравнить показания. пока перепаял другой точно такой же (покупал 2 сразу), очень аккуратно и очень быстро, точно не перегрел абсолютно ничего не изменилось вариант кривой пайки явно отпал
  4. уже взял другой с аналоговым выходом, может проще будет через ацп за ним следить
  5. Цитата(Aner @ Apr 10 2018, 13:28) Плату сами собирали (паяли) или купики готовую с этим мемсом? Я к тому, что при самостоятельной сборке, пайки могли неравномерно нагреть сам мемс и пошли шумы из-за этого. Уменя такое было в самом начале работы с этими мемсами. Описаный у вас рецидив похож на тот что был у меня. Также неравномерный, разный шум при наклонах. сам, на макетке вроде не перегревал, в касание паял, сначала приклеил контактами вверх, мазнул флюса и по 1 волоску припая от контактов на макетку, а уж с макетки распаял на пик и питание конечно вариант, хотя вроде больше 30 лет паяю почти ежедневно сейчас ещё подумалось что может постоянное обращение по шине к кристаллу даёт помеху, надо попробовать настроить опрос по прерыванию готовности данных, а не постоянно проверять статус главное потвердили что микросхемы принципиально не косячные, буду дальше экспериментировать
  6. Цитата(x736C @ Apr 10 2018, 00:19) Как вы его включали в режим? LIS3DH_SetFullScale LIS3DH_SetAxis Эти функции выполняли (или соотв. регистры инициализировали)? насчёт функций не знаю, программа написана чисто на асме в виндосовском блокноте, никакой среды разработки или чегото похожего нет, регистры инициализированы все, просто выписан список регистров по адресам из даташита, проставлены значения и все туда прописываются потом делается 256 замеров, все суммируются и младший байт отбрасывается, в итоге получается среднее арифмитическое режим задан без внутренних фильтров, полный диапазон +\-2G пока обрабатываю только одну ось Х, непрерывно проверяется флаг обновления даннных, они считываются-суммируются, так 256 раз после этого проверяется результат по модулю и соответственно зажигается или не зажигается светодиод затем снова полная переинициализация всего и по новой для светодиода проверяется только старший байт результата, он имеет диапазон +\-127, проверяется по модулю при значении проверки 10 светодиод горит вообще постоянно, при 15 уже почти нормально, но наклон платы примерно на 20 градусов и загорается, при проверке на 30 уже без всяких ложных сработок Цитата(Alex11 @ Apr 10 2018, 02:29) А Вы точно в этом уверены? Батарейка - не гарантия. Емкости по питанию достаточные стоят? батарейка литий 2032 на 3в, стоит керамика 10мкф и тантал 100мкф в параллель отсюда же запитан PIC12F675, работает на внутреннем 4МГц генераторе Цитата(x736C @ Apr 10 2018, 00:19) И там есть пример управление указателем мышки наклонами платы. И все очень плавно возле нуля. а где можно посмотреть исходник примера? может что то прояснится
  7. пытаюсь сделать датчик перемещения объекта, просто чтоб была коробочка на нём закреплённая и реагировала на любое его перемещение задачи отследить уж совсем аккуратные действия нет, но чтоб на перекладывание рукой на 10см вбок реагировал всякие ик и прочие не подходят, должно работать в полной темноте и внутри закрытой коробки вот купил самый дешманский акселерометр LIS3DH и решил попробовать фиксировать ускорение а теперь непонятность: постоянно присутствует шумовая помеха на уровне примерно 20% от полной шкалы, никак не могу её отфильтровать попытка замерить среднее арифметическое по 256 замерам позволяет снизить ну до 15%, но неустойчиво, ложные сработки вылазят при этом ещё и наклон датчика влияет на уровень помехи вобщем при отсечке примерно на 30% от полной шкалы всё становится хорошо, никаких ложных сработок и влияния наклона, но при этом реагирует только на довольно резкие толчки, спокойная перестановка рукой не вызывает сработки вопрос: это надо купить какой то более правильный и дорогой датчик? или что то не так с обработкой сигнала? ну не должно же быть такой сильной помехи, мне кажется с питанием точно всё в порядке, оно от батарейки, точно без пульсаций и помех, схема примитивнейшая, датчик, пик12 и светодиод сталкивался кто-нить с акселерометрами? подскажите куда копать
  8. вопрос по PIC + USB флэшка

    Вобщем пока решил попробовать usbula.com, под мою задачу кажется самое простое из готового решения. Заказал пики, придут - буду тестить. Всем спасибо, тема пока закрыта. Вроде бы.
  9. вопрос по PIC + USB флэшка

    Цитата(varostov @ Jan 13 2017, 14:34) Если исходить из необходимости работы "исключительно на асме" Тут речь о том, что сам контроллер сбора и подготовки данных в память я напишу на асме, но вот взаимодействие с флэшкой уже не сумею. Поэтому мне нужен какой то дополнительный контроллер сразу запрограммированный на единственное действие - при втыкании флэшки переписать туда всю 2464 и обозвать "файл.тхт". Чтоб мне не надо было отрабатывать какое то с ним взаимодействие, АТ-команды и тд и тп
  10. вопрос по PIC + USB флэшка

    Извиняюсь если не в тот раздел пишу. Сам пишу исключительно на асме и с высокоуровнемы вещами типа USB незнаком абсолютно. Сейчас прорабатывается небольшой контроллер, который будет месяц-два копить статистику с некоторого количества датчиков и складывать её в еепром типа 2464 в виде простово текстового файла. Необходим дополнительный контроллер, по сути безразлично на чём сделаный, лишь бы это было недорого и легко покупаемо, который будет тоже подключен к этому еепрому и к USB-разъёму типа "мама". Также к нему должна быть подключена либо кнопка его активации, либо он должен сам при вставлении флэшки просыпаться. Проснувшись выставить сигнал доступа к 2464 и через секунду (контроллер сбора данных за это время точно его заметит и отключит свой порт от еепрома ) скопировать из неё всё, записав данные без какой-либо обработки в виде файла "file.txt" длинной 8192 байт. Вопрос в принципе с кем то пообщаться на тему реализации этой задачи, ибо сам я ниасилю. Спасибо.
  11. PIC16F74 непонятки с прерыванием

    Цитата(evc @ Oct 29 2015, 21:28) Нет, только один - PCLATH. Я наверное, старею, поэтому все таки вам отвечу: в STATUSе хранятся биты для определения страницы оперативной памяти. В PCLATHе хранятся биты для определения страницы программной памяти. Еще в первом посте на этой странице я вам привел код для обработчика который сохраняет и то и другое, чего в вашем коде нет. Но, к сожалению, выходит правда - очевидные вещи, самые малозаметные - вы вцепились в этот STATUS и в упор не замечаете PCLATH. ура, всё, раскурил до конца PCLATH не при делах, как и программная память проблема как и было в итоге определено в неверном сохранении обработчиком номера страницы регистров причина в том, что у 73\74 нет общеадресуемой памяти, в отличии от 76\77, а даташит общий вот и не отразил сходу этот момент усё, спасибо за попинывание и всякие мысли, тему закрыть, автора в бан
  12. PIC16F74 непонятки с прерыванием

    Цитата(evc @ Oct 29 2015, 18:11) из-за этого получаете несанкционированные входы в обработчик прерываний ... но как скажете. на сейчас окончательно утряс причину возникновения повторного прерывания сразу при выходе из обработчика несанкционированных входов нет в основной программе есть периодическая инициализация регистра PIE1 MOVLW 1 MOVWF PIE1 на всякий случай, вместе с остальными TRISами и ADCONами вдруг чего сбойнёт от помех и некому будет питание передёрнуть, а вачдог не сработает, т.к. программа то бегает по кругу, просто периферия переинициализировалась неверно из-за таджика-сварщика раз уж методом тыка установлено влияние страниц, то логично предположить что обработчик и правда не восстанавливает страницу, тогда получается что при попадании момента прерывания между выбором страницы 1 и записью 1 в PIE, эта 1 отправляется в зеркальный относительно PIE регистр PIR и устанавливает этот самый флаг, который сразу же опять и вызывает прерывание абсолютно понятно и логично, ура теперь осталось понять в каком месте обработчика портится страница, т.е. бит 5 регистра статуса Код    movwf    buf1     movf    STATUS,w     movwf    buf2     clrf    STATUS .......     movf    buf2,w     movwf    STATUS     movf    buf1,w     retfie единственная портящая статус команда тут MOVF, и портит она только бит 2 да и в принципе, если эта команда портит биты выбора страниц, то как ей пользоваться на ненулевых страницах? на всякий случай повторюсь, buf1 и 2 имеют адреса 70Н и 71Н для однозначной адресации независимо от текущей страницы так что половина непонимания остаётся пока три тысячи чертей, они опять упрыгали на 2 минуты вперёд, с новым обработчиком прямо скопипастеным с даташита, со всеми этими SWAPами вобщем точно выходит что обработчик не восстанавливает обратно 1 страницу, а оставляет 0 на которой сам работал угу, абсолютно точно так, набил 50 нопов между выбором 1 страницы и записью в PIE1 (чтоб расширить окно ошибки), так прямо на глазах по 2 минуты плюсует
  13. PIC16F74 непонятки с прерыванием

    Цитата(evc @ Oct 29 2015, 17:41) именно адресация страниц портится у вас, в обработчике прерываний. да и чёрт с ней, с этой адресацией, пусть хоть вся перепортится в данной программе на каждом проходе принудительно устанавливается состояние всей периферии затем просто берутся значения из регистров минут и часов, перекодируются в сегментный вид и выплёвываются в порты так что все сбои могут привести только к сбою индикации на от силы 50-100 миллисекунд вобщем пока пусть проверяется, первые полчаса прошли нормально
  14. PIC16F74 непонятки с прерыванием

    Цитата(ViKo @ Oct 29 2015, 17:27) В программе "Фобос-Грунт" не участвовали? увы справедливости ради, сейчас тупо задал поиск Z по всему asm-файлу, нашёл только в 2 местах абсолютно некритичных ( 1 - гашение незначащего нуля в десятке часов перед выводом в порт, 2 - мигание разделителя часы-минуты ) так что вопрос отстаётся открытым, прерывание поправил по рекомендации даташита, поставил на проверку
  15. PIC16F74 непонятки с прерыванием

    Цитата(ViKo @ Oct 29 2015, 17:05) swapf - эта команда не просто так используется. Там что-то с флагами связано. Она их не портит, помнится. а ведь точно, MOVF портит Z блин, ёмаё, этож надо так лохануться хотя всёж не понимаю как это тут привязано, но косяк явный, да а я как в середине 90х на первой программе к 16f84 этот вход-выход прерывания написал, так на автопилоте и использую сейчас поправлю и поставлю проверяться