Spamassassin pluginas FromTo

Pradėjo mano serveriuką atakuoti spamas kuris siūlo pasiilginti savo šlangą keliais centimetrais. Kiek žiūrėjau, pats spaminis tekstas skiriasi kiekviename laiške. Pilnai skiriasi, o ir tiesioginio “penis enlargement” nėra paminėta. Viskas parašytas alegorijom- tai smauglys, tai gyvatė, tai šlanga, tai gyvis.. ir panašiai. Tiesiogiai spamassassin taisyklės kaip ir nėra galimybės parašyti.Tačiau yra vienas bendras dalykas tuose laiškuose- gavėjas ir siuntėjas sutampa. T.y. “FROM:” ir “TO:” laukelis tas pats. Kaip ir laiškai rašyti sau pačiam.
Pasiknaisiojes internete nieko gero neradau. Todėl pasinaudojau paprasto plugino source code ir parašiau pluginą, kuris paprasčiausiai sulygina tuos du laukelius.

Pluginas ir konfiguracinė eilutė šiame ZIP faile: FromTo Spamassassin plugin

Kadangi kodas labai paprastas, bet kas gali pasimodifikuoti source, kad būtų atliekamas net tik “FROM” = “TO” tikrinimas, bet ir “REPLYTO” ir koks nors “envelope”…
Nu ir standartinė atmazkė: use at your own risk.

ATMEGA USB 18: Mikro, 2 kanalų, USB oscilografas

Užbridau internete paprastutį projektą susijusi su ATMEGA procesoriukais, USB ir oscilografais.
Štai šis puslapis: http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html

Autorius naudoja ATTINY45-20, tačiau aš tokių čipukų neturiu ir nenoriu užsakinėti. Man buvo žymiai įdomiau pritaikyti programinę įranga prie mano turimos “hardwarės”.

Projekto galutinis rezultatas: dviejų kanalų, labai lėtas oscilografas. Jis atnaujina viso ekrano informaciją per kokias 4 sekundes. Įėjimo įtampa iki 2.5V (jei perprogramuoti ADC, galima padidinti jautrumą, jei naudoti direfencialinį įėjimą)
USB 1Ch osciloscope
(tai mano tikro oscilografo skleistinės pjūklas, ~500ms (0.5s) intervalas, per raudoną kanalą. Mėlynas kanalas pajungtas į žemę)

Schema labai paprasta: ATMEGA16 paleista su 12MHz kvarcu. Maitinama iš USB. USB DATA- laidelis per rezistoriųdaliklį pajungtas prie MCU D1 kojos. DATA+ pajungtas prie D2/INT0 kojos. Viskas, daugiau detalių nėra. Rezisotorių reikšmes ir pajungimo subtilybės tokios pat, kai ir kituose ATMEGA USB temos schemose. Tik senoje schemoje panaudotas kitas pinas. Čia labiau priklauso nuo norų ir turimos PCB plokštės. Šiuo atveju panaudoja pre-ATMEGA-USB laikotarpio PCB, kuri yra netobula ir nepublikuota. Tačiau gaila ją išmesti. 🙂

Programinė įranga: source (ATMEGOS source, Windows EXE).

Windowsams USB draiverių nereikia. Tai standartinis HID įrenginys.

O va, kam šitas aparačiukas gali būti panaudotas, aš nežinau. Su tokių skleistinės dažniu tai tik žmogaus pulsą stebėti. Labai gaila, kad nėra Windows programos source code…

Buitinė spektrografija

Besiblaškydamas internete, radau keletą straipsnių apie spektroskopiją su CD diskais. Veikimo principas labai paprastas- į kartoninę dėžutę kampu įsmeigiamas kompaktinis diskas, kitame šone padaromas plyšiukas šviesai, o per dėžutės galą žiurima ar daromos nuotraukos. Spektrai nėra labai tobuli, bet kaip iliustracijos tinkamos. Štai kelios nuotraukos pažymėtos raidėmis A, B, C ir D.
Spektrogramos
Spektrogramos

Pabandykit atspėti, kokių šviesos šaltinių šios vaivorykštės. O dabar spauskite kad pamatyti atsakymą: Continue reading →

Išsibarstė pinigėliai…

Prisipirkom užsieniuose visokiausių niekučių dovanom. O štai valiutų kursai vaikšto aukštyn žemyn… O ir VISA sistema veikia taip, kad iš pradžių rezervuoja, poto tik nuskaito pinigus. Ir tu manipuliacijų metų apturimos negatyvios sumos nekreditinėse sąskaitose.

Issibarste pinigeliai

Ala, kad niekada dar nėra buve, kad po visų šitų “manipuliacijų” bankas aptūrėtų nuostuolį. Kažkodėl “minuse” būnų aš pats. Pats abidniausias minusas, kai perki ką nors su kortele, pinigus nuskaito, a poto pardavėjas neparduoda ir grąžina pinigus. Negana to, kad pinigėliai būna užšaldyti kone mėnesiui, bet ir dėl to, kad atliekama dviguba konvertacija visada nepalankiu kursu, pinigėlių grįžta visada mažiau 🙂

Su Naujais Metais!

Pagaliau atėjo tikra žiema.
Sveikinu skaitytojus su naujais metais. Linkiu, kad elektronikos projektai lengvai konstruotusi ir nebūtu mįslingų melsvų dūmelių…

Va, kokia bėda, kai namas turi šlaitinį stogą- nuo stogo nukrito lavina ir pilnai užklijavo mašiniuką:

auto po sniegu

sniegas, lavina

Tingiu atkasinėti. Pirmadienį, kai reikės eiti į darbą, bandysim išvažiuoti sava eiga… 🙂

LVDS duomenų perdavimas per UTP LAN kabelį

Pradėjau paišyti PCB skirta pajungti mano RGB matrica(s) prie kitų įrenginių ir nusprendžiau, prieš darant eksperimentus kiek paeksperimentuoti. Tada pačiupau senesnę savadarbę plokštę su Altera Cyclone 1 minimaliu čipuku su 100 kojų. Gerai, kad neskaičiau datasheeto, nes vėliau išskaičiau, kad 100 kojų pirmasis ciklonas nepalaiko pilnaverčio LVDS… Bet kažkas gavosi. Apie LVDS subtilybes nieko nežinojau, todėl teko pradėti nuo nulio. Ir dar viena bėda, kad reikia konstruoti du prietaisus- siustuvą ir imtuvą. Ir neaišku kurioje vietoje yra klaidos 🙂

Iš pradžių bandžiau daryti be PLL, nes jų trūkumas šioks toks… O štai vizardai kai užsispyre neleidžia naudoti mažų greičių. Iš pradžių bandžiau 100 megabitų greitį, bet gavosi tik su 200 megabitų.

Pats primityviausias siustuvas. Tikrai jo PCB nepritaikyta LVDS signalų siuntinėjimui. Toliau eina apie 2 metrai mėlyno, lanksčio UTP lan kabelio…
LVDS per UTP LAN kabeli

O čia paprasta iliustracija. Paleidžiam abu “aparatus” ir ištraukiu ir vėl ikišu LAN kištuką:

LVDS per UTP LAN kabeli
LVDS per UTP LAN kabeli
LVDS per UTP LAN kabeli

… ir kai atsigauna vaizdas, tada galiu ramiai per JTAG keisti “siuntėjo” RAM turinį ir duomenys puikiausiai persiduoda per tą kabelį.

LVDS per UTP LAN kabeli
(apačioje vaizdas iškraipytas todėl, kad pas siuntėją mažai atminties)

O šita sinchronizacijos bėda kol kas man nesuprantama.

Truputi techninės informacijos: Siuntėjas Cyclone EP1C3, taktinis dažnis 25MHz, toks pats dažnis ir persiunčiamas per vieną LVDS porą (3V). Siuntėjo viduje stovi dviejų kanalų x8 serializeris. Gautusi kaip ir 16 duomenų bitų. Tačiau aš duomenim naudoju tik 8 bitus, o likusius aštuonis naudoju tik adreso sinchronizacijai- paprasčiausiai siunčiu RESET signalą.
Imtuvas pasiima 25MHz taktinį signalą, susimaitina į savo PLL ir priima duomenis.

Ir šiaip šitas “negeras” rodymas kažkaip susijes su bitų seka. Nes transliuojant B/W ($00 ir $FF) vaizdą “kokybė” žymiai dažniau būna gera ir taškeliai visada užsidega savo vietoje.

Video kai kaišiojamas UTP kištukas:

Jau radau vieną klaidą mano naujojoje PCB. Tiesa, ji nėra esminė.

Reguliuojamas maitblokis (flyback)

Užduotis: padaryti reguliuojama stabilizuota maitinimo šaltinį, kuris būtų ekonomiškas, mažiukas, lengvai atkartojamas, saugus katastrofos metu, nebijotu trumpujų jungimų.
Priešistorė: man reikėjo padaryti maitblokį savo laboratoriniui maitblokiui (workbench power suply). Kaip pagrindinį šaltinį aš panaudojau pramoninį impulsinį maitblokį (kad ir ATX), todėl “kitokios” įtampos turi būti gaminamos papildomom priemonėm- impulsiniu stabilizatoriu. Kodėl impulsinis- todėl, kad nereikia didelių radiatorių.

Kaip pagrindą panaudojau National Semiconductors LM2585-ADJ mikroschemą. Ją radau kažkokiam prietaise. Tai kiek primityvokas ir senoviškas impulsinis stabilizatorius. Jo vidinis raktas gali junginėti iki 3A srovę ir max 65V impulsus. Mikroschemą galima maitinti nuo 4V iki 40V. Kuo daugiau maitinimo įtampos, tuo daugiau amperų bus galima išspausti. Svarbu atkreipti į tuos 65V.

Tipinė schema:
Flyback Regulator

Jei maitinsim prietaisą nuo 5V ir nekelsim įtampos, raudonai pažymėtų detalių galime ir nemontuoti.
Trafukas suvyniotas ant žiedo, kuri radau kažkokiam ATX maitblokyje. Jei svarbu jo spalva sviesiai salotinė, išorinis diametras 25mm. Jei kartosit schemą, nenaudokit labai mažiukų žiedelių- juose kaupiama energija ir geriau tas žiedas neužsisotintu. Pirminės apvijos (tiesa, suvyniojau dvigubu laidu, transformacijos koeficientas 1:1) apie 60uH. Jei išėjimo įtampa apie 5V tiks 47uH, o jei dar mažiau, induktyvumas kogero tiks dar mažesnis. Atkreipkit dėmesį į apvijų pradžių pajungimą.
Cin talpa 3x470uF+10uF keramika, Cout- 1000uF+10uF keramika+kažkiek tantalas. Išėjimo diodas S10S40 (40V, 5+5A, panaudojau tik vieną puselę. Beja jei rasit kur parašyta, kad 10A, tai čia reklaminis triukas, čia rašomas viso prietaiso suminis amperažas). Diodo įtampa kiek mažoka – peak reverse RMS tik 28V, bijau bus pykšt. Reikės įdėti ką nors geresnio.

Flyback Regulator
Mikroschema su nedideliu radiatorium. Trafukas priklijuotas prie PCB plokštės su termo klijais (nesugalvokit tvirtinti su varžtu iš geležies!)
Flyback Regulator
Tas didelis diodas tai “iškroviklis” 5KP58 (15000W Transient Voltage Suppression, TVS). Jei įtampa ant šio diodo viršija 58V jis atsidaro ir nukrauna energijos perteklių. Tai viena iš detalių pažymėtu raudonai. Kita, raudonai pažymėta detalė, tai paprasčiausias 3A šotki diodas- jis suvalgo neigiamus impulsus. Šios detalės apsaugos nuo mikroschemos mirties.
Baltas rezistorius išeinantis iš paveikslėlio tai tik apkrova testavimo metu. Eksperimento metu išėjimo įtampa kito nuo 1.23V iki kokių 25V (daugiau nekėliau, nes mano apkrovos rezistorius labai kaito ir smirdėjo). Trimeriukas laikinai pritvirtintas prie PCB (geltona detalė), vėliau ekranuotu trumpu laideliu bus išvestas į išore.

Saugumas: datasheetas sako, kad tokia schema nebijo trumpųjų jungimų (nebandžiau), o jei staiga mikroschema sprogs- transformatorius pilnai izoliuoja apkrovą nuo pirminio energijos šaltinio. Kitos topologijos schemos nėra saugios- turėjau bėda su viena schema, kai reguliavimo tranzas nuo karščio susitrumpino ir viskas kas buvo prieš reguliavimą pateko į prijungtą daikčiuką. Buvo daug dumų… 🙂

Recycle Rating: 100%!- visos detalės second hand.

Mygtukai analoginiam įėjime

Viskas prasidėjo nuo to, kad asmuo kodiniu vardu “Miltukų Meistras” sudaužė vieną Kinietišką prietaisiuką, o aš ji norėjau dar panagrinėti… Čia aišku nepalyginamas dalykas su žmogaus kodiniu vardu “Taupytis” poelgiu, kai norėdamas pažiūrėti kokios spalvos stiklas, jis atsipjovė su kampiniu šlifuokliu plazminio teliko ekrano gabalą… Dar veikiančio teliko…

O dabar esmė- daugelyje prietaisu yra grupės mygtukų. Dažnai mygtukai būna ir megėjiškuose prietaisuose su mikrokontroleriais (MCU). Tam tikslui naudojamos vertingos mikroprocesoriuko kojos. Jei grupė mygtukų, jie jungiami į matricą ir naudojamas dinaminis klavietūros skanavimas. Tuo tarpu, kieme jau 21 amžius ir daugelis MCU turi analoginius įėjimus. Ir daugelyje pramoninių prietaisų (magnetolos, CD grotuvai, radiojos, MP3 grotuvėliai, LCD monitoriai, elektroniniai laikrodžiai) jau seniai naudoja analoginį mygtukų valdyma. Minėtas sudaužytas prietaisas turėjo štai tokį mygtukų pajungimą:


(čia realaus prietaiso schema. Kodėl parinkti tokie rezistoriai aš nežinau)

Kaip matome, šeši mygtukai pajungti prie vienos MCU kojos. Šiaip prietaisiukas turi 3 analoginius valdymo įėjimus. 3 duomenų laidais pajungta 16 mygtukų. Naudojant grynai skaitmeninį pajungimą reikėtu žymiai daugiau MCU laidelių ir daryti ganėtinai sudėtingą ir resursų naudojantį algoritmą.

Pabandom suvesti skaitmeninio ir analoginio valdymo pliusus ir minusus (šios konkrečios schemos):

Analoginis valdymas:
(+) vienas MCU laidas
(+) lengva pajungti kiek toliau išneštą klavietūrą (rezistorius lengva prilituoti prie mygtukų)
(+) lengvas softas- analoginis signalas gali generuoti pertraukimą arba galima viena komandą nuskaityti klavietūros būklę.
(+)nėra kontaktų “kibirkščiavimo”
(-) reikia ADC
(-) reikia skirtingų rezistorių 🙂
(-) negalima daryti akordų (tiesa galima panaudoti binarinį kodavima su 2^n kodavimu)
(-) reikalingas Vref (tiesa jis gi pas MCU būna)
(-) galbūt jautrus trukdžiams? Ar blogiems mygtukams?

Skaitmeninis valdymas:
(+) yprastas
(+) daug softo
(+) galima akordai (nevisada)
(-) reikia daugiau MCU kojyčių
(-) reikia kovoti su kontaktų drebėjimu
(-) daug laidų iki klavietūros
(-) softas ėda daug MCU laiko, jei reikia dinaminio skanavimo

Malonu būtų išgirsti mintis ir komentarus.

Kondensatorių ESR ir jo matavimas

Vis plačiau šiuolaikinėje technikoje naudojant impulsines schemas, padažnėjo aparatūros gedimų dėl prastos kokybės kondensatorių. Tai kad ir jau seniau aprašyti kompiuterių maitblokių kondikų išsiputimas- tačiau tai jau fatališkas gedimo rezultatas. Jei kondikai būtų pagaminti tvirčiau, o elektrolitas ne toks terliojantis, tai kompiuterio pagrindinė plokštė neveiks, o išoriška apžiūra neduos rezultatų. Beja, tai dažnai ir atsitinka. Kartais remontuojant pakeičiami tie kondikai, viskas aplinkui sveika, o įrenginys nestabiliai ar blogai veikia. Kas gi kaltas? Ogi kondensatorių vidinė varža (ESR – equivalent series resistance).

Va, realaus kondensatorio ekvivalentė schema su idealiom detalėm:

ESR
Tipinis kondensatorius susideda iš pačios talpos C1, parazitinio induktyvumo L1 (kad ir kojelių ilgis ir vidiniai sujungimai) ir dviejų parazitinių varžų R1 ir R2. Kuo induktyvumas L1 ir varža R1 mažesni, o varža R2 didesnė, tuo geresnis kondikas. R2 varžą, dar vadinama nuotekio varžą, galima išmatuoti su paprastu testerių. Tuo tarpu, L1 (varža X1) ir R1 labai sunku išmatuoti su paprastom priemonėm. Tam reikalui naudojamas kintamos srovės ometras. Matavimo dažnis imamas toks, kad C1 neturėtų įtakos matavimui. Kaip ir standartas, naudojamas 100 kHz dažnis.

Nutariau per savaitgalį pasidaryti tokį matuoklį. Internetas pilnas įvairiausių schemų. Pradėjau daryti vieną gana sudėtingą variantą, bet dėl padoraus galvanometro trūkumo ir kažkokių nesklandumų su detektorium atidėjau į šalį. Kiek pasinagrinėjęs internetą, pasiskaičiau keletą straipsnių apie prietaisų principus. Nutariau daryti kaip savo kitą variantą.

ESR matuoklis

Čia labai egzotiška detalė panaudota ir šiaip prietaisas neturi didelio stabilumo, todėl schema nepublikuosiu. Manau, pasidarysiu geresnį variantą. Tačiau šis prietaisiukas tiks kaip iliustracija. Prietaiso veikimas labai paprastas- su CMOS mikroschema ir ta stikline “lempute” (ten 100kHz kvarcas) padarytas generatorius. Šis generatorius valdo galingą mosfetą. Mosfetas, savo ruožtu, duodą 100kHz į nedidelio transformatoriaus pirminę apviją. Trafuko antrinė apvija per detektorinį diodą pajungta prie indikatoriaus. Testuojami kondensatoriai jungiami prie pirminės apvijos ir ją šuntuoja. Jei kondiko varža didelė tai trafas netrugdomai dirba. Jei kondikas geras, jis šuntuoja trafą ir antrinėje nėra įtampos.
Va, keletas eksperimentų. Reikėtų sugraduoti indikatorių naudojant mažas varžas, bet čia tik eksperimentai su gana netobulu prietaisu… Beja, ant prietaiso “čiuptuvų” labai menka įtampa ir kondikus galima tikrinti neišlitavūs iš schemos…

ESR matavimas
Pirma eilutė: prietaiso “kalibravimas”- begalybė ir nulis omu.
Antra eilutė: geri kondensatoriai A ir B.
Trečia eilutė: itartinas kondikas C ir tikrai blogas kondikas D.
(visi kondikai >400μF elektrolitai, naudoti, išimti iš įvairios aparatūros. Visų talpos matuojant su “talpomačių” daugmaž atitinka markiruotę ant korpuso).