Digitale Audio Recorder met SD-Cardgeheugen voor APT ontvangst

Een zeer onvolledige beschrijving van een "Digital Audio Recorder voor APT ontvangst. Voor vragen en/of opmerkingen zie het email adres onderaan deze pagina.

De recorder is bedoeld om "in het veld" bij een doorgang van een NOAA weersatelliet het APT signaal vast te leggen en dit later af te spelen. De recorder maakt gebruik van een PIC 18F2620 microcontroller en een SD kaart (tot 2 GB). Momenteel worden 8bit samples vastgelegd met een snelheid van 9766 samples/seconde. Met een 256MB geheugenkaart kan er ruim 7 uur opgenomen worden. Er kunnen tot 100 audiofragmenten opgeslagen worden op de SD kaart en de kaart kan in een PC ingelezen worden daar er een DOS-FAT structuur op de kaart gebruikt is.

Bij het afspelen wordt een 39,063 kHz PWM signaal gemoduleerd met de op 9765 Hz genomen samples. Met deze frequenties ondersteund de gebruikte hardware ook 10bit opnemen en afspelen indien de software hiervoor wordt aangepast. Het programma voor de recorder is geschreven in PicBasic.

De opgeslagen bestanden (APTxxx.ASR) kunnen ook met een kaartlezer overgehaald worden naar een PC. De bestanden kunnen omgezet worden naar een WAV file met behulp van het programma ASR2WAV.

Een prototype van deze recorder is gebouwd door Harm PA3GDO::

De hardware voor de recorder bestaat uit een drietal blokken:

1) Een voorversterker die het audiosignaal conditioneert tot een 2V tt signaal rondom 3 Volt.

2) Het digitale gedeelte bestaande uit de PIC en de SDCard geheugenchip die het audiosignaal digitaliseert en opslaat op de SD-Card

3) Een lowpas filter om het PWM signaal terug te zetten naar een audio signaal bij het afspelen vanaf de recorder.

Omdat zowel voor de voorversterker als PWM-filter een enkele opamp gebruikt wordt kan de schakeling gemaakt worden met 1 PIC en 1 LM358 (2 opamps in een behuizing).

Voorversterker

Het doel van de voorversterker is om het APT audiosignaal (bijv. een 600mV t-t signaal) om te zetten naar een geschikt signaal voor de A/D converter van de PIC microcontroller. Deze verwacht een signaal tussen de 0 en 5 Volt met een minimale amplitude van 1V (2V tt).
De hier gebruikte schakeling zet het DC niveau op ongeveer 3 Volt en heeft een versterking van 5X.
Door voor R3 een instelbare potmeter te gebruiken (van bijv. 20k) kan de versterking geregeld worden tussen 1X en 20X.
Bij een andere voedingspanning dient de deler R2/R2 aangepast te worden.
Het netwerk met R6 en C4 dient ervoor om stoorpulsen die worden veroorzaakt door het schrijven naar de SD kaart te onderdrukken.
De hieronder gebruikte LM158 kan zonder meer vervangen worden door een LM358 (de LM158 is de mil-spec variant van deze chip).

Digitale Recorder


klik op het schema voor een versie in hogere resolutie

Het audiosignaal wordt aangeboden aan pin xx en dient tussen de 0 en 5 volt te zijn. Met de bovenstaande schema is het tussen de 1.5 en 4.2 Volt bij een inputspanning van 600 mV toptop. R14 wordt dan afgeregeld op 1.5 Volt en R15 op 4.2 Volt. Respectievelijk het laagste en hoogste spanningsniveau in het input signaal.
Het output signaal (PWM gemoduleerd) is beschikbaar na de spanningsdeler, PWM_OUT in het schema.

Een pinout van de MMC/SD connector is op deze link te vinden.

Lowpass filter

Het lowpas filter is een derde orde Chebysev filter met een kantelfrequentie van 4 kHz en dient om de 39 kHz PWM carrier te onderdrukken.

Dit filter onderdrukt de PWM carrier met 60dB zoals uit het volgende grafiekje blijkt:


Het uitgangsniveau kan met een potmeter aangepast worden aan een line ingang van een PC.
Vergeet hier de ontkoppelcondensator niet, er zit een DC component op het signaal van meer dan 1 Volt.

Gebruiksaanwijzing

De APT recorder wordt bediend met een drietal drukknoppen: "Select","Go/Stop" en "Reset". Met de eerste toets kan tussen verschillende opties gekozen worden zoals opnemen/afspelen en het wissen van de SD kaart. Met de Go/Stop toets wordt een functie bekrachtigd zoals het stoppen/starten van het wissen, opnemen of afspelen.
Naast het LCD display wordt de status aangeven via een tweetal leds: Busy en Error.
De "Reset" toets kan gebruikt worden om het systeem opnieuw op te starten indien er een fout is opgetreden.

Na het opstarten van de recorder verschijnt te volgende tekst op het display:

De "Busy" led blijft knipperen totdat er een SD kaart in het SD-slot is gestoken. Zodra de kaart gedetecteerd is gaat de "Busy" led uit en verschijnt het volgende scherm:

Linksboven wordt de nog beschikbare geheugenruimte getoond, rechtsboven het aantal opnames.
Met de "Select" toets loop je de drie commando's af: afspelen "PLAY", opnemen "RECORD" en wissen "ERASE".
Bij herhaald indrukken herhaalt het systeem de drie functies. Door op "Go/Stop" te drukken activeer je de getoonde functie.

Afspelen:

Na het selecteren van "PLAY" wordt de naam en lengte van de laatste opname op het scherm afgebeeld. Met "Select" wordt telkens een eerdere opname geselecteerd en afgebeeld. Na het bereiken van de eerste opname springt hij terug naar de laatste

Het afspelen wordt gestart met de toets "Go/Stop". Het bestand wordt nu afgespeeld terwijl op het scherm de totale tijd als de tot nu toe afgespeelde tijd staan:

Tijdens het afspelen brandt de busy led. Het afspelen is te stoppen door nogmaals op de "Go/Stop" toets te drukken.

Opnemen:


Het opnemen wordt gestart met de toets "Go/Stop". Na het starten toont het display de tot dan toe opgenomen tijd. De "Busy" led gaat aan.

Om het opnemen te stoppen wordt de "Go/Stop" toets gebruikt. De "Busy" led gaat uit en het selectie scherm verschijnt weer. Als er een fout optreed tijdens het opnemen gaat de "Error" led aan en wordt er een foutmelding getoond op het LCD display. Gebruik de "Reset" toets om de foutsituatie te stoppen.

Wissen:

Met het "ERASE" command worden alle bestanden van de kaart gewist. Het is niet mogelijk om individuele bestanden te verwijderen. Het wissen moet bevestigd worden door na het tonen van het volgende scherm:

Nogmaals de "Go/Stop" toets in te drukken. Om het commando af te breken van de "Reset" toets gebruikt worden. Het wissen duurt een aantal seconden (lengte hangt af van de grooote van de gebruikte SD kaar en is klaar wanneer de "Busy" led uit gaat. Het opstartscherm wordt vervolgens afgebeeld.

Overige opmerkingen

Formateren van de SD-kaart:
Het is noodzakelijk eerst de SD-kaart te formatteren op een PC. Kies hierbij het DOS-FAT16 formaat en een clustergrootte van tenminste 32 kByte. Deze clustergrootte is noodzakelijk omdat anders de PIC niet in staat is het audiosignaal snel genoeg weg te schrijven.
Gebruikte PIC:
In het prototype is een 18F252 gebruikt. Deze processor heeft eigenlijk te weinig geheugen om alle data te bufferen bij een te langzame of verkeerd geformatteerde SD kaart. Dit is eenvoudig te ondervangen door de 18F252 door een 18F2620 te vervangen. Deze chip heeft meer RAM geheugen aan boord.

Downloads:

Basic code van de APTrecorder voor een PIC18F2620
HEX bestand van de APTrecorder voor een PIC18F2620


Basic code van de APTrecorder voor een PIC18F252 (prototype, gebruik deze bij voorkeur NIET)
HEX bestand van de APTrecorder voor een PIC18F252 (prototype, gebruik deze bij voorkeur NIET)

Conversie programma voor omzetten van recorder bestanden naar WAV files

vragen of opmerkingen: mail naar PE1GRL