Categorie: Programmers / Devboards

Galvawisp

Mijn PIC-programmer kon niet “in circuit” programeren dus heb ik maar een nieuwe gemaakt. Na een tijdje zoeken ben ik bij de galvawisp uitgekomen (Voor meer info over deze programmer zie: picbasic.nl) Omdat deze zelfbouw is en simpele onderdelen gebruikt die goed te krijgen zijn en omdat deze veel pic’s ondersteund.

Enkele foto’s:
galvawisp
galvawisp

AVR programmer

Omdat het af en toe handig is om zelf een avr te kunnen proggen (dan moet ik daar geen andere mensen mee lastig vallen :p) heb ik besloten een programmer te maken.
Ik wou eigenlijk een programmer voor op de seriële poort maar die vond ik niet snel en toen kreeg ik de tip van een programmer op co die op de parallelle poort werkt en die heb ik toen gebouwd. http://www.circuitsonline.net/circuits/view/112

AVR-progger

Galvawisp Update

Omdat ik het moe was telkens men voeding ook over te zetten op een ander breadboard als ik daar wil programmeren heb ik een klein bordje gemaakt waardoor de voeding “uit” de galvawisp komt (elk breadbord heeft wel zijn eigen 15p SUB-D connector)
Bovenkant:
Galvawisp_Voeding
Onderkant:
Galvawisp_Voeding
De 7805 voeding:
7805_Voeding

PIC ontwikkelbordje

Mijn K8048 development bordje werkte gisteren weeral tegen toen ik snel een knightrider wilde testen. Daarom heb ik die toen in een hoekje gesmeten en snel een nieuw bordje ontworpen dat op mijn galvawisp komt. Vandaag heb ik dat printje ge-etst en bestukt. De microcontroller is een 16F628A. Op port A hangen 8 dipswitchen en op port B hangen 8 leds.

Schema:

Schema PIC ontwikkelbordje

PCB:

pcb PIC ontwikkelbordje

De pcb layout als pdf: Link.

Foto’s:

foto PIC ontwikkelbordje

foto PIC ontwikkelbordje

Code knightrider die ik voor het testen heb gebruikt:

'****************************************************************
'*                      knightrider                             *
'*                                                              *
'*  Auteur  : Stijn Coenen [Stynus]                             *
'*  Notice  : Copyright (c) 2008 Stijn Coenen                   *
'*          : All Rights Reserved                               *
'*  Datum   : 29/05/2008                                        *
'*  Version : 1.0                                               *
'*  Website : www.elektronicastynus.be                          *
'****************************************************************
'Config
    Device 16F628A               
    Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
    ALL_DIGITAL TRUE                ;Alle ingangen digitaal
'****************************************************************
'Ingangen declareren
    Symbol switch   = PORTA
    Symbol sw1      = PORTA.7
    Symbol sw2      = PORTA.6
    Symbol sw3      = PORTA.5
    Symbol sw4      = PORTA.4
    Symbol sw5      = PORTA.3
    Symbol sw6      = PORTA.2
    Symbol sw7      = PORTA.1
    Symbol sw8      = PORTA.0
    'TrisA register instellen (alles ingang)
    TRISA           = 255 
'****************************************************************
'Uitgangen declareren
    Symbol ledjes   = PORTB
    Symbol led1     = PORTB.7
    Symbol led2     = PORTB.6
    Symbol led3     = PORTB.5
    Symbol led4     = PORTB.4
    Symbol led5     = PORTB.3
    Symbol led6     = PORTB.2
    Symbol led7     = PORTB.1
    Symbol led8     = PORTB.0
    'TrisB register instellen (alles uitgang)
    TRISB = 0                       
'****************************************************************    
'Decraraties voor programma:
    Symbol LedTijd  = 70 'doorschuif snelheid LED    
    Dim    index    As Byte
    ledjes          = %10000000 '1 led aanzetten
'****************************************************************
'Hoofdprogramma                                               
    While 1 = 1                     'Oneindige loop
        'Links schuiven
        For index = 0 To 6          'Uitvoren tot dat index 6 is
            ledjes = ledjes >> 1    'Ledjes naar rechts doorschuiven
            DelayMS LedTijd         'Wachten
        Next
        'Rechts schuiven
        For index = 0 To 6          'Uitvoren tot dat index 6 is
            ledjes = ledjes << 1    'Ledjes naar links doorschuiven
            DelayMS LedTijd         'Wachten
        Next       
    Wend
'****************************************************************
End                  

De hex file: link

Filmpje van de knightrider in actie:

USB-Wisp

Omdat een usb-> serieel omvormer gekoppeld aan mijn galvawisp wat te veel plaats in neemt heb ik een wisp programmer gemaakt met een USB in plaats van RS232. Op de programmer print zit een ft232 voor naar een serieel signaal te gaan zodat ik de originele wisp hex code kon gebruiken.

De jumper op het printje dient om te kiezen tussen “target powered” en “usb powered”.

 

Het schema:

schema USB-Wisp

(Klikbaar)

De print layout:

Print Layout USB-Wisp

Silkscreen-bottom als pdf: Link

Copper-bottom als pdf: Link

Copper-top als pdf: Link

Silkscreen-top als pdf: Link

Foto’s:

Print USB-Wisp

Print USB-Wisp

Print USB-Wisp

Print USB-Wisp

Print USB-Wisp

Onderdelenlijst:

R1 4k7 0805
R2 10k 0805
R3, R9, R10, R12 1k 0805
R4, R5, R6, R7, R8, R11 47R 0805
C1, C2, C3, C4 100n 0805
C6, C7 22pF 0805
C8, C9 1µF 0805
C10 22µF
C11 100µF
D1, D2, D3 BAT85
D4 SB140 SMD
D5 1N4148
IC1 FT232RL SSOP28DB
IC2 PIC16F648A SO-18W
JP1 3p JUMPER
L1 INDUCTOR 0603
LED1 LED 3MM Rood
LED2 LED 3MM Groen
Q1 20Mhz kristal
Q2 BC847 SOT23
SV1 5P female header
X1 USB MINI connector
X2 15p male sub-d

De hex file voor in de pic is hier te vinden: http://www.voti.nl/wisp648/

Voor versie 1.23 kan je deze link gebruiken: Link.

Het schema rond de ft232 is gebaseerd op het FTDI Breakout board

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

ZIF-Blokje

Een tijdje geleden had ik een kastje gemaakt met een zif voet zodat ik niet tekens een breadboard moet nemen/leeg maken, om een microcontroller die niet in circuit geprogrammeerd kan worden te programmeren. Bezoekers van de SchemaTheek zullen dit project daar al wel eerder op het forum voorbij hebben zien komen. Ik was van plan het toen ook hier te posten maar ben dat vergeten.

Schema:

Schema ZIF-Blokje

 

De pics komen er op deze manier in:

ZIF-Blokje

Foto’s:
Binnenkant:

ZIF-Blokje

Buitenkant:

PICKIT2 ZIF-Blokje

ZIF PICKIT 2

USBtinyISP

Mijn nieuwe pc heeft geen parallelle poort meer dus kan ik de avr programmer die ik vroeger gemaakt heb niet meer gebruiken. Daarom heb ik beslist er een te bouwen die op de usb poort werkt.

Het ontwerp is gebaseerd op het USBtinyISP ontwerp van op http://www.ladyada.net/make/usbtinyisp/index.html De 6p connector heb ik weggelaten omdat ik deze toch niet gebruik en ik heb een nieuwe print ontworpen omdat de originele dubbelzijdig is.

 

Het schema:

usbtinyisp

 

PCB layout

usbtinyisp

Bottom PDF

Silkscreen PDF

 

Onderdelenlijst:

Code: Onderdeel:
R1, R2 27 Ohm
R3, R4, R5, R6, R7 1.5K
R10 10K
C1 100nF
C2 100uF
C3, C4 22pF
D1, D2 3.6V Zener
LED1, LED2 LED 3mm
Q1 Kristal 12Mhz
IC1 ATTINY2313-20P (Geprogrameerd!)
IC2 74AHC125N
JP2 10 Polige header
X1 USB B printconnector

 

Foto’s:

USBtinyISP

USBtinyISP

USBtinyISP

USBtinyISP

Bestanden:

PCB files als pdf: Download

PCB files: Download

Firmware: Download

16F877A development board

Na mijn eerste development board heb ik beslist een tweede te bouwen. Deze gaat werken op basis van een PIC16F877.

De gewenste functies zijn:
-7x Led
-8x dipswitch
-2x 7 segment display
-1x Lcd
-1x RS232 verbinding
-1x programmeer stekker
Voor het bordje gemakkelijk met een breadboard te verbinden heb ik langs alle pinnen van de pic nog een extra cupje voorzien om breadboard draadjes in te steken.

Op de plaats van de programmeer stekker kan of een 15p sub-d connector of een 5p pin header gesoldeerd worden. De 15p sub-d connector is voor met een wisp programmer. De andere is voor met een pickit2 (en andere pin compatibele programmers)

Het schema:

De pcb layout:

Enkele foto’s van het eerste prototype:


Filmpje van de eerste test:

Hiermee zijn de leds, de 7 segmenten displays en de schakelaars al getest.
De seriële interface en het LCD werkt ook al:

 

Ik heb dit printje voor de definitieve versie professioneel laten etsen:

Bestanden:

Demo code:

Code: Bekijk. Download.

Hex file: Download.

 

Schema:

PDF

18F4550 development board

Ik wil bij de lichtkrant die ik aan het maken ben een usb verbinding met de pc opzetten. Nu is het bij zo een lichtkrant natuurlijk moeilijk om variabelen te bekijken. Daarom heb ik beslist het dev boardje waar ik een tijd geleden aan begonnen was maar eens af te maken.

Functies:
-USB
-LCD
-8 knoppen
-8 leds
-1 wire bus (en 1 temperatuursensor op de bus die op de print zit)
-RS485 bus
-Alle pinnen voorzien van een female pin header om makkelijk met een breadboard te kunnen verbinden.
-De meeste pinnen die naar dingen op het bordje gaan los te koppelen met dip switches.
-Voeding via USB of met adapter
-ICSP header (galva)wisp pinout

De gebruikte pic is een 18F4550.

Schema:

PCB:

 

Prototype klaar: