2015. február 23., hétfő

A "biztonsági" cég

Ebben a történetben meg fogom nevezni a másik felet, okulásul.
A cégünkben főnököm egy pár éve kért egy Code Signing típusú tanusítványt a Comodo nevű bagázstól. Ez ugye egy jó nevű tűzfal gyártó és CA.
A tanusítvány idő közben lejárt, de a kutya se használta. A mi cégünknél sem múlt el az idő nyomtalanul. A regisztrációként megadott telefonszámunk már nem él.
Most szükségünk lett újra a fent nevezett tanusítványra. Főnököm a meglévő Comodo-s regisztrációjával kért egy újat.
Megkapta.
Pontosabban elkészült, de kapott egy "Awaiting Validation" státuszt. Ebben a státuszban van február 7. óta. Csütörtökön átadta nekem a dolgot, hogy intézzem el.
Kicsit nyomoztam és az derült ki, hogy ha írok nekik akkor megmondják, miért van ez a státusz.

A beszélgetésünk dióhélyban (sok levélből, nem pontos fordítás):
K: Miért van "Awaiting Validation" státuszban
V: Mert majd akkor kerül ki belőle, ha a korábban megadott számon tudtak a főnökömmel (akinek a neve meg van adva) beszélni.
K: Mi a teendőm ha az a szám már nem él.
V: Akkor olyan számon tudnak hívni ami szerepel a megadott publikus Észt (Észt a cégünk alapvetően) online telefonkönyvek valamelyikében (és megadott két site-ot ami a telefonkönyv szolgáltatók listája)
Megnéztem a site-okat, az egyiken találtam Add gombot. Kitöltöttem a cég adatait. Gondoltam majd a telefonkönyvszolgáltató ellenőrzi a menedzsmenttel. Addig is megnéztem mi van a Whois-ban. Ott a jó, új telefonszámunkat találtam.
K: A Whois-ban jók az adatok. Azt nem lehetne használni a validációra?
V: Nem. Az nem felel meg a mi validációs processzünknek.
Ezek után minden ellenőrzés nélkül a beírást követő fél óra elteltével megjelentek az adataink az online telefonkönyvben.
K: Már latom az adatainkat itt és itt. Ez megfelel?
V: Igen, akkor azon a számon fogjuk hívni az urat.

Hogy az a jó büdös....
Tehát, az azonosított biztonságilag ellenőrzött, belépés nélkül nem módosítható Whois nem jó, egy random telefonkönyves csapat ahova azt küldök be amit akarok meg jó?
Ezek után bízzunk meg az SSL tanusítványok adattartalmában? Hmmm.

U.I.: Tévedések elkerülése végett. Nem a titkosító kulcs biztonságát kritizálom!!!

2015. február 21., szombat

CNC Motor meghajtó 1.

Hosszú idővel ezelőtt elkezdtem dolgozni a CNC maróm motorvezérlésén. Rengeteg kísérlet eredményeként gyakorlatilag használhatatlanná vált a szerkezet. Ma eredményként van egy halott 230W-os motorom és egy halott 600W-os kapcsolóüzemű tápegységem. A tápegység doboza darabokra szedve hever a műhelyben. Tehát a dolog nem áll jól.
Egy pár hónappal ezelőtt nekikezdtem egy projectnek, hogy újraélesszem a szerkezetet.
Most van a kezemben egy új 400W-os motor és egy új tápegység. Az egyetlen dolog ami hiányzik a vezérlőelektronika a kettő közée.
Amikor nekiálltam eszembe se jutott az eredeti elektronikát használni. Az egy használhatatlan szemét.
A kezdetek kezdetén megfogalmaztam néhány célt:
  1. A motor be és kikapcsolása szoftverből.
  2. Sebességszabályozás szoftverből (g kódokkal)
  3. Zárthurkú szabályozás megvalósítása oly módon, hogy a fordulatszám mérése kizárólag a motor áramának és feszültségének mérésével történjen. Nem akartam használni semmilyen optikai jeladót, hall elemet, vagy hasonlót.
  4. Legyen valami kijelző ami képes a fordulatszámot mutatni.
Sajnos ezt a projectet nem dokumentáltam eddig olyan mélyen mint a korábbiakat, de most írok róla néhány gondolatot miután elértem néhány mérföldkövet.
Tehát:
1. Mérföldkő - A motor fordulatszámmérése
Ha a motorral sorbakötök egy diódát az egy pillanatra le fog zárni minden egyes kommutátor szegmens váltásnál. Ez a motor mágneses terében bekövetkező hirtelen változás miatt történik. Amikor ez bekövetkezik a motor tekercse a tápforrásal szemben dolgozik, ezzel egy negatív impulzust hozva létre. (bocsi a megfogalmazásért. Az ide vonatkozó fizika oktatásom már régen volt). Ez az impulzus mérhető:


Rendben, tehát a fenti impulzus frekvenciáját mérni tudom, de nem akartam jelformázás nélkül egy mikrokontroller bemenetére vezetni.
Először is a jelet leválasztottam egy 1uF-os kondenzátorral, meghagyva csak a váltakozóáramú komponenst. Ezek után kiszűrtem a maximális frekvencia feletti komponenst.
Itt álljunk meg egy pillanatra. Mi is itt a maximális frekvencia? A motornak van kb. egy maximum 15000-es percenkénti fordulatszáma. Hogy legyen némi mozgásterem a maximális fordulatszámot 30000-re választottam meg. Ezt el kell osztanunk 60-al, hogy megkapjuk a másodpercenkénti fordulatszámot és meg kell szorozni 12-vel ami a kommutátor szegmenseinek száma. Ez 6kHz-et ad eredményül. Minden ami e fölött van, kiszűrhető. A mevalósított szűrőáramkör végési frekvenciája kb. 7.5kHz:


Ez a szűrés feltétlenül szükséges a kapcsolási zaj miatt ami a teljesítményszabályozóból jön (a rendszer továbbfejlesztése során próbálom ezt a zajt minnél inkább eltüntetni a forrásoldalon).
A szűrt jelet bevezettem egy MCP6002-as műveleti erősítőbe miután transzponáltam fél tápfeszültségre (ez esetünkben 2.5V). A műveleti erősítő Schmitt triggerként került felhasználásra. A komparátor hiszterézise kb. 35mV-ra lett beállítva. Ez elég nagy ahhoz, hogy a fennmaradó zajt kiszűrje, ugyanakkor elég kicsi ahhoz, hogy a valódi 200mV körüli jelet mindenképp megfogja. Végeredményként a műveleti erősítő kimenetén megjelenő stabil négyszögjel frekvenciája arányos a motor fordulatszámával.
2. Mérföldkő - MOSFET meghajtó (teljesítményszabályozó)
Szükségem volt egy MOSFET meghajtóra a motorhoz. Első ránézésre ez nagyon egyszerűnek tűnt, de végül is egy olyan egyenfeszültségű meghajtásra van szükségem ami a lehető legkissebb zajt produkálja a fenti áramkörnek és mindenképp tápoldali kapcsolónak kell lennie. A végülis elkészült áramkör jobban hasonlít egy "buck" kapcsolóüzemű tápegységre mint egy MOSFET kapcsolóra.
Egy P csatornás MOSFET-et választottam kapcsolóelemként. Azért esett a választásom egy P csatornás eszközre mert a szükséges maximális áram (kb. 8.5A) könnyen kezelhető egy relatíve olcsó MOSFET-el és így nincs szükség valami trükkös áramkörre, vagy specializált IC-re az N csatornás MOSFET meghajtására a tápoldalon.
Az áramkör működési elve:
Amikor a vezérlő PWM jel logikai 1 (5V) lesz a Q2-es tranzisztor elkezd vezetni és lehúzza a MOSFET gate-jét 10V-al a 48V-os tápfeszültség alá (ezt a feszültésget a D3 zener korlátozza) és a FET elkezd vezetni. Az 50mA ami itt maximálisan folyahat elég ahhoz hogy megfelelő sebességgel töltse fel a FET gate kapacitását. Ugyanezzel egyidőben a Q1 tranzisztor bázisát lehúzzuk ezzel a Q1 kikapcsolt állapotba kerül (a D2-es dióda azt a célt szolgálja, hogy megvédje a Q1 bázis-emmiter pn átmenetét, hogy az a megengedettnél nagyobb negatív feszültséget kapjon). Amikor a PWM jel logikai 0-ra vált (0V) a Q2 kikapcsol ezzel magasba ngedve a FET gate-jét, de a FET gate kapacitása miatt az nem kapcsolna ki elég gyorsan. Itt jön elő a Q2 szerepe. Amikor a Q1 megszűnik vezetni a Q2 bázisa az R1-D2-n keresztül felhúzásra kerül. Ettől a Q2 kinyit, rövidre zárva ezzel a FET gate kapacitását.
A MOSFET által generált nagyenergiájú négyszügjel-et bevezetjük az L4-C8-D4 "buck" hálózatba ami a PWM jel kitöltési tényezőjével arányos egyenfeszültéséget állít elő.

Még mindíg rengeteg munka maradt hátra, de itt van az első megvalósított működő model:

 
És íme a kapcsolási rajz: