Stijn Coenen

Zie Over Mij

Berichten met de meeste reacties

  1. UV-belichtingsbak V3 Update — 7 reacties
  2. Plexiglas buiger — 5 reacties
  3. Rapid CSN140 Elektrische Nietmachine Accu Reparatie (B311) — 4 reacties
  4. “100W Temperature Controlled Soldering Pot” Review — 4 reacties
  5. Afvoer pomp sturing — 3 reacties

Berichten van deze auteur

Moodlight Update

Vandaag heb ik de code afgewerkt en de printen in de behuizing ingebouwd:

moodlight behuizing

moodlight behuizing

 

De code:

'****************************************************************
'*  Author  : Coenen Stijn [Stynus]                             *
'*  Notice  : Copyright (c) 2007 [www.elektronicastynus.be]     *
'*          : All Rights Reserved                               *
'*  Date    : 15/06/2008                                        *
'*  Version : 1.5                                               *
'*  Notes   : Ledstrip controller module                        *
'*          :                                                   *
'****************************************************************
    Device          16F627A
    Config          WDT_OFF, PWRTE_ON, MCLRE_ON, HS_OSC, LVP_off
    XTAL            = 20
    ALL_DIGITAL     = true    
'****************************************************************
'Declaraties
    Symbol Rood     = PORTB.7
    Symbol Groen    = PORTB.5
    Symbol Blauw    = PORTB.6
    Symbol Master   = PORTB.4 
    Symbol Slave    = PORTB.3 
    TRISB.7         = 0
    TRISB.6         = 0
    TRISB.5         = 0
    TRISB.4         = 1
    TRISA.3         = 1
    PORTB_PULLUPS   = 1
    Dim MasterSlave As Bit
    Dim Geval       As Byte
    Dim index       As Word
    Dim vertraging  As Byte
    'PWM
    Dim WaardeRood  As Byte
    Dim WaardeGroen As Byte
    Dim WaardeBlauw As Byte
    Dim WaardePWM   As Byte
    Dim roodUpDown  As Bit
    Dim groenUpDown As Bit
    Dim blauwUpDown As Bit
    Symbol snelheid = 5 'Hoe hoger dit getal hoe trager het prog
    'Seriele interface
    Dim serdata     As Byte
    Dim sergeval    As Byte
    Dim dataOfGeval As Bit
    HSERIAL_CLEAR   = On            
    HSERIAL_RCSTA   = 144
    HSERIAL_TXSTA   = 36
    HSERIAL_BAUD    = 2400			
    Symbol RCIF	    = PIR1.5		
    Symbol OERR	    = RCSTA.1		
    Symbol CREN	    = RCSTA.4			
    ON_INTERRUPT GoTo SeriIn		

    Clear                                                                        
'****************************************************************
'Checken voor master/slave 
    While 1 = 1
        If Master = 0 Then
            GoTo Masterprog
        EndIf
        If Slave = 0 Then
            GoTo Slaveprog
        EndIf
        High Rood
    Wend
'****************************************************************    
Masterprog:
    PIE1.5 = 0
    WaardeRood  = 255
    WaardeGroen = 0
    WaardeBlauw = 0
    Geval       = 0   
    
    HRSOut 1
    DelayUS 10
    HRSOut WaardeRood
    DelayUS 10
    HRSOut 2
    DelayUS 10
    HRSOut WaardeGroen 
    DelayUS 10
    HRSOut 3     
    DelayUS 10
    HRSOut WaardeBlauw 
    
    While 1 = 1
        For index = 0 To 255
            'Rood
            If WaardeRood >= index Then
                High Rood
            Else
                Low Rood
            EndIf
            'Groen
            If WaardeGroen >= index Then
                High Groen
            Else
                Low Groen
            EndIf
            'Blauw           
            If WaardeBlauw >= index Then
                High Blauw
            Else
                Low Blauw
            EndIf
        Next 
        Inc vertraging
        If vertraging = snelheid Then
            Select Geval
                Case 0
                    Inc WaardeGroen
                    GoSub GroenUit
                    If WaardeGroen = 255 Then
                        Geval = 1
                    EndIf      
                Case 1
                    Dec WaardeRood
                    GoSub RoodUit
                    If WaardeRood = 0 Then
                        Geval = 2
                    EndIf 
                Case 2
                    Inc WaardeBlauw
                    GoSub BlauwUit
                    If WaardeBlauw = 255 Then
                        Geval = 3
                    EndIf
                Case 3
                    Dec WaardeGroen
                    GoSub GroenUit
                    If WaardeGroen =  0 Then
                        Geval = 4
                    EndIf
                Case 4 
                    Inc WaardeRood
                    GoSub RoodUit
                    If WaardeRood = 255 Then
                        Geval = 5
                    EndIf
                Case 5 
                    Dec WaardeBlauw
                    GoSub BlauwUit
                    If WaardeBlauw = 0 Then
                        Geval = 0
                    EndIf
                Case Else
                    'Bij fout reset
                    WaardeRood  = 255
                    WaardeGroen = 0
                    WaardeBlauw = 0
                    Geval       = 0
            EndSelect
            vertraging = 0
            'GoSub seruit  
        EndIf
        
        If Slave = 0 Then
            GoTo Slaveprog
        EndIf
    Wend
'**************************************************************** 
Slaveprog:
    INTCON = %11000000
    PIE1.5 = 1
    WaardeRood = 0
    WaardeGroen = 0
    WaardeBlauw = 0
    Low Groen
    Low Rood
    Low Blauw
    While 1 = 1
        For vertraging = 0 To snelheid     
            For index = 0 To 255
                'Rood
                If WaardeRood >= index Then
                    High Rood
                Else
                    Low Rood
                EndIf
                'Groen
                If WaardeGroen >= index Then
                    High Groen
                Else
                    Low Groen
                EndIf
                'Blauw           
                If WaardeBlauw >= index Then
                    High Blauw
                Else
                    Low Blauw
                EndIf
            Next 
            If Master = 0 Then
                GoTo Masterprog
            EndIf
        Next
    Wend
'**************************************************************** 
'Subroutines:    
RoodUit:
    HRSOut 1
    DelayUS 10
    HRSOut WaardeRood
Return

GroenUit:
    HRSOut 2
    DelayUS 10
    HRSOut WaardeGroen 
Return

BlauwUit:
   HRSOut 3
   DelayUS 10
   HRSOut WaardeBlauw 
   sergeval = 0
Return

SeriIn:
    If dataOfGeval = 0 Then
        HSerIn [sergeval]
        dataOfGeval = 1
    Else
        HSerIn [serdata]
        Select sergeval
            Case 1
                WaardeRood = serdata
            Case 2
                WaardeGroen = serdata
            Case 3
                WaardeBlauw = serdata
            Case Else
                GoTo SeriIn
        EndSelect  
        dataOfGeval = 0
    EndIf
Context Restore
'****************************************************************
End

De hex file van deze code: link.

You-tube filmpje van de moodlight in werking:

 

(Sorry voor de slechte beeldkwaliteit)

Peltier regeling Update

Gisteren heb ik de code eindelijk werkend gekregen en vandaag heb ik de temperatuursensor gemonteerd op de koude kant van de peltier.

De regelprint in werking:

print Peltier regeling

De temperatuursensor gemonteerd:

Peltier regeling

Hier is goed te zien hoe de peltier tussen de koelplaat en het aluminium plaatje is geklemd:

Peltier regeling

De koelblok is van een oude P2 processor.

 

Het nieuwe schema:

schema V2 peltier regeling

 

Componenten lijst:

Naam: Waarde:
R1, R2, R3, R4, R5, R6, R7 180 Ohm
R9, R11, R12 1 KOhm
R13, R14 4k7
C1, C2, C3, C4 100nF
7Seg1, 7Seg2 7-Segment display CC
T1 High power darlington
T3, T4 BC547
VR1 7805
IC1 PIC16F628
IC2 TC74A0

 

De code:

'****************************************************************
'*  Author  : Coenen Stijn [Stynus]                             *
'*  Notice  : Copyright (c) 2008 ElektronicaStynus.be           *
'*          : All Rights Reserved                               *
'*  Date    : 15/06/2008                                        *
'*  Version : 1.2                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
    Device              16F628A
    Config WDT_OFF, PWRTE_ON, MCLRE_OFF, INTRC_OSC_NOCLKOUT, LVP_off
    ALL_DIGITAL         = true  
'****************************************************************    
    Symbol  digit1   = PORTB.5
    Symbol  digit2   = PORTA.1
    Symbol  digitA   = PORTA.0
    Symbol  digitB   = PORTA.7
    Symbol  digitC   = PORTA.2
    Symbol  digitD   = PORTB.6
    Symbol  digitE   = PORTB.3
    Symbol  digitF   = PORTA.6
    Symbol  digitG   = PORTB.2
    
    Symbol  peltier  = PORTB.4

    Symbol  SCL      = PORTB.0
    Symbol  SDA      = PORTB.1
    
    Dim     getal1   As Byte
    Dim     getal2   As Byte
    Dim     getal    As Byte
    Dim     index    As Byte
    Dim  temperatuur As Byte
        
    Symbol gewenst   = 10    
'****************************************************************     
init:
    Clear
    I2Cin SDA,SCL,$90,[$00]   
'****************************************************************
main:
    While 1 = 1
        GoSub sensorIn
       
        getal1 = temperatuur / 10
        getal2 = (temperatuur - (getal1 * 10))
        GoSub dispUit
        
        If temperatuur < gewenst Then
            Low peltier
        Else
            High peltier
        EndIf
    Wend
'****************************************************************      
sensorIn:
    I2Cin SDA, SCL,$91,[temperatuur] 
Return
'****************************************************************    
dispUit:
    '    A
    '  F   B
    '    G
    '  E   C
    '    D
    For index = 0 To 1
        If index = 0 Then
            getal = getal1  
            High digit1 
        EndIf
        If index = 1 Then   
            High digit2
            getal = getal2   
        EndIf 
        Select getal
            Case 0    
                High digitA
                High digitB
                High digitC
                High digitD
                High digitE
                High digitF
                Low  digitG            
            Case 1
                Low  digitA
                High digitB
                High digitC
                Low  digitD
                Low  digitE
                Low  digitF
                Low  digitG        
            Case 2
                High digitA
                High digitB
                Low  digitC
                High digitD
                High digitE
                Low  digitF
                High digitG        
            Case 3
                High digitA
                High digitB
                High digitC
                High digitD
                Low  digitE
                Low  digitF
                High digitG        
            Case 4
                Low  digitA
                High digitB
                High digitC
                Low  digitD
                Low  digitE
                High digitF
                High digitG        
            Case 5
                High digitA
                Low  digitB
                High digitC
                High digitD
                Low  digitE
                High digitF
                High digitG        
            Case 6
                High digitA
                Low  digitB
                High digitC
                High digitD
                High digitE
                High digitF
                High digitG        
            Case 7
                High digitA
                High digitB
                High digitC
                Low  digitD
                Low  digitE
                Low  digitF
                Low  digitG        
            Case 8
                High digitA
                High digitB
                High digitC
                High digitD
                High digitE
                High digitF
                High digitG
            Case 9
                High digitA
                High digitB
                High digitC
                High digitD
                Low  digitE
                High digitF
                High digitG            
        EndSelect
        DelayMS 2   
        Low digitA
        Low digitB
        Low digitC
        Low digitD
        Low digitE
        Low digitF
        Low digitG 
        Low digit1
        Low digit2 
    Next  
Return
'****************************************************************  
End    

CNC boor/frees machine V2 – Mechanica – Update

Vandaag heb ik de aluminium plaat die ik in Eksel had gekocht aan men Z as gemaakt voor de verbinding te maken tussen de Z en de X-as. Daarna heb ik “glij lagers” gemaakt voor op de rails van de X-as en die gemonteerd om de aluminium plaat.

 

Foto’s:

cnc

cnc

cnc

cnc

CNC boor/frees machine V2 – Mechanica – Update

Gisteren en vandaag heb ik een tafel gemaakt voor men cnc en de X-as al gemonteerd.

Foto’s:

cnc tafel

cnc tafel

Mini Lab Voeding

Ik zag een tijdje geleden Turbokeu zijn minivoeding en dacht dat moet kleiner kunnen. Toen ik een dikke maand later van Jeroen een behuizing kreeg (Bedankt daarvoor Jeroen!!) van een omvormer 12VDC => 230VAC had ik ook al meteen een mooie behuizing. (Volume van Turbokeu zijn minivoeding is 1323cm³ en dat van mijn minivoeding is 588cm³)

De schakeling die ik gebruikt heb is gebaseerd op een ontwerp uit Elektuur (Regelbare voeding maart 98). De displays zijn van het type DPM125 en heb ik op de radiomarkt in Bocholt.

De voeding levert 3-24V bij 1A. Maar langdurig kan deze niet belast worden omdat de behuizing niet genoeg koeling biedt.

Schema hoofdprint:

schema Mini Lab Voeding

Schema display voeding:

schema Mini Lab Voeding

Pcb layout hoofdprint:

print Mini Lab Voeding

Print display voeding:

print Mini Lab Voeding

Componentenlijst (alleen van de hoofd print):

R1 1K 1206
R2, R3 47K 0805
R4, R6 270K 0805
R5 3K9 0805
R7 15K 0805
R8, R9, R14 4K7 0805
R10, R11 220R 0805
R12, R13 1R 1W
R15 3K3 1W
C1 4700µF
C2, C4, C5, C6, C7 100nF 0805
C3 100µF
D1, D2, D3, D4, D6, D9 1N4007 SMD DO214BA
D5, D7 BAT85
D8 5V6 zener
IC1, IC2 TLC271
IC3 78L09
POT1, POT2 1K
Q1, Q2 IRF540
TR1 transformator

Foto’s:

Mini Lab Voeding

De bovenkant van de hoofdprint:

print Mini Lab Voeding

Onderkant:

print Mini Lab Voeding

Onderkant display voeding:

print Mini Lab Voeding

Bovenkant:

print Mini Lab Voeding

Hier is te zien hoeveel plaats ik nog over heb :p:

Mini Lab Voeding

Mini Lab Voeding

Dicht:

Mini Lab Voeding

En ingeschakeld:

Mini Lab Voeding

2 foto’s op aanvraag van de voeding in mijn hand voor een referentie van de maat:

Mini Lab Voeding

Mini Lab Voeding

ESR-Meter

Een tijdje geleden kwam ik een ontwerp van een ESR meter tegen. Ik heb toen besloten dit na te bouwen maar de uitlezing met een pic + lcd te maken.

Mijn schema:
schema

Foto’s:
Frontplaat ESR-Meter
De tekst is er met wrijfletters opgezet.
ESR-Meter
ESR-Meter

Moodlight Update

Ik heb in de voorbije 2 weken het tweede printje en de behuizing ook afgewerkt.

Van het solderen van het printje heb ik een time-laps filmpje:

Voor het wat professioneler te maken heb ik op de zijkanten van de behuizingen stickers geplakt:

stickers

De stickers als pdf: Link.

Het melkglas heb ik ook binnen gekregen en gemonteerd:

melkglas moodlight

melkglas moodlight

Met de moodlight in werking:

melkglas moodlight

melkglas moodlight

Bestanden:

-PCB bestanden: Download

250W Subwoofer Versterker – Update

Ik heb beslist zelf een behuizing te maken aangezien die oude behuizing hierboven niet mooi is. De koelblok ga ik ook vervangen door 2 andere die ik op de radiomarkt in Eksel heb gekocht.

De koelblokken ga ik nu gebruiken als zijkant van de kast. De rest ga ik maken uit aluminium platen.

Foto:

Versterker kast

Voeding + en – 0-70V @ 5A – Update

Ik heb eind vorige maand goedkoop nieuwe koelblokken kunnen kopen (Bedankt Ben en Robert daarvoor!!). Die nieuwe koelblokken heb ik nu op mijn voeding gezet. Omdat de koelblokken hun ribben in de andere richting liggen en veel groter zijn mocht de ventilator weg. Ik heb toen maar heel de voeding vanachter 5cm kleiner gemaakt en zo ziet het er veel beter uit vind ik. Nu heb ik ook terug plaats voor de power connector. En later de usb connector (die gaat daarboven komen).

Zo ziet het er nu uit:

Nieuwe koelbloken

Nieuwe koelbloken

Ik heb ook een nieuwe schakelprint gemaakt omdat ik niet helemaal tevreden was met het oude ontwerp. De triac’s voor de inschakelvertraging worden nu met een aparte pic gestuurd. (12F629).

Ik heb nu ook de hulpvoeding bij op het printje zitten. Voor de spanning daarvoor heb ik 2 extra wikkelingen op de eerste ringkern gewikkeld.

Schema:

Schema schakelprint V2

De print layout:

Print schakelprint V2

Onderdelenlijst:

R1, R2, R3 220R
R4, R11 33K
R6 0R33 5W
R5 3K3
R7, R8, R9, R10 1K
C1 470µF 25V
C2 100nF
C3, C4 10µF 25V
C5, C6 1000µF 25V
C7, C8, C9, C10 100nF SMD 0805
D1 1N4007
D2 5V1
D3, D4, D5, D6 1N4007 SMD
B1, B2 Gelijkrichter
IC1 PIC12F629 (Code) (Hex)
IC2 7812
IC3 7912
K1, K2, K3, K4 Relais
LED1 LED 5MM rood
Q1, Q2, Q3, Q4 BC848 SMD
T1, T2, T3 TIC206D

Foto’s:

Print schakelprint V2

Print schakelprint V2

Print schakelprint V2

De print ingebouwd en aagesloten:

Print schakelprint V2

ESR-Meter Update

Ik had blijkbaar een fout in het schema gemaakt. De niet inverterende ingangen van de opamp moesten blijkbaar niet aan de massa verbonden worden maar aan 2,5V. Dat heb ik nu opgelost door het ic voetje op headers te solderen en daaraan een spanningsdeler te maken.

bugfix

bugfix

bugfix

Nieuw schema:

schema