Elektronik-Keller
  • Home
  • Projekte
    • STM32
    • AVR-Atmega
    • RFM12 Module
    • Module
    • ESP8266 - WLAN
    • Raspberry Pi - Module
  • Tipps
  • Forum
  • Werkstatt
  • Kontakt
  • Impressum
  • Datenshutz
  1. Aktuelle Seite:  
  2. Home
  3. Projekte
  4. AVR Atmega Projekte
  • AVR Projekte,
  • CAN-Logger,

PWM - Messung

Details
Geschrieben von: Super User
Kategorie: AVR Atmega Projekte
Veröffentlicht: 05. Oktober 2014
Zugriffe: 17048
  • R2R-Netzwerk,
  • PWM-Messung
  • ASM

Tastverhältnis von einem PWM-Signal messen.

Version 1 mit ATiny2313

Testprogramm um zu demonstrieren, wie man mit einem ATiny-Prozossor das Tastverhältnis eines PWM-Signal messen kann.

Da mit Absicht ein kleiner Prozessor (ATtiny2313) gewählt wurde, können die Ergebnise nur via RS232 - Schnittstelle ausgegeben werden.
Für eine Ausgabe auf dem LCD reicht der Arbeitsspeicher vom Prozessor nicht aus.
Das besonderer hierbei ist, dass jedes einzelnes PWM-Verhältnis berechnet wird.

Schaltplan für PWM Tastverhältnis Messung mit ATTiny2313
Abb. 1.1 - Schaltplan PWM-Tastverhältnismessung mit ATTiny 2313

.... todo... hier kommt die Projektbeschreibung rein, um mit den Atmel Prozessoren ein PWM-Signal zu messen

 

Version 2 mit ATmega 168
PWM-Tastverhältniswandlung zu 0-5V (0-10V)

Für die 2.Variante wurde eine Leiterplatte entworfen (s. u.).
Wegen den größeren Rersourcen dieses Prozessors könnnen jetzt gleichzeitig die Ausgaben auf LCD und RS232 gewählt werden.
Desweiteren kann der Messwert wieder analog ausgegeben werden.
Die DA-Wandlung erfolgt mit einem R2R-Netzwerk und optionalen Verstärker um das Ausgangssignal in den Bereich von 0-10V zu konvertieren.

Anforderung:

Ein PWM-Signal mit einer Frequenz von 1kHz soll gemessen werden und das Tastverhältnis soll dann als analogen Spannungswert von 0-10 V ausgegeben werden.

Realisierung:

  • PWM-Messung: 
    Für die PWM-Messung wird der ICP-Interupt (Input Capture Interrupt) verwendet, da hier sehr einfach ohne große Prozessorlast die die Signaldauer der High und Low-Pegel ermittelt werden kann.

  • Berechnung Tastverhältnisses: 
    Die eigentliche Berechnung erfolgt dann in einer Assembler-Routine. Für die Berechnung wird nur die Nachkommastelle mit einer Ganzzahldivision berechnet.

    Für die Nachkommastelle werden 12 Bit verwendet, dies hat dann eine theoretische Auflösung von 0.0241% zur Folge.
    Um eine einfache und schnelle dez-ASCCI Wandlung sicherzustellen wird jedoch mit gerundeten Bit-Werten für die Nachkommastellen gerechnet. Dadurch verschlechtert sich die Genauigkeit welche eigentlich möglich wäre.
    Deshalb kommt man nur auf folgende Werte:
    Auflösung: 0,01 % 
    Genauigkeit: 0,1% +- 1 Digit (geschätzt, die genaue Fehlerrechnung müsste man noch durchführen)

  • Funktionstests: 
    Getestet wurde das ganze mit einem PWM-Signal mit einer Grundfrequenz von 230 Hz und mit einer Timer-Frequenz von 1 MHz für die ICP Einheit.
    Die Ausgabe der Messwerte erfolgt im folgenden Format:
    H=1056,L=3152 ==> PWM: 25.10% // kosntantes Eingangsignal
    H=1058,L=3157 ==> PWM: 25.10%
    H=1058,L=3154 ==> PWM: 25.07%
    H=1057,L=3154 ==> PWM: 25.10%
    H=1057,L=3154 ==> PWM: 25.10%
    ...
    und mal mit verändertem Tastverhältnis:
    H=2525,L=1682 ==> PWM: 60.26% // PWM läuft hoch
    H=2540,L=1667 ==> PWM: 60.36%
    H=2472,L=1659 ==> PWM: 61.40%
    H=2606,L=1592 ==> PWM: 63.11%
    H=2656,L=1543 ==> PWM: 64.18%
    H=2720,L=1491 ==> PWM: 66.14%
    H=2709,L=1411 ==> PWM: 68.51%

  • DA-Wandlung mittels R2R-Netzwerk: 
    Hier werden 2 Schieberegister ( 74HC595), in denen der 16-Bit PWM-Messwert (obwohl die Messung nur mit 12Bit erfolgt) via SPI-Schnittstelle rein geschoben wird, verwendet.
    Verwendetet Pins:
    • SER - MOSI PB3 : serielle Daten für das Schieberegister
    • SCK - SCK PB5 : Taktsignal für das Schieberegister
    • SCL - Reset : Master Reset (MR) vom Schieberegister (low aktiv)
    • SS_RCK- RCK PB2 : Takt für das Speicher Latch (positive Flanke übernimmt den Wert vom Schieberegister)
    • G - Enable PD2 : Output Enable Eingang (low aktiv)

 

 

.... todo... hier kommt die Projektbeschreibung rein, um mit den Atmel Prozessoren ein PWM-Signal zu messen und entsprechend des Tastverhälnisses  als analoge Spannungssignal von 0-5V  (bzw. 0-10V) auszugeben.


Hinweis zu Codevision:
- Für die Anpassung an ATMEGA 168 wurde der Word-Zugriff für das ICR1-Register in der mega168.h hinzugefügt:
  #define ICR1 (*(unsigned int *) 0x86) // 16 bit access insert by aw

Vorab mal die EAGLE-3D Ansichten von der fertigen Leiterplatte.



Leiterplatte PWM zu Analog-Wandlung - Bestückungsseite
Abb.2.1 Leiterplatte PWM zu Analog-Wandlung - Bestückungsseite

Leiterplatte PWM zu Analog-Wandlung - Leiterbahnseite
Abb. 2.2 Leiterplatte PWM zu Analog-Wandlung -Leiterbahnseite

 

(letzte Änderung 31.12.2011)

LFB / MFL- Lenkradfernbedienung Adapter

Details
Geschrieben von: Super User
Kategorie: AVR Atmega Projekte
Veröffentlicht: 05. Oktober 2014
Zugriffe: 13276
  • LFB PWM DA-Wandlung LT6001

Einleitung

In machen Fahrzeugen liegen die Lenkradbedientasten noch in analoger Form da, ( und sind somit nicht auf dem CAN-Bus als Signale vorhanden). Das Grundprinzip ist meistens, dass die Lenkradbedientasten jeweils ein Widerstandsnetzwerk zusammen schalten und das original Radio somit immer einen festen Spannungswert im Bereich von 0-5 V für eine bestimmte Taste bekommt um zu erkennen welche Taste gedrückt wurde. In manchen Fahrzeugen (z.B. Fiat , Peugeot sind es sogar 2 Netzwerke).

Möchte man nun ein Nachrüstradio nachrüsten, welches ein analoge Remote-Steuerung ermöglicht, so benötigt man dieses LFB-Adapter um das Nachrüstradio mit den original Lenkradbedientasten steuern zu können.

Gleichzeitig diente dieses Projekt dazu, sich mit dem Hardware PWM-Modul vom ATiny vertraut zu machen und demonstriert somit wie man eine  DA-Wandlung mittels eines PWM-Signals durchführen kann.

Die PWM-Grundfrequenz beträgt hierbei 50 kHz
Ausgangsspannungsbereich: 0-5 V
Auflösung: 50mV

 

Anforderung

  • preiswert 
  • universell einsetzbar, d.h. es sollen verschieden Fahrzeuge und Nachrüstmodelle unterstützt werden (nur Software Modifikation)
  • 2 analoge Eingänge für die Erfassung der Lenkradbedientasten
  • 1 analoges Ausgangssignal im Bereich von 0-5 V für die Remotesteuerung des Nachrüstradios
  • 1 digitales Ausgangssignal ( 0V oder 5 V) für die Shift-Funktion von manchen Nachrüstradios
  • LCD-Debug-Schnittstelle für mein LCD-Modul (LCD Anzeige Modul (HD44780 kompatible) )

Realisierung

  • Die Prozessorauswahl für das Adapter viel auf den ATiny26 von Atmel (klein und preiswert).
    Für die 2 erforderlichen analoge Eingänge werden die integrierte ADC-Wandler vom ATiny verwendet.
    Ebenso wurde auf den externe Quarz verzichtet und stattdessen der interne RC-Oszillator vom ATiny verwendet.
  • Das analoge Ausgangssignal wird mittels eines PWM - Signal erzeugt:
    - Grundfrequenz 50 kHz  
    - Ausgangsspanungsbereich 0-5V
    - Auflösung 50 mV
    Um dies zu erreichen, wird das PWM-Signal vom Prozessor über einen passiven Tiefpass 3.Ordnung geführt und mittels eines Operations-Verstärker der hier als Impedanzwandler verwendet wird vom Tiefpass entkoppelt.
  • Der digitale Schaltausgang schaltet nach Masse und hat einen Pull-Up-Widerstand von 10 kohm nach +5V
  • Da die Schaltung am Bordnetz eines Fahrzeuges betrieben wird, werden ein paar zusätzliche Bauteile zum Schutz der Schaltung vorgesehen:
    - Diode D2 dient als Verpolschutz 
    - Diode D3 Begrenzung von Spannungsspitzen
    - R9 dient zur Strombegrenzung (vor allem im Zusammenspiel mit D3)
    - L1 dient zur Filterung von hohen Störspannungen mit hoher Frequenz 
    - D4 und D5 sind nur optional und werden nicht bestückt
  • ISP-Schnittstelle für die In Circuit Programmierung des Prozessors

Hier kommt noch ein LT-Spice Simulation rein für die Dimensionierung des Tiefpasses.

Software

 ....todo....

Hardware

Schaltplan

 

Schaltplan - LFB / MFL Lenkradfernbedienungs Adapter
Schaltplan - LFB/MFL Lenkradbedienungs Adapter

 

Hardware- Leiterplatte:

Leiterplatte LFB-Modul Bestückungsseite

Leiterplatte LFB-Modul Leiterbahnseite

 

EAGLE3D-Ansicht von der Besückungsseite LFB-Modul

 

EAGLE3D - Leiterplattenansicht vom LFB-Modul(letzte Änderung 31.12.2011)

RGB - LED-Stripe

Details
Geschrieben von: Super User
Kategorie: AVR Atmega Projekte
Veröffentlicht: 04. Oktober 2014
Zugriffe: 16762
  • PWM RGB-LED Stripe,

Testschaltung um mit einem ATmega 88 mittels PWM eine RGB-LED - Stripe  (5m) anzusteuern.
Es werden alle 6 Hardware PWM-Kanäle benutzt, wobei 3 Kanäle MOSFET's ansteuern.

Abweichend vom Schaltplan hatte ich in meinem Testaufbau den IAR 1010N - MOSFET'S verwendet. Dieser MOSFET Typ ist etwas überdimensioniert und hat eine relative hohe Gate-Kapazität von 120 nC. Bei dem gewählten Gate-Vorwiderstand von 100 Ω ergibt dies einen maximalen Gatestrom von ca. 2.6 mA (s. LT-Spice Simulation). Dieser MOSFET's ist für diese Anwendung überdimensioniert, deshalb kann das LED-Stripe um weitere 5m Ketten erweitert werden.

Beim Einsatz von IRLZ34n kann der Vorwiderstand ganz entfallen, da dies ein Logic Leve MOSFET ist

 

Schaltlan RGB-Strip Controller

 

Bestückplan für den RGB-Controller

 

 

Bestückungseite - Eagle3D

Abb. 3D-Visiualisierung mit Eagle3D von der fertigen Leiterplatte

 

Projekt-Archive:

Das Projektarchive besteht aus den Eagle-Dateien,LT-Spice Mosfet Simulation und Testsoftware für Codevision AVR.
Download: rgb_stripe.rar (192 kB)

PDF-Dokumentation:

  • Schaltplan
  • Bestückungsplan
  • Layout (Ansicht von Bestückungsseite, rote Leiterbahnen wurden als Drahtbrücken eingesetzt
  • LTSPICE MOSFET Simulation (IRLZ34N , IRF 7401, IRF 3704, IRF3706sl,  IRF1010N)

 

Datenblätter:

  • IRLZ 34n - Logic Level MOSFET N-Kanal 27A / 55V (Reichelt: 0,47 Euro)
  • IRF1010n MOSFET N-Kanal 85A / 55V (Conrad: 1,96 Euro  , zu teuer :-) )
  • AVR ATmega 88 (Reichelt: 3,65 Euro)
  • Spannungsregler 7805 (Reichelt: 0,29 EURO)
  • BC550C NPN Transistor TO-92, 45V, 0,1A , 625mW (Reichelt:  0,04 Euro)

 

Erweiterte Version von der RGB -Schaltung

Obige Schaltung wurde jetzt um folgendes erweitert:

  • optional können jetzt die 3 Transistoren ebenfalls durch Mosfets ersetzt werden. Layout wurde so angepasst das wahlweise die Transistoren oder weitere 3 MOS-Fets bestück werden können
  • 3 Trimmer hinzugefügt um einen RGB-Farbwert mit den Trimmern einzustellen.
  • 1 Taster hinzugefügt um den Modus zwischen automatischen Ablauf/RGB-Trimmerwert umzuschalten.
    ( In der Software wurden noch weitere Unterscheidung eingefügt, die davon abhängen, ober der Taster beim Einschalten der Versorgungsspannung gedrückt war oder nicht.
  • 6-polige Stiftleiste für die RS-232-Schnittstelle hinzugefügt (bis jetzt nur im Schaltplan, im Layout der die Stifleiste noch nciht platziert) um mein RS232-Modul anschließen um die RGB-Stripes vom PC aus zu steuern.

 

Schaltplan

Schaltplan von der 2. Variante

Bestückungsplan:

Bestückungsplan von der 2.Variante der RBG-Steuerung

 

Layout


Layout von der erweiterten Variante von der RGB-Steuerung
Das Layout ist wird als einseitige Leiterplatte ausgeführt, die Verbindungen im Top-Layer sind Drahtbrücken auf der LP

Eagle-3D- Visualisierungen von der 2.Variante:

2. Leiterplattenvarinte mit 3 Trimmer zum Einstellen des Farbwertes

Leiterbahnseite von der 2. Variante

Testaufbau von der 2. Variante:

Testaufbau auf Lochrasterkarte
Ansicht Bestückungsseite

 

Leiterbahnseite vom Prototypen
Ansicht Leiterbahnseite

 

PDF-Dokumentation von der 2.Variante:

  • Schaltplan
  • Bestückungsplan
  • Layout (Ansicht von Bestückungsseite, rote Leiterbahnen wurden als Drahtbrücken eingesetzt)

 

Software

... todo: noch Online stellen.......

 

(letzte Änderungen 31.12.2011)

AVR MP3-Player (SD)

Details
Geschrieben von: Super User
Kategorie: AVR Atmega Projekte
Veröffentlicht: 04. Oktober 2014
Zugriffe: 16261
  • MP3 VS1011

AVR-MP3-Player mit dem MP3 Dekoder VS1011

..... in Kürze kommt hier mehr.

Dies sind meine ersten SD-Karten und MP3-Dekoder Versuche.
Der VS1011 und der SD-Karten-Slott hängen beide an der gleichen SPI-Schnittstelle vom Prozessor und der SPI-Busstakt beträgt 4 MHz.
Die SD-Karte muss mit FAT16 formatiert sein und alle Audiodateien müssen im Root-Verzeichnis abgelegt sein. Dies ist notwendig um nicht so viele Resourcen vom Prozessor zu belegen.

Bis jetzt habe ich das Audiomodul mit MP3-Dateien:
- Abtastrate 22kHz ; Bitrate = 32 kbit/s ; Mono
- Abtastrate 16kHz ; Bitrate = 32 kbit/s ; Stereo
getestet.

Die sehr gute Klangqualität hat mich hierbei etwas überrascht.
Zur Zeit betreibe ich den Mikrocontroller mit dem internen RC-Oszillator ( 8 MHz).



Projektziel
Universielles Audio-Modul, welches MP3 / WAV-Files von der SD-Karte abspielen kann. Für die Steuerung welche Dateien abgespielt werden sollen, werden später diverse IO-Pins verwendet.

Für Testzwecke (Entwicklungsphase) steht eine RS232-Schnittstelle zur Verfügung um direkt mit dem Audio-Modul interaktieren zu können.

Konzept
Für die Umsetzung habe ich mich für den MP3-Dekoder Chip VS1011E von VLSI entschieden. Und als Mikrocontroller kommt mein geliebter ATmega 162 (wegen der JTAG-Schnittstelle) zum Einsatz.

Mein Konzept sieht zur Zeit vor, dass die Audiodaten erst vom Prozessor in 32 Bytes Blöcken von der SD-Karte gelesen werden, und dann vom Prozessor an den Audiocontroller gesendet werden. Hierdurch wird quasi die Hälfte der möglichen Bandbreite verschwendet. An dieser Stelle kann die Software dahingehend optimiert werden, dass man den Audioprozessor und die SD-Karte im Streamingmode ( SD-Karte: CMD18) verwendet, und die Audiodaten direkt von der SD-Karte an VS1011E Controller sendet. Dadurch würde sich die mögliche Bandbreite wahrscheinlich verdoppeln.

Da der VS1011E und die SD-Karte mit 3,3 V betrieben werden und ich keine Pegelanpassung für den Atmel-Controller machen wollte, habe ich mich dafür entschieden, den ATmega162 ebenfalls mit 3,3 V zu betreiben. Dafür wird in Kauf genommen, dass man den Prozessor nicht mit einem 16 MHz Quarz betreiben kann. Für die Anbindung des MAX-232 Schnittstellentreibers kann die RXD-Leitung zum Prozessor hin mit einem einfachen Widerstandsspannungsteiler an den 3,3 V Pegel angepasst werden.

Realisierung

Schaltplan:


Schaltplan - Audiomodul - Blatt 1
Abb. 1 - Schaltplan - 1. Seite - Audiomodul


Schaltplan - Audiomodul  RS232 - Blatt 2

Abb. 2 Schaltplan - 2.Seite - Audiomodul serielle Schnittstelle RS232

Hinweise zur 2.Seite: R15 = 0 ohm, R16 und R17 entfallen

Eagle3D-Bild:
Eagle3D - Bild

Downloads:
Schaltplan als PDF-Datei
Bauteilliste




Vorab-Info:

  • ATmega 162 (Versorgungsspannung 3,3V )
    Für den ersten Test wurde der interne RC-Oszillator (8 MHz) verwendet. Damit RS232 Schnittstelle richtig funktioniert, muss bei der Programmierung an die EEPROM - Adresse 0x000 das OSCAL-Byte hinterlegt werden, da die Software eine Kalibrietung der Oszillatorfrequenz durchführt.
  • MP3-Dekoder VS1011 , der im Newmode betrieben wird.
  • SD-Karte Schnittstelle basiert auf der PETIT-FAT - Libraray, welche ich an CodevisionAVR angepasst habe. Weitere Infos sind hier zu finden : Petit FAT Filesystem
    Der Vorteil der Petiit Lib ist, dass hier nur wenige Resourcen vom Prozessor belegt werden.
  • SPI und JTAG Schnittstelle , ISP
  • RS232-Schnittstelle ( 19200 8 N 1)
  • Bei der Programmierung darauf achten, dass der Prozessor mit 3,3 V betrieben wird, deshalb sollte der Programmer auf 3,3 V eingegestellt werden, sonst kann der VS1011 zerstört werden
  • Programmierung in C mit dem CodeVisionAVR Compiler
  • SD-Karte muss mit FAT 16 formartiert werden. Prinzipiell könnte auch FAT32 verwendet werden, da dies von der Petit - Lib auch unterstützt wird. Für meine Testzwecke beschränke ich mich auf FAT 16

 

Überarbeitete Version (Index 01) von der Schaltung


Modifikationen:

  • SD-Kartenslot um 180° gedreht
  • 5 Abblockkondensatoren für den VS1011E auf der PCB platziert (vorher nur im Schaltplan)
  • Mehr Platz für den ISP-Wannenstecker vorgesehen
  • Signale für von dem SD-Karten-Slot:
    - Detect- SD-Karte eingeschoben
    - WP-Prot:  Status für den  Schreibschutz
    auf I/O Eingänge von Atmel geführt
  • 2x Schutzwiderstände in den Audioausgangsleitungen vor den Elkos eingefüght (18 Ohm)

Schaltplan

Schaltplan Seite 1 - Version 01

 

Schaltplan Seite 2 - Version 01

 

Downloads:
Schaltplan als PDF-Datei (Index 01)

Vorschau von der  überarbeitete Version:
Eagle3D - Leiterplatte L01

Eagle3D - Leiterbahnseite

RFM12-Funkmodul

Details
Geschrieben von: Super User
Kategorie: AVR Atmega Projekte
Veröffentlicht: 04. Oktober 2014
Zugriffe: 48417
  • RFM12

RFM12 - 868 MHz Funkmodul mit Atmel Prozessor ansteuern

Kurzbeschreibung:

 

Hier wird demonstriert wie einfach man eine Funkverbindung mit den  868-MHz-Funkmodule des Typs RFM12 aufbauen kann. Für die Ansteuerung der Module werden Atmel-Mikrocontroller verwendet. Die Anforderung an die Hardware sind sehr gering, da die Funktmodule über eine SPI-Schnittstelle verfügen, über die die Module angesprochen werden. Somit benötigt man legendlich 4 I/O Schnittstellenleitungen um  mit dem Modul zu kommunizieren.

Der Preis eines Funkmoduls liegt bei ca. 6,00 €.

Die Programmierung erfolgt in C mit dem C-Compiler Codevision AVR C.

In diesem Projekt habe ich mich zum erstenmal mit den RFM12 - Modulen befasst und dient somit zum Aufbau der Grundlagen mit den Funkmodulen. Ebenso werden dann die C-Routinen (RFM12-lib) in Zukünftigen Projekten verwendet.


Funktionsumfang:

 

Das Sendemodul sendet periodisch im Sekundentakt 5  Hex-Werte.
Das Empfangsmodul empfängt diese und gibt Sie dann über die serielle Schnitsstelle aus.


Hardware:

 
Funkmodul RFM12:

Das Funkmodul verwendet den Si4420 Universal ISM Bank Fsck Transceiver von Integration / Siliconlaps (Datasheet). Das Funkmodul lässt sich zwischen den Frequenzbereichen (315/433/868/915 MHz) umschalten wobei man immer nur das Frequenzband verwenden sollte, auf dass das Modul abgestimmt ist, um eine optimal Sende/Empfangsleistung zu erreichen.
Über die integrierte SPI-Schnittstelle kann das Modul leicht mit einem Microcontroller programmiert und angesteuert werden.

  • Hersteller Hope-RF,
  • Technische Daten:
    • Betriebsspannung: 2,2 V bis 5,4 V
    • Stromaufnahme beim Senden: 23 mA
    • Stromaufnahme beim Empfang: 14 mA
    • Frequenzbereich: 860,48 MHz bis 879,51 MHz
    • Sendeleistung: bis 4 dBm (ca. 2,5 mW)
    • Empfindlichkeit: –100 dBm (ca. 2 μV)
    • Übertragungsrate: bis 115,2 kBaud
    • Modulationshub: 15 kHz bis 240 kHz
    • Empfängerbandbreite: 67 kHz bis 400 kHz
    • 16 bit Empfänger-FIFO
    • Zwei 8-bit-Sende-Datenregister
RFM12 Funkmodul auf Adapterplatine

Sendemodul:

Das Sendemodul wurde auf einer Lochrasterkarte aufgebaut. Zum Einsatz kommt der ATiny26 DIP unter Verwendung des intern 8MHz Oszillator. Zusätzlich wurde die Schaltung mit einer LED für Debug-Zwecke und der ISP-Schnittstelle zum Programmieren des Prozessors versehen. Da die Programmierung und Ansteuerung des Funktmoduls über die gleiche Schnittstelle erfolgt, werden die Leitungen mittels 1kohm Widerstände für das Funkmodul entkoppelt.

Schaltplan:

Schaltplan Sendemodul


Korrigierter Schaltpan von 06.06.2012 - Danke für den Hinweis Stephan M.
(Allerdings ist dies schon die 2.Variante, einfach den Taster S1  wegdenken für die 1.Variante :-) )

 

 

 

 

 

Testaufbau Sendermodul

Leiterbahnsetie vom Testaufbau Sendemodul


Stückliste Sendemodul:
C1       1 µF          
C2       100n
C3       10 pF  
C4       100 nF
C5       100 nF
C6       100 nF 
D1      1N4148
IC1      RFM12THT256   
IC2      ATTINY26-16P
JP1      AVR-ISP-6    ( 2x6 Stifleitste)
LED1    LED5MM 
R1       10 k 
R2       10 k
R3       1 k
R4       1 k 
R5       1 k 
R6       10 k 
R7       560 ohm

gesamte Bauteilkosten ca. 7,00 €

 
Empfänger (Testaufbau mit STK 500 Testboard und ATMEGA 48):

Für das Empfängermodul wird ein ATMega 48 verwendet. Der Testaufbau erfolgt auf dem Entwicklungskit STK500. Somit muss man das Funkmodul RFM12 nur noch auf einen Adaptersockel löten, welchter dann direkt auf das STK-500 Board auf den Port B gesteckt wird.

Da hier die Testausgaben über die RS232 Schnittstelle erfolgen, muss man auf dem STK 500 noch ein Brückkabel  von RXD/TXD auf den Port PortD ( PD0/PD1) setzen. Für Test-LED ist ein Brückenkabel vom PortD (PD6/PD7) auf die LED's erforderlich.
Der Prozessor verwendet ebenfalls den intern 8MHz Oszillator.

Für den PC wird ein Terminalprogramm für die Anzeige der Textausgaben benötigt, dass auf folgende Parameter: 19200 Baud 8N1 einzustellen ist.

Aufbau der Adapterplatine ( 10 polige Buchsenleiste):
Schaltplan Empfangsmodul

 

 

 

 

 

 

 

Empfangsmodul Testadapter für STK500

 

 

Testaufbau STK 500


Software

 

Empfänger-Modul:
Version V1.0  vom 16.08.2009
Download: rfm_rx_test_V1_00.rar

Fusesettings:
Prozessor: ATMega48
RSTDISBL: nicht aktivert
DEWN: nicht aktiviert
SPIEN: aktiviert
WDTON: nicht aktiviert
BODLEVEL: Brownout Detection 2.7V
CKDIV8: nicht aktiviert
CKOUT: nicht aktiviert
SUT_CKSEL: Interner RC-Oszilator 8MHz

(Fusebits:  Extend: 0xFF,  High: 0xDD,   Low: 0xD2)

 


Sende - Modul:
Version V1.0 vom   16.08.2009
Download: rfm_tx_test_V1_00.rar

Fusesettings:
Prozessor: ATiny26
RSTDISBL: nicht aktiviert
SPIEN: aktiviert
EESAVE: nicht aktiviert
BODLEVL: 2.7V
BODEN:  aktiviert
CKOPT: nicht aktiviert
PLLCK_SUT_CKSEL: Interner RC-Oszilator 8 MHz

(Fusesbits:   High: 0xF6,   Low: 0xE4)

Erweiterungen:

Empfänger 2.Variante auf Lochrasterkarte mit dem ATTiny13:

Das Empfängermodul wurde ebenfalls auf einer Lochrasterkarte unter Verwendung eins ATTiny13 -Prozessors aufgebaut.

Das Sendemodul wurde um einen Taster erweitert (PORT PA6 Taster nach Masse und die Verwendung des internen Pullups für PA6). Der Tasterstatus wird jetzt als erstes Byte gesendet und dementsprechend wird dann eine LED auf der Empfängerplatine angesteuert.

Der Download der Modifikationen , Software und Schaltplan folgt in Kürze.

RFM12_Empfaenger mit LED für Tastenstatus anzeige


Downloads für die Erweiterungen:

  • Schaltplan vom modifzierten Sendemodul
  • Software Sendemodul - Version V1.01  vom 17.08.2009
    Download: rfm_transmitter2_V1_01.rar
  • Software Empfangsmodul - Version V1.01 vom 17.082009
    Download: rfm_receiver2_V1_01.rar

Empfänger-Modul Variante 2 (Bestückungsseite)

Empfängermodul Variante 2 mit ATTiny 13 (Bestückungsseite)

Empfängermodul Variante 2 mit ATTiny13 (Leiterbahnseite)

Versuchsaufbau (nur Stromversorung via STK 500)

Links:
  • Atmel Datenblätter
  • RF-Hope Funktmodule
  • RFM12-Artikel im Mikrocontroller.net - Forum
  • Elektor Artikel über die RFM12 Module (diente als Anregung für meine Programmierung)
  • C-Compiler CodeVision AVR-C

Bezugsquellen für obige Bauteile:

  • Reichelt (günstigster Lieferant für alle Kleinteile und Atmel Prozessoren)
  • Pollin ( RFM12 Module günstig und auch sonst nicht viel teuerer als Reichelt)
 
   
   
   

(letzte Änderungen 18.08.2009)

  1. CAN-Analyzer II
  2. CAN-Analyzer I
  3. IR NEC Protokoll Analyzer
  4. LCD Anzeige Modul (HD44780 kompatible)

Neueste Beiträge

  • STM32-3x-CAN-FD
  • Pi-CAN FD - Duo - HAT-Modul
  • Datenschutz
  • Pi-CAN-Duo - HAT-Modul
  • Taschenrechner Sammlung

Projekte

  • Raspberry Pi - Projekte
    • PI-CAN - Duo
    • Pi-CAN FD - Duo
  • STM32-Projekte
    • STM32-3x-CANFD
    • STM32-CAN (V1.2)
    • STM32-CAN Interface
    • STM32-CAN-DLL
    • STM32 Multiflasher
    • CubeMX - STM32-CAN
  • Atmel Projekte
    • LCD Modul
    • IR-NEC
    • CAN-Analyzer I
    • CAN-Analyzer II
    • RFM12-Funkmodul
    • MP3-Player
    • PWM - RGB LED Stripe
    • LFB-Adapter
    • PWM-Messung
  • Module
    • CAN-Modul
    • RS232-Modul
    • USB Serial Adapter
  • ESP8266 WLAN
    • ESP8266 - Einstieg
  • RFM12 Projekte
    • RFM12 - Einführung
    • RFM12 - Carrera Bahn

Anmeldung

  • Passwort vergessen?
  • Benutzername vergessen?
  • Registrieren
Copyright © 2025 Elektronik-Keller. Alle Rechte vorbehalten.
Joomla! ist freie, unter der GNU/GPL-Lizenz veröffentlichte Software.