V sobotu večer jsem zkoušell můj starší RX Softrock 6.0 v CQ WW. Sejmul jsem pár obrazovek jak vypadalo pásmo. Jako anténa byla použita pouze prutovka ATx-1080 v místnosti.
26. listopadu 2007
25. listopadu 2007
SDR Softrock RXTX v 6.2 IV. - Daughter Board - Testy
SDR Softrock RXTX v 6.2 III. - Main Board
Stavbu začneme přišroubováním sloupků do rohů desky. Bude se nám pak s ní lépe manipulovat.



Osadíme všechny SMD kondenzátory

Osadíme drátové propojky místo R54,R60 a z báze Q14 na prokovku u JP1. Potom osadíme R58 a R59 naležato (zbyly nám z oscilátorové desky)
21. listopadu 2007
BCC Stack-Match III. - úprava fw

/*--------------------------------------------
BCC Stackmatch controler 0.2
(c)OK1CDJ, OK1CDK 2007
Pin Function
6 PD2 PTT IN (0=PTT)
7 PD3 Switch 1 (0=ON)
8 PD4 Switch 2 (0=ON)
9 PD5 Switch 3 (0=ON)
12 PB0 REL. 1 (1=ON)
13 PB1 REL. 2 (1=ON)
14 PB2 REL. 3 (1=ON)
15 PB3 REL. 4 (1=ON)
*/
#include <avr/io.h>
#include <avr/eeprom.h>
unsigned char bit(unsigned char param);
#define ON 1 // turned on
#define OFF 0 // turned off
unsigned char PTT=OFF;
unsigned char cfgmem __attribute__((section(".eeprom")));
unsigned char cfg;
#define PTTIN PD2
#define S1 PD3
#define S2 PD4
#define S3 PD5
#define S4 PD0
#define R1 PB0
#define R2 PB1
#define R3 PB2
#define R4 PB3
int main(void) {
unsigned char portstatus;
unsigned char PTT=OFF;
DDRD = 0x0;
// PD2 PD3 PD4 internal pullups high
PORTD |= _BV(S4);
PORTD |= _BV(PTTIN);
PORTD |= _BV(S1);
PORTD |= _BV(S2);
PORTD |= _BV(S3);
//PORTD = 0xFF;
// PB1,2,3 as output
DDRB = 0xFF;
PORTB = 0x0;
PTT=ON;
// programovani eeprom po startu
portstatus = PIND;
if( ! bit_is_set(PIND, S4) )//je stiknuto S4 pro programovani
{
switch(portstatus & 56) {
case 48: {
//S1
cfg = 1;
}
break;
case 40: //S2
{
cfg = 2;
}
break;
case 24: //S3
{
cfg = 4;
}
break;
case 32: //S1+2
{
cfg = 11;
}
break;
case 16: //S1+3
{
cfg = 13;
}
break;
case 8: //S2+3
{
cfg = 14;
}
break;
case 0: //S1+2+3
{
cfg = 15;
}
break;
case 56: //Nic nesepnuto - vsechny 3 anteny
{
cfg = 15;
}
break;
}
eeprom_write_byte(&cfgmem,cfg);
}
cfg = eeprom_read_byte(&cfgmem);
if (cfg==0xFF) cfg=15;
//
while(1) // +++++++++++++++++++++++ main loop +++++
{
//PORTB |= _BV(R3);
portstatus = PIND;
if( ! bit_is_set(PIND, PTTIN) )//if PTT = 0 klicovani
{
//PORTB |= _BV(R3);
if (PTT == OFF)
{
PTT=ON;
PORTB= cfg;
}
}
if( bit_is_set(PIND, PTTIN) )//if PTT = 1 odklicovani
{
if (PTT == ON) {
PTT=OFF;
}
switch(portstatus & 56) {
case 48: {
//S1
PORTB = 1;
}
break;
case 40: //S2
{
PORTB = 2;
}
break;
case 24: //S3
{
PORTB = 4;
}
break;
case 32: //S1+2
{
PORTB = 11;
}
break;
case 16: //S1+3
{
PORTB = 13;
}
break;
case 8: //S2+3
{
PORTB = 14;
}
break;
case 0: //S1+2+3
{
PORTB = 15;
}
break;
case 56: //Nic nesepnuto
{
PORTB = 0;
}
break;
// }
}
}
}
return(0); // to avoid a compiler warning
}
20. listopadu 2007
IR dálkové ovládání k FT-817 IV.



Seznam součástek:
Souč. HodnotaFirmware a jeho programování bude v dalším pokračování...
C1 10uF/15V
C2 100nF keramika
C3 100nF keramika
D1 Dvoubarevná led 3mm
R3 330R
R4 150R
R5 330R
R6 22k
R7 10k
U1 PICAXE-18
U2 78L05
U3 SFH5110-38
14. listopadu 2007
SDR Softrock RXTX v 6.2 II. - Daughter Board
Stavba podle návodu začíná Daughter Boardem, tedy základním oscilátorem pro pásmo 30/20m.
Rezistory jsou montovány na stojato. Pozor zbudou nám rezistory R58, R59, které přijdou do základní desky.
Při osazování krystalů si musíme dát pozor na to, aby krystal byl nepatrně nad deskou a nezkratoval pláštěm na plošný spoj. Mezi krystaly je prokovka, na kterou je třeba uzemnit oba pláště. Já na každý krystal připájel kousek drátu a ten jsem prosunul prokovkou a připájel.
Tlumivka RFC1 má 4 závity na dvouotvorovém jádru. Spotřebujme na cca 8cm drátu. Pozor, jádro má ostré hrany tak navíjet opatrně. L100 má 12 závitu na žlutém toroidu. Je potřeba cca 15cm drátu.
Zbývá připájet jumper JP100. Pozor, nezkracovat vývody, budou třeba k zapájení do základní desky.
Oživení v dalším díle....




Oživení v dalším díle....
13. listopadu 2007
SDR Softrock RXTX v 6.2 I. - kit dorazil....
5. listopadu 2007
IR dálkové ovládání k FT-817 III.

Jsou k dispozici tyto základní příkazy:
power - zapne/vypne rádio
mmmkkk CH+ - nastaví frekvenci, např. 144300 CH+
mm CH+ - nastaví frekvenci v MHz, např. 144 CH+
n CH+ - nastaví mod nebo přepne VFO
0 = LSB
1 = USB
2 = CW
3 = CWR
4 = AM
5 = FM
6 = Digital
7 = Packet
8 = přepne VFO A/B
n CH-- nastaví krok
0 = 100 Hz
1 = 1 kHz
2 = 5 kHz
3 = 10 kHz
4 = 100 kHz
5 = 1 MHz
CH+/- - ladí nastaveným krokem
Příště doplním o další funkce a výkres plošného spoje. Pokud bude zájem připravím stavebnici.
Dálkové ovládání by mělo fungovat i s FT-857/897.
2. listopadu 2007
Jaký bude 24 sluneční cyklus ??

1. listopadu 2007
BCC Stack-Match II.
Ovládání je postaveno pomocí mikroprocesoru ATtiny2313. Schéma zapojení je zde:

Relátka spínám proti zemi. Vypínače s LED na přepínání antén jsou proti zemi a v procesoru je zapnut interni pullup. Příjem je možný z libovolné kombinace antén. Při sepnutí PTT na zem se vysílá pouze do antnény 1 a 2.
Zdrojový kód je napsaný v GCC pro AVR je zde:
Toto ovládání jsme používali v CQ WW 2007 na 20m a 80m a nebyl v průběhu závodu
nebyl jediný problém.
V příští verzi firmware dodělám ukládání konfigurace vysílacích antén do EEPROM.

Relátka spínám proti zemi. Vypínače s LED na přepínání antén jsou proti zemi a v procesoru je zapnut interni pullup. Příjem je možný z libovolné kombinace antén. Při sepnutí PTT na zem se vysílá pouze do antnény 1 a 2.
Zdrojový kód je napsaný v GCC pro AVR je zde:
/*--------------------------------------------------
BCC Stackmatch controler 0.1
(c)OK1CDJ, OK1CDK 2007
Pin Function
6 PD2 PTT IN (0=PTT)
7 PD3 Switch 1 (0=ON)
8 PD4 Switch 2 (0=ON)
9 PD5 Switch 3 (0=ON)
12 PB0 REL. 1 (1=ON)
13 PB1 REL. 2 (1=ON)
14 PB2 REL. 3 (1=ON)
15 PB3 REL. 4 (1=ON)
*/
#include
unsigned char bit(unsigned char param);
#define ON 1 // turned on
#define OFF 0 // turned off
unsigned char PTT=OFF;
#define PTTIN PD2
#define S1 PD3
#define S2 PD4
#define S3 PD5
#define R1 PB0
#define R2 PB1
#define R3 PB2
#define R4 PB3
int main(void)
{
unsigned char portstatus;
unsigned char PTT=OFF;
DDRD = 0x0;
PORTD |= _BV(PTTIN); //PD3 = 1
PORTD |= _BV(S1);
PORTD |= _BV(S2);
PORTD |= _BV(S3);
// PB1,2,3,4 as output
DDRB = 0xFF;
PORTB = 0x0;
PTT=ON;
while(1) //
{
portstatus = PIND;
if( ! bit_is_set(PIND, PTTIN) ) //if PTT = 0 klicovani
{
if (PTT == OFF)
{
PTT=ON;
PORTB= 0xB;
}
}
if( bit_is_set(PIND, PTTIN) )//if PTT = 1 odklicovani
{
if (PTT == ON)
{
PTT=OFF;
}
switch(portstatus & 56) // stavy spinacu
{
case 48:
{ //S1
PORTB = 1;
}break;
case 40: //S2
{
PORTB = 2;
}break;
case 24: //S3
{
PORTB = 4;
}break;
case 32: //S1+2
{
PORTB = 11;
}break;
case 16: //S1+3
{
PORTB = 13;
}break;
case 8: //S2+3
{
PORTB = 14;
}break;
case 0: //S1+2+3
{
PORTB = 15;
}break;
case 56: //Nic nesepnuto
{
PORTB = 0;
}break;
}
}
}
return(0);// to avoid a compiler warning
}
}
Toto ovládání jsme používali v CQ WW 2007 na 20m a 80m a nebyl v průběhu závodu
nebyl jediný problém.
V příští verzi firmware dodělám ukládání konfigurace vysílacích antén do EEPROM.
Přihlásit se k odběru:
Příspěvky (Atom)