Categorie: Kleine werkplaats projectjes

Kabelboom

Omdat ik een heleboel kabels in een doos had zitten en het lang duurde eer ik een gepaste draad gevonden had gevonden had ik besloten met oude buizen een “boom” te maken om de kabels volgens lengte in te sorteren.
De buizen hebben de volgende lengtes: 10, 20, 25, 30, 35, 40 en 50cm.
En zijn in de volgende vorm samen gelijmd:
Bovenaanzicht:
Boven aanzicht
Vooraanzicht:
Zij aanzicht
Enkele foto’s
kabelboom
kabelboom
kabelboom

Pennenhouder mod

Ik had zo een saaie plexiglas pennenhouder op men bureau staan. Dus heb ik de randjes wat opgeschuurd en er LED’s ingezet.
LED verlichte pennen houder
LED verlichte pennen houder
LED verlichte pennen houder
LED verlichte pennen houder

Winamp remote control

Ik gebruik mijn oude pc nu al een tijdje om muziek af te spelen als ik aan het “werken” ben. Maar omdat ik regelmatig moest opstaan om nummers te skippen heb ik een afstandsbediening gemaakt.

Een foto:
Winamp remote control
Het schema:
Winamp remote control schema

De software: Download.

Zie ook het USB-LCD project.

(De)magnetisator

Ik had hier een paar schroevendraaiers liggen die niet magnetisch meer waren en vijlen die ijzervijlsel vast houden. Hoog tijd dus om een (de)magnetisator te bouwen.

 

Een tijdje geleden heb ik 2 oude luidsprekers gesloopt. Daar kwamen mooie spoelen uit die ik hier gebruikt heb. (Zijn van de frequentie filter)

spoel

 

Om een schroevendraaier te magnetiseren sluit ik daar een dc spanning op aan. Voor te demagnetisteren een ac spanning.

 

Schema:

schema

 

Ik heb hier een oude beltransformator gebruikt omdat die kortsluitvast zijn en dat is hier nodig aangezien de spoel een lage weerstand heeft. De kortsluitvastheid is wel in beperkte maten, als je de transformator te lang kortsluit dan smelt de interne thermische zekering door dus max een halve min laten opstaan. (Dit is meer dan lang genoeg aangezien het magnetiseren maar een tweetal seconden nodig heeft.

 

Enkele foto’s:

demagnetisator

demagnetisator

demagnetisator

De lijm aan het kastje rond de transfo komt omdat dit kastje eerst voor iets anders werd gebruikt en het gat nu daardoor te groot was :p.

Steinel Gluematic 3002 – Modificatie

Ik heb een Steinel Gluematic 3002 lijmpistool. Dit werkt redelijk goed, maar een groot minpunt van dit lijmpistool is de veel te stugge aansluit kabel. Deze zorgt er zelfs voor dat het omvalt door de kracht van de kabel.

Om deze reden heb ik beslist om de kabel te vervangen door een meer flexibele. Bij 1 van mijn leveranciers vond ik silicone rubber kabel. Deze is zeer flexibel, en is ook bestand tegen hogere temperaturen. Dit heeft als grote voordeel dat deze niet beschadigt als ik per ongeluk met de hete nozzle van het lijmpistool ertegen kom.

Na het openen van het lijmpistool bleek het heel eenvoudig te zijn om de kabel te vervangen. De trekontlasting was niet aangegoten en de draden van het verwarmingselement waren gewoon aan de netsnoer draden geknepen.

Vervangen:

Na deze modificatie is het veel aangenamer werken met het lijmpistool.

Steinel Gluematic 3002 – Modificatie [Deel 2]

Ik heb een langere nozle gekocht voor mijn lijmpistool om beter op beter te kunnen lijmen op moeilijk bereikbare plaatsen. Dit werkt goed, maar het grote nadeel is nu dat de beugel waarmee het lijmpistool op tafel staat te kort is geworden, met als gevolg dat de nozle de tafel raakt.

Ik was iets aan het zoeken op thingeverse en kwam dit project tegen: https://www.thingiverse.com/thing:2739665  Dit leek mij de perfecte oplossing. 1uur print tijd later was het stukje klaar:

Gemonteerd op het lijmpistool:

Deel 1 in deze serie

3D Printer UV Curing Apparaat

Een tijdje geleden heb ik nog een 3D printer bijgekocht. Deze keer een die resin gebruikt om te printen. Na het printen hebben de onderdelen nog niet de volledige sterkte, hiervoor moeten ze nog eerst een tijdje aan UV licht worden blootgesteld. Dit kan door ze in zonlicht te leggen of in een UV curing apparaat. De zon schijnt niet altijd als ik met de printer bezig ben, dus wou ik een UV curing apparaat.
Deze zijn te vinden, maar ofwel veel te duur, ofwel veel te lage kwaliteit of gewoon te onpraktisch. Tijdens het zoeken naar een goeie oplossing dacht ik, ‘waarom bouw ik geen microgolf oven om?’, deze heeft een roterende schijf om het werkstuk op te zetten, heeft een timer en is mooi afgesloten.

Na wat rond te vragen heb ik een defecte microgolfoven gekregen. De zendbuis was defect, maar dit maakt voor mijn doel niet uit omdat de MOT en buis toch vervangen worden door een LED driver en UV LEDs.

In theorie zou dit al moeten werken. Maar ik wou het wat meer aanpassen. Ik zag dat op het driver board een oude PIC16C65B zat. Deze is maar 1 keer programmeerbaar, dus heb ik deze vervangen door een (ook oude) PIC16F877A. Nu kan de timer voorzien worden van custom firmware.

Nu begon het moeilijke stuk. De printplaat was niet zo logisch als ik gewild had. Het grootste probleem was achterhalen hoe de schakelaars aangesloten waren. Deze zaten blijkbaar bij in de matrix van de 7 segment displays. Dit precies uitzoeken heeft nogal wat tijd gekost omdat alle componenten nogal over de print verspreid staan en veel dingen voor niet gebruikte opties zijn. Ik heb geen volledig schema gemaakt, maar onderstaand is een schetsje van hoe de knoppen en de 7 segment displays gecombineerd zijn:

De code die ik geschreven heb voor in de microcontroller:

Het resultaat:

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Pioneer IR Afstandsbediening

Ik heb een Pioneer XR-A550 hifi systeem dat ik gebruik als versterker voor muziek/geluid van mijn PC op mijn hobbytafel. Dit werkt op zich heel goed, maar op het einde van de dag zet ik de spanning van de tafel uit. Als ik dan de dag erna de spanning weer opzet dan is de versterker al zijn instellingen kwijt. Ik moet dan weer op aux drukken en het volume terug omhoog zetten. Na een paar jaar is het toch tijd om dit eens te automatiseren.

Hierbij heb ik ervoor gekozen om de IR codes van de afstandsbediening te reproduceren met een eigen schakeling. Voor de elektronica had ik nog een paar printen liggen van de Soldeer / SMD Inspectie Camera, die hebben een microcontroller met een mosfet op 1 van de uitgangen om zo een hogere stroom te schakelen voor de IR LED.

De behuizing is 3D geprint en is ontworpen om op de aluminium rail van mijn LED lamp te klikken.

Om de IR commando’s te achterhalen heb ik een IR receiver aan een logic analyzer gekoppeld. De signalen heb ik dan in een spreadsheet gedecodeerd, en vervolgens wat “quick and dirty code” gemaakt om deze te reproduceren.

 

Het signaal van de IR LED moet gemoduleerd worden op 38Khz. Om dit te doen gebruik ik de PWM module in de microcontroller. Deze staat ingesteld op PWM met een frequentie van 38Khz, vervolgens stuur ik  duty-cycle 0 voor uit en 50% voor aan. Daarnaast heb ik LATAbits.LATA6 gebruikt voor debug.
Dit resulteert in volgende code:

void main(void)
{
    uint8_t Buffer, Counter, VolumeCounter;
    // initialize the device
    SYSTEM_Initialize();   
    
    //**************************************************************************
    //Startup delay    
        __delay_ms(2000); 
        __delay_ms(2000); 
      
    //**************************************************************************
    //Send Aux
        Irheader();

        Buffer = 0b10011010;
        for (Counter = 0; Counter < 8; Counter++)
        {
            if (Buffer & 0x80){
                IrOne();
            }else{
                IrZero();
            }
            Buffer = Buffer << 1;
        }

        Buffer = 0b01100101;
        for (Counter = 0; Counter < 8; Counter++)
        {
            if (Buffer & 0x80){
                IrOne();
            }else{
                IrZero();
            }
            Buffer = Buffer << 1;
        }

        Buffer = 0b11001101;
        for (Counter = 0; Counter < 8; Counter++)
        {
            if (Buffer & 0x80){
                IrOne();
            }else{
                IrZero();
            }
            Buffer = Buffer << 1;
        }

        Buffer = 0b00110010;
        for (Counter = 0; Counter < 8; Counter++)
        {
            if (Buffer & 0x80){
                IrOne();
            }else{
                IrZero();
            }
            Buffer = Buffer << 1;
        } 
        IrZero();
    
    //**************************************************************************
    //Delay after power on
        __delay_ms(2000); 
        __delay_ms(2000); 
     
    //**************************************************************************  
     //Volume ++ 10x 
        for (VolumeCounter = 0; VolumeCounter < 10; VolumeCounter++){
            Irheader();

            Buffer = 0b10011010;
            for (Counter = 0; Counter < 8; Counter++)
            {
                if (Buffer & 0x80){
                    IrOne();
                }else{
                    IrZero();
                }
                Buffer = Buffer << 1;
            }

            Buffer = 0b01100101;
            for (Counter = 0; Counter < 8; Counter++)
            {
                if (Buffer & 0x80){
                    IrOne();
                }else{
                    IrZero();
                }
                Buffer = Buffer << 1;
            }

            Buffer = 0b10101111;
            for (Counter = 0; Counter < 8; Counter++)
            {
                if (Buffer & 0x80){
                    IrOne();
                }else{
                    IrZero();
                }
                Buffer = Buffer << 1;
            }

            Buffer = 0b01010000;
            for (Counter = 0; Counter < 8; Counter++)
            {
                if (Buffer & 0x80){
                    IrOne();
                }else{
                    IrZero();
                }
                Buffer = Buffer << 1;
            } 
            IrZero();
             __delay_ms(1000); 
        }

    //**************************************************************************  
    //Infinite loop, don't do anything
    while (1)
    {        
    }
}

void Irheader(void){
    LATAbits.LATA6 = 0;  
    PWM1_LoadDutyValue(127);
     __delay_us(8550); 
    LATAbits.LATA6 = 1;   
    PWM1_LoadDutyValue(0);
     __delay_us(4200);     
}
void IrOne(void){
    LATAbits.LATA6 = 0;   
    PWM1_LoadDutyValue(127);
     __delay_us(550); 
    LATAbits.LATA6 = 1;   
    PWM1_LoadDutyValue(0);
     __delay_us(550);     
}
void IrZero(void){
    LATAbits.LATA6 = 0;   
    PWM1_LoadDutyValue(127);
     __delay_us(550); 
    LATAbits.LATA6 = 1; 
    PWM1_LoadDutyValue(0);
     __delay_us(1560);     
}

Een video van de schakeling in werking:

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

 


Gerelateerde producten:


Reserve sensor set