2015. április 30., csütörtök

Freescale oktatás

Újra Freescale mikrokontroller oktatás volt Budapesten. Ez volt a harmadik ilyen amin részt vettem az elmúlt két évben.
Úgy néz ki én voltam az egyik előadó kedvence (voltak válaszaim a halgatóságnak feltett kérdésekre és voltak kellemetlen kérdéseim):
 

2015. április 24., péntek

CNC Motor meghajtó 4. - MOSFET meghajtó újratervezve

Sokat nézelődtem mielőtt megterveztem a jelenlegi motorvezérlő áramkört. Valami olyat akartam ami olcsó, valamit amiből tudok tanulni.
A jelenlegi működik, de azon gondolkoztam, hogyan kapcsolhatna egy kicsit gyorsabban. Amikor a jelenlegit terveztem, sokat kisérleteztem a breadboardon, de nem használtam az ltspice-t, szimulációra.
Amikor elkészült, szükség volt némi plusz hekkelésre, hogy csökkentsem a zajt, ezzel elérve, hogy kicsit tisztább mérőjelet kapjak.
Most az a célom, hogy a gyorsabb kapcsolással csökkentsem a MOSFET hőtermelését.
Először lefuttatam egy szimulációt az eredeti áramkörrel:

Az áramkör:
És az eredmény:
Ahogy látszik az idők a következőek:
Felfutás: ~500ns
Lecsengés: ~500ns

2-3 hét folyamatos (már amennyi szabadidőm volt - nem sok mostanában) kisérletezéssel, alkatrészcserével, különböző ötletek kipróbálásával, végül is sikerült egy kicsit jobbat összehoznom.
Az áramkör:

Az eredmény:
És az idők:

Felfutás: ~30ns
Lecsengés: ~100ns

Sokkal jobb.
A fentiek alapján, de kicsit más áramkört terveztem. Ennek az az oka, hogy a házi nyák gyártáshoz jobban szeretem a hagyományos áramköröket használni és majd a végleges rendelt nyákhoz fogok SMD-t használni.

Az áramkör:
A nyák terv:
Remélem a hétvégén sikerül megépíteni.

2015. április 7., kedd

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)

2015. április 5., vasárnap

Fejlesztőkörnyezet - LightUp

A történet nagyjából két éve kezdődődik.
Ahogy a fiam egyre nagyobb lesz (most 8 éves), azon gondolkozom, hogyan lehetne elektronikát, programozást, vagy mindkettőt tanítani neki. Ahogy körülnéztem megláttam valamit a Kickstarteren amit LightUp-nak hívnak.

http://www.lightup.io

Azonnal beleugrottam, remélve, hogy 2013 karácsonyára kezembe kaphatom a készletet.
Ez nem történt meg. Hosszú várakozás után tavaly ősszel végre a kezembe kaptam. Így 2014-es karácsonyi ajándék lett belőle.
A fiam el kezdett játszani az elektronikai részével, de a mikrovezérlő nem került a látókörébe. Elérte azt a pontot, hogy minden feladatot megcsinált ami az iOS app-ban benne volt (ez sajnos nem túl sok), ezek után megpróbáltam beüzemelni a mikrovezérlőt.
Ez kb. két hónapja történt és egy masszív bukás lett belőle. Két bajom volt a cuccal. Az egyik elméleti. Nem hiszem, hogy a legjobb tanuló programozási nyelv egy 8 évesnek a C++, mégha egy olyan egyszerüsített verzióról is van szó, mint az Arduino-é. A második a meghajtó program.
A LightUp szoros partnerséget ápol a codebender-rel, hogy a kithez fejlesztőkörnyezetet nyújtson. A Codebender semmi más mint egy online Arduino IDE. Ők adnak egy meghajtó készletet ami kb. minden létező Arduino kompatibilis eszközhöz tartalmaz meghajtót. De ez a csomag nem működik azzal a LightUp-es vezérlővel ami az asztalomon van.
Ezen a ponton félreraktam az egészet.
Egy pár napja láttam, hogy a fiam újra el kezdett játszani a készlettel. Ez egy jó indikátor volt számomra, hogy újra némi munkát rakjak a dolog összerakásába.Felmentem a codebender oldalára, letöltöttem a meghajtót, feltelepítettem, és az eredmény ugyanaz lett mint két hónapja:
Ezúttal nem álltam meg itt:
  • Megnézetm az eszközazonosítót.
  • Kicsomagoltam a LightUp "meghajtót" (ez csak egy inf és egy cat fájl) a Codebender telepítőjéből (7-Zip a legjubb barátom).
  • Letöröltem a cat fájlt
  • Belehekkeltem az eszközazonosítót az inf fájlba
  • Visszamentem egy korábbi cikkemhez: http://it-pro-hu.blogspot.hu/2014/05/windows-81-vs-microchip-cdc.html
  • És aláírtam a megpatkolt inf fájlt
Telepítés után az eredmény:
Siker!
Végül felmentem a CodeBender oldalára, hogy kipróbáljam. Amikor elindítottam az IDE-t a LightUp-hoz, a következő LED villogtató progi jött fel:
Egyszerűen csak letöltöttem az eszközbe és elkezdett működni:
Tanulság:
Amit a  LightUp-ról látok: Ez egy befejezetlen valami. A jó kezdés után, elvesztették a lendületüket. Az ötlet, hogy a kamerával lehet ellenőrizni, hogy egy áramkör jól működik-e, remek, de nincs semmi egyebük. A nagymennyiségű példaáramkör és egy gyerekbarát fejlesztőkörnyezet nagyon hiányzik.
Ezen túl, azt látom, hogy tonnányi sokkal jobb kit érhető el a piacon (pl. a littlebits), ami gyerekbarát és adja a továbbfejlődés lehetőségét. Ez nem.