kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Korrektur des Funkprojekts

  • Eines der aufgetretenen Probleme bei der Verwendung des Funkprojekts liegen daran, dass
Verbindung PA7 am Mikrocontroller mit FSK am Sende/Empfangs-Modul

Bild 0-1: Verbindung PA7 am Mikrocontroller mit FSK am Sende/Empfangs-Modul

  • Wie obigem Layout entnehmbar ist, besteht eine Verbindung zwischen PA7 und FSK
  • FSK steht für "Transmit FSK Data" und muß während des Sende- und Empfangsbetriebs auf logisch High gesetzt werden.
  • Dies wurde im Programm aber bisher versäumt.
  • Im nachfolgenden verbesserten Projekt, wurde dies nachgeholt.
coach2.2_06_funk_PA7_plus5Volt.zip - AVR-Projekt mit korrigierter Klasse Funk in Funk.h
void Funk::init(void)
{    DDRA |= (1<<PA4);
    PORTA|= (1<<PA4);       // Power zum FUNK-Modul einschalten
//Auch PA7:
    DDRA |= (1<<PA7);
    PORTA|= (1<<PA7);       // Funkbetrieb aktivieren
    RF_DDR |= (1<<SDI)|(1<<SCK)|(1<<CS);
    RF_PORT|= (1<<CS);
    for (unsigned char i=0; i<50; i++)
        _delay_ms(10);        // wait until POR done
    trans(0xC0E0);            // Set CLK output frequency: 10MHz
    trans(0x80D7);            // Enable FIFO
    trans(0xC2AB);            // Data Filter: internal
    trans(0xCA81);            // Set FIFO mode
    trans(0xE000);            // Disable wakeuptimer
    trans(0xC800);            // Disable low duty cycle
    trans(0xC4F7);            // AFC settings: autotuning: -10kHz...+7,5kHz
}

Code 0-1: Änderung in Methode init()

void Funk::start(void)
{    
    init();                        // Funkmodul anschalten und grundlegende Register setzen (z.B. autotuning)
    setfreq(RF12FREQ(433.12));    // Sende/Empfangsfrequenz auf 433,12MHz einstellen (weniger Störungen als der Standard bei 433,92MHz)
    setbandwidth(4, 1, 4);        // 200kHz Bandbreite, -6dB Verstärkung, DRSSI threshold: -79dBm
    setbaud(19200);                // 19200 baud
    setpower(0, 6);                // 1mW Ausgangangsleistung, 120kHz Frequenzshift
}

Code 0-2: Methode start() ruft Methode init() auf.