A következő címkéjű bejegyzések mutatása: MCU. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: MCU. Összes bejegyzés megjelenítése

2015. április 6., hétfő

CNC Motor meghajtó 3.

Az utolsó CNC Motor meghajtóról szóló bejegyzésem óta a szabadidőm jelentős részét a mikrovezérlő panelel és annak a programozásával töltöttem.
Két nappal ezelőtt végre összekötöttem a teljesítményelektronikát a vezérlővel. A szerkezet azonnal elindult, de sajnos a fordulatszámmérés teljesen használhatatlan volt.
Némi próbálkozás után kiderült, hogy a bejövő négyszögjel élei körül keskeny impulzusok vannak amik tnkreteszik a mérést.
A használt Nuvoton uC képes az időzítő capture bemenetén "prellmentesíteni". Ennek a lehetőségnek a hozzáadása úgy néz ki, megoldotta a problémát.



Ma már látom a project végét. Megpróbálom összeszedni a hátralévő teendőket:
  • Tesztelni és hangolni a PIDvezérlőt
  • Kipróbálni a hozzáadott plusz bemeneti tápszűrőt
  • Kipróbálni a plusz tápszűrőt a motornál
  • Kipróbálni az ötödrendű szűrőt amit a méréshez terveztem
  • Megírni és kipróbálni az áram mérést
  • Megoldani a feszültségmérést (áramkör és kód)
  • Teljesítmény kijelzés
  • Hozzáadni a Linux CNC vezérlőjel mérését (ez alapján lehet g-code-ból beállítani a fordulatszámot)
  • Tervezni egy nagy bemeneti feszültségű 3.3V-os tápegységet (a 48V-os bemeneti feszültség túl sok egy hagyományos "buck" konverter IC-nek)
  • Megtervezni a (remélhetőleg) végleges panelt az egész elektronikának
  • Kijavítani az encoder kódját (ez egy kicsit problematikus ma)
  • Kitakarítani, átstrukturálni a kódot (nem eléggé moduláris, sok megjegyzés hiányzik)

2014. február 24., hétfő

Project ötlet - Kivezérlésjelző

English

Én valahogy bolondja vagyok a LED soros (vagy VFD) sztereo kivezérlésjelzőnek. Minnél több elemből áll, annál jobb. Valamikor ifjú koromban (Mi van? Most is fiatal vagyok) akartam is építeni ilyet, vettem is hozzá égy rakás LED-et, de ez végül is csak vágyálom maradt. Akkoriban a készülékeken még volt ilyesmi. Mára valahogy ez kiment a divatból.
Pontosan tudom, hogy a szerkezet haszna nem sok. De én szeretnék egy ilyet. Hamár nekikezdek akkor mikrokontrollerrel akarom megvalósítani és nem egy nagy adag analog elektronikával.
Arra gondoltam, fogok 50 db LED-et oldalanként, multiplexálva rákötöm egy mikrokontrollerre, fogom a uC ADC-jének két bemenetét és a beolvasott információt némi átalakítás után kirakom a LED-ekre.
Ehhez még kell valami analog front-end is.
Azt gondoltam, nem csak én vagyok olyan bolond, hogy szeretnék ilyet akár külön, akár valamilyen készülékre. Ha valamikor csinálok ilyet, akkor gyártani és árulni is fogom.
Azt, hogy milyen uC legyen benne még nem döntöttem el (vagy mégis, csak nem árulom el).
A LED-ek az egy más kérdés. A panelen 3 féle lednek akarok helyet kialakítani:
1. LED sor. A Kingbright gyárt ilyesmit:


Ez egy lehetőség, viszont az ára kicsit borsos. Színtől és fényerőtől függően olyan 200-250Ft a 10 elemű darabja, így az egész szerkezet alkatrész költsége ~3000Ft körül indul
2. Egyedi téglatest alakú LEDek
Ezek az eBay-en olyan 5-10Ft darabáron beszerezhetőek
3. SMD LED
Szintén eBay, az ár is ugyanennyi, de ebből százat kézzel, egyesével beforrasztani ???

Az elképzelés az, hogy olyan panelt kéne csinálni amely mindhárom (de legalább kettő) típusra alkalmas.

2014. február 10., hétfő

Project ötlet - Iránytű

English

Az Adafruit blogban láttam egy iránytűt, ami megtetszett:


Ezzel ugyanakkor vannak bajaim. Ez számomra (mint az Arduino-s projectek jelentős része sajnos) egy félkész valami. Játéknak jó, de iránytűnek használhatatlan. Én olyat szeretnék amit a gyerekem kezébe adhatok és villoghat vele (apa csinálta), esetleg kissorozatban gyárthatok.
Továbbá nem szeretném a Neopixel LED-jeit használni.
Az elképzelés a következő:
Fogok 120 db 0603-as LED-et (mondjuk kéket és pirosat) elhelyezem egy kerek panelen körben két sorban. A kékből egy kivétellel az összes világít, a pirosból pedig egyszerre csak egy. A panel közepére megy egy uC, esetleg valami multiplex meghajtó és a magnetometer chip. A panel aljára egy vagy több gombelem, kapcsoló. Az egész kap egy kerek SOB házat.

2013. december 14., szombat

Frekvenciamérő V2 9. - Prototipus kész

ENGLISH VERSION

Ma reggel (vagy három napja kezdtem el írni, de csak most jutottam oda, hogy befejezzem) a végére jutottam annak amit a prototípussal elterveztem.
A szerkezet működik, mér frekvenciát, periódusidőt és ez utóbbit képes frekvenciaként is kiírni, három tizedes pontossággal.
Ez már megfelel (sőt bizonyos szempontból túl is teljesíti) az ügyféligénynek.
Ez persze még nem jelenti a project végét. Megpróbálom összeszedni, hogy mi van még hátra:
Hardver:
  • A jelenlegi design-ban van egy jumper/dip switch sor ami működik ugyan, de valami nem az igazi vele, mert nem gondoltam eredetileg jól át.
  • Meg kellene oldani a későbbi bővíthetőséget. Ez elsősorban a kezelőszervekre és azok visszajelzéseire vonatkozik.
  • Meg kell nézni, hogy egy 2 timer-el rendelkező uC-vel a jelenlegi kapcsolásból (vagy annak minimális módosításával ki lehet-e hozni többet.
  • Kell hozzá tervezni némi bővítményt. Ezek akár kombinált cuccok is lehetnek: OCXO, tápegység, bemeneti jelformáló, bemeneti osztó, kezelőszerv panel visszajelzéssel
  • Meg kell tervezni a gyártásra szánt nyákot.
Szoftver:
  • Le kell kezelni a mérési tartományon kívüli állapotoka. Számláló túlcsordulása, hiányzó kapujel,  stb.
  • Periódusidő mérés fix beállítása nanosecundumra.
  • Kitöltési tényező mérése
  • Eltérő időalap kezelése (pl. külső 10MHz. Az OCXO-hoz ez kelleni fog)
  • Automatikus méréstipus váltás (alacsony frekvencián periódusidő, magas frekvencián frekvencia)
  • Több mérés átlagolásából pontosabb eredmény
  • Külső eszközök kezelése
  • A WDT+ használata a kijelző/multiplex kezelésére
Egyenlőre ennyi. Kérdés mikor tudok újra foglalkozni vele. Néhány napon belül biztosan.

2013. október 12., szombat

Windows 8.1 - Sárba tiport "szabadság"

Voltam egy Freescale által szervezett konferencián. Itt írtam is róla.
Amiről viszont nem írtam, mert csak kis kellemetlenségnek tűnt, hogy az ott adott Freedom ("szabadság" :-) ) board-ot nem tudtam életre lehelni és az OpenSDA debug firmware-t az asztalszomszédom gépén raktuk fel rá. Azt gondoltam biztos elszúrtam valamit.
Azóta kiderült, hogy nem én vagyok a ludas, hanem ebbe más is belefutott:
http://mcuoneclipse.com/2013/10/12/frdm-board-bootloader-fails-with-windows-8-1-preview/
Szóval a Win8.1 és az OpenSDA nem szeretik egymást. :-(
Megoldás egyenlőre nincs, így a fejlesztős gépem upgrade-je kérdéses.

2013. szeptember 26., csütörtök

Freescale training

Ma volt a Mariottban az egy napos Freescale Kinetis training. Kicsit konzerv, kicsit unalmas előadók, de mindenképp hasznos volt:
- Találkoztam egy rég nem látott kollégával
- Kaptam egy újabb platformot játszani
- Végre megértettem, hogy mi az értelme ennek az előreemésztett Processor Expert cuccnak. Még az is lehet, hogy használni fogom. Van benne esemény kezelés, mindez C-ban. Tiszta dotnet. :-)

A végül is előállított program nagyon tuti (persze nem jó semmire). 10 perc alatt összekattintgatni egy olyat, hogy van egy RGB LED-em ami változtatja a villogási frekvenciáját, ha egy érintősávot huzogatok a panelen és ha mindeközben a panelt térben forgatom akkor még a színét is, az nem semmi. :-)

Összességében megérte odamenni. Csináltam egy raklap képet. Itt vannak, ömlesztve:





































































2013. szeptember 18., szerda

UV Levilágító 1. (asszem)


Az UV levilágító egy viszonylag új projectem. Bővebben is írni fogok róla (legalábbis magamnak biztosan, hogy tudjam követni hol tartok vele).
Itt már volt szó róla amikor megjöttek a paneljai.




Most csak ennyi: 294 db UV LED tesztelve, beforrasztva. Huhh...

2013. július 26., péntek

Dupla Multiplex

English

A fejemben van egy rakás új elektronikai project. Ezek többsége tartalmaz valamilyen - elsősorban LEDes - kijelzőt. Már a frekvenciamérőnél is fejtörést okozott a kijelző meghajtása. Ha minimális külső alkatrésszel akarom megoldani akkor egy multiplexelt 8 digites 7 szegmenses kiejlzőhöz kell 16 I/O láb, ami problémás a kislábszámú mikrovezérlőknél. Ezen túl igényel külső alkatrészt is mert a digitek meghajtásához szükséges áramot egy mikrovezérlő tipikusan nem tudja leadni. Ennek és a megfelelő számú I/O hiányának lett a következménye, hogy egy plusz IC (74HC238), valamint 8 trnazisztor és 16 ellenállás szükséges a kijelzőhöz mint külső elem (a tranzisztorokat le lehetne cserélni darlington array-re, de csak addig amíg közös katódos kijelzőnk van, mert PNP-ben, vagy közös kollektoros NPN-ben ilyesmi nem szerezhető be).
Amint az egyik új projektemhez keresgéltem ötleteket a neten, véletlenül ráakadtam egy EDN cikkre. Ez a cikk a "double multiplexing"-ről szól. A dolog lényeg, hogy egy időpillanatban a teljes LED mátrixból csak egyetlen ledet hajtunk meg. Ezzel csökkentjük az áramkör áramfelvételét, a szükséges külső alkatrészek számát, valamint a szükséges I/O lábakat. A fenti példából kiindulva a marad 9 db ellenállás és 9 db I/O alkalmazásával megoldható a kijelző meghajtása. A kérdés, továbbiakban az, hogy milyen lesz a fényerő, valamint, hogy tudunk-e elég gyors kódot írni a villogásmentes kijelzéshez.
Meglátjuk.
Mindenképp ki akarom próbálni a dolgot, így terveztem egy teszt panelt a dologhoz (ilyen mennyiségű madzagot gyűlölök bedugdosni a breadboardba).


Hétvégén, ha sikerül össze is rakom és jöhet a tesztkód írás.