Attiny85 und 433MHZ

Guten Nabend,

Ich möchte gerne eine Funkübertragung 433MHZ mit dem Attiny85 aufbauen.
Garagentor.

Nun habe ich mit 2 UNO Boards und Atmega328 mir die Schaltung für Empfänger und Sender aufgebaut.

Im Netz gibt es gute Beispiele.

Und dieses geflasht und es funktioniert. Über der Seriellen Schnittstelle sehe ich meine gesendete Botschaft am Empfänger.

Nun habe ich das Sende Beispiel auf den Attiny85 gespielt. Sende pin auf pin 0 geändert.

Und nun sehe ich garnichts mehr.

Das blink Sketch funktioniert. Somit sollte der Flashvorgang funktionieren.

Aber warum nicht mit dem 433MHZ Beispiel?
Habe Keinen Bootloader aufgepielt. Denke das muss ich auch nicht da die richtigen Einstellung beim übertragen des Programms erfolgen.

Taktfrequenz ist 1MHZ intern.

Kennt jemand das Problem oder kann mir eine Lösung nennen?

Gruß
Muki

Mukiknack:
Und dieses geflasht und es funktioniert. Über der Seriellen Schnittstelle sehe ich meine gesendete Botschaft am Empfänger.

Nun habe ich das Sende Beispiel auf den Attiny85 gespielt. Sende pin auf pin 0 geändert.

Und nun sehe ich garnichts mehr.

Du schreibst nicht, welche Library du zum Steuern der 433 MHz Module verwendest.

Aber warum nicht mit dem 433MHZ Beispiel?
Habe Keinen Bootloader aufgepielt. Denke das muss ich auch nicht da die richtigen Einstellung beim übertragen des Programms erfolgen.
Taktfrequenz ist 1MHZ intern.

Es gibt hier keinen “echten” Bootloader. Es werden nur die Fuses gesetzt.
Ohne das setzen der Fuses (Bootloader schreiben) ist der Standard 1 MHz.

Kennt jemand das Problem oder kann mir eine Lösung nennen?

Wenn du die RCSwitch-Library verwendest, geht das nicht mit 1 MHz, dann musst du die ATtiny85 auf 8MHz setzen.

Bei der VirtualWire ist das auch so, da hier Probleme mit der Übertragungsgeschwindigkeit auftreten.

Wurde hier beschrieben.

Für reine Schaltfunktionen würde ich aber die RCSwitch verwenden.

Noch besser ist, wenn du als Sender einen fertigen Handsender verwendest. Diese gibt es sehr klein und preiswert fertig zu kaufen. Bei denen kann der Fernsteuercode auch eingestellt werden.
Z.B. Universal Fernbedienung

Hallo,

vielen Dank für die Rückmeldung.

Als Library nutze ich die Virtual Wire.

Aber ich werde das mit der 8MHZ Einstellung testen.

Wieso wäre es besser ein fertiges Modul zu kaufen?

Wenn ich einen bestimmten String = "ID+Message" verschicke ist dieser auch eindeutig und sollte keine Störfunktion verursachen oder?

Ich würde die kleine Platine gerne ins Auto integrieren und über einen Taster in der Mittelkonsole so das Tor auf und zufahren.

Gruß,

Mukiknack:
Als Library nutze ich die Virtual Wire.

Nimm die RCSwitch, die ist deutlich besser für Schaltvorgänge.

Wieso wäre es besser ein fertiges Modul zu kaufen?

Wenn ich einen bestimmten String = "ID+Message" verschicke ist dieser auch eindeutig und sollte keine Störfunktion verursachen oder?

Ich würde die kleine Platine gerne ins Auto integrieren und über einen Taster in der Mittelkonsole so das Tor auf und zufahren.

Ok, für den Festeinbau ist dein Weg sicher so von Vorteil, dachte es soll auch "Mobil" bleiben.

Bedenke aber die Störspannungen im 12 Volt-Bordnetz. Die sind erheblich und können ohne weiter Maßnahmen deine Elektronik zerstören.

Ist das eine "standalone" Garage oder mit Zugang zum Haus? Dann würde ich nebenbei noch an den Versicherungsschutz denken..

Gruß

Die Garage ist standalone.

Daher unkritisch.

Wie kann ich mich denn gegen die Störspannung am besten schützen?

Habe mir nun die Arduino 1.0.5 IDE installiert und das Beispiel nochmal nachgebaut.

Konnte dort auch den " Bootloader" brennen und nun mit 8MHZ Intern arbeiten.

Nun funktioniert die Übertragung.

Vielen Dank.

Muki

Mukiknack:
Die Garage ist standalone.
Daher unkritisch.

Wie kann ich mich denn gegen die Störspannung am besten schützen?

Habe mir nun die Arduino 1.0.5 IDE installiert und das Beispiel nochmal nachgebaut.
Konnte dort auch den " Bootloader" brennen und nun mit 8MHZ Intern arbeiten.
Nun funktioniert die Übertragung.

Na super, das freut mich.

Du solltest dir einen USB-Lader fürs KFZ besorgen.
Da sind meistens schon die Komponenten zur Entstörung vorhanden.

Aber warum nimmst du nicht eine aktuelle IDE-Version? Die 1.6.5 funktioniert super, verwende ich auch.
Die V 1.6.7 oder 1.6.8 sollen auch funktionieren, da habe ich aber noch keine Erfahrung mit.

Du unterschlägst, das du für den Tiny auch die TinyWire Bibliothek verwenden mußt. Das kann funktionieren, muß aber nicht. Mit der normalen Lib wird es dagegen ganz sicher nicht funktionieren.

nix_mehr_frei:
Du unterschlägst, das du für den Tiny auch die TinyWire Bibliothek verwenden mußt. Das kann funktionieren, muß aber nicht. Mit der normalen Lib wird es dagegen ganz sicher nicht funktionieren.

Wen wolltest du darauf hinweisen?

Was sollte warum nicht funktionieren?

Hallo,

was willst du uns damit sagen?

TinyWire Bibliothek

Im Programm nutze ich diese nicht.

Oder meinst du, dass Sie als Board irgendwo mit eingebunden ist?

Zu den IDE Versionen.

Die IDE 1.6.5 nutze ich auch. Konnte aber hier z.B nicht den Bootloader brennen,was mit der 1.0.5 geht.

Bei der IDE 1.6.8 hatte ich Probleme mit dem ESP8266. Das hat wieder nur bei der IDE 1.6.5 funktioniert. Teilweise gab es auch Probleme Biliotheken einzubinden.

Daher nutze ich nun für das 1 Projekt mit dem Attiny85 die IDE 1.0.5

und für alles andere 1.6.5

Fahre gerade damit gut :slight_smile:

Mukiknack:
Zu den IDE Versionen.

Die IDE 1.6.5 nutze ich auch. Konnte aber hier z.B nicht den Bootloader brennen,was mit der 1.0.5 geht.

Bei der IDE 1.6.8 hatte ich Probleme mit dem ESP8266. Das hat wieder nur bei der IDE 1.6.5 funktioniert. Teilweise gab es auch Probleme Biliotheken einzubinden.

Daher nutze ich nun für das 1 Projekt mit dem Attiny85 die IDE 1.0.5

und für alles andere 1.6.5

Fahre gerade damit gut :slight_smile:

Ist doch super, wichtig ist, dass es funktioniert.
Ich nutze auch noch die 1.0.5 für einige Projekte, die ich aktuell nicht umstellen kann.

Also wenn es so funktioniert, alles gut.

Was das mit der TinyWire sollte, weiß ich auch nicht.

Hallo,

ich muss hier das Topic wieder öffnen.

Wollte nun gerne die Funkübertragung mit der Manchester Bibliothek nutzen.

Der Mancherster Code ist doch eine Art Verschlüssung oder?

Nun habe ich folgendes Problem, dass der Attiny85 am PIN 1 nur maximale 2.5V abgibt, was natürlich zu wenig ist.

Habe schon mit den Geschwindigkeiten vom Mancherster gespielt. Ebenso die Taktfrequenz vom Attiny zwischen 1MHZ und 8MHZ Intern verändert und auch die zu übertragende Botschaft.

Die 2.5V erreiche auch nur mit MAN_300. Je schneller ich werde desto weniger Spannung.

Wo liegt das Problem?

Anbei mein Code

#include <Manchester.h>
/*
  Manchester Transmitter example
  In this example transmitter will send one 16 bit number
  per transmission.
  Try different speeds using these constants, your maximum
  possible speed will depend on various factors like transmitter
  type, distance, microcontroller speed, ...
  MAN_300 0
  MAN_600 1
  MAN_1200 2
  MAN_2400 3
  MAN_4800 4
  MAN_9600 5
  MAN_19200 6
  MAN_38400 7
*/
  #define TX_PIN 1  //pin where your transmitter is connected
  uint16_t transmit_data = 2756;
  void setup() {
  man.setupTransmit(TX_PIN, MAN_300);
} 
  void loop() {
  man.transmit(transmit_data);
  delay(1000); 
}

Der Manchester-Code ist ein Stadard zur Übertragung von Daten, hat aber keine eigene Verschlüsselung.
Wie hast du die Spannung am Ausgangspin gemessen?

Mukiknack:
Die 2.5V erreiche auch nur mit MAN_300. Je schneller ich werde desto weniger Spannung.

Wo liegt das Problem?

Vieleicht weil Du mit einem Gleichspannungsmeßgerät eine gepulste Gleichspannung mißt?

Grüße Uwe

Ja, habe es mit einem Multimeter gemessen.

In der Vergangenheit habe ich über die 2 Anzeige meines Multimeter wenigstens gesehen, dass der Wert über 4V ging.

Das sehe ich hier nicht. Und so schnell wird die Spannung im Testfall auch nicht getaktet.

Was kann ich noch prüfen?

gruß,

Mukiknack:
Ja, habe es mit einem Multimeter gemessen.
In der Vergangenheit habe ich über die 2 Anzeige meines Multimeter wenigstens gesehen, dass der Wert über 4V ging.
Das sehe ich hier nicht. Und so schnell wird die Spannung im Testfall auch nicht getaktet.
Was kann ich noch prüfen?

Mit einem Multimeter kannst du die Spannung nicht messen. Da kommt immer was falsches raus.

Wer sagt, es wird nicht schnell getaktet?

Du misst den Datenausgang, das geht schon sehr schnell.

Miss mit einem Oszilloskop und dann reden wir weiter.

Warum hast du es geändert, es hat doch schon funktioniert?

Ok,

werde es mit dem Oszi nachmessen.

Funktioniert hat es aber ohne Manchester, wollte dies nun für mich mal ausprobieren.

Gruß,

Ich gehe mal davon aus, du verwendest die Library auf beiden Seiten (RX und TX).

nix_mehr_frei:
Du unterschlägst, das du für den Tiny auch die TinyWire Bibliothek verwenden mußt. Das kann funktionieren, muß aber nicht. Mit der normalen Lib wird es dagegen ganz sicher nicht funktionieren.

Hier hast du sicher etwas verwechselt.

Die TinyWire ist für I2C, das ist hier nicht gefragt.