Hallo, da das Intertechno-System ja nun sehr verbreitet ist, habe ich mich für dieses System entschieden. Nun möchte ich aber mehrere Funksteckdosen nicht nur manuell per Handsender, sondern automatisch per AVR ansteuern. Hat das schon mal einer gemacht? Wie muss der Handsender an den AVR angeschlossen werden? Werden die Tastendrücke simuliert oder geht es evtl. auch per I2C? Oder wird der Funkchip auf dem Handsender direkt angesprochen? Gibt es dann evtl. auch ein Stück Beispielsoftware? Viele Fragen, ich weiss... ;o) Gruß, Frank.
google: zweiter eintrag: http://thomaskropf.at/index.php?option=com_content&task=view&id=19&Itemid=28 mal wieder einer der zu faul zum selber suchen ist
Moin! kenne die Intertechno's nicht, aber im Prinzip gibt es nur 3 Varianten, funksteckdosen per MC fernzusteuern: 1. Tastensimulation: Anstatt der tasten/Dip-Schalter von hand zu betätigen, schaltest du diese per MC. Hat den Vorteil, dass es auf jeden fall funktioniert, da keine riesen änderungen an der orginal Fernbedienung gemacht werden. Nachteil: Braucht viele Ports+ zus. beschaltung. 2. Simulation des Codierchips. in vielen billigen systemen ist der Cip PT2262 bzw baugleich HX2262 verbaut. Der macht aus den Tasten/Dipschaltern ein serielles Datenpaket und schickt es über eine Leitung an das Sendemodul. Das Protokoll ist sehr gut im datenblatt beschrieben. Vorteil: nur ein Pin wird benötigt. Nachteil: das Datenpaket musst du selbst in Software realisieren. (wenn du das geschafft hast, gib mir bitte bescheit, ich wollte diese variante auch durchführen, hab abe noch keine zeit dafür gehabt) 3. Simulieren der Funksignale. Bastel eine eigene Fernbedienung. Hat bestimmt vorteile, würde aber meinen Horizont bei weitem überschreiten. Gruß, Torsten
@gast Ich dachte im Betreff etwas von "Intertech" geschrieben zu haben. Die erwähnte Seite ist aber für "Unitech". Intertech != Unitech. Ohne Worte... @Torsten Also ich hatte auch so an Variante 2 gedacht. Leider ist in der Fernbedienung nur ein Chip drin, und der ist auch noch unkenntlich gemacht. :o( Naja, vielleicht gibt es ja doch noch jemanden, der das schon mal gemacht hat. Gruß, Frank
Hallo, hab ein paar Infos zum Protokoll. Das Pulspaket sollte man etwa 16 mal senden. Man kann die Pulse wunderbar mit dem Programm Audacity analysieren. Einfach im Sender mit einem Widerstandsteiler anzapfen (100k/10k) und in den Soundkarteneingang einspeisen. http://audacity.sourceforge.net/ Gruß Roland ; ; Intertechno Protokoll ; ; 12 Datenbits + 1 Syncbit ; ; 0-Bit = 1T High + 3T Low + 1T High + 3T Low ; 1-Bit = 1T High + 3T Low + 3T High + 1T Low ; Sync-Bit = 1T High + 31T Low ; ; 1T etwa 360 Mikrosekunden ; ; 4-Bit Familiencode (LSB...MSB) ; 4-Bit Gerätenummer (LSB...MSB) ; 4-Bit Kommando (LSB...MSB) ; ; 0 = 1H ; 1 = 3L ; 2 = 1H/3H ; 3 = 3L/1L X 12 ; ... ; 48 = 1H ; 49 = 31L ; Familiencode: a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 i 8 j 9 k A l B m C n D o E p F Gerätenummer: (Gerät+Gruppe*4) Gerät: (x1) 1 0 2 1 3 2 4 3 Gruppe: (x4) 1 0 2 1 3 2 4 3 Command: Ein 1110 -> 0E Aus 0110 -> 06
@ Roland Vielen Dank für die Info. Wie soll das Pulspaket gesendet werden, mit einem anderen Sender (z.B. RFM12)? Oder kann dazu der Handsender benutzt werden? Und wenn ja, welche Pins müssen angesteuert werden? Gruß, Frank.
Beim Conrad gibt es 433Mhz AM Sender. Die sind geeignet. Die RFM12 Module senden FM. Geht leider nicht. Hab schon mal probiert mit sehr hohen FM Hub den Empfänger anzusteuern. Dachte über die Resonanzkurve des Empfänger eine AM hinzubekommen. Ein AM Sender geht viel besser.
Ich denke, es wäre am besten, wenn man irgendwie den Handsender verwenden könnte. Der sendet ja schon das Richtige raus. Die Frage ist nur, wie und wo steuert man den an? Der Aufdruck auf dem Chip ist nämlich sorgfältig entfernt wurden. :( Als letzte Lösung könnte man zwar die Taster simulieren. Aber das verbraucht sehr viele I/O's und gefällt mir deshalb nicht. Die I/O's würde ich nämlich lieber anders verwenden. ;)
bei dem Intertechno Sender ITS-150 sind ein GWR433A Resonator für 433mhz verbaut mit 2 Transistoren vermutlich ein AM oder CW Sender aufgebaut. Der Sender wird dauerhaft mit 3V versorgt. Die Aufschrift auf dem Tastaturbaustein ist "Arc m3d l2b" vermutlich ein individuell programmierter uC. An PIN 1 führt dieser Controller das oben beschriebene Protokoll zum Sender. Antennentyp ist eine verkürzte LOOP PCB Antenne
Hallo zusammen, mit der Schaltung und dem Bascom Listing von http://www.tvdn.eu/index.php?content=wimpuls1.php funktionieren auch Intertechno Geräte. Das Sendemodul habe ich aus einem billigen Baumarkt dreierPack an Funksteckdosen. Dieses musste noch ein bissel bearbeitet werden (mechanisch) bevor es funktionierte (es ist nicht das gleiche wie auf dem Bild...wohl ein neueres Modell). Nach wie vor werden nur plus/minus/signal angeschlossen. Man muss lediglich ein paar Zeilen im Programm ändern/hinzufügen. Dann kann man sogar beide Arten (Intertechno und die billigen) direkt mit einem Sender steuern. Bascom Listing versende ich auf Wunsch. Gruß Frank PS: In die Protokollbeschreibung von Roland hat sich ein kleiner Fehler eingeschlichen: command EIN ist "0111" nicht "1110"
Kann mir jemand verständlich machen wie ich das Funkmodul (welches ich aus einer Fernbedienung ausbauen kann ??? ) an meinen Atmega 32 dran bekomme? Genauer gesagt brauche ich den Pin am Funkmodul aus der Fernbedienung (ist ja 1-wire?) .. Ach ja und hat jemand evt. C - Code? Danke Lg aus Wien Tobias
Vom blaue Licht sicher nicht, der hat das Licht ausgemacht. Da geht vom Funkchip ein Signal über einem SMD-Widerstand zum Sender. Schau dich im Bascom-forum um, da gibt es Info`s. @Blaues Licht Wenn mal wieder Spannung da, ist veröffentlichst du mal den Bascom-Code hier?
Hallo zusammen, habe gerade erst die Posts gelesen. Werde heute Abend oder morgen noch den Code posten. Schaltplan stammt von http://www.tvdn.eu/index.php?content=wimpuls1.php vorab: @ Tobias Toifl: Pin 17 am HX2262 ist der Data out Pin, von dort geht es auf den "Funkkreis". Dieser arbeitet etwa mit 3 Volt. Also mit Vorwiderstand an den Atmega hängen. Plus und minus kannst du vom eigentlichen Batterieanschluss verfolgen. Die werden auch zum Funkmodul geführt. Dementsprechend brauchst du DC12V an +- und ca 3V auf dem Data pin. (Vorausgesetzt dein Sender arbeitet mit einer 12V Batterie, ansonsten die Spannung der verbauten Batterie anpassen. Gibt auch Sender mit nur 3V!) Gruß Frank
sodele, hier noch der Code: (wie gesagt, der originalcode stammt von http://www.tvdn.eu/index.php?content=wimpuls1.php, wurde nur etwas ergänzt und geändert)
1 | $regfile = "m32def.dat" |
2 | $crystal = 16000000 |
3 | $baud = 9600 |
4 | $swstack = 32 |
5 | |
6 | |
7 | '########################################## |
8 | Config Timer1 = Timer , Prescale = 256 |
9 | Enable Timer1 |
10 | On Timer1 Isr_von_timer1 |
11 | Enable Interrupts |
12 | Timer1 = 3036 |
13 | '########### LCD Uhr ############################### |
14 | Config Lcd = 16 * 2 |
15 | Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.5 , Rs = Porta.4 |
16 | Cursor Off |
17 | Cls |
18 | Deflcdchar 0 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32 |
19 | Config Portc.4 = Output |
20 | Portc.4 = 1 |
21 | Dim Position As Byte |
22 | Dim Abfrage As Byte |
23 | Dim Stu2 As Byte |
24 | Dim Min2 As Byte |
25 | Dim Sec2 As Byte |
26 | |
27 | Dim Teil_st As String * 2 |
28 | Dim Teil_min As String * 2 |
29 | Dim Teil_min1 As String * 5 |
30 | Dim Teil_sek As String * 2 |
31 | Dim Stellen As Byte |
32 | |
33 | Dim D As String * 8 |
34 | |
35 | Dim Zahl As Byte |
36 | Dim Licht As Byte |
37 | Licht = 20 |
38 | |
39 | Dim Anzeige As Byte |
40 | Dim Back As Byte |
41 | Dim Brot As Integer |
42 | Dim Brot_display As Integer |
43 | |
44 | Dim Vor As Byte |
45 | Dim Xy As Byte |
46 | Dim Dose As Byte |
47 | |
48 | |
49 | '########################################## |
50 | Const Fdelay = 345 ' 345 funktioniert |
51 | Dim I As Byte |
52 | Dim X As Byte |
53 | Dim Funk_repeat As Byte |
54 | Funk_repeat = 3 |
55 | Dim Funkcode_complete As String * 12 |
56 | Dim One_str As String * 1 |
57 | Dim A As Byte |
58 | Dim B As Byte |
59 | Dim C As Byte |
60 | |
61 | |
62 | ' billige Schalter |
63 | Const Dose_ein = "0F" |
64 | Const Dose_aus = "F0" |
65 | Dim Systemcode As String * 5 |
66 | Dim Steckdose As String * 5 |
67 | Systemcode = "0FF00" 'Wenn auf dem Sender der DIP auf ON ist eine 0 ansosnten ein F |
68 | Steckdose = "0FFFF" 'Wenn der der Pin der Steckdose auf on ist dann eine 0 setzen ansonsten ein F |
69 | |
70 | 'Intertechno |
71 | Const Inter_ein = "0111" |
72 | Const Inter_aus = "0110" |
73 | Dim Familiencode As String * 4 |
74 | Dim Geraetenummer As String * 4 |
75 | Familiencode = "0110" ' eingestellt auf g |
76 | Geraetenummer = "0000" ' erste steckdose in erster gruppe ist 0 + 0*4 - zweites gerät aus dritter grupper wäre 1 + 2*4 = 9 = 1001 |
77 | |
78 | |
79 | '######################################### |
80 | |
81 | |
82 | Config Portc.0 = Output |
83 | Funkpin Alias Portc.0 'datapin |
84 | Funkcode_complete = "" |
85 | |
86 | '========= Anfang Hauptprogramm ==================================== |
87 | Do |
88 | If Sec2 <> Zahl Then Gosub Uhr |
89 | If Zahl = 59 Then |
90 | Portc.4 = 0 |
91 | Licht = 80 |
92 | Dose = 0 |
93 | For Xy = 1 To 16 |
94 | Locate 2 , Xy |
95 | Lcd Chr(0) |
96 | Next Xy |
97 | End If |
98 | |
99 | |
100 | |
101 | |
102 | Abfrage = Inkey() |
103 | If Abfrage > 0 Then |
104 | Select Case Abfrage |
105 | |
106 | |
107 | |
108 | |
109 | Case 49 'Uhr stellen |
110 | Portc.4 = 1 |
111 | Anzeige = 1 |
112 | Gosub Uhr_stellen |
113 | |
114 | Case 52 '0 Uhr stellen |
115 | Stu2 = 0 |
116 | Min2 = 0 |
117 | Zahl = 0 |
118 | Sec2 = 0 |
119 | |
120 | |
121 | Case 57 |
122 | Portc.4 = 1 |
123 | Licht = Zahl + 20 |
124 | If Licht > 59 Then Licht = 10 |
125 | |
126 | |
127 | |
128 | ' BILLIGE DOSEN NONAME |
129 | |
130 | ' wenn Zeichen "A" empfangen über RS232 |
131 | Case 65 |
132 | For B = 1 To 8 |
133 | Steckdose = "F0000" |
134 | Funkcode_complete = Systemcode + Steckdose + Dose_ein |
135 | Gosub Sendecodes |
136 | Next B |
137 | Dose = 1 |
138 | For Xy = 1 To 16 |
139 | Locate 2 , Xy |
140 | Lcd Chr(0) |
141 | Next Xy |
142 | Locate 2 , 1 |
143 | Lcd "NN 01 " ; Steckdose ; " an" |
144 | |
145 | ' wenn Zeichen "B" empfangen über RS232 |
146 | Case 66 |
147 | For B = 1 To 8 |
148 | Steckdose = "F0000" |
149 | Funkcode_complete = Systemcode + Steckdose + Dose_aus |
150 | Gosub Sendecodes |
151 | Next B |
152 | Dose = 1 |
153 | For Xy = 1 To 16 |
154 | Locate 2 , Xy |
155 | Lcd Chr(0) |
156 | Next Xy |
157 | Locate 2 , 1 |
158 | Lcd "NN 01 " ; Steckdose ; " aus" |
159 | |
160 | |
161 | |
162 | |
163 | ' INTERTECHNO GERÄTE |
164 | |
165 | ' wenn Zeichen "a" empfangen über RS232 |
166 | Case 97 |
167 | For B = 1 To 8 |
168 | Geraetenummer = "0000" |
169 | Funkcode_complete = Familiencode + Geraetenummer + Inter_ein |
170 | Gosub Sendecodes_inter |
171 | Next B |
172 | Dose = 1 |
173 | For Xy = 1 To 16 |
174 | Locate 2 , Xy |
175 | Lcd Chr(0) |
176 | Next Xy |
177 | Locate 2 , 1 |
178 | Lcd "IT 01 " ; Geraetenummer ; " an" |
179 | |
180 | |
181 | ' wenn Zeichen "b" empfangen über RS232 |
182 | Case 98 |
183 | For B = 1 To 8 |
184 | Geraetenummer = "0000" |
185 | Funkcode_complete = Familiencode + Geraetenummer + Inter_aus |
186 | Gosub Sendecodes_inter |
187 | Next B |
188 | Dose = 1 |
189 | For Xy = 1 To 16 |
190 | Locate 2 , Xy |
191 | Lcd Chr(0) |
192 | Next Xy |
193 | Locate 2 , 1 |
194 | Lcd "IT 01 " ; Geraetenummer ; " aus" |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | End Select |
201 | End If |
202 | Loop |
203 | End |
204 | '======== Ende HauptProgramm ======================================== |
205 | |
206 | Isr_von_timer1: |
207 | Timer1 = 3036 |
208 | Zahl = Zahl + 1 |
209 | Gosub Schrift |
210 | Return |
211 | |
212 | '======== Uhr ======================================================= |
213 | Uhr: |
214 | Sec2 = Zahl |
215 | If Sec2 > 59 Then |
216 | Sec2 = 0 |
217 | Zahl = 0 |
218 | Min2 = Min2 + 1 |
219 | End If |
220 | |
221 | If Min2 > 59 Then |
222 | Stu2 = Stu2 + 1 |
223 | Min2 = 0 |
224 | End If |
225 | |
226 | If Stu2 > 23 Then |
227 | Stu2 = 0 |
228 | End If |
229 | |
230 | If Stu2 < 10 Then |
231 | Position = 6 |
232 | Locate 1 , 5 |
233 | Lcd "0" |
234 | Else |
235 | Position = 5 |
236 | End If |
237 | Locate 1 , Position |
238 | Lcd Stu2 |
239 | Locate 1 , 7 |
240 | Lcd ":" |
241 | If Min2 < 10 Then |
242 | Position = 9 |
243 | Locate 1 , 8 |
244 | Lcd "0" |
245 | Else |
246 | Position = 8 |
247 | End If |
248 | Locate 1 , Position |
249 | Lcd Min2 |
250 | Locate 1 , 10 |
251 | Lcd ":" |
252 | If Sec2 < 10 Then |
253 | Position = 12 |
254 | Locate 1 , 11 |
255 | Lcd "0" |
256 | Else |
257 | Position = 11 |
258 | End If |
259 | Locate 1 , Position |
260 | Lcd Sec2 |
261 | Return |
262 | |
263 | '======== Uhr stellen ================================================= |
264 | Uhr_stellen: |
265 | |
266 | |
267 | Locate 2 , 3 |
268 | Lcd "Uhr stellen" |
269 | |
270 | Input D |
271 | |
272 | Teil_st = Left(d , 2) |
273 | |
274 | Teil_min1 = Left(d , 5) |
275 | Teil_min = Right(teil_min1 , 2) |
276 | |
277 | Teil_sek = Right(d , 2) |
278 | |
279 | |
280 | |
281 | Stu2 = Val(teil_st) |
282 | Min2 = Val(teil_min) |
283 | Zahl = Val(teil_sek) |
284 | Stellen = Val(teil_sek) |
285 | |
286 | If Stellen = 0 Then |
287 | Goto Uhr_stellen |
288 | Else |
289 | Cls |
290 | Stellen = 0 |
291 | Anzeige = 0 |
292 | Return |
293 | End If |
294 | |
295 | |
296 | |
297 | Return |
298 | |
299 | '======== laufschrift ================================================= |
300 | Schrift: |
301 | |
302 | If Anzeige = 1 Then Return |
303 | If Back = 1 Then Return |
304 | If Dose = 1 Then Return |
305 | |
306 | If Vor = 1 Then |
307 | Locate 2 , 1 |
308 | Lcd "***** GUDE *****" |
309 | Vor = 0 |
310 | Else |
311 | For Xy = 1 To 5 |
312 | Locate 2 , Xy |
313 | Lcd Chr(0) |
314 | Next Xy |
315 | For Xy = 12 To 16 |
316 | Locate 2 , Xy |
317 | Lcd Chr(0) |
318 | Next Xy |
319 | Vor = 1 |
320 | End If |
321 | Return |
322 | |
323 | |
324 | |
325 | '======== Fernbedienung billige ================================================= |
326 | Sendecodes: |
327 | For I = 1 To Funk_repeat |
328 | For X = 1 To 12 |
329 | 'Toggle Portd.6 |
330 | One_str = Mid(funkcode_complete , X , 1) |
331 | Select Case One_str |
332 | Case "0" |
333 | Gosub Sende_null |
334 | Case "F" |
335 | Gosub Sende_float |
336 | Case "1" |
337 | Gosub Sende_eins |
338 | End Select |
339 | Next X |
340 | Gosub Sende_sync |
341 | Next I |
342 | Return |
343 | |
344 | |
345 | Sende_null: |
346 | Funkpin = 1 |
347 | Waitus Fdelay |
348 | Funkpin = 0 |
349 | Waitus Fdelay |
350 | 'Funkpin = 0 |
351 | Waitus Fdelay |
352 | 'Funkpin = 0 |
353 | Waitus Fdelay |
354 | ' die nächsten 4 tasks |
355 | Funkpin = 1 |
356 | Waitus Fdelay |
357 | Funkpin = 0 |
358 | Waitus Fdelay |
359 | 'Funkpin = 0 |
360 | Waitus Fdelay |
361 | 'Funkpin = 0 |
362 | Waitus Fdelay |
363 | Return |
364 | |
365 | |
366 | Sende_sync: |
367 | 'laenge gesamt (1Takt high, 31 Takte low) 32 Takte |
368 | Funkpin = 1 |
369 | Waitus Fdelay |
370 | Funkpin = 0 |
371 | Waitus Fdelay |
372 | Waitus Fdelay |
373 | Waitus Fdelay |
374 | Waitus Fdelay |
375 | Waitus Fdelay |
376 | Waitus Fdelay |
377 | Waitus Fdelay |
378 | Waitus Fdelay |
379 | Waitus Fdelay |
380 | Waitus Fdelay |
381 | Waitus Fdelay |
382 | Waitus Fdelay |
383 | Waitus Fdelay |
384 | Waitus Fdelay |
385 | Waitus Fdelay |
386 | Waitus Fdelay |
387 | Waitus Fdelay |
388 | Waitus Fdelay |
389 | Waitus Fdelay |
390 | Waitus Fdelay |
391 | Waitus Fdelay |
392 | Waitus Fdelay |
393 | Waitus Fdelay |
394 | Waitus Fdelay |
395 | Waitus Fdelay |
396 | Waitus Fdelay |
397 | Waitus Fdelay |
398 | Waitus Fdelay |
399 | Waitus Fdelay |
400 | Waitus Fdelay |
401 | Waitus Fdelay |
402 | Return |
403 | |
404 | Sende_eins: |
405 | Funkpin = 1 |
406 | Waitus Fdelay |
407 | Funkpin = 1 |
408 | Waitus Fdelay |
409 | Funkpin = 1 |
410 | Waitus Fdelay |
411 | Funkpin = 0 |
412 | Waitus Fdelay |
413 | ' die nächsten 4 tasks |
414 | Funkpin = 1 |
415 | Waitus Fdelay |
416 | Funkpin = 1 |
417 | Waitus Fdelay |
418 | Funkpin = 1 |
419 | Waitus Fdelay |
420 | Funkpin = 0 |
421 | Waitus Fdelay |
422 | Return |
423 | |
424 | |
425 | |
426 | '======== Fernbedienung Intertechno ================================================= |
427 | Sendecodes_inter: |
428 | |
429 | For I = 1 To Funk_repeat |
430 | For X = 1 To 12 |
431 | One_str = Mid(funkcode_complete , X , 1) |
432 | Select Case One_str |
433 | Case "0" |
434 | Gosub Sende_null_inter |
435 | Case "1" |
436 | Gosub Sende_eins_inter |
437 | End Select |
438 | Next X |
439 | Gosub Sende_sync_inter |
440 | Next I |
441 | Return |
442 | |
443 | |
444 | Sende_null_inter: |
445 | Funkpin = 1 |
446 | Waitus Fdelay |
447 | Funkpin = 0 |
448 | Waitus Fdelay |
449 | 'Funkpin = 0 |
450 | Waitus Fdelay |
451 | 'Funkpin = 0 |
452 | Waitus Fdelay |
453 | ' die nächsten 4 tasks |
454 | Funkpin = 1 |
455 | Waitus Fdelay |
456 | Funkpin = 0 |
457 | Waitus Fdelay |
458 | 'Funkpin = 0 |
459 | Waitus Fdelay |
460 | 'Funkpin = 0 |
461 | Waitus Fdelay |
462 | Return |
463 | |
464 | Sende_eins_inter: |
465 | Funkpin = 1 |
466 | Waitus Fdelay |
467 | Funkpin = 0 |
468 | Waitus Fdelay |
469 | Funkpin = 0 |
470 | Waitus Fdelay |
471 | Funkpin = 0 |
472 | Waitus Fdelay |
473 | ' die nächsten 4 tasks |
474 | Funkpin = 1 |
475 | Waitus Fdelay |
476 | Funkpin = 1 |
477 | Waitus Fdelay |
478 | Funkpin = 1 |
479 | Waitus Fdelay |
480 | Funkpin = 0 |
481 | Waitus Fdelay |
482 | Return |
483 | |
484 | Sende_sync_inter: |
485 | 'laenge gesamt 32 Takte |
486 | Funkpin = 1 |
487 | Waitus Fdelay |
488 | Funkpin = 0 |
489 | Waitus Fdelay |
490 | Waitus Fdelay |
491 | Waitus Fdelay |
492 | Waitus Fdelay |
493 | Waitus Fdelay |
494 | Waitus Fdelay |
495 | Waitus Fdelay |
496 | Waitus Fdelay |
497 | Waitus Fdelay |
498 | Waitus Fdelay |
499 | Waitus Fdelay |
500 | Waitus Fdelay |
501 | Waitus Fdelay |
502 | Waitus Fdelay |
503 | Waitus Fdelay |
504 | Waitus Fdelay |
505 | Waitus Fdelay |
506 | Waitus Fdelay |
507 | Waitus Fdelay |
508 | Waitus Fdelay |
509 | Waitus Fdelay |
510 | Waitus Fdelay |
511 | Waitus Fdelay |
512 | Waitus Fdelay |
513 | Waitus Fdelay |
514 | Waitus Fdelay |
515 | Waitus Fdelay |
516 | Waitus Fdelay |
517 | Waitus Fdelay |
518 | Waitus Fdelay |
519 | Waitus Fdelay |
520 | Return |
521 | |
522 | |
523 | Return |
Hallo! bin ziemlich neu auf dem Gebiet AVR, möchte mich aber trotzdem ran wagen so eine Fernbedienung nachzubauen. Zwei Fragen hätte ich da: Erstens: kann es sein, dass in dem Code das Sub "sende_float" fehlt? Zweitens: Ich würde mit der Schaltung gerne noch ein Funkdimmset von Pollin ansteuern. Dazu hab ich die Originalfernbedienung per Spannungsteiler an die Soundkarte angeschlossen und mit Soundcard-Oszilloskop aufgezeichnet (Anhang). Irgendwie steh ich auf dem Schlauch; wie komm ich denn bei dem Zickzack darauf wann genau das Signal 0 ist und wie lange, und wann 1? wäre sehr dankbar für Unterstützung. Grüße
Die Wellenlinien kannste vergessen. Du brauchst eine höhere Bandbreite für Dein Oszilloskop.
sende_float fehlt in der tat :) Habe wohl in der Eile den falschen unbenötigten Teil rausgelöscht. sende_eins (kann weg) kommt nämlich nicht vor, nur 0 oder F hier noch der Sende_float:
1 | Sende_float: |
2 | Funkpin = 1 |
3 | Waitus Fdelay |
4 | Funkpin = 0 |
5 | Waitus Fdelay |
6 | 'Funkpin = 0 |
7 | Waitus Fdelay |
8 | 'Funkpin = 0 |
9 | Waitus Fdelay |
10 | ' die nächsten 4 tasks |
11 | Funkpin = 1 |
12 | Waitus Fdelay |
13 | 'Funkpin = 1 |
14 | Waitus Fdelay |
15 | 'Funkpin = 1 |
16 | Waitus Fdelay |
17 | Funkpin = 0 |
18 | Waitus Fdelay |
19 | Return |
Nimm am besten http://audacity.sourceforge.net für die Aufzeichnung am PC. Betrachte dann die Signalfolge etwas länger. Das was du in den Screenshots zeigst, ist nur ein sehr kleiner Auschnitt der gesamten Signalfolge. Ein spitzes dreieck sollte die Länge eines einzigen Pulses sein. Stell den Zoom in Audacity dann etwas höher und markiere genau das Dreieck. Unten kannst du dann die exakte länge in ms ablesen.
Hier findest Du weiteres zum Code und zum Oszillogramm: http://avr.börke.de/Funksteckdosen.htm http://avr.börke.de/ARCTECHsteckdosen.htm Gruß Joachim
Super! Mit Audacity bekomm ich ein anständig auswertbares Signal. Eigentlich komisch, dachte ein Programm das sich "Soundcard Oszillograph" nennt sollte besser dafür geeignet sein als ein normales Audio-Programm... naja, man lernt nie aus. Danke
Hallo Leute, versuche mich auch gerade mit dem AVR und den Intertechno-Dosen. Habe mit dazu bei Conrad den TX-SAW-MID 5V Sender geholt und eben ein kleines Programm in C geschrieben, welches oben gepostetes Protokoll nutzt. Als Antenne nutze ich einen einfachen 16,5cm langen Draht. Mein Problem ist nun folgendes: Stelle ich meine Dose auf den Familiencode "J" funktioniert das Ein- und Ausschalten einwandfrei. Bei beispielweise den Familiencodes (H,I,K) funktioniert keines von beidem. Dabei habe ich im Code ebenfalls nur den Familiencode gegenüber zu "J" geändert. Kann mir einer sagen, wo mein Problem liegt? Danke und Grüße Markus
Hallo, wir versuchen auch gerade Intertechno Steckdosen anzusteuern. Das Protokoll von oben konnten wir auch soweit nachmessen. Nur verstehen wir überhaupt nicht was dieser Teil heißen soll: ; 0 = 1H ; 1 = 3L ; 2 = 1H/3H ; 3 = 3L/1L X 12 ; ... ; 48 = 1H ; 49 = 31L Kan uns hier bitte jemand weiterhelfen? Danke Felix
Das Datenblatt zum PT2262 beschreibt das Timing der Sendeimpulse genau. Typisch hat der kurze Puls 320uS, die lange Pulsdauer ist 3* kurzer Puls, d.h. ca. 960us Ich habe das ganze mit 68HC11 und 6802 in Assembler realisiert WAF
Hallo, habe mich letztes Jahr mit Intertechno beschäftigt. Den SAW habe ich aus einer Fernbedinung vom Pollin (gab es mal einzeln zu den weißen Steckdosen). Im Zip ist die Beschreibung des Code für Intertechno, ein kleines Testprogramm und ein Schaltplan (PDF aus KiCad). Der Code ist leider schlecht dokumentiert. Man braucht nur die intertechno_init und die intertechno_send. intertechno_send sendet den in der Beschreibung dokumentierten Bit-Stream. Der Rest ist nur Ein- und Ausgabe am UART. Der Schaltplan war ein erster Entwurf zeigt aber die Beschaltung des SAW. Auf meinem Testboard lief die Schaltung (ohne RMF12) ohne Probleme. Vielleicht hilft es ja weiter. Gruß Stefan
Hallo Zusammen, irgendwie blicke ich nicht durch.... Soweit ich das verstehe, steht in der Protokollbeschreibung oben und im Programmcode für das 0-Bit = 1T High + 3T Low + 1T High + 3T Low und für das 1-Bit = 1T High + 3T Low + 3T High + 1T Low. Im letzten Post mit der angehangenen avr.zip steht aber für 0-Bit 1T H + 3T L + 1T H + 3T L (also identisch mit "oben"). Für das 1-Bit steht in der avr.zip aber 3T H + 1T L + 1T H + 3T L. Die Timings sind ja in etwa gleich. Was stimmt denn nun? Hat irgendwer eigentlich sowas mit Intertechnos fertig gebaut? Ich versuch mich da gerade dran, allerdings mit so einem einfachen Arduino-Ding&EtherShield. Ist für mich als Anfänger irgendwie verständlicher.. Erst wollte ich das ganze mit Optokopplern einfach an eine bestehende IT Fernbedienung löten - aber die Lösung mit selbst erstelltem Datenpaket über so ein Saw-Modul ist einfach viel schicker (und etwas sportlicher). Viele Grüße und Danke für alle Antworten :) Micha
Es tut wie im c-programm intertechno steht. Also auch wie es in der pdf beschrieben ist. Auf jeden Fall läuft es bei mir so. Das mit den 0 & 1 ist etwas schwierig. Es kommt drauf an wo man anfängt zu zählen. Ich habe das sync-bit am Ende. Wenn es am Angang steht schiebt sich H/L. Gruß Stefan
Hallo Micha, das Problem besteht darin, dass es drei Zustände gibt, die übertragen werden. Der Begriff "BIT" steht jedoch für zwei Zustände und ist deshalb zur Beschreibung schlecht geeignet. Dein "0-Bit" entspricht dem Coder-Eingang VSS oder GND. Dein "1-Bit" entspricht dem Coder-Eingang Float (nichts angeschlossen). Die Kombination 3T H + 1T L + 3T H + 1T L enspricht dem Coder-Eingang VCC oder +UB. Hier kannst Du das ausführlicher nachlesen: http://avr.börke.de/Funksteckdosen.htm Gruß Joachim
Hi zusammen, hier mal die Anschlussbelegung für die Intertechno PAR-1000 Fernbedienung im Anhang. Die Fernbedienung hat original 3 Volt funktioniert aber auch wenn ich den Controller IO-Pin direkt ohne Spannungsteiler dran löte. Original ist die Fernbedienung zwar nur für die Familienkanäle A bis D ausgelegt aber über der Controller direkt angesteuert sind dann natürlich alle anderen Kanäle auch verfügbar. Dann noch mal vielen Dank an alle hier ohne die ich nicht soweit gekommen wäre mit meinen Funksteckdose. Frohe Ostern noch Gruß Stefan
hallo, stefan gibt es da eigendlich eine möglichkeit die fernbedinung Par 1000 von intertechno über LPT port zu steuern ich brauche ja im prinzip nuzr die masse und der rest ist ja pluspol an den knöpfen von der fernbedinung am besten währe es ein anschlussplan von der fernbedinung mit beschrieftung wenn es sowas gäbe mfg Thomas
Hi Thomas, ich denke schon das es von der Hardwarseite aus direkt über den LPT-Port funktioniert, evtl würde ich dann noch einen Transistor als Treiber davorschalten. Von der Software habe ich dann allerdings keine Ahnung. Paralell Port Programierung ist unter Windows wohl auch nicht ganz so einfach, zumindest für mich. Gruß Stefan
hallo stefan, erstmal danke für deine Antwort, hättest du eventuel einen schlatplan für diese schaltung mit transistor ich habe noch darlington transistoren die müssten da ja reichen denke ich mal oder? und wegen der software seite her naja das ist eigendlich ganz einfach mache das alles über xp ich mache meine programme auf mein anderen lappi unter windows7 mit profilab expert 4.0 und dann wirds als eigenständiges programm an mein alten lappi geschickt das klappt einwandfrei kann da alles mögliche machen timer usw... mfg Thomas
Hallo Thomas Ich habe hier mal eine Seite gefunden http://www.franksteinberg.de/erel.htm wo ein Relais angesteuert wird, diese Ansteuerung sollte auch für die Fernbedienung ausreichen. In diesem Fall wird allerdings die Masse geschaltet und nicht Plus, ich denke aber trotzdem das es funktioniert. Gruß Stefan
Das Protokoll der Intertechno ITR-1500er Serien ist übrigens identisch mit dem HomeEasy(GB) Protokoll. Vermutlich ist das auch der Grund weshalb HomeEasy die EU Version rausgebracht hat mit dem derzeit noch unbekannten Protokoll (Oder kennt jemand den genauen Aufbau?!?, ich bin leider nicht weit gekommen mit meinen Messungen, kann das Signal also nur "kopieren") Hab das eben mal mit dem Oszi und einer ITT-1500 gechecked.
Hi! Vielen DANK an alle die Infos sharen!!!! Ich hab alle posts gelesen und brauche hilfe (google is not my friend :( ) - Ich habe das billig-flamingo set mit PT2262 bzw baugleich HX2262 - möchte ihn mit einem at90usb162 (Minimus: http://minimususb.com/) ansprechen. Ich komm mit avr an den bas code. PORTC0 vom mega16 entspricht PC0 vom at90usb. Strom könnte ich über die 12v bat laufen lassen (geht bestimmt auch über GND & +5v von at90usb) ABER Wie kann ich das bas umschreiben, sodass ich die signale über usb geben kann? Mein End(traum)ziel ist es den minimus+funksender(via kabel an fernbedienung) am usb-port der fritzbox anzuschließen und via freetz + Webserver das ganze ansteuerbar zu machen. Ausreichend wäre zunächst lediglich vom PC via USB die dosen zu steuern. Wenn mir einer helfen könnte oder gar schon eine fertige hex dafür hat, wäre das sooooooooo geil Vielen Dank im vorraus
Hallo Leute! Vermutlich ist es ein ganz bescheuerter Denkfehler von mir aber ich bin mit meinem Latein am Ende :( Ich hab mir 3 Funksteckdosen, samt Fernbedinung gekauft, um sie an meinem Webserver zu betreiben. Die Fernbedienung möchte ich mit 4 3 Relais schalten (die Relais haben 2 Wechsler). Die Taster sind als Silikontaster ausgefüht und ich schalte sie über einen 220 Ohm Widerstand. Für alle 3 Taster gibt es 2 Pins am Mikrocontroler der Fernbedienung (PIN 3 und PIN 2). PIN2 geschalten mit dem 220Ohm Widerstands des Taster schaltet die Steckdose ein. PIN3 umgekehrt. Hänge ich die Leitung mit dem 220Ohm R an den Mittelpunkt des Relais und die PIN2 u. 3 Leitung an die Kontakte des Wechslers passiert gar nichts wenn ich das Relais zusammen hänge. Wenn ich händisch, abwechselnd, die Kabeln miteinander berühre funkt. es problemlos. Darauf hin hab ich den Durchgang zwischen PIN 2 u. 3 geprüft und siehe da ein Durchgang. Deshalb macht mich das stutzig, den es wofür brauche ich dann 2 Leitungen`? Hat jemand vielleicht einen Tipp für mich? Ich möchte das Ganze gerne mit den auf der Platine vorhandenen Relais schalten und nicht mit einem Controller über IIC z.B. mfG Mike
MikeElectric schrieb: > Ich hab mir 3 Funksteckdosen, samt Fernbedinung gekauft, Sind das Intertechno Funksteckdosen? Falls nein mache einen neuen Diskussionsfaden mit Schaltplan auf. Falls ja, poste hier einen Schaltplan.
es gibt von einen anderen Hersteller ein Verwandten zum 2272 den cs5212jgo aus dem hause Sernic der wird / wurde bei ME FL 100 Funksteckdosen verbaut und lässt sich nach richtiger Kodierung mit dem Sender von ELRO und co ansteuern Der Sender zum ME Set ist der 2262 Frohes-fest
Hallo Stefan MZ, ich danke Dir für die Doku zu dem Intertechno-Sender. Eine Frage habe ich aber noch. Gehe ich richtig in der Annahme, dass Du den IO Pin vom Arduino/AVR mit 5V direkt auf die angelötete Leitung des Funksenders gibst und dass der Funksender keine eigene Versorgung mehr erhält. D.h. ja dann, dass der IO Pin den 433 MHz Sender komplett mit Strom versorgt und das IC des Funksenders ohne Funktion bleibt. Das würde ich gerne jetzt mit einem ITS-150 umsetzen (ich habe festgestellt, dass dessen Schaltung sehr ähnlich zu der von Dir abgebildeten ist). Vielen Dank für eine kurze Antwort von Dir :-) Danke Joachim PS: Geniales Forum!
So, jetzt konnte ich es nicht lassen und habe es einfach gemacht (nachdem ich gesehen habe, dass der AVR im Bild auch einen 7805 drauf hatte). Es funktioniert spitze mit der RCSwitch lib von Arduino. Echtes Plug and Play :-) Genial Joachim
:
Bearbeitet durch User
Roland schrieb: > Beim Conrad gibt es 433Mhz AM Sender. Die sind geeignet. > Die RFM12 Module senden FM. Geht leider nicht. Doch, natürlich geht das mit den RFM12. > Hab schon mal probiert mit sehr hohen FM Hub den Empfänger > anzusteuern. Ziemlich unsinniger Ansatz. Richtig wäre: FM-M=F. Also: Normale Frequenzmodulation schlicht dadurch unwirksam machen, daß einfach nur konstant 0-Bits (oder auch 1-Bits) gesendet werden. Damit wird statt FM nur ein konstanter Träger mit der gewählten Mittenfrequenz plus oder minus gewähltem FM-Hub gesendet. 0- oder 1-Bits entscheidet darüber, ob plus oder minus zutrifft. Die AM-Modulation kann man dann auf verschiedene Arten erreichen. Entweder man tastet direkt den RF-Sender über das Power-Management, geeignet für 100% AM-Hub oder man benutzt die umschaltbaren Sendeleistungen über die TX-Konfiguration, geeignet für AM-Hübe zwischen ca. 25% und 85%. Mehr oder weniger "fertigen" Code für die RFM12-Anwendung als AM-Sender für Funksteckdosen gibt's z.B. im Ethersex-Projekt. Übrigens kann man mit dem RFM12 auch AM empfangen. RSSI auswerten. Wenn man allerdings versucht, damit herauszufinden, auf welcher Frequenz die Funksteckdosen-FBs eigentlich senden, erkennt man sehr schnell, daß das garnicht so einfach ist, weil die Dinger gar fürchterlich in den Äther brüllen. Nunja, umso einfacher ist es wenigstens, ihr Nutzsignal abzugreifen und aufzuzeichnen, es spielt dafür fast keine Rolle, auf welche Frequenz man den RFM12 tuned (Bandmitte +-50% der gesamten Breite des Bandes ist genau genug), ja es spielt noch nichtmal eine nennenswerte Rolle, ob überhaupt eine Antenne dran ist. Ich wünschte, die Dinger würden nicht so rumbrüllen. Dann könnte sinnvoller Datenverkehr im 2.4GHz-Band sehr viel zuverlässiger und schneller sein...
Hallo, Eine Möglichkeit die Intertechno Funksteckdosen über deren hauseigenes Gateway ITW-xxx mit einem netzwerksignal über irgendeine Schnittstelle,Prog. Sprache anzusprechen?suche seit tagen.... Habe nun einige Sachen hier gelesen und stelle noch eine weitere Frage: Ich habe eine easybox 803 als wlanrouter der hat 3 USB Anschlüsse;ginge es evtl dort einen stick anzuklemmen mit nem MC der intertechno Signale sendet,per LAN an deren Gateway oder selber mit RF transmitter? Ziel ist einfaches an/aus schalten per Smartphone im WLAN mit NFC als Auslöser,kein Raspberry oder allround Gateway.eher dann den stick bauen... Danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.