Bouwen en aanpassen van een Indymill CNC machine 500x450x85 mm werkmaat

Door de tijd die ik als gevolg van de Corona situatie kreeg (mei, 2021), had ik wat tijd over om aan andere dingen te besteden dan alleen maar werken.

Ik had al een opgewaardeerde 3018 CNC-machine met een 0,5 kW spindelmotor:

en een eenvoudig GRBL 3-assig bord dat heel goed werkt.  Maar- het zou leuk zijn om een CNC machine te maken die echt met aluminium kan werken en eventueel ook met koper en messing.  Ik heb in het verleden al wat onderzoek gedaan naar wat voor CNC machine geschikt zou zijn voor mijn doelen. En de IndyMill CNC macine zat al meer dan een half jaar in mijn hoofd.

Dus- vorige week heb ik de handleiding en de stalen platen besteld:

voor de bouw en heb wat andere onderdelen besteld bij Ali.  Ik heb ook al aardig wat onderdelen op voorraad, uit mijn 3d printer voorraad.  De Nema23-motoren en de extrusie, moederbord, drivers, voeding, schakelaars en sondes zijn al beschikbaar.

2021-5-09; First parts delivery for the Indymill: 3 ball bearing leadscrews with kit of end bearings and screw block holders, the frequency regulator 1 phase in, 3 phase out and the 1.5 KW 3 phase spindle of 3.6 kilograms

De benodigde geprinte onderdelen worden op dit moment geprint (begin mei-2021). Ik print alle geüpgrade STL’s, de laatste versie, omdat deze vrij beschikbaar zijn op Thingiverse (zoek gewoon op IndyMill) .  En dan zie je de kracht van delen: het ontwerp was al geweldig, en met de upgrades is het nog beter geworden.  De geüpgrade versies van de ophangpunten voor de lineaire lagers zijn echt een stuk steviger dan het originele ontwerp en de nieuwe eindstophouders zijn erg handig om te hebben.

Ik heb de kosten voor het bouwen van deze machine ruwweg berekend en het was een stuk goedkoper dan het kopen van een vergelijkbare CNC machine van deze grootte.  Als je verstandig inkoopt, kunnen de kosten voor alle materialen net onder de Euro 1000 uitkomen, als je de originele BOM volgt en inclusief de 1,5 KW luchtgekoelde spindelmotor met regelaar….

Als je een ander board wilt installeren dan de standaard Arduino UNO met het standaard Arduino CNC shield, kan dit je een extra bedrag van 120 tot 500 Euro kosten.  Ik gebruik een FLY_CDY_V2 met Mellow’s originele TMC2209 stepper drivers. Vergeet NIET de schakelaars aan de onderkant van deze steppers op ON te zetten als je sensorloze homing wilt gebruiken!

Mijn toevoegingen aan de originele bouw:

Momenteel gebruik ik een 10 Ampere afneembare 24V PSU, zal een 30 Ampere worden.

Sensorloze homing met behulp van een FLY-CDY-V2 moederbord en TMC2209 stepper drivers.  Dit werkt geweldig maar ik ben verder gegaan om eindstops toe te voegen en een stabielere en verwisselbare setup te maken.

Originele bevestigingen en gebruik van de houder van de kogellagerschroefmoer, en van de originele BK12 en BF12 lagerhouders om te voorkomen dat de kogellagerschroef de verkeerde kant op beweegt.

Gewijzigde Z-as opstelling met een betere moerhouder

En een verbeterd toplager voor de Z-aandrijvingsas

Gesloten lus NEMA23 stappenmotoren drivers MKS Servo57A V1.0 zal worden gemonteerd aan de achterkant van de steppers, nog te monteren, maar zal conflicteren met sensorloze homing

Nema 23 stepper with the Closed loop kit

10 mm GT2 200 mm riem tussen de Z-motor en de Z-leadscrew met GT2 10 mm brede 16-tandwielen

En een  ‘CNC pendant’ manual control device.

Block ImageBlock Image

Op de Duet support website is een project beschikbaar om zo’n apparaat om te bouwen naar een seriële interface, met een geprogrammeerde Arduino (pro) mircro of -nano ingebouwd het apparaat:

Stevige verbindingsplaat tussen de achterzijde van de bovenste en onderste lineaire rails van de X-as. Moet nog komen.

Piëzo-probes op alle start- en eindposities van de assen, in plaats daarvan heb ik eerst de FLY CDY V2 reprap board met TMC2209 en sensorless homing, en later met mechanische eindstops.

Koelvloeistof nevel installatie en vloeistof verzameling-, pomp, reservoir enzovoort is besteld. Moet nog geïnstalleerd worden, en de pompen leverden niet voldoende druk voor de koelvloeistofnevel, moet naar een andere oplossing zoeken.

Onafhankelijk aangedreven (en onafhankelijk afgestelde homing) Y-motoren om eventuele problemen tussen links en rechts te voorkomen. Dit werkt feilloos met de FLY_CDU_V2 reprap setup, maar het kostte me heel wat uurtjes finetunen om te werken met de 3,5 kilogram zware spindel motor…

2080 profielen rondom (ook voor en achter) met 4 extra brede hoekbeugels eronder.  Ik koos ervoor om dit anders uit te voeren met 3 extra bodemverbindingen en hoekbeugels, omdat ik de voorkant van het frame laag moet zijn en plaats moet maken voor de vacuümslang van de spindel.

Anmd – the frame as it is ready, but with the spindle holder of the 500 Watt motor. I will not use this motor after all for this build–

Slimme behuizing met Scheppach stofzuigeraansluiting zoals dit voorbeeld van https://www.shophacks.com/cncenclosure.html#/ DIT IS ECHT NODIG!

Advantages of using an enclosure for your CNC router - SHOP HACKS

My solution for an enclosure ia a 84x78x45 cm flightcase

Beschermkappen voor alle geleidingsschroeven en lineaire rails (besteld in China)

Later indien mogelijk: Wielen aan de achterkant of aan 1 kant en een handvat aan de voorkant (of andere kant) om de machine gemakkelijker op te bergen en op te bergen, dit heb ik onder de flightcase gemonteerd!

Gemakkelijk afneembare besturingseenheid (en) met stevige connectoren, is al gemaakt en in gebruik.

Ik ben begonnen met een FLY_CDY-V2 reprap board om te experimenteren met reprap CNC en de webinterface die voor deze setup is ontwikkeld.  Dat werkt allemaal prima en is in de praktijk getest.  De controle van de spindle controller loopt via een omvormer van PWM naar 0-10 Volt en werkt inmiddels ook prima via M42 S (0-1)  besturing

Dit is in eerste instantie gedaan met slimme dubbele homing van de dubbele Y assen, en geeft me veel meer controle over de machine. Het is ook al mogelijk om gewoon op GRBL gebaseerde Gcode naar de USB poort van de machine te sturen, en het reprap FLY board gewoon als gcode-interpreter te gebruiken om de machine te besturen.  Maar voor nu gebruik ik de webinterface.  UIteindelijk ben ik overgestapt naar het gebruik van eindstops op alle assen, vanwege de bump in omschakelen van stealthchop naar XX met de Mellow TMC2209 drivers.  Dit is een vervelend bij-effect van sensorless homing.

om elk gcode.nc CNC bestand te uploaden en uit te voeren, wat perfect werkt!

Foto van de CNC-aangepaste en reeds beschikbare webinterface voor reprap, speciaal op maat gemaakt voor CNC (door Sindarius, werk aan de gang):

In het Engelstalige deel vind je alle nieuwe artikelen over de bouw en het gebruik van mijn aangepaste Indymill CNC machine!

FLY 407 board met TFT2.4 inch, wifi en RRF3

2021-05-11

Ik heb vandaag het Mellow Fly 407 board binnen gekregen, en het werkt nu geweldig!

Ik heb de Mellow dedicated wifi unit aangesloten op EXP 1 en EXP2 en op de seriële TFT aansluiting, de microSDcard offline op de PC geprogrammeerd met de bestanden van de voorgestelde Github site en het ging allemaal geweldig!  (De kleine toegevoegde handleiding is erg goed, gewoon de aanwijzingen volgen en het kan niet fout gaan)!

Eerst de firmware van het board gebrand, daarna de firmware van de wifi esp module en na het instellen van de wifi met YAT via USB, heb ik de wifi instellingen geprogrammeerd.  Daarna heb ik met de WDC PC-remote console van de Duet via wifi het FLY 407 moederbord ge-upload met de laatste beschikbare firmware: RRF3.4 beta en de laatste wifi- en DWC versies.

Daarna heb ik de seriële verbinding tussen de TFT aansluiting op het moederbord en de wifi module verwijderd en de BTT 2.4 inch TFT op dezelfde seriële poort aangesloten.  Omdat er maar 1 tft poort beschikbaar is, gebruik ik dezelfde seriële poort die ik gebruikte voor het programmeren van de esp wifi module.  Ik heb de RRF3 firmware al op de TFT unit gezet.

Wel, de resultaten zijn geweldig! Op de TFT na het aansluiten zie je de extruder stappen van 0 naar 1-2-3-4 en weer terug naar 0 dus dit werkt allemaal erg mooi!

 

Ronde klok WS2812 & Arduino nano

READ THIS ARTICLE IN ENGLISH

In de bovenstaande video zie je alle benodigde onderdelen voor de electronica.  Een arduino Nano, een tijdmodule LS3231 met batterij back-up en een 4-delige ring met elk 15 stuks WS2812 LED’s die zorgen voor een 160mm 60 LED units klok.  Je kunt hem bouwen als een open gebouwde unit zoals hierboven afgebeeld met draad of in een 3d printbare slanke behuizing die ik heb ontwikkeld.  Zie de foto’s hieronder.

Voor het bouwen van deze mooie nauwkeurige klok, kun je mijn ontwerp files voor de behuizing gebruiken op elke 3d printer die een horizontale bed size heeft van minimaal 165x165mm.

Pak de beide print STL’s . HIER. van de Prusa gedeelde site waar ik deze ontwerpen heb geupload. (Als de link breekt, zoek op de prusa site naar ws2812 circulaire arduino klok).

OF haal het STL bestand voor de VOORKANT van de klok van mijn website HIER

EN haal het STL bestand voor de achterkant van de klok van mijn website HIER

Eén STL is voor de achterkant en bevat de Nano box, de andere is voor de voorkant van de klok.  Positioneer de achterste STL 180 graden (dus omhoog gaat omlaag) in uw slicer, zodat zowel de doos als de LED-behuizing op Z-0 niveau zijn, d.w.z. naar beneden gericht op hetzelfde horizontale niveau.   De voorkant kan het best geprint worden met de platte kant naar beneden.  ABS is niet aan te raden omdat het minder stijf is, maar zal waarschijnlijk ook werken.  Voor mij werkt PETG of PLA het beste.

Gebruik wit filament voor het voorste deel, de achterkant kan elke kleur zijn die je wilt.

In de cirkel worden de 4 WS2812 LED segmenten in 1 volledige cirkel van ongeveer 160mm geplaatst.

Als je de elektronica aan de achterkant hebt aangesloten, schuift de voorkant er zo overheen. Geen lijm nodig.  Maar de LED ring kan best op 4 plaatsen met een druppel hotglue aan de basis van de achterste behuizing gelijmd worden.  Dit kun je het beste doen als je zeker weet dat alles goed werkt.

De LED onderdelen zijn verkrijgbaar op o.a. banggood , aliexpress en zo, zoek naar 60LED circle WS2812 die de 160 mm buitendiameter heeft.

Elke LED vertegenwoordigt een punt voor seconden, minuten of als uur indicator.

De kleuren detemine de functie.  Blauw wordt ook gebruikt als kwartier indicator met minder intensiteit, om een gevoel van positionering te hebben voor de andere LEDS als het donker is.

Kijk naar de video hierboven van het ‘open’ demonstratiemodel om te begrijpen hoe het werkt.

Hieronder vindt u de Arduino code voor de gebruikte Nano3, as-is. het werkt voor mij, en in de code vindt u ook alle benodigde elektrische aansluitingen en de specificaties van de gebruikte Time module.

Wanneer aangesloten op je PC, kun je de Arduino programmeren en via de seriële interface kun je naderhand speciale instellingen van de klok wijzigen, zoals helderheid, speciale kwartierverlichtingsindicatoren, enzovoort. het staat allemaal in de code hieronder.

De aansturing kan via een seriële interface met de usb ingang van de Arduino, via een terminalprogramma zoals YAT of met de interface van het Arduino IDE programma.

De commando’s zijn:

f; fader UIT
F; fader AAN
m (getal); dim de 4 blauwe marker LED’s met waarde (getal)
S; synchroniseren met RTC tijd
s; synchroniseren met systeemtijd (computer)
t (tijd); systeemtijd veranderen in:
b; helderheid van alle niet-marker LED’s

Doneer a.j.b. $1 aan mijn paypal account als je (delen van) mijn ontwikkelde materialen gebruikt, zodat ik kan doorgaan met het delen van leuke dingen voor jou om te downloaden

Ik hoop dat alles goed gaat lukken!

Succes,

Jan

De Arduino code, te gebruiken voor het programmeren van de Arduino Nano3 is beschikbaar onderaan dit bericht als platte tekst om te importeren in een leeg arduino bestand (met kopiëren en plakken).

Zorg ervoor dat je alleen de bibliotheken en tijdmodule gebruikt die in de code zijn aangegeven!  De gebruikte tijdmodule is van de betere generatie die de tijd zeer goed vasthoudt, ook in stand-by.

Gebruik voor het verbinden van de draden tussen de neopixel segmenten, de arduino en de tijdmodule een temperatuurgeregelde soldeerbout.  Gebruik een ventilator als je aan het solderen bent en adem geen giftige gassen in tijdens het solderen.

De Arduino code is hieronder weergegeven, te importeren in Arduino IDE in een .ino bestand.  Met de Arduino IDE moet je vervolgens de code compileren om de Arduino Nano geflasht te krijgen met het programma.


/**
* NeoClock
*
* Clock using 60 WS2812B/Neopixel LEDs and DS3231 RTC
* Small changes and updates made by jan Griffioen, Amsterdam Europe 2018-2021
* Libraries needed:
* * Adafruit NeoPixel (Library Manager) – Phil Burgess / Paint Your Dragon for Adafruit Industries – LGPL3
* *
* * Arduino Timezone Library (https://github.com/JChristensen/Timezone) – Jack Christensen – CC-BY-SA
* * Time Library (https://github.com/PaulStoffregen/Time) – Paul Stoffregen, Michael Margolis – LGPL2.1
*/

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#if defined(ESP8266)
#include <pgmspace.h>
#else
#include <avr/pgmspace.h>
#endif

/* for software wire use below
#include <SoftwareWire.h> // must be included here so that Arduino library object file references work
#include <RtcDS3231.h>

SoftwareWire myWire(SDA, SCL);
RtcDS3231<SoftwareWire> Rtc(myWire);
for software wire use above */

/* for normal hardware wire use below */
#include <Wire.h> // must be included here so that Arduino library object file references work
#include <RtcDS3231.h>
RtcDS3231<TwoWire> Rtc(Wire);
/* for normal hardware wire use above */

#include <TimeLib.h> //http://www.arduino.cc/playground/Code/Time
#include <Timezone.h> //https://github.com/JChristensen/Timezone

#include <EEPROM.h>

//Central European Time (Frankfurt, Paris)
TimeChangeRule CEST = {“CEST”, Last, Sun, Mar, 2, 120}; //Central European Summer Time
TimeChangeRule CET = {“CET “, Last, Sun, Oct, 3, 60}; //Central European Standard Time
Timezone CE(CEST, CET);

TimeChangeRule *tcr; //pointer to the time change rule, use to get the TZ abbrev
time_t utc;

#define PIN 5

unsigned long lastMillis = millis();
byte dimmer = 0x88;
byte hmark = 0;

byte ohour=0;
byte ominute=0;
byte osecond=0;

boolean fader=true;

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup() {

Serial.begin(57600);

strip.begin();
strip.setBrightness(50);

// Some example procedures showing how to display to the pixels:
// colorWipe(strip.Color(255, 0, 0), 50); // Red
//colorWipe(strip.Color(0, 255, 0), 50); // Green
//colorWipe(strip.Color(0, 0, 255), 50); // Blue
//colorWipe(strip.Color(0, 0, 0, 255), 50); // White RGBW
// Send a theater pixel chase in…
//theaterChase(strip.Color(127, 127, 127), 50); // White
theaterChase(strip.Color(127, 0, 0), 50); // Red
//theaterChase(strip.Color(0, 0, 127), 50); // Blue

//rainbow(20);
rainbowCycle(2);
//theaterChaseRainbow(50);

strip.clear();
strip.show(); // Initialize all pixels to ‘off’

Rtc.Begin();

Rtc.Enable32kHzPin(false);
Rtc.SetSquareWavePin(DS3231SquareWavePin_ModeNone);

if (!Rtc.GetIsRunning())
{
Serial.println(“Rtc was not actively running, starting now”);
Rtc.SetIsRunning(true);
}

if (!Rtc.IsDateTimeValid())
{
// Common Cuases:
// 1) the battery on the device is low or even missing and the power line was disconnected
Serial.println(“Rtc lost confidence in the DateTime!”);
}

byte eechk = EEPROM.read(0);
if(eechk == 0xAA) { //Assume this is our config and not a fresh chip
dimmer = EEPROM.read(1);
hmark = EEPROM.read(2);
fader = EEPROM.read(3);
}

timeSync();
}

void calcTime(void) {
utc = now();
CE.toLocal(utc, &tcr);
ohour = hour(utc);
ominute = minute(utc);
if(osecond != second(utc)) {
osecond = second(utc);
lastMillis = millis();

if(ominute == 0 && osecond == 0) {
//Every hour
timeSync();
}
}
}

void addPixelColor(byte pixel, byte color, byte brightness) {
color *= 8;
uint32_t acolor = brightness;
acolor <<= color;
uint32_t ocolor = strip.getPixelColor(pixel);
ocolor |= acolor;
strip.setPixelColor(pixel, ocolor);
}

void drawClock(byte h, byte m, byte s) {
strip.clear();

addPixelColor(m, 1, dimmer);

if(hmark > 0) {
for(byte i = 0; i<12; i++) {
addPixelColor((5*i), 2, hmark);
}
}

h %= 12;
h *= 5;
h += (m/12);
addPixelColor(h, 2, dimmer);
// 0x RR GG BB

if(fader) {
byte dim_s1 = dimmer;
byte dim_s2 = 0;
byte px_s2 = s+1;
if(px_s2 >= 60) px_s2 = 0;
unsigned long curMillis = millis()-lastMillis;
if(curMillis < 250) {
dim_s2 = 0;
dim_s1 = dimmer;
}else{
dim_s2 = map(curMillis, 250, 1000, 0, dimmer);
dim_s1 = dimmer – map(curMillis, 250, 1000, 0, dimmer);
}

// Add blue low intensity dots for 12(0),3, 6 and 9 O’çlock to verify where the clock is positioned..
addPixelColor(15, 128, 10);
addPixelColor(30, 128, 10);
addPixelColor(45, 128, 10);
addPixelColor(0, 128, 40);

addPixelColor(s, 0, dim_s1);
addPixelColor(px_s2, 0, dim_s2);
}else{
addPixelColor(s, 0, dimmer);
}

// add a background color
// setBrightness(Serial.parseInt());
// uint16_t j;
// for(j=0; j<60; j++) { // 1 cycles of colors on wheel
// strip.setPixelColor(j, Wheel(((j * 256 / strip.numPixels()) + j) & 255));
// }

strip.show();
}

byte rounds = 0;

void loop() {
calcTime();

if(rounds++ > 100) {
Serial.print(ohour);
Serial.print(“:”);
Serial.print(ominute);
Serial.print(“:”);
Serial.print(osecond);
Serial.println(“(C)JG-2020”);
rounds = 0;

}
//rainbow(21);
if (osecond == 59){theaterChase(strip.Color(0, 0, 127), 40); }// Blue; }
//if (ominute == 59 AND osecond == 59){theaterChase(strip.Color(0, 127, 0), 50); }// Green}
//if (ohour == 11 AND ominute == 59 AND osecond == 59){theaterChase(strip.Color(127, 127, 0), 50); }// Green}
else {drawClock(ohour,ominute,osecond);}

delay(10);

chkSer();
}

void timeSync(void) {
RtcDateTime dt = Rtc.GetDateTime();
setTime(dt.Hour(),dt.Minute(),dt.Second(),dt.Day(),dt.Month(),dt.Year());

Serial.print(“Synced to: “);
Serial.print(dt.Year());
Serial.print(“-“);
Serial.print(dt.Month());
Serial.print(“-“);
Serial.print(dt.Day());
Serial.print(“-“);
Serial.print(dt.Hour());
Serial.print(“-“);
Serial.print(dt.Minute());
Serial.print(“-“);
Serial.println(dt.Second());
}

void timeSave(void) {
utc = now();

RtcDateTime store = RtcDateTime(year(utc), month(utc), day(utc), hour(utc), minute(utc), second(utc));
Rtc.SetDateTime(store);

Serial.print(“Synced to: “);
Serial.print(year(utc));
Serial.print(“-“);
Serial.print(month(utc));
Serial.print(“-“);
Serial.print(day(utc));
Serial.print(“-“);
Serial.print(hour(utc));
Serial.print(“-“);
Serial.print(minute(utc));
Serial.print(“-“);
Serial.println(second(utc));

}

void setBrightness(byte brightness) {
dimmer = brightness;
}

void chkSer(void) {
unsigned int iy;
byte im,id,iH,iM,iS;

if(!Serial.available()) return;

switch(Serial.read()) {
case ‘b’:
setBrightness(Serial.parseInt());
Serial.print(F(“Brightness changed to: “));
Serial.println(dimmer);
EEPROM.put(0, 0xAA);
EEPROM.put(1, dimmer);
break;
case ’t’:
iy = Serial.parseInt();
im = Serial.parseInt();
id = Serial.parseInt();
iH = Serial.parseInt();
iM = Serial.parseInt();
iS = Serial.parseInt();
setTime(iH,iM,iS,id,im,iy);
Serial.println(F(“System time changed”));
break;
case ‘f’:
fader = false;
EEPROM.put(0, 0xAA);
EEPROM.put(3, 0);
Serial.println(F(“Fader off”));
break;
case ‘F’:
fader = true;
EEPROM.put(0, 0xAA);
EEPROM.put(3, 1);
Serial.println(F(“Fader on”));
break;
case ‘m’:
hmark = Serial.parseInt();
EEPROM.put(0, 0xAA);
EEPROM.put(2, hmark);
Serial.println(F(“HMark changed”));
break;
case ‘s’:
timeSync();
Serial.println(F(“Synced RTC to System”));
break;
case ‘S’:
timeSave();
Serial.println(F(“Synced System to RTC”));
break;
default:
Serial.println(‘?’);
}
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}

void rainbow(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 25));//255
}
strip.show();
delay(wait);
}
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
for (int j=0; j<4; j++) { //do 4 cycles of chasing
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, c); //turn every third pixel on
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
for (int j=0; j < 256; j++) { // cycle all 256 colors in the wheel
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r – g – b – back to r.
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 – WheelPos;
if(WheelPos < 85) {
return strip.Color(255 – WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 – WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 – WheelPos * 3, 0);
}

Contact – Jan Griffioen

Even voorstellen?  Mijn naam is Jan Griffioen.

Mijn vrije tijd besteed ik graag aan het bedenken, ontwerpen en bouwen van allerlei technische oplossingen en producten. 

Denk bijvoorbeeld aan de verbeterde Indymill CNC freesmachine, de upgrades van mijn Citroën Traction Avant, de ombouw naar mijn Citroën ID/DS naar cabrio, allerlei Arduino LED projecten met WS2811 LED’s, het inbouwen van een touchscreen dash-unit in een 2e en 3e generatie Volvo V70.

Mail ons wanneer je meer informatie wilt ontvangen op  info@https://jantecnl.synology.me

De Griffioen is een mythisch dier, waar het wapen van de Griffioen families op is gebaseerd
Heraldic griffin. Coat of arms isolated on white background - 15500864

Griffin icon. Vector logo design template.

   

Motor, koeling, versnellingsbak en remmen lekvrij maken van mijn Traction Avant 11BN (1955)

Na de verbouwingen en aanpassingen van de Traction komt er na het rijden van een langere rit altijd wel wat vloeistof van de wagen op de garagevloer terecht.

Na een nachtje parkeren ligt er onder het motorcompartiment een paar druppels motorolie aan de achterkant van de motor, en een paar druppels versnellingsbakolie aan de voorkant van de motor.

Koelvloeistofverlies heb ik ook wel, maar blijkbaar alleen wanneer ik rijd. Na een nachtje in de garage vind ik gen druppel koelvloeistof op de vloer.

Lekkage motorolie:

De foto toont ter illustratie de vervangende ID (DS) motor die ik heb aangepast voor de Traction met passende starterkrans en vliegwiel, en waterpomp van de Traction erop gemonteerd net voor de eindmontage.

De synthetische 20W50 motorolie die ik al een paar jaar gebruikte in deze motor heb ik uiteindelijk vervangen door SAE30 minerale motorolie, single grade dus.

Nadat ik hier ruim een jaar mee heb rondgereden heb ik de volgende zaken vastgesteld: Geen lekkage meer vooraan de motor (waar het koppelingshuis is gekoppeld aan de motor) maar wel een lagere oliedruk bij echt een warme motor en bij toerentallen onder de 700 RPM.

Bij normaal rijden dus geen probleem.  De kurk pakking die achter de voorste lagerkap is gemonteerd liet op den duur de synthetische multigrade olie door, vanwege de dopes in deze olie.  De monograde heeft dat niet of iig veel minder.  Het lijkt er op dat dit de geringe lekkage die ik had, heeft opgelost.

Lekkage versnellingsbakneus:

De shims in de lagerkappen waarmee de versnellingsbakassen lateraal zijn gesteld zitten voorop de versnellingsbak en heb ik destijds zonder pakking gemonteerd.

Die pakkingen zaten er bij mij ook niet van oorsprong in.  Nu heb ik daar wel pakkingen tussen gemonteerd, rekening houdend met de oorspronkelijke shimdikte voor deze actie.  De lekkage is hierdoor opgelost!

Verlies koelvloeistof tijdens rijden:

De koelvloeistof stroomt als het ware over de radiator op het moment dat de thermostaat opent (linksboven op de foto).  Er komt dan koelvloeistof van ca. 85 graden in de koude radiateur en dat veroorzaakt een heftige reactie waardoor er druk ontstaat op de radiatordop.

Er zit een gat in deze radiatordop waardoor dan vloeistof wordt uitgestoten.  De oplossing is gevonden door middel van een overloopvaatje dat onderaan gekoppeld zit aan de onderste slangen tussen radiator en motor.

De radiatordop is aangepast met een leiding naar de bovenste aansluiting van het overloopvaatje loopt.  Het overloopvaatje heeft een ventilerende dop.  Het overloopvaatje is op het hoogst mogelijke punt binnen de motorruimte gemonteerd.

De extra expansieruimte die op deze manier ontstaat is voldoende om het verlieseffect tegen te gaan.  Ik heb er voor gekozen om het koelsysteem niet permanent onder druk te zetten zoals bij moderne auto’s wordt gedaan, omdat ik bang ben dat er dan mogelijk andere ongewenste lekkages of effecten kunnen ontstaan.  De Traction heeft van nature een drukloos koelsysteem (gelijk aan de omgevingsdruk) en dat heb ik zo gelaten.

Remmen lekvrij maken:  Lees mijn artikel over DOT3 in de remmerij van de Traction HIER.  Ik rijd hier nu al weer 3 jaar zeer tevreden mee rond!

error: Content is protected !!