Кто передавал температуру 18в20 по радиоканалу?
Сообщений 121 страница 150 из 184
Поделиться1222019-01-06 21:25:44
Вам сфотографировать мою макетку, размером почти А4 ? 
Там разложены три устройства, каша не хуже... 
Поделиться1232019-01-06 21:29:44
Nord
Здесь с тремя проводами бьюсь, нуууууууууууууууууу очень долго,
Хорошо всретить рождество.
Поделиться1242019-01-06 21:39:04
Ну, с праздником, если он кому-то ценен... 
Исторически нам, славянам, это "рождество" - как рождение таракана под половицей... 
Поделиться1252019-01-06 22:38:24
Не будем флудить в этой теме, просто минус Вам.
Поделиться1262019-01-07 11:22:21
rom-i
вот накидал простенькие программки для передачи м приема на частоте.Передача на А8, прием на А328p. 328 принимает и выводит на экран от 0 до 9 по циклу. Все передается и принимается. Может пригодится.....
передача:
$regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 32 $swstack = 32 $framesize = 64 Dim Chislo As Byte, Timer0pre As Byte Config Portb.2 = Output Config Timer0 = Timer , Prescale = 1024 Enable Timer0 Stop Timer0 Timer0 = Timer0pre Start Timer0 : On Timer0 Pulse Enable Interrupts '*******************Тело программы********************************************** \ Do If Chislo = 0 Then Timer0pre = 20 If Chislo = 1 Then Timer0pre = 40 If Chislo = 2 Then Timer0pre = 60 If Chislo = 3 Then Timer0pre = 80 If Chislo = 4 Then Timer0pre = 100 If Chislo = 5 Then Timer0pre = 120 If Chislo = 6 Then Timer0pre = 140 If Chislo = 7 Then Timer0pre = 160 If Chislo = 8 Then Timer0pre = 180 If Chislo = 9 Then Timer0pre = 200 Incr Chislo Waitms 500 If Chislo = 10 Then Chislo = 0 Loop End '******************************************************************************* Pulse: Stop Timer0 Timer0 = Timer0pre Toggle Portb.2 Start Timer0 Return
прием:
$regfile = "m328pdef.dat" $crystal = 8000000 $baud = 9600 $hwstack = 100 $swstack = 100 $framesize = 200 '---------------------------------------------------------------- Dim Chislo As Byte Dim Imp As Word Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16x2 Cursor Off Cls Config Timer1 = Timer , Prescale = 64, Capture_Edge=Rising, Noise_Cancel=1 Config Portb.0 = Input Enable Timer1 : Start Timer1 Enable Capture1 : On Capture1 Puls Enable Interrupts '------------------------------------------------------------------------------- Do Print Imp If Imp > 7550 And Imp < 7555 Then Chislo = 0 If Imp > 6910 And Imp < 6945 Then Chislo = 1 If Imp > 6270 And Imp < 6275 Then Chislo = 2 If Imp > 5630 And Imp < 5635 Then Chislo = 3 If Imp > 4990 And Imp < 4995 Then Chislo = 4 If Imp > 4350 And Imp < 4355 Then Chislo = 5 If Imp > 3710 And Imp < 3715 Then Chislo = 6 If Imp > 3070 And Imp < 3075 Then Chislo = 7 If Imp > 2430 And Imp < 2435 Then Chislo = 8 If Imp > 1790 And Imp < 1795 Then Chislo = 9 Locate 1 , 1 Lcd Chislo ; " " Loop End '--------------------Подпрограмма захвата ------------------------- Puls: Imp = Timer1 Timer1 = 0 Return
В Протеусе у A328p: СLKDIV8=1
Отредактировано Niya (2019-01-07 12:39:57)
Поделиться1272019-01-08 13:04:41
Niya
Отличный подход. Это третья версия передачи. Так идеально подходит для работы с текстовыми символами. Но уступает помехазащищенности бинарной передачи. Полоса разширяется.
Есть пара компектов радиомодулей дешевых. Шума больше чем полезного сигнала. По UART на них получилось работать не дальше метра. С бинарным ШИМ до 15. Но с чужим кодом. Обкатаю в железе.
Поделиться1282019-01-08 17:03:43
По этому принципу делал пульт от робота для сына. На расстояние 50-60 метров работает без проблем.
Поделиться1292019-01-09 09:26:00
Niya
Что за радиомодули?
Поделиться1302019-01-09 19:14:40
Китайский ширпотреб FS1000A 433Mhz.
Ссылка
Отредактировано Niya (2019-01-09 19:19:16)
Поделиться1312019-01-09 20:23:35
Китайский ширпотреб FS1000A 433Mhz.
А приемник XY-MK-5V ? 
Проходили...
Вот уж действительно - "ширпотреб" в полном понимании...
Перешел на HC-12 и забыл про эту парочку, как про страшный сон...
Дороже, но нервы не бесплатные. 
Отредактировано Nord (2019-01-09 20:24:14)
Поделиться1322019-01-09 20:51:46
А приемник XY-MK-5V ?
Он самый...Пульт для робота из них работает, но получить данные без ошибок трудновато. Поэтому пока забросил это дело, время будет может помучаюсь еще...
Отредактировано Niya (2019-01-09 20:52:14)
Поделиться1332019-01-09 21:00:35
HC-12 неплохая штука, но порядочно жрет. FS1000A конечно отстой. Получше работают комплекты кварцованные. Приемник не на контуре. Но с HC-11(12) не поспоришь. Здесь ненадо городить "сгароды".
Нашел косяки в своем коде. В приемнике накосячил.
'--------------------------------------------------------------------------------------------------
Zaxvat:
Scan = Timer1 ' копируем значение таймера в переменную
Timer1 = 0 ' обнуляем таймер
' Incr Count
Gosub Posilka
Return
'-------------------------------------------------------------------------------------------------
Posilka:
If Scan < 30 Then Return 'Сильно короткий, значит помеха выходим
If Scan > 500 Then 'Слижком длинный, значит пауза между посылками
Moi_signal = 0
Scan = 0
Count = 0
Return
End If
Select Case Scan
Case 40 To 70 '62.5МС (1000мкС) значит 0
Incr Count
Bi = 0
Goto Zapis
Case 100 To 150 '125МС (2000мкС) значит 1
Incr Count
Bi = 1
Goto Zapis
Case 250 To 350 '312.5МС (5000мкС) значит сигнал опознования
Count = 0
Moi_signal = 1
End Select
Return
'-----------------------------------------------------------------------------------------------------------
Zapis:
If Moi_signal = 1 Then
Select Case Count
Case 1 To 16
X = 16 - Count
Nomer.x = Bi
Case 17 To 32
X = 32 - Count
Tds.x = Bi
Case 33 To 48
X = 48 - Count
Tdht.x = Bi
Case 49 To 64
X = 64 - Count
Hdht.x = Bi
Case 65 To 80
X = 80 - Count
L.x = Bi
Case 81 To 96
X = 96 - Count
Crc_rx.x = Bi
End Select
If Count = 96 Then
Count = 0
Moi_signal = 0
End If
End If
Return
EndРаботает в протеус, и в железе. Но по радиоканалу не проверял. Пока только по проводу.)))
Поделиться1342019-01-09 21:15:24
Zaxvat:
Scan = Timer1 ' копируем значение таймера в переменную
Timer1 = 0 ' обнуляем таймер
' Incr Count
Gosub Posilka
Return
Вот это не рухнет в один прекрасный момент? В прерывании уходит в подпрограмму, а не лучше ли по флагу работать?
Поделиться1352019-01-09 21:16:12
Niya
Да. В принципе выход здесь работать не будет. Дальше идет End If. Не мешает.
Поделиться1362019-01-09 21:20:47
Вот это не рухнет в один прекрасный момент? В прерывании уходит в подпрограмму, а не лучше ли по флагу работать?
Как по флагу, если здесь будет бесконечная помеха? Предложи.
If Scan < 30 Then Return 'Сильно короткий, значит помеха выходим
Отредактировано rom-i (2019-01-09 21:22:30)
Поделиться1372019-01-09 22:35:36
HC-12 неплохая штука, но порядочно жрет.
Если делать какое-то устройство для удаленного контроля (еtc. температура) тогда это критично.
А для игрушки, которая работает короткое время вполне себе.
На недавно сделанной системе р/у передатчик от трех АА работает уже третий месяц.
В приемнике два 18650 последовательно, уже много раз заряжались, но тут два ЭД и толпа светодиодов...
Поделиться1382019-01-09 22:40:30
Как по флагу, если здесь будет бесконечная помеха? Предложи.
If Scan < 30 Then Return 'Сильно короткий, значит помеха выходим
А если помеха будет длиннее ?
Какой-нибудь тарахтун с древним ДВС недалеко остановится и все... 
Пылесос у соседей искрящий даст такую помеху, что приемник опупеет ! 
Поделиться1392019-01-09 22:44:07
Nord написал(а):
А приемник XY-MK-5V ?
Он самый...Пульт для робота из них работает, но получить данные без ошибок трудновато.
Могут быть еще антенны рассогласованы.
Много для этого не надо, чуть катушку сдавил - и вот оно...
Как с этим бороться - помогут гуру в радиосвязи... 
Поделиться1402019-01-10 09:56:24
А если помеха будет длиннее ?
Какой-нибудь тарахтун с древним ДВС недалеко остановится и все...
Пылесос у соседей искрящий даст такую помеху, что приемник опупеет !
От этого нет спасения. USB, LAN по проводам с ума сходят. Не говорю про радиопередачу.
В цеху проверял HC-12. Дальность тоже падает на порядки. От частотников очень сильная помеха.
Здесь все, и рассчитано на подавлении помехи несущей. Количество повторов передачи. Контрольная сумма наконец. С этим кодом уже 3 года работают часы. Небыло нареканий. Единственно его сам хотел написать.
Поделиться1412019-01-10 16:12:59
А если помеха будет длиннее ?Какой-нибудь тарахтун с древним ДВС недалеко остановится и все... Пылесос у соседей искрящий даст такую помеху, что приемник опупеет ! От этого нет спасения. USB, LAN по проводам с ума сходят. Не говорю про радиопередачу.В цеху проверял HC-12. Дальность тоже падает на порядки. От частотников очень сильная помеха.
Используем на работе HC-12 для передачи данных в шахте с ГШО из РВ оболочки, там, где кабель вывести уже негде.
Тоже частотники, как ВВ, так и НВ.
При качественном питании (очень критично) безошибочно работают на несколько метров.
С программной стороной приема сильно не изгалялись, глотает без КС и пр.
Модуль стараемся располагать как можно ближе к смотровому окошку.
Поделиться1422019-01-11 19:49:04
Последний подход к побитному приему.
Все проще некуда.
'-------------------------------------------------------------------------------------------------
Dim Accept_data(6) As Integer 'весь блок подлежащий приему
Dim Moi_signal As Bit : Moi_signal = 0
Dim Bi As Bit
'--------------------------------------------------------------------------------------------------
Dim Count As Byte : Count = 0
Dim Nomer As Integer At Accept_data(6) Overlay '1 байт
Dim Tds As Integer At Accept_data(5) Overlay '2 байт
Dim Tdht As Integer At Accept_data(4) Overlay '3 байт
Dim Hdht As Integer At Accept_data(3) Overlay '4 байт
Dim L As Integer At Accept_data(2) Overlay '5 байт
Dim Crc_rx As Integer At Accept_data(1) Overlay '6 байт
'--------------------------------------------------------------------------------------------------
Zaxvat:
Scan = Timer1 ' копируем значение таймера в переменную
Timer1 = 0 ' обнуляем таймер
Gosub Posilka
Return
'-------------------------------------------------------------------------------------------------
Posilka:
If Scan < 30 Then Return 'Сильно короткий, значит помеха выходим
If Scan > 500 Then 'Слижком длинный, значит пауза между посылками
Moi_signal = 0
Scan = 0
Count = 0
Return
End If
Select Case Scan
Case 40 To 70 '62.5МС (1000мкС) значит 0
Incr Count
Bi = 0
Goto Zapis
Case 100 To 150 '125МС (2000мкС) значит 1
Incr Count
Bi = 1
Goto Zapis
Case 250 To 350 '312.5МС (5000мкС) значит сигнал опознования
Count = 0
Moi_signal = 1
End Select
Return
'-----------------------------------------------------------------------------------------------------------
Zapis:
If Moi_signal = 1 Then
X = 96 - Count
Accept_data(1).x = Bi
If Count = 96 Then
Count = 0
Moi_signal = 0
End If
End If
Return
End
Поделиться1432019-01-11 20:03:05
Передатчик описан выше.
Поделиться1442019-01-11 21:54:55
Последний подход к побитному приему.
Работает ?
Поделиться1452019-01-11 23:52:57
Отлично.
Поделиться1462019-01-12 12:47:28
Возможен ли вариант с самодельными приемниками и передатчиками? пав на 423,22 и 433,92 есть,опыт сбоки приемников есть
Поделиться1472019-01-12 15:48:19
bulat943
Это последний вариант связи в ускоплосном режиме.
То есть телеграфия. Дальность максимальная. Передаешь точьку, пускай будет 0. Тире 1.
Это уже используют давно.
Применить мона где твоя душа пожелает
Поделиться1482019-01-12 16:32:48
Чет не понял-я вам за пост не минусовал...может случайно извините,как исправить не знаю
Поделиться1492019-01-12 17:05:19
Так то у меня собран на NRF24L01,дальность устраивает,но потребление NRF24L01 в дежурном режиме 0,9 ма не устраивает
Вот тут Исследование nRF24L01 наш известный гуру
исследовал этот вопрос.
Читали ?
Поделиться1502019-01-12 17:06:22
Чет не понял-я вам за пост не минусовал...может случайно извините,как исправить не знаю
Попробуйте в том же сообщении поставить "+"... 
Похожие темы
| Датчики температуры | Путеводитель по Форуму | 2022-02-18 |
