Pokazywanie postów oznaczonych etykietą elektronika. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą elektronika. Pokaż wszystkie posty

sobota, 15 lipca 2017

Modem FSK 1200 APRS

Modem, TNC, FSK 1200 APRS - moduł rozszerzenia dla HUYduino.


Prosta przystawka dla HUYduino umożliwiająca zabawę APRS drogą radiową.
Koncepcja oparta o układ ATMEGA328, osadzony na gotowej płytce Arduino Pro mini.
Do układu można wgrać powszechnie dostępne wsady softu - modem lub TNC pracujące w trybie KISS.
np. LINK wybieramy wersje 3V 

Układ docelowo zasilany jest z 3,3V, zależnie od potrzeb należy wykorzystać modele 16MHz lub 8MHz.
Uproszczona konstrukcja umożliwia odbieranie jak i nadawanie ramek w systemie APRS.

Niski koszt wykonania, oraz prosta budowa powinna zachęcić wielu znudzonych amatorów do eksperymentowania :)


PCB mirror - LINK

Poniżej wersja dla chcących bardziej skutecznego dekodowania.


PCB mirror - Link
Układ mcz dla nadajnika należy dobrać indywidualnie dla konkretnego urządzenia nadawczego, mnogość pól lutowniczych za kondensatorem 4,7uF daje spore pole do popisu. Rezystor 2k2 miedzy ptt a mcz stosujemy dla urządzeń ręcznych. Zastosowałem przypadkowy operak lm2904, ot taki miałem pod ręką. Z PCB promini wy-lutowałem stabilizator, diodę , oraz bezpiecznik oraz rezystor przy diodzie led- w tym układzie są zbędne.
CDN.

niedziela, 9 lipca 2017

HUYnia - Koncepcyjne urządzenie

HUYnia - minimalistyczne urządzenie kontrolno pomiarowe GSM@GPRS@WIFI

 
HUYnia to chyba najtańszy sposób na uruchomienie się w sieci APRS, CB-APRS czy też własny monitoring korzystający z zewnętrznych serwerów danych typu ThingSpeak i pochodnych.
Zasadniczo jest to zbiór programów użytkowych na zaprogramowaną na tą okazję płytę PCB o nazwie roboczej HUYduino.

Prosta płytka umożliwiająca montaż przez średnio rozgarniętych elektroników, zawiera kilka gotowych i łatwo dostępnych modułów elektronicznych.
Sercem urządzenia jest moduł ESP-12 oparty na procesorze ESP8266

W założeniu HUYduino ma stanowić modułowe urządzenie które można skonfigurować pod konkretne potrzeby za pomocą strony www.. 
 Pierwszym elementem projektu jest płytka bazowa HUYduino, która ma za zadanie wysyłać uproszczoną telemetrię na serwery APRS lub CB-APRS za pomocą sieci WIFI lub GSM.

HUYnia ma być świetną alternatywą dla impotentów techniki radiowej, którzy ograniczają swoje ambicje do przesyłania danych telemetrycznych kanałami komercyjnymi typu internet lub GSM via GPRS .

Ogólne założenia projektu:
- Prosta stacja pogodowa z kanałem komunikacji-
  APRS, CB-APRS - poprzez kanały komunikacyjne WIFI, GSM oraz radio.

- Tracker przewożno-przenośny oparty na lokalizacji WIFI lub GSM lub GPS
korzystający z kanałów danych WIFI, GSM oraz radio.

- Loger różnych parametrów korzystający z zewnętrznych serwerów www.

Podzespoły bazowe
ESP-12
SIM800L (lub TNC montowane w tym miejscu)
BMP280 ( bme280, bmp180 itp zasadniczo wszystko co korzysta z I2C)
DHT22 (AOSONG AM2302) (lub DHT11 lub inne czujniki pędzone po 1wire)
Układ ładowania akumulatora TP4056
opcjonalnie wyświetlacz I2C (np. OLED SSD1306)

Wstępne założenia minimalnych możliwości
pomiar ciśnienia
pomiar temperatury
pomiar wilgotności
pomiar napięcia ogniwa zasilającego
możliwość geolokalizacji obiektów via GPS @ WIFI @ GSM
komunikacja ze światem GSM @ WIFI @ radio APRS
pełna konfiguracja poprzez www
Zasilanie z jednego ogniwa li-ion 4.2V




Pierwsze testy można poobserwować :
 thingspeak.com - chmura netowa

oraz APRS.FI


Testowo doprowadziłem do całkowitego rozładowania akumulatora.
Pierwszy poddał się DHT22 przy ~3,1V (producent zaleca >3,3V

Cały układ został wyłączony przy 2,5V co jak na mój gust jest troszkę przy małym napięciem dla ogniw Li-ion, czy ma to wpływ na ogniwo czas pokaże. Trzeba będzie pomyśleć nad programowym aspektem ochrony akumulatora i zaprzestania pracy w okolicach 3V.

Drugi egzemplarz testowy z softem HUYnia 0.0B
SQ5EKU-1
CB-APRS
Thingspeak

Testowy egzemplarz działał nieprzerwanie przez 30dni bez baterii słonecznej.
Zastosowane ogniwo miało około 1200mAh pojemności.



poniedziałek, 26 września 2016

MICRO aprs weather station

Od jakiegoś czasu chodziło mi po głowie pobawić się arduino, zamiast się nabijać jak to miałem w zwyczaju.

Zainteresowało mnie opracowanie QAPRS http://niezle.info/qaprs/
mocno lansowane przez Ryśka SQ9MDD, które mimo wszystko nie zostało w odpowiedni sposób wykorzystane przez naszych konstruktorów.

Mając w pamięci porzucony niegdyś projekt bascomowego WX-a
http://sq5eku.blogspot.com/2013/12/aprs-wx-station-ssr-v1.html
zabrałem się za zrobienie jeszcze bardziej minimalistycznej wersji :)


Pogodynka wsadzona w nadajnik NMT-435 z wyprowadzonym czujnikiem DHT22.

Podstawą całości jest fabryczna płytka Arduino NANO
Czujnik ciśnienia BMP085 / BMP180
Pomiar temperatury i wilgotności DHT11 / DHT22.

Wersja Micro nie posiada nawet wyświetlacza, wstępne miejsce zainstalowania miało być na balkonie wraz z baterią słoneczną i niewielkim akumulatoorem, więc prezentowane wyniki z pomiarów wyświetlane by były jedynie dla wróbli. Zostaje wolnych sporo pinów, więc po dopisaniem kilku linijek kodu będzie można ewentualnie doposażyć ją o LCD.

Poniżej kilka zdjęć pokazujących jak dokooptowałem resztę elementów do istniejącego PCB.



Kilka kabelków do podłączeń, plus czujnik DHT22 i gotowe.


PCB jest na tyle małe, że zmieści się praktycznie w każdym nadajniku z recyklingu (Nokton, Pulson itp.). Bardzo tanim kosztem można zaistnieć na mapach i to nie koniecznie wystawiając kolejną chałupę via net........


Zabawa z QAPRS okazała się owocna, MICRO WX działa, w trakcie eksperymentów jest tracker na tej samej PCB. Jeśli będzie jakieś zainteresowanie tematem to postaram się to dopracować i umożliwić odwzorowanie innym.

A póki co trwa dalsze poznawanie tajników pajeńczarstwa via ARDUINO :-)

Działające prototypy w paśmie 2m, nadajniki NOKTON VHF 5W.


poniedziałek, 1 sierpnia 2016

Nadajnik Pulson TA105E

Adaptacja TA105E Pulson


Krótki programik protezy na ATTINY2313 do sterowania nadajnikiem.

' Nadajnik Pulson TA105E PCB v.0510
' Sterowanie LMX1501A
' Mikrokontroler ATTINY2313 jako proteza zamiast układu OTP ST62T65C6
'
$regfile = "ATtiny2313.dat"
$crystal = 8000000                                          ' Zegar 8 MHz

Dim A1 As Word
Dim A3 As Word
Dim N2 As Word
Dim N3 As Word
Dim Mb_ref As Word                                         
    Mb_sw_ref Alias Mb_ref.15                              
    Mb_c_ref Alias Mb_ref.0                                
Dim Mb_swallow As Byte                                     
    Mb_c_prog Alias Mb_swallow.0                           
Dim Mb_prog As Word                                        
Dim Mb_n As Word                                           
Dim Mb_n_h As Byte
Dim Mb_n_l As Byte
Dim Tmp As Bit                                              ' zmienna odcinania nadawania po jednej rundzie

Declare Sub Lmx_tx
Declare Sub Le_pulse

Config Porta.0 = Output                                     ' Zalaczanie drivera i PA
Config Porta.1 = Output                                     ' CLK LMX1501A
Config Pinb.3 = Input                                       ' SW-PTT
Config Pinb.4 = Input                                       ' Lock Detect PLL 0=lock , 1=unlock
Config Portd.0 = Output                                     ' LE   LMX1501A
Config Portd.1 = Output                                     ' DATA LMX1501A
Config Portd.2 = Output                                     ' Zasilanie VCO i PLL 0=ON , 1=OFF


Tx_drv Alias Porta.0                                        ' Zalaczanie drivera i PA (5  pin ST62T65)
Lmx_clk Alias Porta.1                                       ' CLK LMX1501A            (4  pin ST62T65)
Ptt Alias Pinb.3                                            ' SW-PTT                  (24 pin ST62T65)
Lmx_lock Alias Pinb.4                                       ' Lock Detect PLL         (25 pin ST62T65)
Lmx_le Alias Portd.0                                        ' LE LMX1501A             (1  pin ST62T65)
Lmx_data Alias Portd.1                                      ' DATA LMX1501A           (2  pin ST62T65)
Tx_vco Alias Portd.2                                        ' Zasilanie VCO i PLL     (6  pin ST62T65)

Lmx_le = 0
Lmx_clk = 0
Lmx_data = 0
Tx_drv = 1
Tx_vco = 1
Lmx_lock = 1

Mb_ref = 128000 / 125
Mb_ref = Mb_ref * 2                                         ' podzial dzielnika R LMX1501A (12.8 MHz , krok 12.5kHz)

Mb_prog = 1448000 / 125                                     ' podzial calkowity dzielnikow N/A/SW LMX1501A (144.800 MHz , 12.5)

Mb_c_ref = 1                                                ' bit kontrolny rejestru R
Mb_c_prog = 0                                               ' bit kontrolny rejestru N/A



'-------------------------------------------------------------  glowna petla

Do

If Tmp = 0 Then
 If Ptt = 0 Then                                            ' jesli PTT wlaczone idz dalej
  Tx_vco = 0                                                ' wlacz zasilanie VCO
  Gosub Lmx_tx
  Waitms 20                                                 ' odczekaj 20ms na synchronizacje PLL
   If Lmx_lock = 0 Then                                     ' jeœli PLL "lock" zalacz driver i PA
    Tx_drv = 0                                              ' wlacz zasilanie drivera TX
    Tmp = 1
   Else
     Tx_vco = 1
     Tmp = 1
    End If
 End If
End If

If Tmp = 1 Then
 If Ptt = 1 Then
  Tx_drv = 1                                                ' wylacz zasilanie VCO i PLL
  Tx_vco = 1                                                ' wylacz zasilanie wzmaniaczy w.cz
  Tmp = 0
 End If
End If


Loop
End

'-------------------------------------------------------------  koniec glownej petli programu


Lmx_tx:
'
N2 = Mb_prog / 64
A1 = Mb_prog Mod 64
N3 = Mb_prog / 128
A3 = Mb_prog Mod 128
  If A3 < N3 Then
 Mb_n = N3
 Mb_swallow = A3 * 2
 Mb_sw_ref = 0
  Else
 Mb_n = N2
 Mb_swallow = A1 * 2
 Mb_sw_ref = 1
  End If

Shiftout Lmx_data , Lmx_clk , Mb_ref , 0                    ' wyslanie danych do rejestru R (16 bitow)

Gosub Le_pulse

Mb_n_h = High(mb_n)
Mb_n_l = Low(mb_n)
Shiftout Lmx_data , Lmx_clk , Mb_n_h , 0 , 3                ' wyslanie danych do rejestru N/A (3 bity)
Shiftout Lmx_data , Lmx_clk , Mb_n_l , 0                    ' wyslanie danych do rejestru N/A (8 bitow)
Shiftout Lmx_data , Lmx_clk , Mb_swallow , 0                ' wyslanie danych do rejestru N/A (8 bitow - ctrl + A)

Gosub Le_pulse

Return

Le_pulse:
 nop
 Set Lmx_le
 nop
 Reset Lmx_le
Return



Poniżej schemat poglądowy Nadajnika Pulson TA105E 

sobota, 22 grudnia 2012

Atmega fusebit doctor

Atmega fusebit doctor - naprawa zablokowanych mikrokontrolerów ATMEL AVR.


Robiąc porządki w biurku napotkałem pokaźną kolekcję AVR-ów z po blokowanymi fuse bitami, ponieważ kolekcja okazała się dość spora postanowiłem rozejrzeć się za sposobem ich reanimacji.

Przeglądając net zainteresował mnie ten projekt - Atmega fusebit doctor
Urządzenie jest tanie (kilkanaście zeciszy) i jak się okazało bardzo skuteczne!








Po zmontowaniu i zaprogramowaniu Atmegi8 (tym programatorem - programator AVR), urządzenie było gotowe do pracy.
W kwadrans odratowałem kilka po blokowanych Atmeli.

Obsługiwane układy:
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256kB:
Atmega2560, Atmega2561

czwartek, 20 października 2011

Zasilacz na bazie AV-830NF

Nie od dziś wiadomo że z innowacjami na dalekim wschodzie bywa różnie.
Jednym z takich przykładów jest seria zasilaczy impulsowych nabywanych przez krótkofalowców.
Zasilacze te są dostępne w wielu wariantach, oferowane przez kilku importerów, różni je zazwyczaj wygląd i wdzianko, zawartość obudowy niestety jest elementem wspólnym.
Doszukiwanie się lepszej lub gorszej firmy mija się z celem, ponieważ poza wdziankiem wyboru zawartości niema.
Bardzo popularne wśród amatorów są zasilacze 20 - 30A z napięciem ~13.8V.
Jak wiadomo innowacje są kosztowne, więc gdzieś na dalekim wschodzie wpadł ktoś na wspaniały pomysł, opracował zasilacz impulsowy o nazwie roboczej AV-830NF - dokumentacja.

Napięcie zasilania: 90~125V 200~260V
Napięcie wyjściowe: 4V~16V regulowane
Pobór prądu: 25A ciągły, 30A max
Bezpiecznik: 220V / 4A
Wymiary: 165 x 55 x 150 mm
Waga: 0.8 kg

Założenie było proste, jeden układ, nieskończenie wiele opcji zabudowy.







Co z tego wyszło zobaczymy na przykładzie zasilacza który padł zaraz po utracie gwarancji - SS-830.


Na zdjęciu zasilacz bez obudowy górnej.


Luty bezołowiowe, niestety elementy potrafią same odpaść - jedyna rada to lutownica w garść i polutować jak należy!!!


Tranzystory IRFP460 lubią paść w skutek przepięć w sieci, nawet przy pracy urządzenia na odbiorze - na biegu jałowym.


Zwały kurzu są rezultatem zbędnej ciągłej pracy wentylatora, gwoździem do trumny było skierowanie powietrza bezpośrednio w dół!
Tragedią jest zastosowanie kondensatorów zaraz za prostownikiem, zastosowane badziewne kondensatory na napięcie 25V to kiepski pomysł. Biorąc pod uwagę warunki pracy przy obciążeniu 30A, napięcia występujące w prost za prostownikiem są znacznie większe!!! Rozsądnie jest wymienić wspomniane kondensatory na nowe o napięciu pracy 35V, oraz zamontować je w sposób inny niż zrobił to producent, dyndający kondensator zazwyczaj kiedyś się urwie.


Obwody wejściowe zasilania - wykonanie i praca poprawna. Filtrowanie produktów ubocznych generowanych przez przetwornicę jest zaskakująco dobre.


Na zdjęciu zasilacz bez obudowy górnej, na aluminiowym radiatorze widać ukłas sterowania wiatrakiem. Układ wykonany beznadziejnie, wiatrak kręci się non-stop w trakcie pracy zasilacza, zmienia jedynie swą prędkość względem temperatury.
W rezultacie wiatrak szybko się zużywa i z czasem przyprawia o ból głowy :)


Logika i sterowanie wskaźnikami - nie zaszkodzi poprawić luty.


Tak to cudo wygląda po zdjęciu radiatora.

Jak dla mnie jest to zasilacz dla odważnych, osobiście do takich nie należę, w związku z tym cieszę się, że nie ja jestem jego posiadaczem.
Wszystkim innym użytkownikom życzę szczęścia, choć z drugiej strony - zakup nowego radia po usterce zasilacza,  powinien ucieszyć każdego radioamatora :)

wtorek, 11 października 2011

Akumulatorki Ni-MH

Akumulatorki Ni-MH Niklowo - Wodorkowe

 Do obsługi ogniw Ni-MH należy używać impulsowych ładowarek procesorowych z kontrolą napięcia, które nie ładują ogniw dużym prądem (powyżej kilkuset mA) i ich nie przegrzewają (przegrzane akumulatorki, podobnie jak w przypadku zwarcia  elektrod, potrafią w ładowarce eksplodować wylewając z siebie elektrolit).


Zwarcie akumulatorków NI-MH

Dla  Ni-MH o pojemnościach powyżej 1000mAh optymalny prąd ładowania to 500 mA. Nie należy rozładowywać ogniw do końca, np. wkładając do latarki i czekając aż żarówka zgaśnie. Spadek napięcia w ogniwie poniżej pewnego poziomu (dla Ni-MH przyjmuje się - 0.9 Volta) powoduje takie zmiany chemiczne, które uniemożliwiają później naładowanie akumulatora do pełnej, deklarowanej pojemności.


 Efekt ładowania akumulatorków zbyt dużym prądem :)

Akumulatorki nowe zyskują pełną sprawność koło trzeciego cyklu ładowania, tzn. 3 razy naładować do pełna i całkowicie rozładować w urządzeniu o dużym poborze prądu (np. w lampie błyskowej). Dopiero po takich pełnych cyklach ogniwa zyskują deklarowaną pojemność. Co kilkanaście ładowań powinno się akumulatorki w ładowarce odświeżyć.
Pozostawione na dłużej nie używane ogniwa Ni-MH ulegają samo-rozładowaniu, efekt ten daje się mocno odczuć już po miesiącu.
Nowe elektroniczne ładowarki impulsowe z kontrolą prądu ładowania przeważnie posiadają opcję Refresh. Po jej uaktywnieniu akumulatorki są najpierw rozładowywane do bezpiecznego minimum a potem ładowane do pełna. Generalnie zawsze powinno się rozładowywać akumulatorki do takiego momentu, w którym nasze urządzenie nie jest w stanie się włączyć.  Dzięki takim zabiegom, dobrze traktowane akumulatorki powinny działać poprawnie nawet przez kilka lat.

sobota, 2 lipca 2011

Preskaler

Preskaler - opis popularnych dzielników częstotliwości.

Oznaczenie     Fmax       Podział
MB506         2,5 GHz      256
SP8704        1,0 GHz      128 lub 64
MC12058     1,1 GHz      256
SAB6456     1,1 GHz       256 lub 64
SA701D       1,1 GHz      129
MC12026     1,1 GHz      8 lub 16

poniedziałek, 13 grudnia 2010

Miernik częstotliwości

Tani i prosty wszechstronny miernik częstotliwości.


Jest to miernik częstotliwości, który wykonałem jako dodatkowy miernik w warsztacie, jest to proste i tanie rozwiązanie, rezygnując z kwarcu 4MHz a zastępując go porządnym stabilnym generatorem, miernik ma przyzwoite parametry jak na zainwestowane kilkadziesiąt złotych.

Wejście A:
Częstotliwość: 5Hz do 30Mhz
Czułość: ~30mV
Rezystancja wejścia: 1Mohm
Rozdzielczość: +-1Hz

Wejście B:
Częstotliwość: 20Mhz do 1300Mhz
Czułość: ~10mV
Rezystancja wejścia: 50ohm
Rozdzielczość: +-100Hz

Wejście C:
Czas 0 do 999s
Sygnał: TTL
Rozdzielczość: 1us




Schemat miernika częstotliwości PIC16F84 z prescalerem /64.

Dokładny opis budowy wraz z oprogramowaniem znajdziemy - http://svetelektro.com

  Wytrawiona płytka PCB miernika 1300MHz


Zmontowany miernik bez obudowy.
Gotowy miernik częstotliwości z wmontowanym akumulatorem.

Jak widać miernik dobrze radzi sobie dobrze i z niskimi częstotliwości pracy :)

Spis elementów
R1,R2,R4,R9 - 10kohm
R3 - 470ohm
R5,R7,R10,R12,R14 - 1kohm
R8 - 56kohm
R11,R13 - 1Mohm
R15 - 100kohm
P1 - 10kohm
C1 - 100nF
C2 - 47uF
C3,C4,C5,C7,C12,C13 - 1nF
C6 - 47pF
C8,C9 - 20pF
C10 - 47uF
C10 - 100pF
C14 - 100uF
Wyświetlacz LCD 16x1
D1,D2,D3,D4 - 1N4148
D5,D6 - BAT41
Q1 - BFR90 (najlepsze rezultaty osiągnąłem stosując bf199)
Q2 - KF517 (BC557)
Q3 - BF245
U1 - PIC16F84
U2 - 74HC4053
U3 - SAB6456
U4 - 78L05
X1 - 4MHz

Aby uzyskać lepszą stabilność należy X1 zastąpić dobrym generatorem TCXO.

wtorek, 12 października 2010

Programator Atmel AVR

Programator mikrokontrolerów Atmel AVR - RS232.

Jest to programator pracujący poprawnie z darmowym oprogramowaniem PonyProg. Koszt wykonania jest bardzo niski (kilkanaście zeciszy), jest bardzo skuteczny, wymaga jednak posiadania portu COM. Programator nie działa z tanimi badziewnymi konwerterami USB/RS232.



 Zmontowany programator AVR RS232


Materiały niezbędne do budowy programatora należy pobrać z linku -

Ponyprog Circuit for ATMEL'S AVR