Start

Experimente

Grundlagen

Produkte
- SI4735
- - 4 MHz
- - Software
- - Antennen
- - Hilfeseite  
- - RDS  
- - ES-M32  
- - Heimradio
- - PCradio2

Neues

Impressum

SI4735

Autonomes UKW-Radio mit ES-M32



Bei der Entwicklung des ES-M32 war eine mögliche Anwendung als Radiocontroller bereits im Blick. Was braucht man, um ein Radio zu bedienen? Vier Tasten und ein Display sollten reichen. Hier soll un ein erstes autonomes Radio-Projekt vorgestellt werden. Der Mikrocontroller wird in Bascom programmiert. Die Controllerplatine liefert zugleich auch den Referenztakt und die Betriebsspannung. Da der ATmega32 mit 5 V arbeitet ist ein zusätzlicher 3,3-V-Spannungsregler erforderlich. Der I2C-Bus des Mega32 arbeitet problemlos mit 3,3 V. Auch der Rest-Pin kann direkt angeschlossen werden. Der jeweilige Port ist im Ruhezustand hochohmig und hat 3,3 V über den externen Pullup-Widerstand. Ein Lowpegel wird erzeugt, indem man den Port in Ausgangsrichtung umschaltet.



Download BascomSI4735 ( BascomSI4735.zip, 3 KB incl. Quelltext)

Wichtiger Hinweis zum Schaltplan: Pin 6 (SEN) muss an GND liegen, da der Chip sonst unzuverlässig arbeitet.

Auch die Referenzfrequenz liefert der Mikrocontroller. In diesem Fall wird der Quarztakt mithilfe des Timers 2 durch vier geteilt. Der SI4735 ist in Bezug auf deinen Takt sehr flexibel, weil ein interner Teiler so eingestellt werden kann, dass eine Referenzfrequenz im Bereich 32 kHz entsteht. Der folgende Programmauszug zeigt die Initialisierung des Empfängers, die Einstellung der Referenzfrequenz und die Abstimmung auf die Startfrequenz 88,8 MHz. Hier kann jeder seine wichtigste Station eingeben. 


Config Timer1 = Counter , Prescale = 1 , Compare A = Toggle , Clear Timer = 1
Start Timer1
Pwm1a = 1 ' Xtal/2/(1+1) = 2.764.800 Hz

F = 8880 'Startfrequenz
Vol = 63 'Lautstärke

Ddra.3 = 1
Waitms 100
Ddra.3 = 0
Waitms 100

Config Scl = Porta.1
Config Sda = Porta.2
I2cinit

I2cstart
I2cwbyte 34
I2cwbyte &H01
I2cwbyte &H00 '00 FM
I2cwbyte &H05
I2cstop

Waitms 200

I2cstart 'property
I2cwbyte 34
I2cwbyte &H12
I2cwbyte &H00 'prescaler
I2cwbyte &H02
 I2cwbyte &H02
D = 84 '/84
H = High(d)
L = Low(d)
I2cwbyte H
I2cwbyte L
I2cstop

Waitms 2

I2cstart
I2cwbyte 34
I2cwbyte &H12 'property
I2cwbyte &H00
I2cwbyte &H02
I2cwbyte &H01
D = 32914 'Ref = 32914 Hz
H = High(d)
L = Low(d)
I2cwbyte H
I2cwbyte L
I2cstop

Waitms 200

I2cstart
I2cwbyte 34
I2cwbyte &H20
I2cwbyte &H00
H = High(f)
L = Low(f)
I2cwbyte H
I2cwbyte L '88,80 MHz
I2cwbyte &H00
I2cstop


Das erste Bascom-Projekt arbeitet noch ganz ohne das LC-Display und besitzt eine sehr einfache und übersichtliche Bedienung über die vier Tasten S1 bis S4. Die ersten beiden Tasten werden für den Suchlauf (Aufwärts und abwärts) verwendet. Die Suche setzt sich jeweils am Bandende wieder vom Bandanfang an fort, läuft also immer wieder über den ganzen UKW-Bereich. T3 und T4 dienen der Lautstärkeeinstellung.

    Do
If S1 = 0 Then 'Suchen -
I2cstart
I2cwbyte 34
I2cwbyte &H21
I2cwbyte &H04
I2cstop
Waitms 500
End If
Do
Loop Until S1 = 1

If S2 = 0 Then 'Suchen +
I2cstart
I2cwbyte 34
I2cwbyte &H21
I2cwbyte &H0C
I2cstop
Waitms 500
End If
Do
Loop Until S2 = 1

If S3 = 0 Then 'leiser
Vol = Vol - 1
If Vol < 10 Then Vol = 10
Waitms 50
I2cstart
I2cwbyte 34
I2cwbyte &H12
I2cwbyte &H00
I2cwbyte &H40
I2cwbyte &H00
I2cwbyte &H00
I2cwbyte Vol
I2cstop
End If

If S4 = 0 Then 'lauter
Vol = Vol + 1
If Vol > 63 Then Vol = 63
Waitms 50
I2cstart
I2cwbyte 34
I2cwbyte &H12
I2cwbyte &H00
I2cwbyte &H40
I2cwbyte &H00
I2cwbyte &H00
I2cwbyte Vol
I2cstop
End If
Loop



Testaufbau mit Einzelplatine aus dem Labor von Modul-Bus

Erweiterung mit Kurzwelle und UKW/RDS




 Software AM/FM:  BascomSI4735_3 ( BascomSI4735_3.zip, 20 KB incl. Quelltext)

Software mit RDS:  BascomSI4735_4 ( BascomSI4735_4.zip, 25 KB incl. Quelltext)