не знаю будет ли интересно кому... Дистанционный термометр,дальность от датчика до приемника до 30 метров(далее не проверял) датчик состоит из ds18b20,atmega8,mrf49,всем управляет атмега8-измеряет,настраивает мрф49 на передачу,с помощью нее по радиоканалу передает номер датчика(пока датчик один,его номер F0,температуру,пока только передача каждую сек,в будущем приделаю измерение напряжения батареи и передачу ее значения,режим сон/работа/сон... протеус,демо-нех
я обычно сначала собираю,а потом выкладываю,все работает,просто сначала было на атмега16 на временной плате,недавно переделал на атмега8,соответственно развел плату и тд жаль никто не ответил на мой вопрос,пришлось извращаться и оправлять за 2 раза-один раз ID,второй-температуру,потом прибавится еще напряжение батареи фото
замерял токи потребления приемник-18-20 ма,у меня питание от лития от сотового и потом LP2981 на 3,3 в,жки был 5-ти вольтовый,переделал на 3-х,поставив ICL7660 с обвязкой(там место предусмотрено) передатчик-передача-1 сек=22 ма,1 сек=4 ма,пока не использован понижение потребление в меге ,отключаю только мрф49 в стабай,позже сделаю как надо добавил -часы и дату(пока без установки) -термометр-датчик один(без показания номера датчика) -если в течении 240 сек(4 минут) нет сигнала с датчика пишет "нет связи" вместо температуры исходник и нех приемника на последний момент
новая прошивка-теперь диапазон 433/868/915 мгц,емкость конденсатора,частоту можно вводить самому,посчитать можно в программе RFICDA и конфигураторе от vladlen,если ввести неправильно автоматом записывается частота по умолчанию 435,0125 МГц,еепром можно изменить в EXTREME BURNER(программатор усбасп)-очень удобная программа скрин,нех приемника вслед посте
Присоединённое изображение (Нажмите для увеличения)
прошивка датчика температуры,тоже самое-в еепром ставим как в приемной части,только теперь появилась еще одна ячейка &H0004% ,слева от частоты-значение паузы датчик измеряет температуру и уходит в сон на время(в сек) из этой ячейки,по умолчанию-10 сек,в режиме сна потребление менее миллиампера кварц в датчике 32768 Гц обязателен! осталось настроить кнопочки для установки времени в приемнике,если кому надщ прошивку скину
Это сообщение отредактировал bulat - Jan 12 2016, 11:50 AM
получилось вот так-то что хотел,правда потребление 35 ма(из них 22 ма-жки,уж больно много ест ICL7660) верхнее-время дата,вторая строка-температура нижнее-режим настройки-перестройка по частоте,уровень сигнала,напряжение батареи передатчик спит 1 минуту(ток 0,8-0,9 ма),включается,измеряет и передает температуру и опять всон на минуту,его прошивка не изменилась,только в еепром поставить 60 сек(H3C% в соответствующую ячейку памяти еепром)
Присоединённое изображение (Нажмите для увеличения)
220W молодец-точно!глянул даташит на ds18b20,написано-ток потребления 1 ма при питании 4 в,надо как-то ее отключать,сама мега во время сна максимум 0,2 ма(это я в часах замерил,там на пару с мегой стоит жки нокиа 5110),а как ds18b20 перевести в стандбай я так и не понял...
Группа: Автор
Сообщений: 10429
Пользователь №: 20099
Регистрация: 16-April 07
Место жительства: Россия
DS18B20 в стэндбэй никак. Можно просто реже его опрашивать, по логике: Подал питание на датчик->дал команду на преобразование->считал данные->снял питание->пауза. И так по кругу.
Заведи переменную, в которую будешь складывать данные с датчика при каждом опросе. Каждое новое полученное значение с датчика сравниваешь с предыдущим, которое хранится в переменной. И, если данные различаются - в этом случае включаешь передатчик, отправляешь данные, выключаешь передатчик. Все.
Группа: Автор
Сообщений: 10429
Пользователь №: 20099
Регистрация: 16-April 07
Место жительства: Россия
АЦП, Компаратор, Brown-out Detector, внутренний опорник, Watchdog... Помнится в баскоме с режимами сна стандартными командами широко не разгуляться. Корректнее было использовать ассемблерные вставки, напрямую обращаясь к регистрам. Ну и даташит на камень в помощь.
попробовал все отключить,собака отключена-0,6 ма почему-то и все(до этого получилось 0,4,забыл как),нашел другую атмега8 на плате,заливаю в нее эту прошивку без жки-ток потребления 18 мка,заливаю в мк датчика температуры(только мк,кварц и резистор на ресет,мрф отключена )-0,6 ма!все порты пробовал и на вход,и на вых,все подтянуты-0,6 ма и все! Stop Watchdog Stop Timer0 Stop Timer1 Stop Counter0 Stop Counter1 Stop Ac Stop Adc пробовал разные режимы,без сна-6 ма(мрф отключена),IDLE-3,1 ма,POWERDOWN не подходит-не смогу разбудить по таймеру2,сейчас стоит POWERSAVE может мега такая?попробую заменить
жаль что датчик предусмотрен в неосвещенном месте-поставил бы солнечную панельку на заряд аккумулятора и все!
только 8a au,другого нет,переделал на мега328p-ток в режиме сна 40 мка,оставлю мега8,раз в месяц зарядить не проблема прошивку оставлю на раз в минуту,иначе не поймешь(если передавать температуру только когда она сменяется)-толи температура не меняется и потому передатчик молчит,толи там батарейка села там передатчик вкл всего на 0,2 сек и выключается
Группа: Автор
Сообщений: 10429
Пользователь №: 20099
Регистрация: 16-April 07
Место жительства: Россия
А уровень напряжения нельзя разве передавать? А еще проще, не уровень в вольтах а сигнал о том что напряжение упало до критического. Тогда сигнал будет передаваться только при просевшей батарее.
MRF49=Rfm12?нашел одну вещь-вот,не уверен,но вроде они родственники
Да, родственники. Не плохие микросборки, и кстати единственные однокристальные трансиверы которые можно найти у меня в городе Калькулятор для них http://tools.jeelabs.org/rfm12b.html