[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум » форумы » Обсуждение материалов сайта » Nrf24L01+ термометр и ещё всяко разно.
Nrf24L01+ термометр и ещё всяко разно.
alexdxДата: Среда, 02.10.2013, 16:54 | Сообщение # 51
Группа: Пользователи
Сообщений: 28

Статус: Offline
Valera18, я пробовал подключить кондер к питанию-не помогло. Пока экспериментировал, обтыкал все тестером. В режиме ожидания напряжение порта и напряжение питания равны. В момент передачи напряжение на порту просаживается. Если на порт подключить кондер-то он (как я понимаю) будет вольтдобавкой и NRF хватит напряжения для работы.
По поводу энергопотребления будем продолжать играться) Если не ошибаюсь, в последний раз на тиньке2313 у меня получалось около 6мкА в режиме PowerDown.


 
kip96Дата: Среда, 02.10.2013, 17:11 | Сообщение # 52
Группа: Свой человек
Сообщений: 170

Статус: Offline
Вот тут хорошо расписал человек работу модуля. Как написал один посетитель-
Цитата
помогла систематизировать кашу в голове
У него, кстати, таже ситуация с питанием описывается.
Потребление конечно ещё можно снизить, сейчас как раз и работаю над проектом одним, в котором при минимуме размера сделать "вечным". Поэтому потребление критично. Ну а данный прибор работает до сих пор без передыху, и как видно на видео, ещё долго будет работать. Сейчас он в пакетиек за окном. Вообщем как тестовый.
Кстати, ни кто не пробывал одним приёмником  6 передатчиков поймать. Вроде всё по даташиту включаю, а ловит только пайп1. И главное не пайп0, как основной, а пайп1.
ЗЫ. В споре рождается истина. На то мы здесь и собрались на форуме.


 
alexdxДата: Среда, 02.10.2013, 17:19 | Сообщение # 53
Группа: Пользователи
Сообщений: 28

Статус: Offline
Valera18, почитал тесты по снижению энергопотребления. Спасибо. Может подскажите по такому вопросу: запрограммировал тиньку2313 на 128kHz. Программатор USBASP. Как мне ее теперь обратно прошить на 4MHz?

kip96, у меня пока всего 3 модуля в наличии. Хочу реализовать систему на одном пайпе. Идентифицировать устройство хочу по его номеру, который передается в первом байте посылки.


 
kip96Дата: Среда, 02.10.2013, 18:28 | Сообщение # 54
Группа: Свой человек
Сообщений: 170

Статус: Offline
Когда несколько независимых передатчиков, без этого не обойтись. Либо их как-то синхронизировать, чтобы наложений не случилось.
Или приёмник должен запрашивать каждый передатчик, а значит передатчик должен ждать запрос, т.е. находится на приёме, значит много кушать.
Какой у Вас алгоритм?


 
alexdxДата: Среда, 02.10.2013, 20:13 | Сообщение # 55
Группа: Пользователи
Сообщений: 28

Статус: Offline
Еще не разбирался с приемом от нескольких передатчиков по одному каналу.

 
alexdxДата: Среда, 02.10.2013, 22:27 | Сообщение # 56
Группа: Пользователи
Сообщений: 28

Статус: Offline
Блин, никак не могу привыкнуть и до конца понять DipTrace. Привык к Proteus.

 
alexdxДата: Четверг, 03.10.2013, 10:05 | Сообщение # 57
Группа: Пользователи
Сообщений: 28

Статус: Offline
kip96, по идее мы же настраиваем в передатчике подтверждение о приеме посылки, включаем контрольную сумму. он же несколько раз передает, пока не получит подтверждение, что посылка успешно принята. Может эти плюхи защитят от хаоса в посылках? Надо попробовать беспрерывно передавать с двух передатчиков данные, которые изменяются по определенному алгоритму и посмотреть что будет на приемнике. Мне кажется, что когда данные будут приходить раз в минуту вероятность наложения и глюков будет небольшой.

 
kip96Дата: Четверг, 03.10.2013, 15:21 | Сообщение # 58
Группа: Свой человек
Сообщений: 170

Статус: Offline
передаёт несколько раз, но определённое количество.  А если, быстро изменяющиеся параметры надо измерять? Не надо эти пайпы долбить.

 
alexdxДата: Четверг, 03.10.2013, 15:29 | Сообщение # 59
Группа: Пользователи
Сообщений: 28

Статус: Offline
Что значит 
Цитата (kip96)
Не надо эти пайпы долбить.
?


 
kip96Дата: Четверг, 03.10.2013, 16:55 | Сообщение # 60
Группа: Свой человек
Сообщений: 170

Статус: Offline
Sorry biggrin
Неее,  Надо эти пайпы долбить. Раз уж есть такая фишка, надо её использывать!


 
alexdxДата: Четверг, 03.10.2013, 19:48 | Сообщение # 61
Группа: Пользователи
Сообщений: 28

Статус: Offline
Понял) Ну а как быть, если я хочу сделать сеть из одного "серверного" приемопередатчика и двадцати устройств-сенсоров, с которыми он общается?

 
Valera18Дата: Четверг, 03.10.2013, 21:40 | Сообщение # 62
Группа: Проверенные
Сообщений: 22

Статус: Offline
Для alexdx

Самый простой способ, чтобы сделать один приёмник и двадцать передатчиков:
1 передатчик, выставляем адрес:
D_bytes(1) = &H30
D_bytes(2) = &H00
D_bytes(3) = &H00
D_bytes(4) = &H00
D_bytes(5) = &H00
D_bytes(6) = &H01
2 передатчик, выставляем адрес:
D_bytes(1) = &H30
D_bytes(2) = &H00
D_bytes(3) = &H00
D_bytes(4) = &H00
D_bytes(5) = &H00
D_bytes(6) = &H02
3 передатчик, выставляем адрес:
D_bytes(1) = &H30
D_bytes(2) = &H00
D_bytes(3) = &H00
D_bytes(4) = &H00
D_bytes(5) = &H00
D_bytes(6) = &H03
и так далее для всех передатчиков. В передатчиках использован способ энергосбережения (Config Watchdog = 8192, Start Watchdog, Powerdown).

Общий один приёмник (сервер), постоянно включен:
Теперь нужно только по порядку переключать (изменять) адрес по которому идут Byte (данные).
У приёмника эта команда называется:
D_bytes(1) = &H2A
D_bytes(2) = &H00
D_bytes(3) = &H00
D_bytes(4) = &H00
D_bytes(5) = &H00
D_bytes(6) = &H01
по порядку изменяем D_bytes(6), то-есть выставляем адрес передатчика, с которого нужно принять Byte (данные, например температуру). Ещё нужно в приёмнике выставить временной диапазон в течение, которого с передатчика должны прийти данные, и после изменяем адрес на второй передатчик, ждём приёма и так далее.
Кстати Я уже давно где-то описывал данный способ передачи и приёма.

Добавлю:
Можно попробовать использовать терморезистор TC1047.
Приёмник лучше использовать такой "nRF24L01+PA+LNA wireless communication modules with antenna 2.4GHz 2Mbps 1000m" - зелёный цвет с антенной, а передатчики будут обычные - дешёвые.
Следовательно, приёмник сможет принимать сигнал во всех комнатах (даже с закрытыми дверями) - испытано Мною, ПРИНИМАЕТ.




Сообщение отредактировал Valera18 - Пятница, 04.10.2013, 17:54
 
kip96Дата: Четверг, 03.10.2013, 22:43 | Сообщение # 63
Группа: Свой человек
Сообщений: 170

Статус: Offline
Кстати, на передатчике тоже нужно RX адрес для pipe0, ждя того чтобы передатчик мог получить ответ об удачной передачи.
Valera18, а почему на передатчике D_bytes(1) = &H30, а на приёмнике D_bytes(1) = &H2A ?


 
alexdxДата: Четверг, 03.10.2013, 23:53 | Сообщение # 64
Группа: Пользователи
Сообщений: 28

Статус: Offline
Valera18, использую такие же настройки собаки и повердаун. Вот еще вопросы:
1. присоединяюсь к вопросу kip96 по поводу несовпадения адресов.
2. если удаленный температурный сенсор будет передавать информацию раз в минуту, а приемник будет постоянно перебирать каналы, то успеет ли он (приемник) поймать посылку? А если сделать больше сенсоров, то время перебора увеличится... Может надо как-то отслеживать на передающей стороне сообщение о приеме, и пока его не получим передавать и передавать не засыпая на следующую минуту?
3. рекомендуете приемник зеленый. Забил название на ebay. Больно дорого выходит. Я вот к такому присматриваюсь в качестве сервера "NRF24L01+PA+LNA SMA Antenna Wireless Transceiver communication module 2.4G G5". Вот ссылка, не знаю сколько проживет лот, ищите в будущем по названию http://www.ebay.com/itm....a586910 Что скажите про такой?

Я проводил тесты по дальности: у меня дешевые модули, пробивает две ЖБ стены. Перед третей начинаются потери посылок. Меня в принципе такой результат устраивает. Пока думаю над покупкой модуля с антенной. Я думаю, что если поставить на принимающую сторону модуль с антенной, а на передающей оставить дешевый, то особого эффекта не должно быть. Потому что мощность передачи как была маленькой, так и останется. Принимающая сторона сможет только "мощнее" ответить благодаря антенне.

И еще:
правильно ли я понимаю, что IRQ на приемнике будет дергаться только тогда, когда придет посылка по адресу пайпа, на который настроен приемник в данный момент?




Сообщение отредактировал alexdx - Пятница, 04.10.2013, 16:23
 
Valera18Дата: Пятница, 04.10.2013, 17:15 | Сообщение # 65
Группа: Проверенные
Сообщений: 22

Статус: Offline
Для alexdx
Да, чем больше датчиков, тем больше времени нужно. В этом недостаток, но это самый энергосберегающий способ для передатчиков.

Тот модуль про который Вы сказали http://www.ebay.com/itm....a586910 - это тоже самое, только большая плата.
Итог: высокая чувствительность приёмника, поэтому принимает сигнал от всех простых передатчиков.

Для передатчика MISO и IRQ не нужно, так как не используется, а на приёмнике IRQ переходит в ноль (0) только при приёме.




Сообщение отредактировал Valera18 - Пятница, 04.10.2013, 17:57
 
Valera18Дата: Пятница, 04.10.2013, 17:52 | Сообщение # 66
Группа: Проверенные
Сообщений: 22

Статус: Offline
Для kip96 и alexdx

Сейчас подумал,
Прошивка передатчика:
D_bytes(1) = &H30  'TX адрес - это значение, которое будет передавать. Это основная передача Byte.
D_bytes(1) = &H2A  'RX адрес для pipe0 - это для приёма ответа от приёмника. Это обратная связь.

Прошивка приёмника:
D_bytes(1) = &H2A  'RX адрес для pipe0 - это значение для приёма данных (Byte) от передатчиков. Это основное действие.
А вот такого значения нет у приёмника: D_bytes(1) = &H30  'TX адрес - это для передачи ответа передатчику, то-есть обратная связь.

Следовательно, у передатчика есть два адресных потока:
1 поток D_bytes(1) = &H30 - это передача.
2 поток D_bytes(1) = &H2A - это приём ответа.
У приёмника тоже есть два адресный потока:
1 поток D_bytes(1) = &H2A - это приём.
2 поток (не используется) D_bytes(1) = &H30 - это для передачи ответа о приёме.
Над этим нужно работать, Я ещё не пробовал, но уже стало ИНТЕРЕСНО.

Ещё нашёл старый, но интересны комментарий:
http://avrproject.ru/publ/2-4-0-92
от №56 до №59 комментария.




Сообщение отредактировал Valera18 - Пятница, 04.10.2013, 18:39
 
alexdxДата: Суббота, 05.10.2013, 00:35 | Сообщение # 67
Группа: Пользователи
Сообщений: 28

Статус: Offline
Пятница, ночь... 
Не понял сути про два адресных потока, Valera18. Можно как-то иначе объяснить?

По поводу IRQ:
я собирал тестовый передатчик по примеру из этой статьи http://avrproject.ru/publ....1-0-106
там есть исходник.
В нем можно увидеть, что можно отследить тот факт, что приемник не ответил (я это использовал для определения зоны покрытия и "пикал" 3 раза пьезой, когда передатчик не получал ответа о приеме). Можно сделать флаг, и не поднимать его, полка не ответит приемник. Пока флаг не поднимется-не засыпаем. Вижу такой выход. Но все таки интересно понять про адресные потоки)


 
kip96Дата: Суббота, 05.10.2013, 08:06 | Сообщение # 68
Группа: Свой человек
Сообщений: 170

Статус: Offline
IRQ
настраевается в конфигурации. В ДШ смотрите Register Map-CONFIG. Там видно, что можно включить прерывание на ножку  IRQ от приёма, от ответа и нет ответа. Во всех проектах, что здесь она включена на всё. Далее, по той-же карте смотрим STATUS, и по прерыванию на ножке  IRQ смотрим , какой бит сработал.
Call R_register(status , 1), смотрим считанный байт, и в зависимости от того, какой бит сработал, понимаем от чего произошло прерывание и решаем, что дальше делать.




Сообщение отредактировал kip96 - Суббота, 05.10.2013, 08:07
 
alexdxДата: Воскресенье, 03.11.2013, 17:57 | Сообщение # 69
Группа: Пользователи
Сообщений: 28

Статус: Offline
Давно тут никто не отписывался, я смотрю) Сегодня дошли руки собрать передатчик на меге48. Залил прошивку от kip96. Передача работает. А вот АЦП преобразование всегда возвращает 1023. Начал разбирать код. Опорное напряжение АЦП настроено на внутренний источник (internal), который обеспечивает стабильные 1.1В .Но мы-то измеряем напряжение питания всей схемы, которое составляет около 3 вольт. Поэтому и получается всегда 1023. Не пойму как работает у Вас, kip96. Проясните пожалуйста.
P.S. начал ковырять гугл, нашел статью про измерение напряжения питания микроконтроллера им самим http://www.rlocman.ru/shem/schematics.html?di=73220. Не могу пока осуществить измерение внутреннего ИОН. Его надо как-то подключить на вход АЦП.


 
kestrelДата: Воскресенье, 03.11.2013, 19:22 | Сообщение # 70
Группа: Проверенные
Сообщений: 52

Статус: Offline
Ну наверняка там делитель напряжения,  а АЦП без разницы что мерить что 220В хоть что 1,5В

 
kip96Дата: Вторник, 05.11.2013, 21:55 | Сообщение # 71
Группа: Свой человек
Сообщений: 170

Статус: Offline
Ну да, там делитель. Но если делителя нет, измеряем так. В качестве опорки - напр. питания, а измеряем опорку 1.1в. 
Если не понял, читаем тут, с 41 сообщения обсуждалось


 
alexdxДата: Среда, 06.11.2013, 16:41 | Сообщение # 72
Группа: Пользователи
Сообщений: 28

Статус: Offline
kip96, долго искал 41 пост)) спасибо большое! Читал с 21 сообщения
Оставлю здесь себе для памяти и для интересующихся.

Будем измерять напряжение 1.1 вольта внутреннего ИОН (с помощью Getadc(14)) относительно AVCC (опорного)
Uavcc = 1,8 (опорное. напряжение питания, которое нужно узнать. подключено к Avcc. 1,8 как пример)
Uadc = 1,1 (измеряемое. это внутренний ИОН, всегда измеряем это напряжение)

Uadc = Uavcc * ADC_Value / 1024
ADC_Value = Uadc * 1024 / Uavcc
Uavcc = Uadc * 1024 / ADC_Value

Проект Bascom AVR и проект Proteus прилагается.
Прикрепления: ADC.zip (31.4 Kb)




Сообщение отредактировал alexdx - Среда, 06.11.2013, 17:01
 
alexdxДата: Среда, 06.11.2013, 21:21 | Сообщение # 73
Группа: Пользователи
Сообщений: 28

Статус: Offline
kip96, поясните пожалуйста:
у Вас в коде есть такой кусок

Dim Term As Word , Term_t As Word , T As Byte
Dim Ter As Integer
Dim Term_(2) As Byte At Ter Overlay

For T = 1 To 51                                          
Term = Getadc(2)
Term_t = Term_t + Term
Next
Reset U_term
Term = Term_t / 47
Term_t = 0
Ter = Term
Ter = Ter - 500

Зачем цикл? Почему именно 50 итераций? зачем деление на 47?
И еще не совсем понимаю что на выходе термодатчика. По даташиту на выходе напряжение, соответствующее температуре плюс 500 милливольт. На модели в протеусе получаю "чистое" выходное напряжение, т.е. без добавки 500 мВ.


 
kip96Дата: Среда, 06.11.2013, 22:39 | Сообщение # 74
Группа: Свой человек
Сообщений: 170

Статус: Offline
В протеусе не проверял. В железе всё довольно точно, рядом лежали ds18B20, lm35,TC1047. Все показывали одно и тоже.
Теперь про 51 и 47
Разрядность ацп-1024, а опорка 1100mV. т.е ошибка (на память) 6%. Можно просто математикой её убрать, а можно двух зайцев убить, повысить точность усреднением и ошибку убрать. Если в протеусе проверяете, попробуйте Term = Term_t / 50?
З.Ы. Думал сразу заметят.
Приятно, когда твой код читают, спасибо!




Сообщение отредактировал kip96 - Среда, 06.11.2013, 22:40
 
alexdxДата: Среда, 06.11.2013, 23:49 | Сообщение # 75
Группа: Пользователи
Сообщений: 28

Статус: Offline
Люблю в коде поковыряться.
В общем суть этого цикла в усреднении. Делаем 50 выборок (измерений), все результаты складываем и делим на 50. Получаем среднее. Смутило деление на 47. Поправьте, если не прав.
UPD: отредактирую, пока все спят)
сумма 50 измерений делится не на 50, а на 47 для устранения ошибки. Вот теперь похоже понял. Протеус у меня показывает сходные значения в терминале и на датчике, когда делю на 51!
Не понял как Вы ошибку посчитали. Если можно, расскажите пожалуйста.

P.S.
Преобразование вольт АЦП в градусы Цельсия.
Уравнение прямой, описывающей зависимость:
Vout(Volts) = 0.01 * Temperature(°C) + 0.5

Следовательно:
Temperature(°C) = Vout(Volts) - 0.5 / 0.01

Кому интересно, вот проект протеус и исходник smile
Прикрепления: 3244859.zip (52.7 Kb)




Сообщение отредактировал alexdx - Четверг, 07.11.2013, 00:17
 
kip96Дата: Четверг, 07.11.2013, 13:16 | Сообщение # 76
Группа: Свой человек
Сообщений: 170

Статус: Offline
Ну так я использовал опорку 1,1в, а у Вас 3,3в.  В цикле от 0 до 50 получается 51 выборок, потому и деление на 51 правильно. Далее Вы математикой высчитываете температуру, при опорке 3,3.
У меня-же опорка внутреняя 1,1( Reference = Internal ). При напряжении 1100мV, АЦП покажет 1024, значит при 51 выборке надо делить на 47,  обычная пропорция.1100\1024=51\х   х=1024\1100*51


 
alexdxДата: Четверг, 07.11.2013, 13:47 | Сообщение # 77
Группа: Пользователи
Сообщений: 28

Статус: Offline
kip96, все понял, спасибо большое! буду продолжать экспериментировать.
Что-то товарищ Valera18 пропал куда-то... Интересно было бы обсудить алгоритмы общения модулей. 
Сейчас жду датчики TC1047A. Хочу заказать еще штук 10 радиомодулей и попробовать из связать на одном канале.


 
kip96Дата: Пятница, 08.11.2013, 11:41 | Сообщение # 78
Группа: Свой человек
Сообщений: 170

Статус: Offline
Да, надо как-то систематизировать, что-бы какойто стандарт был. Если вдруг решиш повторить чужую разработку, чтоб со своими не конфликтовали. К примеру-
У каждого передатчика свой номер. Приёмник делает запрос на каждый передатчик по очереди. Работаем на 1-ом пайпе.
На втором пайпе сидят передатчики, которые не ждут запроса(для экономии энергии), а тупо отправляют посылки каждые Х секунд.
Так-же систематизировать адресацию(не пайпов, а датчиков). Скажем 1-й байт-это адрес датчика и что от него хотим.
(узнать температуру, узнать время, команда всем синхронизировать время, состояние датчика, состояние батареи, тока, и т.д.)
Тогда если кто-то добавит какой-то прибор, будет легко его интегрировать в свою систему.


 
alexdxДата: Пятница, 08.11.2013, 11:54 | Сообщение # 79
Группа: Пользователи
Сообщений: 28

Статус: Offline
kip96, по Вашему исходнику
Config Adc = Single , Prescaler = Auto , Reference = Internal       'конфигурация АЦП
Term = Getadc(1)
Вы измеряете выходное напряжение датчика температуры. Оно имеет пределы 0,1 - 1,75 (+0,5) В.
При температуре 20 градусов на выходе будет 0,7 + 0,5 = 1,2 вольта. А опорка всего 1,1. То есть максимум, что можно измерить - это 10 градусов. Тогда как же получается верное значение температуры?




Сообщение отредактировал alexdx - Пятница, 08.11.2013, 12:05
 
kip96Дата: Пятница, 08.11.2013, 20:01 | Сообщение # 80
Группа: Свой человек
Сообщений: 170

Статус: Offline
rtfm

 
alexdxДата: Суббота, 09.11.2013, 11:14 | Сообщение # 81
Группа: Пользователи
Сообщений: 28

Статус: Offline
Используете делитель? плохо нет схемы Вашего устройства

 
kip96Дата: Суббота, 09.11.2013, 19:32 | Сообщение # 82
Группа: Свой человек
Сообщений: 170

Статус: Offline
Ну с чего Вы взяли эти формулы, я ж говорю, читайте даташит, там даже график есть !
Прикрепления: 9093641.png (25.4 Kb)


 
alexdxДата: Воскресенье, 10.11.2013, 22:23 | Сообщение # 83
Группа: Пользователи
Сообщений: 28

Статус: Offline
Да, видел график. Так на основе графика получается, что АЦП выдаст значение 1024 при 60 градусах. А 70 уже не получится измерить при опорном 1,1 В.

 
alexdxДата: Понедельник, 11.11.2013, 10:08 | Сообщение # 84
Группа: Пользователи
Сообщений: 28

Статус: Offline
Если я туплю, прошу меня извинить. Но возник вопрос и хотелось бы с ним разобраться.

 
kip96Дата: Понедельник, 11.11.2013, 15:17 | Сообщение # 85
Группа: Свой человек
Сообщений: 170

Статус: Offline
Ну да, 60 градусов. Ну ни как
Цитата alexdx ()
При температуре 20 градусов на выходе будет 0,7 + 0,5 = 1,2 вольта
А предел от -40 до +60 для уличного датчика более чем. К примеру, обычный спиртовой за окном , предел -50-+50. И я особо не расстраиваюсь. Для каждой задачи, своё решение. Но АЦП в любом случае 10бит. и увеличив опорку до 3.3 вольт, увеличиваете цену деления в 3 раза, и АЦП не покажет болше 600, а до 5 естественно в 5 раз. (соответственно и погрешность). Хотите захватить весь диапазон, ставьте внешнюю опорку на 1.75 вольт


 
aleksunchesДата: Воскресенье, 29.12.2013, 13:03 | Сообщение # 86
Группа: Пользователи
Сообщений: 1

Статус: Offline
Ребята, помогите новичку, я только учусь и ещё не умею присать прошивки, напишите пожалуйста прошивку пульта и приёмника на тини2313. Передатчик: раз в 4 секунды просыпаемся передаём код, засыпаем.
Приёмник тоже на тини2313 постоянно включён на приём. При приёме правильного кода с передатчика зажигаем светодиод. Если в течении 10 секунд код больше не приходит - тушим светодиод.




Сообщение отредактировал aleksunches - Воскресенье, 29.12.2013, 13:07
 
kip96Дата: Суббота, 01.02.2014, 23:10 | Сообщение # 87
Группа: Свой человек
Сообщений: 170

Статус: Offline
доработал свой термометр на меге48. Добавил немного интеллекта.
Подключил часовой кварц. Плюсы- режим передачи можно выбирать сколько угодно секунд. Хоть раз в день. Появилась возможность синхронизировать несколько асинхронных датчиков. Не смотря, на то что энергопотребление увеличилось (сейчас потребляет 1uA) средне суточное - уменьшилось.(1 посылка в секунду против 8 с Watchdog ) 
Кроме того , если передатчик долго ни кто не слушает, интервал между посылками увеличивается до 10 мин. (вот такой маленький но гордый newrus )  
Сделал выбор адреса передатчика замыканием перемычек, контроль и индикация наличия\отсутствия связи  меги с трансивером.
Управление трансивером при помощи транзистора, разгрузили выход МК, и можно смело вешать  тантал.
Ну и ес-но контроль батареи. Уменьшил скорость передачи до 1Мб, в надежде увеличить дальность:'( 

Платы заказывал в Китае, первый опыт. Пришлось много заказывать, так что если кому нужны будут, пишите в личку.
Исходник
Прикрепления: 7582760.jpg (294.7 Kb) · 6515551.jpg (328.0 Kb)


 
AlekSДата: Воскресенье, 02.02.2014, 17:38 | Сообщение # 88
Группа: Проверенные
Сообщений: 247

Статус: Offline
kip96, классно, аккуратненько так) Про китайский опыт расскажи в подробностях ... О платке, схему в личку брось, подойдет мне отпишусь.

 
kip96Дата: Понедельник, 03.02.2014, 00:00 | Сообщение # 89
Группа: Свой человек
Сообщений: 170

Статус: Offline
На яндекс диске дополнил схемой и платой в Дип Трэйсе. Перекачайте. Транзистор правда поставил IRLML9301, у него сопротивление открытого канала минимальное. Про заказ в Китае, много вопросов в личке, давайте тему откроем (где? в барахолке?), т.к. я сам в первые, может у кого интересней.
Сегодня опробовал синхронизацию по времени датчиков. Вот с таким "ЦУП"ом  . полёт нормальный, всё синхронизируется!
Всё пока в тестовом режиме.
Прикрепления: 5329468.jpg (104.8 Kb)




Сообщение отредактировал kip96 - Понедельник, 03.02.2014, 00:02
 
AlekSДата: Понедельник, 03.02.2014, 20:20 | Сообщение # 90
Группа: Проверенные
Сообщений: 247

Статус: Offline
Классно , презентабельно ) , а вот антенна..) Будет домашняя станция?

 
kip96Дата: Понедельник, 03.02.2014, 23:29 | Сообщение # 91
Группа: Свой человек
Сообщений: 170

Статус: Offline
Скорее центр управления полётами. Центральные часы. Синхронизируют все часы в доме. Логер температуры и управление насосом солнечного коллектора. Ещё перестелил полы летом, и засунул под них DHT22, что-бы знать влажность там. Аж 3  штуки. Короче, как говорит жена, фигнёй всякой страдаю:DВ планах забабахать автономный анемометр с указание направления ветра и датчиком осадков на таком модуле.

 
exersizzeДата: Четверг, 06.02.2014, 22:18 | Сообщение # 92
Группа: Администраторы
Сообщений: 723

Статус: Offline
kip96, здорово выходит, особенно впечатляет энергопотребление;)
как сказалось уменьшение скорости передачи на дальнобойность ?


 
alexdxДата: Пятница, 07.02.2014, 16:26 | Сообщение # 93
Группа: Пользователи
Сообщений: 28

Статус: Offline
kip96, все очень красиво!) а я то уж думал, что тема умерла. Спасибо за фото и исходники, на выходных почитаю)
Мне тоже интересно поподробнее узнать про заказ в китае.


 
kip96Дата: Суббота, 08.02.2014, 11:06 | Сообщение # 94
Группа: Свой человек
Сообщений: 170

Статус: Offline
Если честно, увеличение дальности я не заметил. Хотя по идеи, должно быть по лучше. 
alexdx, для меня, пока тема не умерла. Другое дело, что каждая разработка индивидуальна, и скажем что у меня работает, другим и нафик не нужна. Что вот удобно, термометр один, часов, как правило много. Сделал синхронизацию времени.
Вот, последнее что сделал- на тини13. Реализованно всё то-же - температура, напр. батареи. Потребление 14uA, при напряжении 2,6 вольт (нашёл пару старых АА в мусорке cool )
 
Плата вышла, как видите, меньше самого модуля. Можно смело назвать-"Самый маленький термометр-меньше не будет". Плату буду переделовать, т.к. потом пришла идея посадить питание термодатчика на ногу SS,(потребление его 35uA, так что его и не заметят), да и на плату хочу два AG13 поставить.
Прикрепления: 5416563.jpg (273.3 Kb)


 
Valera18Дата: Суббота, 08.02.2014, 12:47 | Сообщение # 95
Группа: Проверенные
Сообщений: 22

Статус: Offline
Интересно получилось, компактно ok

Дополнительно:
если говорить про миниатюрность термометра можно сделать и меньше. Развести на двухстороннем текстолите, 1 сторона схема передатчика NRF24L01, 2 сторона Attiny13 и CR2032.
Я уже как-то делал плату для "отдельной микросхемы NRF24L01", вот образец:
http://yadi.sk/d/xj_PxSKnHWs5K




Сообщение отредактировал Valera18 - Суббота, 08.02.2014, 12:53
 
kip96Дата: Суббота, 08.02.2014, 14:00 | Сообщение # 96
Группа: Свой человек
Сообщений: 170

Статус: Offline
Ну так меньше станет толко на толщину текстолита, т.е. 1мм. Потом по даташиту, плата и так двухсторонняя, только вторая сторона-это экран, и думаю не случайно, на таких частотах, даже толщина текстолита будет играть роль, поскольку между экраном и печатными дорожками с другой стороны образуется конденсатор. Да и опыта нет пайки таких букашек. Вообщем- малейшая ошибка и весь труд на смарку.

 
kip96Дата: Четверг, 13.02.2014, 22:30 | Сообщение # 97
Группа: Свой человек
Сообщений: 170

Статус: Offline
MMA7361L — 3-осевой, аналоговый датчик ускорения. Передача данных через nRF24l01. Пока сделал тестовую прошивку для проверки работы.

Хочу сделать датчик силы удара и скорости удара.Датчик будет крепиться к груше или к запястю руки соответственно. Размер датчика и вес, на скорост удара не повлияют, думаю. Ну а груше уж точно wink . Осталось толко всё это вычислить. Надо возвращатся к школьной физике.


 
kip96Дата: Понедельник, 07.04.2014, 23:00 | Сообщение # 98
Группа: Свой человек
Сообщений: 170

Статус: Offline
Привет!
Хочу рассказать, как сделать термометр на nRF24l01 и attiny13. Казалось бы в чём пролблема? А проблема в том, что ног у тиньки маловата, и если управлять трансивером можно, то датчик куда либо подключить - уже нет. И здесь и на других форумах в личке спрашивают, по этом расскажу на форуме.
Принцип довольно прост.Для управления цифровой части нужны лог.1 и лог.0. Всё что больше U/2 это 1, всё что меньше- это 0. 
С этим ясно. 
Теперь аналоговая часть. Для измерения температуры используем TC1047A, опорку включаем на 1,1. 
При питании 3 волта, (60С) напряжение на термодатчике не перевалит за порог  U/2 . Что в цифровом виде будет всегда 0.
Теперь подключим выход  TC1047A на (к примеру)  CLK(номер ноги 2). Что бы цифровой выход и аналоговый выход не мешали друг другу, подключим через резистор 10кОм. 
Теперь, включаем АЦП, делаем пин2 на вход и меряем АЦП3. Входное сопротивление очень большое, и резистор на 10кОм результат сильно не изменит. После измерения, включаем пин2 на выход, и и посылаем синхроимпульсы для управления трансивером. И тут резистор нам поможет. Он не даст спалить термодатчик и просадить сигнал CLK. 
Как то так.
К  примеру здесь выкладывал фотку вольтметра. Он сделан на тини13, которая мерит ток, напряжение, температуру выходного транзистора,моргает светодиодом "перегрев" и все данные отправляет по SPI на индикатор.
Удачи!
Прикрепления: 5915929.jpg (64.2 Kb)


 
exersizzeДата: Вторник, 08.04.2014, 10:12 | Сообщение # 99
Группа: Администраторы
Сообщений: 723

Статус: Offline
Спасибо, пригодится! А вводишь какие нибудь корректировки в формулу расчета температуры? Смущает что помимо резистора на линии еще вход трансивера висит.

 
noner2012Дата: Вторник, 08.04.2014, 10:50 | Сообщение # 100
Группа: Пользователи
Сообщений: 7

Статус: Offline
to kip96
А исходники можно посмотреть? Как все это поместилось в памяти tiny13?




Сообщение отредактировал noner2012 - Вторник, 08.04.2014, 10:52
 
Форум » форумы » Обсуждение материалов сайта » Nrf24L01+ термометр и ещё всяко разно.
  • Страница 2 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: