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

Printboormachine Update 3

Omdat de leds bij mijn printboormachine opeens allemaal kapot waren heb ik nieuwe verlichting gemaakt.

Ik heb 3 stukken printplaat in een driehoek aan elkaar gesoldeerd en daar 3 leds in gemaakt.

printboorverlichting
Zo heb ik geen risico dat ik in men leds boor en ik heb indirecte verlichting. Daardoor wordt je niet verblind als je in het gat kijkt.
printboorverlichting
(De led op deze foto vanboven moet nog weg aangezien die kapot is.)
Licht door de print:
printboorverlichting

 

Idee komt van vdbeke: http://www.schematheek.net/index.php?p=forum/topic&t=41&c=1&s=27

Radiomarkt Bladel 2008

De buit:
1 zakje triacs BTA06 600C
1 zakje triacs TIC206M
1 zakje dipswitchen
1 zakje 10K potmeters
1 zakje rode smd leds
1 zakje rode leds
1 zakje groene leds
1 zakje plastic afstandsbusjes
1 zakje print kroonsteentjes
1 plaat alu 300x150x10mm
2 printplaten
2 osciloscoop probes 100Mhz
1 19″ kast
Foto’s:

SC Analyser 2005 Update

De print van dit project lag al heel lang klaar op mijn bureau. Ik heb die gisteren snel even in een kastje van een oude cd-rom speler ingebouwd zodat dit project afgewerkt is.

De print:

print

Overzicht binnenkant kastje:

print

Frontje: print
Ik had geen zin om een frontje uit fotopapier te maken. Daarom is het gewoon een stuk gekleurde printplaat met een stickertje op.

(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.

Radiomarkt Turnhout 2009

De buit:
* Zakje met 4x zekeringhouder
* Zakje met 5x bnc printconnector
* Zakje met 4x microswitch
* Zakje groene leds
* Zakje 6 polige print kroonsteentjes
* Rail BC847 transistoren
* Omvormer 48VAC->230VAC (voor het kastje gekocht)
* Plastic plaat 50*70*0.5cm (- 1 hoek :p)
* Plastic staaf 100*6.6*10cm
Foto’s:

PICkit2

Ik vond mijn galvawisp wat te traag. Daarom heb ik een PICkit 2 gebouwd.

Het ontwerp waarop ik mij gebaseerd heb kan je hier vinden: Link

Omdat al mijn microcontroller gerelateerde zaken een 15-polige sub-d connector hebben voor de galvawisp heb ik deze programmer aangepast naar zo een aansluiting.

 

De hexfile voor de pic kan je op de microchip site downloaden. Link

 

Schema:

PICkit2 schema

PCB:

PICkit2 pcb

 

Onderdelenlijst:

Aantal: Naam: Waarde:
2 R1, R5 12k
2 R2, R6 4k7
2 R3, R13 2k7
1 R4 75R
2 R7, R8 33R
3 R10, R11, R12 680R
1 R16 220R
1 R17 1k
2 R18, R19 27R
2 C1, C5 100n
2 C2, C3 22p
1 C4 47µF
1 C6 10µF
1 C7 330nF
1 L1 680uH
2 D1, D2 BAT85
1 T1 BC640
4 Q1, Q2, Q4, Q6 BS170
1 Q5 BS250
1 X1 20MHz
1 U1 PIC18F2550
1 S1 Drukknop
3 LED1, LED2, LED3 3mm led
1 X2 15 polige sub-d stekker
1 J1 Draadbrug
1 CN1 USB-B female

 

Foto’s:

PICkit2

PICkit2

PICkit2

 

In een kastje:

PICkit2

PICkit2

PICkit2

Bestanden:

-PCB bestanden: Download

ESR-Meter Update

Ik heb nu de code werkend gekregen. Er is iets mis met picbasic waardoor de AD omzetting problemen geeft bij een 16f690. Daarom heb ik zelf een stukje code geschreven voor het “handmatig” uit te lezen.

De code:

'****************************************************************
'* Name : ESR_meter *
'* Author : [Stynus] *
'* Notice : Copyright (c) 2008 [www.elektronicastynus.be] *
'* : All Rights Reserved *
'* Date : 24/02/2009 *
'* Version : 1.1 *
'****************************************************************
'Config
 Device 16F690
 Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_OFF, MCLRE_OFF
 XTAL = 8
 OSCCON = %01110111

 Dim spanning As Word
 Dim esr As Float
 
 Declare LCD_DTPIN PORTC.4
 Declare LCD_ENPIN PORTC.3
 Declare LCD_RSPIN PORTB.6
 Declare LCD_LINES 2 

 TRISA.2 = 1 
 ADCON0 = %10000001
 ANSEL = %00000100 
 ANSELH = %00000000
 
 ADIN_RES = 10 
 ADIN_TAD = FRC 
 ADIN_STIME = 500 

 Symbol lcdTijd = 600
 Clear
 Cls
 Print At 1, 1, "ElektronicaStynu"
 Print At 2, 1, " ESR-Meter V1.2 "
 DelayMS lcdTijd
 Print At 1, 1, "lektronicaStynus"
 DelayMS lcdTijd
 Print At 1, 1, "ektronicaStynus."
 DelayMS lcdTijd
 Print At 1, 1, "ktronicaStynus.b"
 DelayMS lcdTijd
 Print At 1, 1, "tronicaStynus.be"
 DelayMS lcdTijd
 
 Cls
 Print At 1, 1, " ESR-Meter V1.2 " 
 Print At 2, 1, " ESR = , "
 Print At 2, 16, $FE,$40,$00,$0E,$11,$11,$11,$0A,$1B,$00


While 1 = 1 
 GoSub AD_in
 spanning = spanning - 480
 esr = spanning / 19
 If esr > 27 Then
 Print At 2, 9, "Open "
 Else 
 Print At 2, 9, DEC2 esr , " "
 EndIf
 DelayMS 550 

Wend
AD_in:
 ADCON0 = %10001001 
 DelayMS 510
 ADCON0.1 = 1 
 While ADCON0.1 = 1 : Wend
 spanning = 0
 spanning.HighByte = ADRESH
 spanning.LowByte = ADRESL

Return
End

De hex file

IN-12 Nixie klok Update

Ik heb beslist om niet op Robert te wachten voor de code enzo. Dus heb ik zelf wat ontworpen en gemaakt. De klok werkt nu met een pic16f628a. De tijd wordt bijgehouden door een DS1307 en de temperatuur wordt gemeten door een TC74. Omdat de 16f628a niet genoeg uitgangen heeft heb ik er 4 74HC595 schuifregisters bijgezet, zo kan ik alle nixies en neonlampjes met 3 uitgangen aansturen.

Schema:

schema

Pcb layout:

pcb

Foto van de opgebouwde print:

print

Filmpje van de schakeling in werking:

De code:

Device  16F628A
Config  INTRC_OSC_NOCLKOUT, WDT_off, PWRTE_off, LVP_off, MCLRE_on
ALL_DIGITAL     TRUE 
PORTB_PULLUPS   = On
'In en uitgangen
    'Nixies en neons
        Symbol  klok      = PORTA.1
        Symbol  ZetVast   = PORTA.0
        Symbol  Data_Pin  = PORTA.2
    'Temperatuursensor en RTC
        Symbol  SDA       = PORTB.4
        Symbol  SLC       = PORTB.3
    'Knoppen
        Symbol  KnopR     = PORTB.7 : TRISB.7 = 1
        Symbol  KnopM     = PORTB.6 : TRISB.6 = 1
        Symbol  KnopL     = PORTB.5 : TRISB.5 = 1

'Variabelen declareren
    Dim     Teller          As Byte
    Dim     Temp1           As Byte
    Dim     Temp2           As Byte 
    Dim     BCD_Opt         As Byte   
    Dim     index           As Byte
    Dim     Seconden        As Byte
    Dim     Minuten         As Byte
    Dim     Uren            As Byte
    Dim     Datum           As Byte
    Dim     Maand           As Byte
    Dim     Jaar            As Byte
    Dim     Temperatuur     As Byte
    Dim     neon            As Byte
    Symbol  Reg_Seconden    =  $00 
    Symbol  Reg_Minuten     =  $01
    Symbol  Reg_Uren        =  $02
    Symbol  Reg_Dag         =  $03
    Symbol  Reg_Datum       =  $04
    Symbol  Reg_Maand       =  $05
    Symbol  Reg_Jaar        =  $06
    Symbol  Lezen           =  %11010001
    Symbol  Schrijven       =  %11010000

    Clear

    While 1 = 1 
        Tijd:
            For index = 0 To 50
                I2CIN  SDA, SLC, Lezen, Reg_Uren, [Uren]     
                I2CIN  SDA, SLC, Lezen, Reg_Minuten, [Minuten]
                I2CIN  SDA, SLC, Lezen, Reg_Seconden, [Seconden] 
                neon = %01111001
                
                SHOut Data_Pin, klok, msbfirst, [neon \ 8]
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Uren \ 8]
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Minuten \ 8]   
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Seconden \ 8]   
                High ZetVast
                DelayUS 20
                Low ZetVast
                If KnopR = 0 Or KnopM = 0 Or KnopL = 0 Then
                    GoSub TijdInst
                EndIf
                DelayMS 200
            Next
        Date:
            For index = 0 To 10
                I2CIN  SDA, SLC, Lezen, Reg_Jaar, [Jaar]
                I2CIN  SDA, SLC, Lezen, Reg_Maand, [Maand]
                I2CIN  SDA, SLC, Lezen, Reg_Datum, [Datum] 
                neon = %01111010
                    
                SHOut Data_Pin, klok, msbfirst, [neon \ 8]
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Datum \ 8]
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Maand \ 8]   
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Jaar \ 8]   
                High ZetVast
                DelayUS 20
                Low ZetVast
                If KnopR = 0 Or KnopM = 0 Or KnopL = 0 Then
                    GoSub DatumInst
                EndIf 
                DelayMS 200
            Next       
        Temp: 
            For index = 0 To 10
                I2Cin SDA, SLC,$91,[Temperatuur] 
                Temp1 = Temperatuur / 10
                Temp2 = (Temperatuur - (Temp1 * 10))
                Temperatuur = Temp2
                Temperatuur.7 = Temp1.3 
                Temperatuur.6 = Temp1.2
                Temperatuur.5 = Temp1.1
                Temperatuur.4 = Temp1.0
                   
                neon = %00100100
                
                SHOut Data_Pin, klok, msbfirst, [neon \ 8]
                DelayUS 20        
                SHOut Data_Pin, klok, msbfirst, [$FF \ 8]
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [Temperatuur \ 8]   
                DelayUS 20
                SHOut Data_Pin, klok, msbfirst, [$FF \ 8]   
                High ZetVast
                DelayUS 20
                Low ZetVast
                DelayMS 200
            Next
    Wend  

TijdInst:
    I2CIN  SDA, SLC, Lezen, Reg_Uren, [Uren]     
    I2CIN  SDA, SLC, Lezen, Reg_Minuten, [Minuten]
    I2CIN  SDA, SLC, Lezen, Reg_Seconden, [Seconden] 
    neon = %01111001
    While 1 = 1 
        SHOut Data_Pin, klok, msbfirst, [neon \ 8]
        DelayUS 20
        SHOut Data_Pin, klok, msbfirst, [Uren \ 8]
        DelayUS 20
        SHOut Data_Pin, klok, msbfirst, [Minuten \ 8]   
        DelayUS 20
        SHOut Data_Pin, klok, msbfirst, [Seconden \ 8]   
        High ZetVast
        DelayUS 20
        Low ZetVast
        DelayMS 200
        Inc Teller
        If KnopR = 0 Then
            BCD_Opt = Seconden
            GoSub bcd_tellen
            Seconden = BCD_Opt
            Teller = 0
        EndIf
        If KnopM = 0 Then
            BCD_Opt = Minuten
            GoSub bcd_tellen
            Minuten = BCD_Opt
            Teller = 0
        EndIf
        If KnopL = 0 Then
            BCD_Opt = Uren
            GoSub bcd_uur
            Uren = BCD_Opt
            Teller = 0
        EndIf
        DelayMS 250
        If Teller = 12 Then Break
    Wend
    'Wegschrijven
    I2COUT SDA, SLC, Schrijven ,Reg_Seconden, [Seconden]
    I2COUT SDA, SLC, Schrijven ,Reg_Minuten, [Minuten]
    I2COUT SDA, SLC, Schrijven ,Reg_Uren, [Uren]

Return
bcd_tellen:
    Temp1 = BCD_Opt & %00001111 'Xor
    Temp2 = BCD_Opt - Temp1
    Temp2 = Temp2 >> 4
    Inc Temp1
    If Temp1 > 9 Then
        Temp1 = 0
        Inc Temp2
        If Temp2 > 5 Then
            Temp2 = 0
        EndIf
    EndIf  
    Temp2   = Temp2 << 4   
    BCD_Opt = Temp2 + Temp1

Return   
bcd_uur:
    Temp1 = BCD_Opt & %00001111 'Laagste bits doorlaten 
    Temp2 = BCD_Opt - Temp1
    Temp2 = Temp2 >> 4
    Inc Temp1
    If Temp1 > 9 Then
        Temp1 = 0
        Inc Temp2
        If Temp2 > 5 Then
            Temp2 = 0
        EndIf
    EndIf  
    Temp2   = Temp2 << 4   
    BCD_Opt = Temp2 + Temp1
    If BCD_Opt > 23 Then
        BCD_Opt = 0
    EndIf
Return    

DatumInst:
    I2CIN  SDA, SLC, Lezen, Reg_Jaar, [Jaar]
    I2CIN  SDA, SLC, Lezen, Reg_Maand, [Maand]
    I2CIN  SDA, SLC, Lezen, Reg_Datum, [Datum]
    neon = %01111010
    While 1 = 1 
        SHOut Data_Pin, klok, msbfirst, [neon \ 8]
        DelayUS 20
        SHOut Data_Pin, klok, msbfirst, [Datum \ 8]
        DelayUS 20
        SHOut Data_Pin, klok, msbfirst, [Maand \ 8]   
        DelayUS 20
        SHOut Data_Pin, klok, msbfirst, [Jaar \ 8]    
        High ZetVast
        DelayUS 20
        Low ZetVast
        DelayMS 200
        Inc Teller
        If KnopR = 0 Then
            BCD_Opt = Jaar
            GoSub bcd_jaar
            Jaar = BCD_Opt
            Teller = 0
        EndIf
        If KnopM = 0 Then
            BCD_Opt = Maand
            GoSub bcd_Maand
            Maand = BCD_Opt
            Teller = 0
        EndIf
        If KnopL = 0 Then
            BCD_Opt = Datum
            GoSub bcd_Datum
            Datum = BCD_Opt
            Teller = 0
        EndIf
        DelayMS 250
        If Teller = 12 Then Break
    Wend
    'Wegschrijven
    I2COUT SDA, SLC, Schrijven ,Reg_Jaar, [Jaar]
    I2COUT SDA, SLC, Schrijven ,Reg_Maand, [Maand]
    I2COUT SDA, SLC, Schrijven ,Reg_Datum, [Datum]

Return
bcd_jaar:
    Temp1 = BCD_Opt & %00001111 'Xor
    Temp2 = BCD_Opt - Temp1
    Temp2 = Temp2 >> 4
    Inc Temp1
    If Temp1 > 9 Then
        Temp1 = 0
        Inc Temp2
        If Temp2 > 9 Then
            Temp2 = 0
        EndIf
    EndIf  
    Temp2   = Temp2 << 4   
    BCD_Opt = Temp2 + Temp1

Return  
bcd_Maand:
   Temp1 = BCD_Opt & %00001111 'Laagste bits doorlaten 
    Temp2 = BCD_Opt - Temp1
    Temp2 = Temp2 >> 4
    Inc Temp1
    If Temp1 > 9 Then
        Temp1 = 0
        Inc Temp2
    EndIf  
    Temp2   = Temp2 << 4   
    BCD_Opt = Temp2 + Temp1
    If BCD_Opt = $13 Then
        BCD_Opt = 1
    EndIf    
    If BCD_Opt = 0 Then
        BCD_Opt = 1
    EndIf
Return

bcd_Datum:
   Temp1 = BCD_Opt & %00001111 'Laagste bits doorlaten 
    Temp2 = BCD_Opt - Temp1
    Temp2 = Temp2 >> 4
    Inc Temp1
    If Temp1 > 9 Then
        Temp1 = 0
        Inc Temp2
    EndIf  
    Temp2   = Temp2 << 4   
    BCD_Opt = Temp2 + Temp1
    If BCD_Opt = $32 Then
        BCD_Opt = 1
    EndIf
    If BCD_Opt = 0 Then
        BCD_Opt = 1
    EndIf
Return
End

De hex file: Link.

Nu nog iemand zoeken om de behuizing te frezen uit een blok hout en het project is af.

Reflow oven

Na het zien van Xantus zijn reflow toaster kreeg ik zin om zelf ook zoiets in elkaar te knutselen. Een paar weken later waren er in het kruidvat snacktoasters in de aanbieding. Dus heb ik er toen zo 1 gekocht.

Oven aanbieding kruidvat

 

Het vermogen is iets lager dan dat van de toaster van Xantus maar een testje wees uit dat dit ook genoeg is.

 

Het gedeelte waarin de elektronica moet komen is niet breed genoeg, dus heb ik dat 4cm breder gemaakt.

oven breder

 

Nu past er een 2*16 lcd en een toetsenbordje in:

lcd toetsenbord

 

De printplaat voor de aansturing is nog niet klaar. Maar de oven zal werken op basis van een 16F877A. Ik ga er 4 modes in programeren Reflow (Print solderen); Resolder (Print met slechte contacten opnieuw solderen); Preheat (Print opwarmen); Fix temp (Vaste instelbare temperatuur)

Ik voorzie ook een interface met de pc via RS232 om zo de temeratuur uit te lezen en eventueel in te stellen.

 

Ondertussen is er een stuk nieuwe kap gemaakt met gaten voor de lcd enzo. Dat staat nu in de grondverf en moet denk ik nog wel een paar lagen krijgen. Als dat klaar is zullen er foto’s volgen.

Reflow oven Update

Ik heb vandaag de printplaat ge-etst en bestukt.

 

Schema:

schema reflow oven

 

Pcb:

reflow ven pcb layout

 

Foto’s:

Reflow oven print

Reflow oven print

Reflow oven print