при компиляции сама прошивка меняется. в языках высокого уровня такого нет. но то ладно. поменял я оба модуля - эффект тот же. три метра пошел веревку искать. мыло вроде есть
какой микропроцессор используете? могу переделать свою и скинуть точно рабочую минимальную прошивку для тестирования передатчика и приемника на rfm73 + atmega8. конечно, если у вас есть в наличии atmega8.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
хм... в таком случае могу порекомендовать только аккуратное поочередное выполнение инициализации и отправки команд с контролем логическим анализатором по spi. я так делал, когда хотел свою библиотеку написать, но терпения не хватило и понял, что лучше чем у немца не получится. и еще помните про путаницу в инициализации про младший или старший байт вперед. у меня выходило 50 метров точно при прямой видимости. а если дальше, то через деревья и связь пропадала. выкладываю архив с другим проектом для rfm73. я его почти не смотрел за ненадобностью, но, может, вы там найдете для себя.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
если у вас есть логический анализатор Sealea Logic, то могу прислать снимок сигналов на spi при инициализации. там видно какие команды выполняются. так вы можете покомандно проследить весь ход процесса. если нет, то простым фотографированием окна программы.
сейчас подготовлю. в архиве снимки spi приемника процесса инициализации банка 0 и 1. по ним можно проследить весь процесс. имена файлов в хронологическом поряке. те, что с буквенным окончанием (a, b, c, d) фотографировал внахлест, потому что целиком не помещаются на экране. команды выполняются на линии mosi
если нет логического анализатора, то я бы порекомендовал поочередный вывод содержимых регистров (тех, конечно, что позволяют себя читать) банка 0 и 1 на uart или, в крайнем случае на какой-нибудь порт с помощью команды R_REGISTER 000A AAAA. так можно проверить действительно ли записываются значения. у меня никакой обвязки нет вообще. с батарейным питанием работает даже без конденсаторов. и складывается такое впечатление, что у вас регистры не инициализируются совсем. (ведь без инициализации связь есть, но дальность не важная. сам не проверял, но пишут... "Надо сказать, что несмотря на то, что в даташите сказано эти регистры инициализировать определёнными значениями, если этого не делать и ничего не писать в банк 1, модуль всё работает, но несколько снижается дальность связи". http://we.easyelectronics.ru/part/radio ... rfm70.html). глупый вопрос, но все же... перед отправкой команды при инициализации вы ведь прижимаете вывод CSN к земле (на графике с лог. анализатора она обозначена как "ENABLE")?
Последний раз редактировалось asylumist Пт май 16, 2014 18:40:50, всего редактировалось 1 раз.
тогда, скорее всего, есть ошибка в инициализации регистров банка 1. ведь там очень легко напортачить. мало того, что большинство из них не читаются, так и то, что одни надо писать старшим байтом вперед, а другие - младшим. проверьте еще и сверьте внимательно с исходником. так там еще и бубен!
вы говорите, что у вас не работает ACTIVATE 0x73. может, проблема глубже и у вас не работает ACTIVATE вообще. в том числе и ACTIVATE 0x53 нужный для переключения банков. тогда бы это объяснило то, что у вас не инициализируется банк 1 и маленькую дальность. правда я не понимаю как может не работать команда, когда другие работают. и, кстати, почему вы решили, что ACTIVATE 0x73 у вас не работает?
банки переключаются, потому что это видно по биту 7 регистра STATUS а ACTIVATE 0x73 не работает, потому что не модифицируются регистры FEATURE и DYNPD может где-то тут собака порылась?
чтобы проверить действительно ли переключились в банк 1 можно прочитать восьмой регистр (chip id). потому как мне все еще кажется, что переключения не происходит. и если он все-же 0x00000063, то тогда где-то ошибка в инициализации.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения