Elektronika

CoreXY 3D nyomtató építése (RepRap-XY)

2020. április 26.: Az elmúlt ~5 év tapasztalata a CoreXY-nal kapcsolatban az, hogy még ilyen kis méretben is túl hosszúak a szíjak. A túl hosszú szíjakat eléggé meg kell feszíteni, ami terheli az Y lineáris csapágyakat. Emiatt az Y lineáris csapágyak gyorsabban kopnak. A szíj, ha acélszál erősítés nélküli, megnyúlik, ha acélszállal van erősítve, akkor pedig kicsit darabossá teszi a mozgást. Sokat kell állítgatni a szíjak feszességét. A két szíj feszességének egyformának kellene lennie, de ezt hosszú távon nehéz tartani. Végül úgy döntöttem, hogy átalakítom a nyomtatót, hogy ne CoreXY rendszerű legyen.

Egy CoreXY mechanikájú nyomtatót építettem. Kisebb, gyorsabb, pontosabb, halkabb és kevesebb áramot fogyaszt, mint a korábbi 3D nyomtatóm és jobban is néz ki, az alumíniumprofiloknak köszönhetően. A legfőbb előnye a CoreXY felépítésnek, hogy az X és Y tengelyt mozgató motorok egy helyben állnak, csak forognak: vagyis nem cipeli egyik motor a másikat. Így nagyobb sebességek és gyorsulások érhetők el. A korábbi nyomtatóm X tengelyét a Z-nek kellett tartania, az Y pedig a nehéz ágyat mozgatta alatta. A CoreXY elrendezésben a Z tengely csak az ágyat emeli-süllyeszti a munkadarabbal együtt. A 3D nyomtatás elméletéről régebben itt írtam.
Nyomtatás közben távolról CoreXY 3D nyomtató (RepRap-XY)

GPIO kezelés embedded Linux-okon: OLinuxIno iMX233, Raspberry Pi

Beágyazott Linux-ok alatt a GPIO-kat akár shell script-ből is vezérelhetjük. A maximális sebességhez memórián keresztül (memory mapped, mmap) kell a GPIO-kat elérni, de ebben az írásban erre nem térek ki. Ha script-ből használjuk az IO-t, először exportálni kell az adott GPIO lábat, hogy fájlként látszódjon a rendszerben. A 32-es GPIO exportáláshoz ezt kell futtatni bash-ból:

  echo 32 >/sys/class/gpio/export

Joystick kormánykerék építés házilag

Egy kormányt építettem, ami egy számítógéphez köthető joystick és autós, kamionos szimulátorokhoz lehet használni. A kormány az USB HID szabvánnyal kompatibilis, külön meghajtóprogramot nem kell telepíteni sem Windows sem Linux vagy *BSD alá. Egy autóbontóban szereztem egy olcsó kormányt és a hozzá tartozó irányjelző kart (ami egy Daewoo Tico-ban volt). A kormány egy egyszerű műanyagcsöves tengelykapcsolón keresztül egy régi HP lézernyomtató enkóderét forgatja:
Joystick kormánykerék dobozolva

3D nyomtató építés házilag

2020. december 15.: Ez a nyomtató 2014-ben készült és azóta szétszedtem. Építettem helyette szebb, gyorsabb, pontosabb nyomtatót. Mementónak mégis ittmarad ez cikk, ahogyan akkor megírtam.

3D nyomtatás, 3D nyomtatófej építése CNC géphez házilag

Bevezető

Egy házilag készült CNC marógéphez készítettem — ugyancsak házilag — 3D nyomtatásra alkalmas fejet (angolul „3D printer extruder”-nek nevezik) és a hozzá tartozó léptetőmotor vezérlőt, hőmérséklet szabályzót. Így 3D nyomtatóvá alakítottam a meglévő CNC marógépemet. Nem teljes terveket adok közre, hanem az építés közben felgyűlt tapasztalatokat írom le, hátha más is ötleteket merít belőle. A CNC-ből átalakított 3D nyomtatót arra fogom használni, hogy egy „igazi” 3D nyomtató legfontosabb alkatrészeit kinyomtassam. Tanulság: sajnos a házilagos CNC-m 900 mm/perces sebessége a 3D nyomtatáshoz nagyon kevés, egy gyors és drága CNC marót pedig nem érné meg 3D nyomtatóvá alakítani.

Tipikus ellenállás-értékek (kezdőknek)

Elektronikával éppen most kezdőknek leírom, hogy milyen tipikus ellenállásokat használunk a különböző kapcsolásokban. Milyen áramkörben kellhet 0,1 Ω-os ellenállás és miben 10 MΩ-os? A kapcsolási rajzok megértésében sokat segíthet, ha tudjuk, mit mire szoktunk használni. Az ellenállások jelöléséről: 1R = 1 Ω, 4R7 = 4,7 Ω, 4k7 = 4,7 kΩ

PIC18 instabil viselkedés (LVP beállítás probléma)

Ebbe a hibába már régebben is belefutottam, de sajnos teljesen elfelejtettem (vagy 10 éve nem használtam PIC-eket): ha az LVP (low voltage programming, vagyis alacsony feszültségű égetés) be van állítva a konfigurációs mezőben és az LVP engedélyező lábat (RB5/PGM) kimenetnek konfiguráljuk, nagyon furcsa dolgok történnek. Ha H szintre állítanánk a kimenetet mintha ,,lefagyna'' a program, vagy úgy tűnik mintha be sem indulna az oszcillátor és ha hozzáérünk kézzel az RB5-höz elindul (fut a program). A megoldás pedig, hogy a

#pragma config LVP OFF

arduino soros port hiba (/var/lock rendszer Arch Linux alatt)

Ha ilyesmit ír az STDOUT-ra Arch Linux alatt az arduino program

please see: How can I use Lock Files with rxtx? in INSTALL check_group_uucp(): error testing lock file creation Error details:Permission deniedcheck_lock_status: No permission to create lock file.

Adatgyűjtő rendszer építése iMX233-OLinuXino kártyával (Arch Linux ARM telepítése)

Egy hőmérséklet- és páratartalommérő készüléket építettem iMX233-OLinuXino-MAXI kártyával. Fő előnyei:
- a mért adatok áttölthetők WiFi-n (esetleg 3G modemen) keresztül
- távolról menedzselhető SSH-val
- kis fogyasztás: kb. 5W
A fejlesztőkártyát a http://monosx.hu biztosította.

AT89S52 programozása avrdude-dal

Az AT89S52-es MCU-t az avrdude program nem támogatja alapesetben. Szerencsére elég a konfigurációs fájlt kiegészíteni és lehet égetni. Az ~/.avrduderc fájlhoz vagy az /etc/avrdude.conf -hoz kell az alábbi sorokat hozzáfűzni (Linux ill. BSD-k alatt). Ezután egy usbasp programozóval lehet beégetni a programunkat. A chip_erase_delay nekem 20000 -el nem működött, 100000 már jó volt. Nem minden usbasp tud AT89S mikrovezérlőt programozni. Ez az USBasp biztosan. Talán elég a megfelelő verziójú firmware-t beégetni a programozóba, ennek nem néztem utána.

Voltmérő méréshatárának és impedanciájának növelése olcsón avagy nagy (megaohmos) előtét ellenállás készítése

400-600V körüli feszültség mérése alapvetően nem okoz problémát a multimétereknek. De ha a mérendő áramkör csak néhány mikroamper áramot tud leadni, a 10 MOhmos belső ellenállású multiméter is hamis értéket fog mutatni: leterheli az áramkört (tápegységet), ezért leesik a feszültség. Ennek kiküszöbölésére a multiméter impedanciáját kellene megnövelni, mondjuk 100 megaohmmal. De hol lehet 100 megaohmos ellenállást venni? Legfeljebb 10 MOhmos ellenállást lehet a legtöbb boltban találni. Nem kell venni, lehet rajzolni!
120 MegaOhmos ellenállás

Hello world, LED villogtatás MCS-51 (Intel 8051, 8052) mikrovezérlőhöz

A következő kód a P1.0-ás portra kötött (tranzisztorral meghajtott) LED-et kapcsolgatja ki-be kb. 500 ms-onként, ha 11,0592 MHz-es kvarcot használunk.

Általános kvarcoszcillátor frekvenciák

Néhány példa:
32768 Hz: órakvarc (1 másodperces időalaphoz és kvarcórákban is).
11,0592 MHz: 8051-es mikrovezérlőkben gyakran használt frekvencia, mert hiba nélküli baud rate-eket lehet generálni UART-hoz.
12 MHz: USB-s mikrovezérlők órajele, a full speed USB frekvenciája.
4, 8, 16, 20 MHz: mikrovezérlők órajelének generálásához.
Továbbiak:
http://en.wikipedia.org/wiki/Crystal_oscillator_frequencies

DIP28 = 2xDIP14

Mostanában leginkább a 28 lábú DIP tokozású Atmel mikrovezérlőket használom. Mindig építek be IC tokot és el is fogynak gyorsan. Két 14-es DIP tok egymás mellé forrasztható és simán belemegy a 28 lábú IC. Itt láttam meg véletlenül (a kép jobb oldalán).

iMX233-OLinuXino-Maxi és SSD1289 LCD

Az iMX233-OLinuXino-Maxi fejlesztői kártyám próbálom ITDB02-3.2S típusú LCD-vel összekötni. Az LCD SSD1289 vezérlő IC-vel működik. A lenti képet már az fbdev-test program rajzolta az /dev/fb0 eszközön keresztül. A kernel driver GPIO-n keresztül vezérli a kijelzőt, ez sajnos nagyon lassú: 5 másodpercig tart a teljes képernyő újrarajzolása.
iMX233-OLinuXino-Maxi és SSD1289 LCD

Tartalom átvétel