neděle 22. listopadu 2009

Převodník USB -> RS232

Teto převodník využívá obvod FT232BL, který je uplný převodník USB RS232, tento obvod lze doplnit o eprom 93C46 do které lze ukládat informace o převodníku a rozšířit možnosti samotného FT232. k převodu urovní je použit oblíbený obvod MAX232.

Po sestavení a připojení k usb proběhne automatická instalace zařízené jako defaultní převodník USB -> RS232. Dále se nainstaluje USb serioví port a tím je převodník připravený k používání.

převodník je zapojen dle doporučení datasheetu: http://www.ftdichip.com/Documents/DataSheets/DS_FT232BL.pdf

Posted by Picasa

pondělí 9. listopadu 2009

Ovládání senzoru zrychlení

jedná se o senzor zrychlení MMA7340LT, který je pripojen k ATmega8, který snímá hodnoty ze semzoru pomocí svých A/D převodníků.
zapojení odpovídá návrhu v dadashettu.

parametry senzoru:
3D (XYZ) akcelerometr s analogovým výstupem
Přepínatelný rozsah: 1.5g / 6g (MMA7360L) 3g / 12g (MMA7340L) 4g / 16g (MMA7330L) Vysoká citlivost: 800 a 200 mV/g (MMA7360L) 440 a 110 mV/g (MMA7340L) 308 a 77 mV/g (MMA7330L)
Reakční doba: 0.5 ms
Max. frekvence otáčení okolem os (Rolloff frequency): 400 Hz
Křížová citlivost: 5 %
Nelinearita: 1 % z rozsahu Měření statické i dynamické zrychlení
Detekce zrychlení 0 g (Ochrana proti volnému pádu)
Výstupní napětí při zrychlení 0 g: 1.65 V (MMA7360 a MMA7340L) 1.4 V (MMA7330L)
Odolnost proti přetížení až 5 000 g
Vstupy - logické: nastavení rozsahu (g-Select) sleep mód self test
Výstupy: signálové analogové napěťové Xout, Yout, Zout logický signál - detekce zrychlení 0 g Test vlastní funkce (Self-test function) Provozní teplota: -20 °C až +85 °C
Napájecí napětí: 2.2 V ¨-.6V DC Spotřeba: 400 uA ve sleep módu jen 3 mikroA
Pouzdro: 14pinové LGA (Land Grid Array)
Rozměry: 3 x 5 x 1 mm


Posted by Picasa

úterý 27. října 2009

UHF balon III

pokud bude počasí přát tak 7.11.2009 dojde k vypuštění stratosferického mikrobalonu. opět se bude jednat o sondu s tx na 433,9 MHz. Identifikace bude morse OK5TVR/AM. ostatní data budou předávána pomocí rozhraní RS232. celou sondu ovládá procesor ATMega8. ke stabilizaci vysílací frekvence bude péoužito termostatování.

čidla, které sonda ponese, teplota, vnitřní vnější, vlhkost, solární záření,

buhužel zatím poletí bez GPS při tomto testu jde o ověření možnosti přenosu dat a nově navrženého balonu.

Pokud by někdo chtěl být u startu nechť se ozve, zájemce rád uvítám.

K příjmu telemetrie používám přímací modul pro 433 Mhz s max 232 a software naprogramovaný ve visual basic pro výběr platných dat.

v nejpližších hodinách dám více informací na www.uhfbalon.blogspot.com

Posted by Picasa

neděle 25. října 2009

ATmega 8 ovládání RGB LED

V poslední době jsem začal zkoušet programovaní procesorů ATmega po prvních zkušenostech se jeví programovaní jednoduší. Pro progamování lze použít program BASCOM, který pracuje na bázi jazika Basic takže je vše poměrně rychlé a intuitivní. Návrhy na četné programotory lze nalézt na internetu tím nejednodušám je programátor na bázi paralerního portu.

první program je zde:
'********************************************************
'* ATmega 8 rizeni RGB led pomocí PWM *
'* *
'* Tomas Vlas *
'* ver. 2.0.0.0 *
'********************************************************

$regfile = "m8def.dat"
$crystal = 1000000

'nastavení OSC1 a OSC2 jako PWM
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1
Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Up , Prescale = 1

'nastaveni A/D převodniku pro nastavení barvy
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'config AD

'pin C5 pro vyber manualni a automatické změn barvy
Config Portc.5 = Input

'proměné pro prevod HSV do RGB
Dim R As Byte
Dim G As Byte
Dim B As Byte

Dim R1 As Single
Dim G1 As Single
Dim B1 As Single

Dim H1 As Single
Dim H2 As Single
Dim H3 As Single
Dim H As Single
Dim F As Single
Dim P As Single
Dim Q As Single
Dim T As Single
Dim V As Single
Dim S As Single

Dim Ad As Word
Dim H4 As Single
Dim H5 As Single


'smycka pro nastaveni barev RGB diody
Do
'manualni nastaveni barvy
Ad = Getadc(3)
H4 = Ad * 0.345158
H4 = Int(h4)

'automaticke nastaveni barvy
H5 = H5 + 1
If H5 = 360 Then
H5 = 0
End If

'rozhodnuti maual automatika
If Pinc.5 = 1 Then H = H4
If Pinc.5 = 0 Then H = H5

' V a S proměné pro saturaci a odstín
V = 1
S = 1

'převod na RGB
H1 = H / 60
H3 = Int(h1)

F = H / 60
H2 = F

P = 1 - S
P = V * P

Q = H2 * S
Q = 1 - Q
Q = V * Q

T = 1 - H2
T = T * S
T = 1 - T
T = V * T


Select Case H3
Case 0:
R1 = V
G1 = T
B1 = P
Case 1:
R1 = Q
G1 = V
B1 = P
Case 2:
R1 = P
G1 = V
B1 = T
Case 3:
R1 = P
G1 = Q
B1 = V
Case 4:
R1 = T
G1 = P
B1 = V
Case 5:
R1 = V
G1 = P
B1 = Q
Case 6:
R1 = V
G1 = P
B1 = Q
End Select

'nastaveni promenych pro koparatory
R1 = R1 * 255
R = Round(r1)
G1 = G1 * 255
G = Round(g1)
B1 = B1 * 255
B = Round(b1)


Compare1a = R
Compare1b = G
Ocr2 = B

Waitms 100


Loop
End
_______________________________________________

pátek 2. října 2009

APRS via TCP/IP



Dnes jsem dokončil výstup z měření solárního záření na radioamatérskou síť APRS. v síti je zobrazena napětí a jemu odpovídající záření ve W/m2

čtvrtek 1. října 2009

A/D převodník TLC 549

Pro měření solárního záření používám analogově digitální převodníl TLC 549, jedná se o 8-bitová převodník to znamená že dokáže rozlyšit 255 hodnot. pokud jako referenční napětí použijeme 5v je na jeden krok A/D převodníku 0,020 V.

A/D převodník je připojen k rozhraní RS232 a opbslužný program je napsán ve visual basic. v tomto programu se s výhodou používá všeobecně známá knihovna port.dll, které nám umožňuje přistup k jednotlivým linkám COM portu.

Zde je schéma zapojení A/D převodníku mezi piny REF+ a REF- je kondenzátor protože za referenční napětí je bráno 5V ze stabilizátoru 78l05, který není součástí schémetu, pokud bychom chtěli přesnot větší můžeme použit 10-bit A/D převodník či jako referenční napětí použít 2,5 voltu kdy na jeden krok ad převodníku odpovídá 0,010 v

Základní schéma obslužného programu je takovéto:

Function AD()
i = OPENCOM("COM1")
If i = 0 Then
i = OPENCOM("COM2")
End If
If i = 0 Then
chyba = RichTextBox2.Text
RichTextBox2.Text = chyba & Chr(13) & DateString & " " & TimeString & " " & "chyba com portu"
End If
TXD(0)
RTS(0)
DTR(0)
RTS(1)
DELAY(0.02)
RTS(0)
a = 0
b = 128
For n = 1 To 8
If DSR = 1 Then a = a + b
DTR(1)
DELAY(0.005)
DTR(0)
b = Int(b / 2)
AD = a
Next n
CLOSECOM() End Function

pondělí 28. září 2009