Aa ten CLK miales na mysli, ok. Dość częstym problemem z odbiorem/krótkim zasięgiem jest lekki rozjazd między F nadajnika i odbiornika. Skonfigurowanie identycznie obu transceiverow nie gwarantuje precyzyjnego dostrojenia, bo każdy układ ma trochę inny rozrzut parametrów (taniego) rezonatora jaki jest stosowany w tych układach. Rejestrem 0x80xx można...
Witam ponownie... do zawiązanego postu i moich problemów z :blokowaniem się nadajnika po jakimś czasie... Rozbiegówki, preambuła i końcówki okazuje się, że mają istotne znaczenie dla poprawności transmisji. Wysyłając ramkę AA,AA,AA,2D,D4,dana,dana,dana,dana,dana,... odbiornik odbiera dane poprawnie, natomiast wysyłając ramkę AA,AA,AA,2D,D4,dana,dana,dana,dana,dana....
https://obrazki.elektroda.pl/1976862200_... Zapraszamy do udziału we wspólnym projektowaniu i implementacji otwartego protokołu komunikacji bezprzewodowej o roboczej nazwie unirf . Zakładanym efektem końcowym jest dostarczenie protokołu na różne platformy sprzętowe. Protokół zapewni komunikację bezprzewodową z wykorzystaniem różnych...
Witam, Z tej stronki [url=http://mirley.firlej.org/node/1137]... dowiedziałem się jak obsługiwać moduły komunikacji radiowej RFM12B. Przykład nadanika: [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 '8MHz $hwstack = 70 $swstack = 70 $framesize = 160 '$noramclear Config Submode = New Config Watchdog = 512 '512ms Start Watchdog '---------Constants---------------------...
Finalnie wygląda to tak: [syntax=vbnet] $regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 100 ' rozmiar stosu sprzętowego $swstack = 100 ' rozmiar stosu programowego $framesize = 128 $baud = 19200 '************ Uart 0 Config Serialin0 = Buffered , Size = 150 , Bytematch = 10 'for COM1 Config Input1 = Crlf , Echo = Cr Echo Off 'Config Serialout0...
Witam Mam Atmega32A + PCF8563 + PCF8574 + RFM12 + DS18B20 +DHT11. Port danych LCD to Port.A, ControlPort to Port.C. I2C standardowo na Portc.0 Portc.1. Niestety jest problem z obsługą I2C, tzn. zegar PCF8563 nie działa w ogóle ( na LCD puste pole ) , a klawiatura na PCF8574 - tylko jeden klawisz i to nie ten, który jest przypisany w kodzie ( działa...
Witam, próbuję uruchomić RFM12 na ATtiny 2313 poprzez SPI i mam podłączone w następujący sposób: ATtiny | RFM12 -------------- PB5 | SDO PB6 | SDI PB7 | SCK PB3 | nSEL Dodatkowo w RFM12 pin FSK/DATA mam podłączony do +5V przez rezystor 10k. Pod SPI w ATtiny 2313 mam dodatkowo podłączony programator ISP. I przez zapis komendy 0x00 do RFM chcę odczytać...
Właściwie to powinienem tutaj ten kod wrzucić. Zasadniczo skopiowany z strony HOPE RF, poprawki dla komunikacji po SPI. RFM12B rev 4.0. [syntax=c] /* * RFM02.c * * Created on: 02-12-2011 * */ #include "rfm12b.h" #include "config.h" #include "stm32f10x.h" extern void delay_ms(int); extern void delay_us(int); void RFM12B_TXInit(void); void RFM12B_WriteCMD(...
Przepraszam, długo nie odpisywałem. Oto kod którym się bawię: Nadajnik: [syntax=c] #include <avr\io.h> #define F_CPU 8000000 #define SCK 5 // SPI clock #define SDO 4 // SPI Data output (RFM12B side) #define SDI 3 // SPI Data input (RFM12B side) #define CS 2 // SPI SS (chip select) #define NIRQ 2 // (PORTD) #define HI(x) PORTB |= (1<<(x))...
Tzn. mam tablicę 24 bajty ( na razie do testów). I teraz podaje adres początkowy z tablicy, od którego zaczyna się ID układu DS18B20. Podprogram ma załadować ID, odczytać, sprawdzić CRC i w odpowiedzi podać mi LSB, MSB, status czujnika, histereze ( poprzednią muszę mu jakoś podać ) i wynik w postaci zmiennej typu string. Wzorowałem się na czymś takim:...
Status SOLVED. Dla potomnych wyjaśniam co było nie tak. Otóż wszystko wynikało z różnicy w "prędkości działania" niektórych funkcji - konkretnie w Bascom w funkcji: [syntax=basic4gl] Sub Rf12_ready Reset Spi_cs While Spi_sdo = 0 Wend End Sub [/syntax] Czas między zresetowaniem pinu CS a początkiem oczekiwania w pętli na stan wysoki na pinie MISO jest...
Witam. Skonstruowałem sobie samochód zdalnie sterowany. Zarówno pilot jak i auto posiadają uP Atmega32 oraz moduły RFM12. Na razie próbuję wysłać ramkę z danymi, które będą wyświetlane na LCD podłączonym do auta. Wysyłanie oraz odbiór sygnalizują diody LED. Ramka zostaje odebrana, jednak jej długość oraz zawartość zostają zmienione (długość ramki odebranej...
Witam! Robię projekt na fizykę, którą będzie robot, ale na potrzeby prezentacji będzie to zdalnie sterowany pojazd (by "zachwycić" klasę i nauczyciela od czego zależy ocena), dopiero później będzie bardziej samodzielny. I zdalne sterowanie postanowiłem zrealizować za pomocą układów rfm12. Przejdźmy od razu do rzeczy: korzystam z kodów z tego posta:...
Gdzie moge znaleźć strukture rejestru statusu modułu RFM12? W nocie znalazłem tylko informacje jak odczytać ten rejestr, ale za co jaki bid odpowiada to już nie. Chcę mieć możliwość sprawdzania czy kanał radiowy jest wolny. No to jeszcze raz [url=http://www.hoperf.com/pdf/RF12B.pdf... na stronie 23.
Po wykryciu stanu niskiego na INT1 zaraz po wejściu w obsługę przerwania wyłącz przerwanie od INT1 czyli: EIMSK &=~_BV(INT1); //wyłącz obsługę przerwań Int1 a dokładniej tak po nowemu: EIMSK &=~(1<<INT1); następnie w zależności od potrzeb możesz wyłączyć pozostałe przerwania. Jeżeli używasz wyjścia nIRQ układu RFM12B zwróć uwagę na to...
Tu masz działający kod, tylko musisz poustawiać pod swój hardware sekcje configuration. Na końcu masz funkcję main tam masz 3 tryby pracy. Musisz jedną z nich odhaszować. Możesz zrobić kilka konfiguracji. Powinieneś zacząć od (1), tylko wysyłanie pakietów w "eter". Powinna Ci migać dioda od nadawania. Potem jeśli masz dwa zestawy uC i RFM12, to możesz...
Możesz sprawdzić czy sygnał dociera z jednego urządzenia do drugiego w następujący sposób. Najpierw w parametrach radia ustaw sobie "RSSI Detector Treshold" na -85 Nie pamiętam na 100%, ale to nIRQ chyba nie działa jak powinno. Działa bez problemu.
Dzięki! Jeszcze jedno pytanko, bo nie znalazłem tego w dokumentacji: moduł zgłasza wszystkie zdarzenia, których bity konfiguracyjne znajdują się w pierwszych 6-ciu bitach rejestru statusów (0x0000) przerwaniem, gdy spełnione są warunki? Tzn. nie da się tego skonfigurować- wyłączyć poszczególne źródła przerwań? robiw
Próbowałem i tego, też nie działa. Zachowuje się podobnie jak w pierwszym przypadku. Gotowość przyjęcia danych sprawdza się odczytująć najstarszy bit statusu (FFIT) zwracanego po wysłaniu na SPI samych zer. Normalnie od włączenia nadajnika (0x8238) do jego gotowości do przyjęcia danych mija ok 0.65 ms. http://obrazki.elektroda.pl/2857072700_1...
Nie wiem jakim cudem mogły by działać na takiej częstotliwości. Jeden moduł jest z TME, drugi z Microsa, raczej nie możliwe żeby obydwa były felerne. Znając życie to problem leży przed monitorem. Idę jeszcze przetrzepać graty, może wyciągnę coś niezwiązanego z nimi. Szkoda że tam nie można nic odczytać prócz tego statusu. https://obrazki.elektroda.pl/3514311700_...
Przyznaje koledze racje co do resetu. Jednak ja miałem błąd w programie. Sugerowałem się inicjalizacją jednego kolegi z forum. Która wyglądała następująco: RF12Cmd(0x80d8); // EL, EF, 433band, 12.5pF RF12Cmd(0x8209); // EX, DC \\ NONE RF12Cmd(0xa640); // 434MHz RF12Cmd(0xc611); // 19.2kbps RF12Cmd(0x94a0); //...
Witam wszystkich... Mam problem z komunikacją z nadajnikiem RFM12B co ciekawe na atmega chodzi mi beż żadnego problemu. Błąd musi być gdzieś w kodzie ale już 2 dzień na to trace i sam mam problem się zdebugować. #define WAIT_NIRQ_LOW() while( AT91C_BASE_PIOB->PIO_PDSR&(1&... void spiInit(void) {...
https://obrazki.elektroda.pl/1976862200_... Jest to temat ogłoszeniowy o projekcie otwartego protokołu komunikacji bezprzewodowej jaki powstaje na elektroda.pl. Zapraszamy do udziału we wspólnym projektowaniu i implementacji otwartego protokołu komunikacji bezprzewodowej o roboczej nazwie unirf . Warto dodać ten temat do śledzenia...
Witam Mimo, że większość proponowanych tutaj rozwiązań podłączenia RFM12 do Atmegi wykorzystuje SPI programowe, ja podłączyłem tradycyjnie, przez SPI sprzętowe - mimo, że nie miałem problemów z wgrywaniem kodu do Atmegi spiętej z RFM12, to uruchomienie ich razem jest problematyczne ( każde osobno działa bez problemu ) [syntax=basic4gl] $include "Config_AVR-DOS.BAS"...
Najbardziej problematyczny jest wynik z komendy ReadStatus. W odpowiedzi zsumuje się logicznie z założoną wartością 0x8000. Znalazłem też błędną informację, że układ przesyła odpowiedź odwrotnie(starszy bit=młodszy). Nie mogłem nigdzie znaleźć potwierdzenia. Dlatego też z tego powodu nie jest opuszczana pętle while. [syntax=c]do{ status=Rfm_xmit(0x0000);...
Cześć W moim systemie wiadomość przesyłana jest drogą radiową wygląda jak RTU z protokołu MODBUS zakładam, że procedura przerwania powinna jednorazowo odebrać całą wiadomość chyba, że macie inną propozycje) W tym celu zapętlam w przerwaniu żelazną fukcję odczytu (z użyciem nIRQ) (cisza na linii)> 3,5T (gdzie T oznacza czas transmisji jednego znaku)...
Witam! Kontynuuje temat komunikacji rs232,tym razem bezprzewodowej. Postępuje dokładnie jak w poradniku opisanym tutaj: Przerobiona Biblioteka na 433MHz Kod nadajnika: Kod odbiornika [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <string.h> #include <stdio.h> #include <avr/interrupt.h> #include "RFM12B.h"...
Zamiana wyświetlaczy nic nie daje, zamieniałem nawet same kabelki łączące je z płytką i też nic. Jeśli chodzi o przerwania to mam odbiór danych z RFM12 oraz obsługę klawiatury na PCF8574. Może faktycznie coś na rzeczy z tymi przerwaniami. Wyświetlacz, który nie działa jak trzeba oprócz wyświetlania daty, godziny oraz części odebranych danych wyświetlać...
while(1){ LEDR_ON(); RFXX_WRT_CMD(0x0000);//read status register RFXX_WRT_CMD(0x8239);//!er,!ebb,... ChkSum=0; RF12_SEND(0xAA);//PREAMBLE RF12_SEND(0xAA);//PREAMBLE RF12_SEND(0xAA);//PREAMBLE RF12_SEND(0x2D);//SYNC HI BYTE RF12_SEND(0xD4);//SYNC LOW BYTE //...
Witam Po tym jak zacząłem korzystać z zmiennej DCF_Status.7 działa jak trzeba. Przedtem nie maiłem problemu z synchronizacją, ale z wyłączeniem odbiornika w przypadku jej braku ( u mnie włączenie odbiornika DCF77 powoduje blokadę wywoływania innych funkcji - wywołanie czujników DS18B20 oraz wysyłanie przez RFM12 blokuje przerwania, a tego nie lubi biblioteka...
Witam Męczę od kilku miesięcy (z przerwami) łączność między modułami RF. Transmisja przebiega prawie poprawnie, tzn. pomiędzy poprawnie odebrane bity wstawiane są ciągi zer. Nie znalazłem nic na ten temat na forum. Nadajnik: ATmega88, zegar: wewn. RC 8 MHz RFM12B, wersja 868 MHz, antena: drut lambda/2 zasilanie:3,3 V (trafo daje 500 mA) interface: programowe...
Zobacz tutaj '####################################### 'inculde file for RF12-device 'info about RF12 Transceiver: www.hoprf.com or www.integration.com 'info about using RF12 with Bascom: www.comwebnet.de ' 'Version History '--------------- 'Initial Version: v0.10 'Date: 200711 'Author: Kurzschluss '--------------- 'Version: v0.11...
Zabieram się za realizację projektu zaweirającego m.in. RFM12. Projekt działający. Załączam kod obsługi RFM. '####################################### 'inculde file for RF12-device 'info about RF12 Transceiver: www.hoprf.com or www.integration.com 'info about using RF12 with Bascom: www.comwebnet.de ' 'Version History '--------------- 'Initial...
Witam Mam program, który, po dokonaniu pomiarów, wysyła dane przez RFM12 i zapisuje na karcie SD. Chcę dołożyć wysyłanie danych do Domoticz po każdym pomiarze. Problem w tym, że po dopisaniu obsługi ESP8266 i Domoticz ( zmienne miałem już wcześniej zadeklarowane ) to pojawiają się błędy w zapisie na karcie SD. No i wysyłanie do Domoticz przestaje działać,...
Witam! Na forum zawsze znajdowałem odpowiedzi i drążyłem każdy temat samodzielnie w myśl zasady jednego z moich wykładowców "świat dzieli się na samouków i nieuków"... lecz tym razem rozłożyłem ręce po 3-dniowej walce z TWI/i2c (w między czasie wypiłem tylko 2 bro) i postanowiłem nieśmiało założyć temat (chyba mój inauguracyjny...). Przeczytałem regulamin...
Tzn. wiem, że zmienna typu bajt nie może być większa niż 255, ale zapomniałem, że nie robi się operacji na różnych typach zmiennych razem [syntax=vbnet] Solar_mid_mod_temp = Solar_mid_mod_temp \ 2 ' srednia z dwoch czujnikow = 283 [/syntax] co prawda przekracza 255, ale wynik z dzielenia przez 10 i Modulo 10 już nie, czyli 28 i 3 [syntax=vbnet] Solar_mid_dec...
Rejestrator dość spory. Większość danych zbiera płytka nadajnika na Atmega328 i tam następuje praktycznie całkowita obróbka - oprócz danych z siedmiu DS18B20, jednego DHT11 oraz MPL115A2, odbieranie czasu z DCF77 i jego aktualizacja w PCF8563 przesyłane są dane o tym czy nie ma awarii czujnika ( zmienna Err ) oraz informacja o histerezie czujników DS18B20...
Bascom - wersja 1.11.95 Kod, no jest tego sporo: - zegar PCF8563 - Zapis na SD - dwa czujniki DHT11 - odczyt z PCF8574AP ( klawiatura ) - RC5 - ma być DS18B20 - ma być DCF77, ale nie doszedłem do tego momentu ( tzn testowałem na innym procesorze i działało ) Działa - zegar PCF8563 - dwa czujniki DHT11 - odczyt z PCF8574AP w przerwaniu ( klawiatura )...
O, widzę, że ktoś oprócz mnie również ma ten problem :D Przede wszystkim musisz uwzględnić ten pin SS, o którym wspomniałeś, bez tego ani rusz. Za każdym razem gdy coś wysyłasz po SPI musisz ustawiać SS na zero, a po wysłaniu SS na 1. Warto również zajrzeć do bibliotek, które udostępnia Atmel, jest to nota AVR319, do pobrania stąd [url=http://www.atmel.com/devices/ATTINY...
https://obrazki.elektroda.pl/1976862200_... W pierwszym etapie projektu protokołu bezprzewodowego tworzonego na elektroda.pl zbieramy proponowane wymagania. Zapraszamy do wypowiedzi w tym temacie. Jakie macie wymagania dla protokołu bezprzewodowego? Szczegóły o projekcie znajdziecie tutaj: maciej_333 Trzeba odpowiedzieć na początek...
Witam mam dwa układy RFM12 i atmega8 oba komunikują się ze sobą problem pojawia się gdy chce zmienić linię nSEL podłączoną do pinu SS na np pin PB0 gdzieś czytałem że linia nSEL nie musi być podpięta do tego konkretnego pinu. Pin PB2 (SS/OC1B) chce wykorzystać do sterowania silnikiem . Kiedy w kodzie zmienię definicje SPI_CS z portu PB2 na PB0 modułu...
Witam Mam dwa moduły discovery i chciałbym przeprowadzić transmisję miedzy nimi za pomocą układów RFM12B 868MHz. Napisałem program, który wysyła dane a drugi moduł ma je odebrać i wypisać na LCD. Problem polega na tym, że moduł odbiorczy nie otrzymuje żadnych danych. Jedyną informacją zwrotną dla mnie jest odczytany rejestr statusu odbiornika. Na tej...
ds18b20 rfm12 rfm12 dokumentacja atmega rfm12
magnes rozrusznik podłączenie accord żarnik nagrzewnicy
pralka whirlpool przetwornica pykanie przód
Podłączenie wiertarki bez wyłącznika - zagrożenia i alternatywy Lokalizacja wtryskiwaczy w Ford Escort 1.4