De SiSCD’s (Sokken in Sandalen Creativity Days) en SiSCE’s (Sokken in Sandalen Creativity Evenings) zijn initiatieven van Sokken in Sandalen en vormen samen een open hackerspace-omgeving waar iedereen kan deelnemen aan projecten rond elektronica, digitale technologie en mechanica.
Deze bijeenkomsten stimuleren het delen van kennis door middel van demonstraties en presentaties, en bieden toegang tot gespecialiseerde gereedschappen en apparatuur om projecten te kunnen realiseren.
Projecten met een elektronische of digitale insteek vormen de kern van de activiteiten. Samenwerkingen tussen meerdere deelnemers worden aangemoedigd en krijgen voorrang bij het gebruik van materiaal, gereedschappen, apparatuur en faciliteiten.
Een lichtstoet die langs SiSCD passeert? Dan moeten we zeker gezien worden!
Met onze RatRig boren we op de juiste plaats gaatjes in aluminium latjes,

we monteren daar 120 individueel adresseerbare 3W RGB leds, de L017 van Zedfy , op

en steken deze in een acryl buis,

dan krijg je dit:
De huidige Blackbox X32 controller en bijbehorende software bevatten nog wat eigenaardigheden en missen features die Linux CNC wel heeft.
Om Linux CNC te kunnen laten samenwerken met de CNC is er echter een andere interface nodig.
In eerste instantie was het plan om alles aan te sturen met LPT (parallelle) poorten, maar met de hoeveelheid aan stappenmotoren en extra's (afzuiging, waterpomp, ...) werd die oplossing ook moeilijk haalbaar.
De oplossing werd gevonden in een MESA 7i96 Controller. Een 5 assige stappen motor aansturing met 17 extra I/O's die via Ethernet aangestuurd wordt.
Dit bord stuurt op zijn beurt de stappenmotor drivers aan die dan de motoren op de CNC laten bewegen. En door de Ethernet connectie, zijn de LPT poorten niet langer nodig. Een bijkomend extra is, dat 1 Linux CNC computer meerdere van deze borden kan aansturen. Waardoor het eenvoudig is om zowel de grote RatRig als de kleine Proxxon MF70 via een en dezelfde computer te besturen. Dat spaart weer wat plaats uit.

Dit bord wordt, samen met de andere hardware, ingebouwd in een kast die gemonteerd is onder de CNC. Waardoor alles stofdicht afgeschermd is.
Als je nog volop aan het experimenteren bent met de RatRig zijn die M4 moertjes voor het vaste lager en vooral die ene M5 moer, voor de stappenmotor, in de sleuf van het 40x120 profiel moeilijk vast te houden.
Gelukkig hebben we met de Proxxon MF70 een blokje kunnen frezen om all die moeren te vervangen.
Geen gepruts meer met lange bektangen en weer een hand vrij!
Arduino heeft de microcontroller populair en toegankelijk gemaakt. En menig ontwikkelbord komt dan ook met een Arduino port. Een zoektocht op internet geeft dan ook tal van resultaten hoe je met Arduino aan de slag moet. Als je echter wil uitbreken uit dat Arduino keurslijf zijn de zoekresultaten een pak minder.

Nu kunnen we wel meeliften op het werk dat gedaan is door Arduino. Met in eerste instantie de compiler.
Als je zoekt in de repositories van je favoriete Linux distro, vind je oudere compiler versies. Versies die bvb de nieuwere microcontroller versies niet kennen.
En dan zijn er verschillende opties:
In dit geval kiezen we voor 'leentje buur' spelen, want achter de schermen hebben veel Arduino bordjes een ATMEL microcontroller en moeten ze dus ook een bijpassende compiler en tooling gebruiken.
Welke versies er zijn kan je vinden op Arduino compilers (Linux). En downloaden kan via een url te bouwen met de gevonden compiler versie.
wget http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-pc-linux-gnu.tar.bz2
Dit geeft je een modernere voorgebouwde compiler.
Uiteindelijk moet de broncode omgezet worden naar de microcontroller instructies. Dit is de compilatie stap.
Een vereiste is wel dat je compiler gevonden wordt en meer bepaald ook als eerste gevonden wordt als je meerdere versies hebt.
Op een linux platform is dit mogelijk door je PATH environment variabele zo aan te passen dat het path naar deze compiler als eerste staat. Dit kan door je settings permanent aan te passen of, zoals ik het prefereer, ze enkel en alleen voor dit doel aan te passen.
Dit is simpel te bereiken door de PATH variabele voor de terminal waarin je de compilatie doet, aan te passen.
We 'sources' deze extra settings
export PATH=<path naar je AVR compiler>:$PATH
Als we dit in een bestand bijhouden is het op de commanline niet meer dan volgend commando uit te voeren
source <path + filename met bovenstaande export lijn>
En compileren wordt nog eenvoudiger als we gebruik maken van een Makefile.
Zo'n makefile beschrijft welke commando's uitgevoerd moeten worden en in welke volgorde.
Hieronder staat een simple voorbeeld:
# The MCU model, see https://www.nongnu.org/avr-libc/user-manual/using_tools.html for listMCU=attiny1604# Clock speed used (after divider), mostly for delay functionsCLK=20000000# Name of project output filePROJ=avrfox# List of source filesSOURCES=avr_fox.c# List of object files generated from source filesOBJ=$(SOURCES:.c=.o)all: $(PROJ).hex# Generated object files.c.o:avr-gcc -w -Os -DF_CPU=$(CLK) -mmcu=$(MCU) -c -o $@ $<# Generate executable$(PROJ).elf: $(OBJ)avr-gcc -w -mmcu=$(MCU) $(OBJ) -o $(PROJ).elf# Create Intel hex format for programming$(PROJ).hex: $(PROJ).elfavr-objcopy -O ihex -R .eeprom $(PROJ).elf $(PROJ).hexclean:rm -f *.hex *.elf *.o# Install flashes the codeinstall:avrdude -c serialupdi -p $(MCU) -P /dev/ttyUSB0 -U flash:w:$(PROJ).hex
# Give program size infosize:avr-size -C --mcu $(MCU) $(PROJ).elf
Uiteindelijk moet je programma op de microcontroller geraken. En dat wordt het 'flashen' genoemd. (In de Arduino programmeeromgeving ook wel 'upload' genoemd)
Doorheen de jaren zijn er verschillende methodes gebruikt op deze Atmel microcontrollers. Een van de laatste nieuwe is UDPI (Unified Debugging and Programming Interface). Dit is een 1-draads programmer en debugging interface wat de integratie op een bord wel heel eenvoudig maakt.
UPDI debugger en programmers zijn er in alle maten en prijsklassen.
De Adafruit UPDI HV Friend is een simpele en vrij goedkope programmer.
Atmel/Microchip heeft er uiteraard ook en die kunnen dan ook debuggen. Deze zijn echter wel wat prijziger.
We hadden al een ganse tijd 2 "DPS3005-USB" modules van Aliexpress liggen en daarvoor ook reeds 2 Mean Well voedingen voor gereserveerd.


Het was nog even wachten voor we een geschikte behuizing vonden waar we beide modules netjes konden monteren. Die hebben we gevonden in een behuizing (ook via Aliexpress) die eigenlijk voor RD6018 / RD6024 voedingen bedoeld is:

Hiervoor hebben we een 3D front en montagebeugels voor getekend en geprint:


Het bordje met de USB connector is vastgezet met 2 boutjes M3.


Na de test mongage is alles bekabeld:


De bestanden voor de ge-3d-printe onderdelen kan je downloaden op https://www.printables.com/model/1121769-front-panel-to-mount-dps3005-module-in-case-for-rd
Om de zichtbaarheid bij de CNC machines, 3D printer en soldeeroven te verbeteren hebben we ineens nieuwe led panelen opgehangen, meer licht voor minder energie:

Om het wasteboard van de RatRig CNC vast te zetten hebben we wat beugels nodig. De CNC kan ons alvast helpen om de gaten in de aluminium profielen voor te boren:
Nu kunnen de gaten gemakkelijk op de juiste maat nageboord worden met de kolomboormachine. Wanneer de beugels geplaatst zijn en het wastebord 'definitief' vast ligt, kunnen we de machine verder afregelen.