Radiomoduler samt HT12E och HT12D
Postat: 18 oktober 2010, 18:36:28
Hej,
jag håller på med ett projekt där jag använder (AVR+HT12E+TX433) på sändarsidan och (AVR+HT12D+RX433) på mottagarsidan. Radiomodulerna är Kjell o Co:s "fulmoduler".
Setup enligt följande:
A0-A7 = 00000000 för både HT12E och HT12D - det vill säga alla adresspinnar jordade.
Uppmätt oscillatorfrekvens för HT12E = 3.3 kHz.
Uppmätt oscillatorfrekvens för HT12D = 165 kHz.
När jag sänder data gör jag följande:
funktion SendData(data)
{
Sätt ut rätt värde (data) till de fyra datapinnarna på HT12E.
Vänta 250 us (behövs sannolikt inte då data redan är stabilt).
Sätt TE=0 (låg) för att initiera sändning.
Vänta 250 us.
Sätt TE=1 (hög).
}
Jag övervakar VT-pinnen på HT12D för att se när jag får en ok sändning.
Om jag gör SendData(data) så går inte VT hög, sändningen anses inte ok.
Om jag däremot gör:
SendData(data)
Vänta 20 ms.
SendData(data)
så går VT hög, rätt data sätts ut på HT12D och det visar sig att det är den andra sändningen som anses ok.
Det verkar som om sändaren (eller antagligen mottagaren) hamnar i ett state efter första sändningen vilket gör att den tar emot andra datat ok.
I "databladet" för mottagarmodulen anges "Receiver turn on time" till 3 ms vilket känns skumt, kanske är detta problemet? Dock så ligger ju TX433 och sänder med duty cycle 0.5 hela tiden vilket gör att Data In på HT12D ju togglas hela tiden, även i vila.
Någon som kan hjälpa mig?
Mvh Björn
jag håller på med ett projekt där jag använder (AVR+HT12E+TX433) på sändarsidan och (AVR+HT12D+RX433) på mottagarsidan. Radiomodulerna är Kjell o Co:s "fulmoduler".
Setup enligt följande:
A0-A7 = 00000000 för både HT12E och HT12D - det vill säga alla adresspinnar jordade.
Uppmätt oscillatorfrekvens för HT12E = 3.3 kHz.
Uppmätt oscillatorfrekvens för HT12D = 165 kHz.
När jag sänder data gör jag följande:
funktion SendData(data)
{
Sätt ut rätt värde (data) till de fyra datapinnarna på HT12E.
Vänta 250 us (behövs sannolikt inte då data redan är stabilt).
Sätt TE=0 (låg) för att initiera sändning.
Vänta 250 us.
Sätt TE=1 (hög).
}
Jag övervakar VT-pinnen på HT12D för att se när jag får en ok sändning.
Om jag gör SendData(data) så går inte VT hög, sändningen anses inte ok.
Om jag däremot gör:
SendData(data)
Vänta 20 ms.
SendData(data)
så går VT hög, rätt data sätts ut på HT12D och det visar sig att det är den andra sändningen som anses ok.
Det verkar som om sändaren (eller antagligen mottagaren) hamnar i ett state efter första sändningen vilket gör att den tar emot andra datat ok.
I "databladet" för mottagarmodulen anges "Receiver turn on time" till 3 ms vilket känns skumt, kanske är detta problemet? Dock så ligger ju TX433 och sänder med duty cycle 0.5 hela tiden vilket gör att Data In på HT12D ju togglas hela tiden, även i vila.
Någon som kan hjälpa mig?
Mvh Björn