599.cz - Homepage 599.cz - Homepage Memorial OK1WC Optimalizováno pro web... Myši umírají v pastích, protože nechápou, proč je ten sýr zdarma.
     Dnes: 19. 03. 2024    spaceweather.com Bouřky v Česku v novém okně Bouřky v Evropě v novém okně Ionogram Průhonice v novém okně Contest calendar WA7BNM v novém okně RSS summary of the last 7 articles    
O   Hlavní menu

 [-] Hlavní stránka

 [-] Zajímavé odkazy

 [-] Download

 [-] Zasílání novinek


O   Seznam rubrik


time.is in new window


Z důvodu zneužívání ke spamování, byla zpětná vazba zrušena

O   Počasí v Holicích
JO70XC


O   VOACAP KV Online

O   VOACAP pro CB
Šíření na CB

PHPRS fórum

<a1>technika, bastleni</a1>

Zpět Digitální stupnice ke QRP TRXu SW-80.

Vydáno dne 27. 08. 2006 (22015 přečtení)

titulek Před časem jsem v jednom článku upozornil na zajímavé stavebnice QRP CW transceiverů SW80, SW40, SW30 a SW20 od firmy Smallwonderlabs. Zařízení pracuje prakticky "na první zapojení". Jedinou nevýhodou je, že pro jemné ladění je potřeba použít víceotáčkový potenciometr (Aripot) a potom je problém jak udělat stupnici. Z toho důvodu jsem se rozhodl zkusit si postavit digitální stupnici s nějakým jednočipem.

Upozornění:
Novější verze stupnice, navíc s možností měřit napájecí napětí je v tomto a v tomto článku.
Model z roku 2020 je v tomto článku.
Model z roku 2020 s grafickým dispejem je v tomto článku.



Dnes 22.11.2006 jsem si zkusil postavit další exemplář stupnice podle tohoto mého článku a uvědomil jsem si, že tu mám jednu nepřesnost, která by mohla někoho splést. V tabulce propojení displeje a destičky s jednočipem bylo u signálu R/W (vývod č.5 displeje) napsáno NEPOUŽITO. Jenomže nepoužito neznamená nezapojeno. Vývod R/W je potřeba uzemnit (připojit na minus pól napájení), abychom displej přepnuli trvale do režimu Write (zápis).


Stupnic s různými PIC nebo Atmely již bylo popsáno mnoho, na internetu je možné najít několik verzí. Jenomže já jsem si chtěl také vyzkoušet, jestli budu schopen nějakou stupnici s nějakým jednočipem sám navrhnout a hlavně naprogramovat.

Jednočipové počítače (nazývané zkráceně jednočipy) jsou velice šikovné součástky, s kterými se dá postavit kde co. Kromě vlastního procesoru mají integrovánu rovněž programovou a datovou paměť, taktovací oscilátor, různé periferie, jako vstupní/výstupní porty, čítače, komparátory, AD převodníky, atd... Zapojení obvodu vyjde většinou velice jednoduché, hodně věcí se vyřeší pomocí techto "vnitřích periferií" a programu ve vnitřní paměti. Jedinou podmínkou je, být schopen je naprogramovat. Tedy nějak do nich dostat již vymyšlený (a zkompilovaný) program, což je ta jednodušší část, ale hlavně umět takový program napsat. Toho se většina potenciálních uživatelů bojí, a proto se použití těchto součástek vyhýbají. Představa, že bych byl nucen naučit se programovat v assembleru je pro mne také docela odrazující. Naštěstí pro nás Hotentoty (co se týká programování ;-) existuje programovací jazyk Basic, který se lze naučit bez nějakých větších problémů. V dřevních dobách počítačů si jistě mnoho z vás zkoušelo něco naprogramovat v Basicu na kdysi populárním ZX Spectru, nebo jeho napodobenině Didaktiku. A pokud jste byli alespoň trochu úspěšní, nebude vám nyní dělat problém naprogramovat něco v jazyce BASCOM od firmy MSC electronics, určeném pro jednočipy Atmel řady AVR.

Program lze stáhnout přímo z webu firmy MSC Electronics. Ve volné (neplacené) verzi funguje až do velikosti 4kByte zkompilovaného kódu (programu). Má velice podrobný Help, s příklady ke každému příkazu. U některých příkladů je i informativní schéma zapojení. Z helpu je dokonce možné části kódu překopírovat do vlastního programu. Jazyk obsahuje příkazy pro často používané úkoly, např. čtení z AT klávesnice, maticové klávesnice, zápis na inteligentní LCD displej, čtení výsledku AD převodu atd, atd...

Jak jsem se již zmínil výše, byl jsem zvědavý, jestli budu schopen pomocí Basicu BASCOM a svých znalostí, udělat digitální stupnici - čítač, k mým QRP TRXům SW80, SW40 a SW30.

Z vyráběných (a hlavně u nás dostupných) typů jsem se rozhodl pro AT90S2313, který se však zrovna přestal vyrábět, takže první dva kusy byly s tímto obvodem ale další již s jeho náhradou ATtiny2313, pro který však musí být program zvlášť zkompilován. (Nelze použít stejný HEX soubor pro oba jednočipy).

AT90s2313
ATtiny2313

Součástka obsahuje:

  • 8mi bitový procesor
  • programovou paměť 2kB (10 000 write/erase cyklů)
  • 128 B Eeprom (100 000 write/erase cyklů)
  • 128 B interní SRAM
  • až 18 vstupních/výstupních portů
  • vnitřní oscilátor - s vnějším krystalem, nebo bez něho
  • maximální kmitočet krystalu 20MHz při napájení 5V. (starší typ pouze 10Mhz)
  • čítač/časovač 8mi bitový - možnost vyvolat přerušení při přetečení
  • čítač/časovač 16ti bitový - možnost vyvolat přerušení při přetečení
  • možnost použití vnitřní děličky 8, 64, 256 nebo 1024
  • vstupy externího přerušení Int0, Int1
  • komparátor
  • vstup Reset
  • port USART (pro RS232)
  • port I2C Bus
  • port pro sériové programování
  • atd...

Na součástku s 20ti vývody je toho docela dost. Většina vývodů má více funkcí - nastavují se při programování. Podrobný popis lze stáhnout jako pdf dokument ze stránek výrobce: AT90S2313, ATtiny2313 nebo zde: Download


schéma

Ze schématu je vidět, že kromě vlastního obvodu procesoru a displeje obsahuje pouze oddělovač a zesilovač vstupního signálu (displej není na schématu). Oddělovač je s J-fetem, jednodušší snad být nemůže. Zesilovač signálu je na schématu s dvěma tranzistory, prakticky však stačí většinou pouze jeden. Pro kmitočty řádově do jednotek MHz vyhoví běžné "kácéčko". (já jsem použil 2N2222 protože je měli v GESu ve výprodeji za 50 haléřů. Pozor! Nenechte se zmást fotografií osazené destičky, kde tranzistor vypadá, jako když je zapájen obráceně. Tyto tranzistory jsou obráceně zapouzdřeny a mají tedy "prohozen" kolektor a emitor. Proto byly zřejmě ve výprodeji ). Druhý tranzistor nemusíme osazovat a drátovou propojkou propojíme výstup prvního stupně přes kondenzátor přímo na vstup čítače procesoru. Kdo chce, může si pohrát s velikostí kolektorového i bázového odporu. Zcela přísně vzato, měl by za zesilovačem následovat tvarovač. Čítač však funguje i bez něj (do kmitočtu který potřebuji) a zbytečně bych tím zapojení komplikoval a zvyšoval spotřebu.

Použil jsem krystal 11,0592 MHz, tedy kmitočet o něco vyšší, než je max. kmitočet procesoru zaručovaný výrobcem (pro AT90S2313). Přesto oba dva vyrobené kusy fungují spolehlivě. Chystám se vyzkoušet kmitočet dvojnásobný (22,1184 Mhz), který by snad měl novější typ ATtiny2313 zvládnout. Kalibrace se provede zkusmo výběrem kondenzátorů připojených ke krystalu. Vzhledem k potřebné poměrně malé přesnosti měření se s kondenzátory trefíme na druhý, max. třetí pokus. Kdo chce může si tam připájet trimr a nastavit to plynule. Čítač zobrazuje kmitočet na desítky Hz. Maximální teoretický měřený kmitočet je polovina kmitočtu krystalového oscilátoru, tedy cca 5,5 MHz (resp. 11 MHz) Prakticky je tento kmitočet poněkud nižší, záleží na tvaru a střídě vstupního signálu.

Pro vlastní čítání vstupního signálu jsem použil vnitřní 16ti bitový čítač, který jsem softwarově rozšířil na 24 bitů. (Pomocná proměnná typu byte, která se při každém přetečení čítače zvyšuje o 1). Časovou základnu 10 Hz jsem vytvořil pomocí 8mi bitového časovače, spolu s vnitřní předděličkou 1024 a dále dělením 108-mi. (přednastavení čítače na 148). Tím získám 100 Hz. Nechám to proběhnout celkem desetkrát a máme 10Hz.

Nastavení mezifrekvence (přičtení/odečtení) se provádí jednoduše sečtením kmitočtu MF s načítanou hodnotou předtím, než se údaj zobrazí na displeji. Nastavení MF kmitočtu lze kdykoli uživatelsky změnit:
Při spojení pinu PD6 (vývod č.11) na mínus napájení (zem) a resetu (zapnutí napájení) se dostaneme do režimu nastavení MF kmitočtu. Spojením pinu PD3(vývod č.7) na zem zvyšujeme a pinu PD4(vývod č.8) snižujeme číslo, které znamená MF kmitočet v kHz. Krátkým spojením pinu PD2 (vývod č.6) na zem hodnotu uložíme do paměti. Po restartu již bude čítač ukazovat hodnotu s přičtenou (odečtenou) hodnotou. (lze nastavit kladnou, nebo zápornou hodnotu kmitočtu MF). Defaultně je nastaven kmitočet MF=0Hz. Stupnice tedy funguje jako obyčejný čítač , který ukazuje kmitočet ladícího oscilátoru.

Zde je ke stažení zdrojový kód programu v jazyce BASCOM. Lze ho prohlížet (i editovat) například v poznámkovém bloku (vypnout zalamování řádků). Lepší ale je nainstalovat si pro editaci výše zmíněný program od firmy MSC Electronics. V něm si může každý zkusit napsat a následně zkompilovat svoji verzi programu.
Je zde ke stažení také zkompilovaný kód pro ATtiny2313. Pokud by měl někdo problém, jak ho nahrát do paměti procesoru, musí chvilku počkat. Chystám se do čtrnácti dnů zde vydat článek s podrobným popisem jak to velmi jednoduše udělat.

displej

K zobrazení jsem použil inteligentní LCD displej 2x8 znaků. Stačil by pochopitelně i jednořádkový 1x8 znaků, ale ten se mi nepodařilo sehnat. Do druhého řádku můžeme tedy napsat cokoli, co se nám bude líbit. Použití displeje s LED podsvětlením je sice efektní, zásadně však zvyšuje spotřebu. Já jsem to vyřešil třípolohovým vypínačem napájení:
Vypnuto -- Zapnuto -- Zapnuto s podsvětlením.


osazovák
plošňák
plošňák osazený

Plošný spoj je jednostranný, navrhl jsem ho ve free verzi programu Eagle. Vzhledem k jeho jednoduchosti jsem ho vyrobil nakreslením lihovým fixem přímo na desku a vyleptal. Není sice příliš vzhledný ale to není podstatné. Jeho velikost je 3x6 cm, takže má rozměry téměř identické s displejem a mechanicky tedy mohou být v zákrytu. Na desce je rovněž stabilizátor 5 Voltů. Zde je ke stažení
pdf soubor s obrazcem pl.spoje ze strany spojů. Při vytištění pdf dokumentu v měřítku 100% je možné ho přímo použít jako šablonu pro domácí výrobu. Desku jsem s displejem spojil pomocí distančních sloupků 1,5 cm (viz. titulní fotografie). Trošku pracné je propojení 10-ti drátových propojek mezi deskami. (datové vodiče, napájení, kontrast).

Opravená tabulka propojení

Při správném zapájení všech součástek a správně naprogramovaném procesoru by mělo zařízení fungovat na první zapojení. Pokud displej nic neukazuje zkuste otočit trimrem kontrastu. Nastavení kmitočtu MF již bylo popsáno výše. Zapojení vývodů displeje se možná může lišit podle výrobce displeje. Individuálně je také potřeba vyřešit podsvícení.

SW-80

V pokračování článku popíšu jednoduchý způsob, jak dostat zkompilovaný program do paměti procesoru.

Jarda ok1hdu


   | Celý článek |      tisk clánku
 

Zpět (klikni)

O   Novinky
07.07.2023:
Update na webu DXFC
Dneska jsem updatoval info na webu DXFC.

05.07.2019:
Update fotoalba
Do fotoalba jsem přidal pár fotografií ze:
Slovinska (červen 2019)
Fotoalbum prozatím zrušeno.

05.12.2018:
Update fotoalba
Do fotoalba jsem přidal pár fotografií ze:
Slovinska (jaro 2018)
a ze:
Suchého Vrchu (zima 2005/2006).
Fotogalerie je prozatím zrušena.

O   kalendář
<<  Březen  >>
PoÚtStČtSoNe
    1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

O   Radary ČHMU

O   Zaparkováno na:

O   TSL certifikát:

PHP Scripting Language MariaDB Apache Web Server

Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.