archive-nl.com » NL » P » PICBASIC.NL

Total: 182

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Printen boren
    boren kan ook maar dat poetst moeilijker door de geboorde gaatjes Bovendien loop je de kans dat de inkt in de gaatjes loopt wat problemen op kan leveren bij verzilveren Vergeet de achterkant niet 8 8 Een andere manier is om de reeds geëtste print nogmaals helemaal belichten dus zonder layout en daarna weer in de ontwikkelaar zodat de overige inkt oplost Vergeet de achterkant niet 8 8 Hierna de opnieuw belichtte geëtste print nogmaals in de ontwikkelaar dompelen Hierdoor lost ook de overige inkt op Wie niet kan verzilveren kan het best de fotolak op de print laten zitten Het is soldeerbaar en hierdoor is het koper voor een groot deel beschermt tegen oxidatie Helaas niet voor 100 want de zijkanten van de baantjes liggen natuurlijk wel bloot 8 8 Soldeer eilanden met een geëtst gaatje open pads centreren de boor Een zwakstroom lampje onder de print geeft extra zicht tijdens het boren Alleen mogelijk bij gebruik van epoxy doorzichtig als basismateriaal 8 8 Het lampje ligt in het boorgat van de boorstandaard Ga met de muis op de foto staan dan gaat het lampje uit Een stuk isolatieband aan de boor blaast het stof automatisch weg Maar zo adem je het stof in dus niet doen Een voetpedaal om de boormachine in te schakelen houdt de handen vrij 8 8 Een regelbaar toerental is ideaal Ikzelf heb een I R regeling Dat betekent dat de boor niet trager gaat lopen als een gat wordt geboord Hierdoor is het toerental tijdens boren constant Een boorkop werkt fijner dan een kop voor vaste maten Hierin kunnen boren van 0 6mm tot 6mm worden geklemd Links de hardmetalen boren met dikke schacht Een kunststof hulsje beschermt de boor tijdens bewaren Uiterst rechts de 6mm boor maximale dikte van de boorkop De

    Original URL path: http://www.picbasic.nl/etsen_boren.htm (2016-02-17)
    Open archived version from archive

  • Solderen
    met schuimrubber gesloten Hierna wordt het geheel omgedraaid om de componentendraden te kunnen knippen en te solderen Het schuimrubber houdt de componenten op zijn plaats 8 8 Eerst alle componenten van gelijke hoogte aanbrengen Daarna wordt het hele raam inclusief schuimrubber en print omgedraaid Verkrijgbaar en meer info bij Small Parts nl Solderen in het kort 8 8 Het mooist is een soldeerbout met regelbare temperatuur De ideale soldeertemperatuur is zo n 320 C 330 C loodhoudend tin Voor loodvrij soldeertin moet de temperatuur wat hoger worden ingesteld Zorg voor een schone soldeerboutpunt door deze steeds aan de vochtige spons af te vegen Nadeel is dat de soldeerboutpunt hierdoor sterk afkoelt Een te natte spons beschadigd de soldeerpunt haarscheurtjes wat weer leidt tot oxidatie van de punt Een droge pluisvrije doek bijvoorbeeld een oud laken of T shirt volstaat overigens ook De soldeerboutreiniger VTSTC van Velleman heeft geen last van afkoeling van de punt De punt wordt goed schoon het overtollige tin komt onderin het bakje terecht Vergulde reserve krullen zijn los leverbaar Verkrijgbaar bij o a Small Parts nl Neem iets tin aan de schone punt van de soldeerbout Houdt de soldeerboutpunt tegen de componentdraad en eilandje pad Voeg nu iets tin bij zodat het eilandje net vol met tin loopt Nog even uit laten vloeien 1 seconde de bout heen en weer bewegen helpt Klaar Tijdens het stollen van het tin niets bewegen Een schone droge punt is echt belangrijk Niet alleen schoon van oud bruin hars maar ook van oud tin Dunne draden weerstanden knip ik ná het solderen af Dikkere draden diodes brugcel knip ik ook ná het solderen af maar daarna nog een keer met de soldeerbout erover Omdat je vooral bij dikkere draden het draad indrukt plet bij het knippen druk je als het

    Original URL path: http://www.picbasic.nl/etsen_solderen.htm (2016-02-17)
    Open archived version from archive

  • Modulerende thermostaat aansturen met een PIC
    geen functie De originele potmeter moet verwijderd worden hier komt de 140209 print voor in de plaats Maak de soldeereilandjes goed vrij van soldeertin Plaats de 140209 print in de vrijgekomen aansluitingen van de potmeter en ketelaansluiting Detailfoto soldeerzijde Voordat de print wordt vast gesoldeerd eerst kijken of deze goed in de kunststof behuizing past Vóór het solderen de draden van de 140209 print afknippen De modulerende thermostaat kan nu met 5 volt 300 Baud geregeld worden Door de optocoupler is een galvanische scheiding gegarandeerd Rood 5V Zwart GND De ModuLine 15 thermostaat van Nefit met ingebouwde 140209 print Wees er zeker van dat de linker aansluiting naar de ketel de is voordat de thermostaat geplaatst wordt De witte ronde knop klikt in de behuizing ook zonder de potmeter De 140209 print past ook in de goedkoopste thermostaat de ModuLine 10 zonder display Het best kan de PIC eerst geprogrammeerd worden en dan pas in de 140209 print worden gesoldeerd De voeding van de ketel is niet geschikt om de PIC in circuit ICSP te programmeren In circuit programmeren kan alleen als de thermostaat wordt afgekoppeld van de verwarmingsketel en er een voedingsspanning van 5 volt wordt toegevoerd aan de 140209 print De PIC kan niet in een voetje worden geplaatst omdat de print dan te hoog wordt waardoor deze niet meer in de ModuLine behuizing past De 140209 print nooit zonder de ModuLine print op de klemmen aansluiten de hogere spanning kan de 140209 print beschadigen Een zenerdiode zit niet op de print deze verstoort namelijk de gegevensoverdracht tussen thermostaat en verwarmingsketel PIC Basic Het onderaan te downloaden PIC Basic programma Nefit V 1 NL bas is klein genoeg om ook met de LITE versie mee aan de slag te gaan Het PIC type achter DEVICE moet in de LITE versie worden gewijzigd in 12F675 want de LITE versie kent de 12F629 niet De interne oscillator van de 12F629 kan zodanig afwijken dat de communicatie van 300 Baud niet lukt Als dat het geval is dan moet de PIC oscillator eerst afgeregeld worden met het volgende programmaatje sluit hiervoor een LED of een buzzer aan op GPIO 5 DEVICE 12F629 Wijzig in PIC Basic LITE de 12F629 in een 12F675 type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal OSCCAL 200 Hoe hoger de waarde des te sneller prototype 170 230 WHILE 1 1 HIGH GPIO 5 DELAYMS 100 LOW GPIO 5 DELAYMS 900 WEND De waarde achter OSCCAL 0 255 bepaalt de snelheid van de interne oscillator Experimenteer net zo lang met deze waarde tot de LED elke seconde even opblinkt een buzzer i p v LED gaat nog makkelijker Als het afregelen gebeurt is de LED moet ongeveer 60 keer per minuut blinken dan is de OSCCAL waarde van de PIC bekend en kan die waarde achter OSCCAL in het thermostaat programma Nefit V 1 NL bas worden geplaatst In het PIC Basic programma Nefit V 1 NL bas

    Original URL path: http://www.picbasic.nl/thermostaat_nefit.htm (2016-02-17)
    Open archived version from archive

  • PIC programmeren met PIC Basic (5)
    stabilisering Hoofdprogramma CLS Met een schoon LCD scherm beginnen LCD wissen dus WHILE 1 1 Weerstand POT Potmeter Schaal Geef nieuw gemeten waarde aan Weerstand PRINT AT 1 1 DEC Weerstand Zet actuele stand van Weerstand op eerste regel Som Weerstand Lengte 256 Bereken cursor dot mode lengte balk bar mode IF Mode LAAG THEN Als Mode pin PORTB 0 laag is dan in DOT mode PRINT AT 2 1 REP Som Wis links van blokje oude meetuitslag op regel 2 Blokje Plaats het blokje afhankelijk van stand potmeter REP Lengte Som Wis rechts van blokje oude meetuitslag op regel 2 PeakPlek Som Reset PeakPlek gelijk aan huidige potmeterstand ELSE anders als Mode pin hoog is dan BAR mode PRINT AT 2 1 REP Blokje Som 1 Aantal blokjes afhankelijk van stand potmeter IF PeakHold HOOG THEN Als PeakHold pin hoog is gemaakt dan IF Som PeakPlek THEN PeakPlek Som Als uitslag boven de oude peak komt nieuwe peak IF Som PeakPlek THEN PRINT REP PeakPlek Som 1 Wis blokjes tussen BAR PEAK ELSE anders peak reset of peakhold uitgeschakeld PeakPlek Som Reset PeakPlek gelijk aan huidige potmeterstand PRINT REP Lengte Som Wis display rechts van BAR balk ENDIF ENDIF WEND END Einde programma Dit programma laat op displayregel 1 de decimale waarde van de potmeterstand zien De aanwijzing op displayregel 2 is afhankelijk van PORTB 0 met de naam Mode Als Mode hoog wordt gemaakt of gewoon open laten want PORTB pull ups is ingeschakeld dan wordt de potmeterstand als een soort VU meter weergegeven hoe groter de weerstand van de potmeter hoe meer blokjes er zijn Dit wordt BAR mode genoemd Wanneer Mode laag wordt gemaakt PORTB 0 met GND 0V verbinden dan staat de VU meter in DOT mode en dat houdt in dat er maar 1 blokje dot tegelijk zichtbaar is Zowel DOT als BAR maken gebruik van dezelfde berekening Weerstand x Lengte 256 Aangezien deze berekening op verschillende plaatsen nodig is wordt de uitkomst van deze som eerst in de variabele Som geplaatst die daarna in verschillende programmaregels wordt gebruikt Anders zou de PIC op al die plaatsen steeds opnieuw dezelfde berekening moeten doen wat tijd en geheugenruimte kost Peakhold In de BAR mode stand heeft de VU meter een peak hold mogelijkheid Ingang PORTB 1 met de naam PeakHold heeft 3 mogelijkheden met betrekking tot de peak hold 1 Als de PeakHold pin niet wordt aangesloten PORTB pull up dan is de peak hold functie ingeschakeld Het hoogst gemeten niveau blijft dan zichtbaar doordat daar een blokje blijft staan 2 Een laag pulsje op de PeakHold pin reset de peak hold en begint de meter weer van onderaf aan te meten 3 Door PeakHold constant laag te maken is de peak hold functie uitgeschakeld Het volgende programma is ook een VU meter maar deze geeft geen grove blokjes weer zoals in het vorige programma maar doet dit met hele dunne streepjes Hierdoor is de resolutie drie maal hoger dan in het vorige VU meter programma DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Algemene constanten SYMBOL Lengte 16 Vul hier in hoeveel karakters breed de VU meter moet zijn SYMBOL Schaal DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN Poortnamen SYMBOL Potmeter PORTA 1 Potmeter aangesloten via een 100n condensator aan GND Variabelen declareren DIM Half AS BYTE Bevat het halve karakter of DIM Som AS BYTE Bevat de uitkomst van de som Weerstand Lengte 85 DIM Vol AS BYTE Bevat het aantal te printen volle karakters DIM Weerstand AS BYTE Bevat de gemeten weerstandswaarde van de potmeter CLEAR Wis alle RAM geheugen DELAYMS 500 LCD stabilisering Teken drie eigen karakters PRINT FE 40 15 15 15 15 15 15 15 15 karakter 0 10 10 10 10 10 10 10 10 karakter 1 14 14 14 14 14 14 14 14 karakter 2 Hoofdprogramma CLS Met een schoon LCD scherm beginnen LCD wissen dus WHILE 1 1 Weerstand POT Potmeter Schaal Geef nieuw gemeten waarde aan Weerstand PRINT AT 1 1 Weerstand Zet actuele stand van Weerstand op eerste regel Som Weerstand Lengte 85 De waarde 85 komt van 256 3 Vol Som 3 Bereken het aantal volle karakters Half Som 3 Bereken de restwaarde van de deling uitkomst is 0 1 of 2 PRINT AT 2 1 REP 0 Vol Plaats eerst het aantal volle karakters karakter 0 IF Half 0 THEN PRINT Half Als de waarde niet 0 is dan print karakter 1 of 2 PRINT REP Lengte Vol Wis het overige van de barregel WEND END Einde programma De beschrijving van de drie eigengemaakte karakters en deze VU meter op zich staat beschreven in cursus deel 4 Het enige dat hier is toegevoegd is de functie POT Het is je misschien opgevallen dat in de VU meter voorbeelden nergens TRISA en of TRISB staat Dat is daar niet per se nodig omdat de instructie PRINT voor het display de poort zelf in de juiste stand zet Ook de functie POT schakelt de poort zelf omdat de poort de ene keer heel even een uitgang is om de condensator op te laden en daarna omschakelt naar ingang om de potmeterstand te lezen En ook voor de 2 schakelaars eerste VU meter is geen TRIS instelling nodig omdat een PIC altijd opstart met alle poorten als ingang dus als je niets opgeeft blijven ze ingang Het volgende voorbeeld stuurt 2 LED s aan dus nu moet TRISA wel opgegeven worden om deze 2 poorten om te schakelen als uitgang DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Logische constanten SYMBOL LAAG 0 Een laag signaal is hetzelfde als een 0 SYMBOL OFF 0 SYMBOL ON 1 Algemene constanten SYMBOL Schaal DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN Poortnamen SYMBOL Potmeter PORTA 1 Potmeter aangesloten via een condensator aan GND SYMBOL LED Groen PORTA 2 Brandt als potmeter onder een in te stellen niveau komt SYMBOL LED Rood PORTA 3 Brandt als potmeter boven een in te stellen niveau komt SYMBOL S1 PORTB 0 Toets om grenswaarden van instelling potmeter vast te leggen Variabelen declareren DIM BovenGrens AS BYTE Bevat de bovengrenswaarde waarop de rode LED schakelt DIM OnderGrens AS BYTE Bevat de ondergrenswaarde waarop de groene LED schakelt DIM Weerstand AS BYTE Bevat de gemeten weerstandswaarde van de potmeter 76543210 PORTA 00000000 Alle PORTA uitgangen uit laag maken TRISA 11110011 PORTA 3 en PORTA 2 omschakelen als uitgang voor de LED s PORTB PULLUPS ON On chip pull up weerstanden actief voor S1 CLEAR Wis alle RAM geheugen DELAYMS 500 LCD stabilisering Hoofdprogramma CLS Alles van het LCD scherm wissen PRINT Stel ondergrens Plaats tekst op het LCD PRINT AT 2 1 Druk op S1 REPEAT OnderGrens POT Potmeter Schaal Geef nieuw gemeten waarde aan OnderGrens PRINT AT 2 13 DEC OnderGrens Geef potmeterinstelling rechtsonder op LCD weer UNTIL S1 LAAG Ondergrens is in te stellen totdat op S1 is gedrukt DELAYMS 25 Tegen contactdender van S1 WHILE S1 LAAG WEND Wacht tot toets is losgelaten Zolang S1 laag is PRINT AT 1 6 boven Wijzig tekst op LCD onder grens in boven grens REPEAT BovenGrens POT Potmeter Schaal Geef nieuw gemeten waarde aan BovenGrens PRINT AT 2 13 DEC BovenGrens Geef potmeterinstelling rechtsonder op LCD weer UNTIL S1 LAAG AND BovenGrens OnderGrens Wacht op S1 EN bovengrens groter is dan ondergrens CLS Wis de tekst van het instellen op het LCD WHILE 1 1 Programma continu uitvoeren Weerstand POT Potmeter Schaal Geef nieuw gemeten waarde aan Weerstand PRINT AT 1 1 DEC Weerstand Zet actuele stand van Weerstand op eerste regel IF Weerstand BovenGrens THEN Als potmeter boven de bovengrens komt dan LED Groen OFF Groene LED moet uit zijn LED Rood ON Rode LED aanzetten ELSEIF Weerstand OnderGrens THEN anders als potmeter onder ondergrens komt dan LED Groen ON Groene LED aanzetten LED Rood OFF Rode LED moet uit zijn ELSE anders LED Groen OFF Moeten beide LED s uit zijn LED Rood OFF ENDIF WEND Dit programma laat de groene LED branden als de potmeter onder een in te stellen waarde komt en laat de rode LED branden als de potmeter boven een andere grotere in te stellen waarde komt Als de PIC wordt opgestart vraagt hij eerst om met de potmeter die 2 grenzen in te stellen Gebruiksaanwijzing van bovenstaand programma Stel eerst met de potmeter de ondergrens in een lage waarde bijvoorbeeld 50 en bevestig met de S1 toets aangesloten op PORTB 0 Merk op dat op het display het woordje ondergrens is verandert in bovengrens Stel nu met de potmeter die bovengrens in en bevestig opnieuw met de S1 toets De waarde van de bovengrens moet groter zijn dan de ondergrens anders accepteert S1 de instelling niet UNTIL S1 LAAG AND BovenGrens OnderGrens Als beide waarden zijn ingesteld komt het programma in een lus WHILE 1 1 Door de potmeter te verdraaien gaat de groene LED branden als de potmeterstand onder de ingestelde ondergrens komt en gaat uit als de potmeter weer boven die ondergrens komt Voor de rode LED geldt hetzelfde alleen dan voor de zojuist ingestelde bovengrens De werking van het hoofdprogramma Eerst wordt de tekst op het display gezet Dan komt er een REPEAT UNTIL lus Deze lus herhaalt repeat continu de meting van de potmeter en stopt het resultaat van die meting steeds weer in de variabele OnderGrens zodat deze steeds de actuele instelling van de potmeter bevat Tevens wordt daarbij die actuele waarde van OnderGrens op het display weergegeven De herhalingslus gaat zo continu door totdat schakelaar S1 laag is until S1 LAAG Als dat gebeurd dan is er blijkbaar op S1 gedrukt en springt het programma uit zijn REPEAT UNTIL lus Dan volgt er een vertraging van 25 milliseconden tegen contactdender zie cursus deel 3 Die is nodig omdat zodadelijk S1 opnieuw wordt ingelezen om te kijken of de toets wordt losgelaten Als er contactdender optreedt dan heb je kans dat de PIC dat ziet alsof de toets is losgelaten wat dus niet zo is maar alleen maar contactdender is Daarna wacht het programma dus met WHILE S1 Laag WEND tot de gebruiker toets S1 los heeft gelaten Dit moet want als deze regel er niet stond dan zou de REPEAT UNTIL van de BovenGrens zodadelijk meteen een ingedrukte toets zien dat zou dan dus nog die toetsindruk voor het bevestigen van de ondergrens zijn en dan zou je de bovengrens nooit in kunnen stellen Nu moet de gebruiker toets S1 wel eerst loslaten anders loopt het programma niet verder Let wel de variabele OnderGrens heeft nu nog steeds de waarde van de laatst gemeten potmeter instelling bij zich Zodra S1 wordt losgelaten loopt het programma verder en wordt in de tekst op het display onder vervangen door boven terwijl de overige tekst blijft staan zoals het staat want die is verder hetzelfde Dit kan mooi omdat onder en boven allebei uit 5 karakters bestaan boven schrijft dus over onder heen Dan opnieuw een REPEAT UNTIL lus alleen nu voor de variabele BovenGrens Ook deze lus meet continu de potmeter instelling totdat uit deze lus wordt gesprongen Echter deze lus wordt alleen beëindigd als aan 2 voorwaarden is voldaan Allereerst moet natuurlijk S1 ingedrukt zijn maar nu moet ook de waarde van variabele BovenGrens groter zijn dan de variabele OnderGrens Dit wordt bereikt met UNTIL S1 LAAG AND BovenGrens OnderGrens Als niet aan deze twee voorwaarden is voldaan dan blijft het programma rondlopen in deze REPEAT UNTIL lus Anders gezegd het programma springt pas uit de lus als beide beweringen waar TRUE zijn Nu hoeft er geen wachttijd tegen contactdender te komen omdat S1 verderop toch niet meer wordt bekeken Nadat uit de laatste REPEAT UNTIL lus is gesprongen heeft de variabele OnderGrens dus nog steeds de waarde van de allereerste potmeterinstelling en de variabele BovenGrens de waarde van de tweede instelling en waarvan we zeker weten dat deze groter is dan de waarde van OnderGrens Nog net voordat we in de vaste lus komen WHILE 1 1 wordt het instellingsscherm nog gewist van het display Ook in deze WHILE 1 1 WEND lus wordt continu de potmeter instelling gemeten maar nu wordt de gemeten waarde steeds in de variabele Weerstand gestopt Steeds na iedere potmeter meting wordt eerst de actuele stand op het display gezet Daarna wordt bekeken of Weerstand groter is dan BovenGrens die we dus eerder hebben ingesteld Zo ja dan de groene LED uitzetten mocht die aan staan en de rode LED aanzetten Zo nee dan wordt bekeken of Weerstand misschien kleiner is dan OnderGrens Zo ja dan de groene LED aanzetten en de rode LED uitzetten mocht die aan staan Zo nee dan moeten beide LED s uit zijn En dan staat er nog WEND dus weer terugkeren naar WHILE 1 1 zodoende loopt het programma altijd door in deze lus als het moet jarenlang Tot slot een variant van bovenstaand programma alleen nu met maar 1 LED De werking is vrijwel hetzelfde als bovenstaand programma De rode LED gaat aan als de potmeter boven de ingestelde boven grens komt maar gaat pas weer uit als de potmeter onder de ingestelde onder grens komt Het gebied dat tussen de LED aan en de LED uit zit wordt hysteresis genoemd DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Logische constanten SYMBOL HOOG 1 Een hoog signaal is hetzelfde als een 1 SYMBOL LAAG 0 Een laag signaal is hetzelfde als een 0 SYMBOL OFF 0 SYMBOL ON 1 Algemene constanten SYMBOL AntiDender 25 mSec tegen contactdender van toetsen SYMBOL Schaal DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN Poortnamen SYMBOL Potmeter PORTA 1 Potmeter aangesloten via een condensator aan GND SYMBOL LED Rood PORTA 3 Brandt als potmeter boven een in te stellen niveau komt SYMBOL S1 PORTB 0 Toets om grenswaarden van instelling potmeter vast te leggen Variabelen declareren DIM BovenGrens AS BYTE Bevat de bovengrenswaarde waarop de rode LED aangaat DIM OnderGrens AS BYTE Bevat de ondergrenswaarde waarop de rode LED uitgaat DIM Weerstand AS BYTE Bevat de gemeten weerstandswaarde van de potmeter 76543210 PORTA 00000000 Alle PORTA uitgangen uit laag maken TRISA 11110111 PORTA 3 omschakelen als uitgang voor de rode LED PORTB PULLUPS ON On chip pull up weerstanden actief voor S1 CLEAR Wis alle RAM geheugen DELAYMS 500 LCD stabilisering Hoofdprogramma CLS Wis LCD scherm PRINT Stel ondergrens Plaats tekst op het LCD PRINT AT 2 1 Druk op S1 REPEAT OnderGrens POT Potmeter Schaal Geef nieuw gemeten waarde aan OnderGrens PRINT AT 2 13 DEC OnderGrens Geef potmeterinstelling rechtsonder op LCD weer UNTIL S1 LAAG Ondergrens is in te stellen totdat S1 is ingedrukt DELAYMS AntiDender Tegen contactdender van S1 WHILE S1 LAAG WEND Wacht tot toets is losgelaten Zolang S1 laag is PRINT AT 1 6 boven Wijzig tekst op LCD onder grens in boven grens REPEAT BovenGrens POT Potmeter Schaal Geef nieuw gemeten waarde aan BovenGrens PRINT AT 2 13 DEC BovenGrens Geef potmeterinstelling rechtsonder op LCD weer UNTIL S1 LAAG AND BovenGrens OnderGrens Wacht op S1 EN bovengrens moet de ondergrens CLS Wis LCD scherm PRINT Potmeter WHILE 1 1 Programma continu uitvoeren Weerstand POT Potmeter Schaal Geef nieuw gemeten waarde aan Weerstand PRINT AT 1 11 DEC Weerstand Zet actuele stand van Weerstand op eerste regel IF Weerstand BovenGrens THEN Als potmeter boven de bovengrens komt dan LED Rood ON Rode LED aanzetten ELSEIF Weerstand OnderGrens THEN anders als potmeter onder ondergrens komt dan LED Rood OFF Rode LED uitzetten ENDIF WEND END Einde programma LDR dag licht afhankelijk weerstand Een LDR is een lichtgevoelige weerstand hoe meer licht hoe minder weerstand Als het dus pikdonker is is de weerstand heel hoog en laat de LDR vrijwel geen stroom door Met behulp van een LDR kun je dus een programma maken dat lampen inschakelt als de weerstand boven een bepaalde waarde komt of luxaflex automatisch laten sluiten als de weerstand onder een bepaalt niveau komt Alle bovenstaande voorbeeldprogramma s werken ook met een LDR in plaats van met een potmeter Als de LDR door een gloeilamp of TL wordt verlicht in plaats van gewoon daglicht moet je er rekening mee houden dat de weerstand niet mooi stabiel is hysteresis in je programma bouwen Dit komt omdat TL lampen 100x per seconde knipperen 230V netfrequentie van 50Hz dus de ene keer meet de LDR iets meer licht dan een andere keer Daglicht is wel mooi stabiel Door een DELAYMS van bijvoorbeeld 400 milliseconden ergens tussen de WHILE 1 1 en WEND lus te plaatsen is de meting al niet zo zenuwachtig meer omdat dan maar om de 0 4 seconde een meting gebeurt Ook moet je een hysteresis in je programma bouwen zoals in het laatste potmeter voorbeeldprogramma Onder een bepaalt niveau gaat de LED dan aan maar als de LED dan eenmaal aan is moet het niveau eerst een stuk hoger zijn voordat de LED weer uit gaat dit wordt hysteresis genoemd Dit voorkomt dat de LED of lampen of luxaflex de hele tijd staat te wisselen tussen aan en uit als het lichtniveau rond het schakelniveau is De waarde voor Schaal Als een LDR pikdonker is dan hebben de meeste types niet alle een bijna oneindig hoge weerstand Om het programma niet in de war te sturen moet er een weerstand van 22k parallel over de LDR komen Hierdoor is de maximale weerstand als het donker is 22k Laat de waarde voor Schaal bepalen samen met die 22k weerstand als de LDR donker is afdekken met zwart isolatieband Er zit overigens veel verschil tussen de diverse types LDR s Een beetje experimenteren met de waarde van de weerstand en de waarde voor Schaal is hier dus nodig DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Logische constanten SYMBOL OFF 0 SYMBOL ON 1 Algemene constanten SYMBOL BovenGrens 200 De bovengrens waarop de rode LED aan schakelt LDR donker SYMBOL OnderGrens 100 De ondergrens waarop de rode LED uit schakelt SYMBOL Schaal DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN Poortnamen SYMBOL LDR PORTA 1 LDR aangesloten via een condensator aan GND SYMBOL LED Rood PORTA 3 Brandt als LDR boven een in te stellen niveau komt Variabele declareren DIM Weerstand AS BYTE Bevat de gemeten weerstandswaarde van de LDR 76543210 PORTA 00000000 Alle PORTA uitgangen uit laag maken TRISA 11110111 PORTA 3 omschakelen als uitgang voor de rode LED CLEAR Wis alle RAM geheugen DELAYMS 500 LCD stabilisering Hoofdprogramma CLS Wis LCD scherm PRINT LDR WHILE 1 1 Programma continu uitvoeren Weerstand POT LDR Schaal Geef nieuw gemeten waarde aan Weerstand PRINT AT 1 6 DEC Weerstand Zet actuele stand van Weerstand op eerste regel IF Weerstand BovenGrens THEN Als LDR boven de bovengrens komt dan LED Rood ON Rode LED aanzetten ELSEIF Weerstand OnderGrens THEN anders als LDR onder de ondergrens komt dan LED Rood OFF Rode LED uitzetten ENDIF DELAYMS 400 Om de 0 4 seconde lichtsterkte van LDR opmeten WEND END Einde programma In dit programma is de instelling niet van buitenaf in te stellen maar zijn de waarden voor OnderGrens en BovenGrens in het programma vastgelegd als je die wilt wijzigen moet je dat dus zelf eerst in het programma zelf wijzigen In het voorbeeld gaat de LED branden als de LDR donkerder dan 200 is en gaat pas weer uit als de LDR lichter dan 100 is Denk eraan als je iets bouwt met een LDR dat de LDR niet in het geregelde lichtbereik zit Dus plaats de LDR buiten het licht van de lamp die hij schakelt Want anders denkt de PIC Het is donker dus de lamp aanzetten De LDR zou dan door de lamp verlicht worden en de PIC denkt Het is licht dus de lamp kan uit De LDR wordt weer donker en de PIC denkt Het is donker dus enz Het resultaat is dat de lamp de hele tijd staat te knipperen NTC en PTC temperatuurafhankelijke weerstanden Een NTC is een temperatuurafhankelijke weerstand hoe hoger de temperatuur hoe lager de weerstand Een PTC doet dat net andersom dus hoe hoger de temperatuur des te hoger ook de weerstand Ze zijn handig als temperatuursensor voor een thermostaat bijvoorbeeld als koelplaat bewaking Als de temperatuur van een koellichaam dan boven een bepaalde temperatuur uitkomt kan het betreffende apparaat worden uitgeschakeld een rode LED gaan branden er kan een alarm afgaan of een ventilator worden ingeschakeld De weerstandswaarde van een NTC en PTC is gebaseerd op de weerstand bij 25 C Een NTC van 10k bijvoorbeeld heeft bij 25 C dus een weerstand van 10k bij een hogere temperatuur is de weerstand lager dan 10k en bij een lagere temperatuur is de weerstand hoger dan 10k Sluit voor het volgende voorbeeld een NTC van 10k aan op PORTA 0 en via een condensator aan GND zie schema In het thermostaatprogramma hieronder worden 2 weerstanden met elkaar vergeleken namelijk een NTC en een potmeter Met de potmeter is het schakelpunt van de thermostaat in te stellen wanneer de rode LED moet gaan branden De rode LED gaat branden als de temperatuur boven de potmeterinstelling is gekomen Ook al gaat de temperatuur weer omlaag dan blijft de rode LED branden totdat er op de reset druktoets aangesloten op PORTB 0 wordt gedrukt Is de temperatuur echter nog niet laag genoeg dan doet de resettoets niets en blijft de rode LED branden DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Logische constanten SYMBOL AAN 0 Geinverteerd AAN SYMBOL OFF 0 UIT SYMBOL ON 1 AAN Algemene constanten SYMBOL Schaal DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN Poortnamen SYMBOL NTC PORTA 0 10k NTC aangesloten via een condensator aan GND SYMBOL Potmeter PORTA 1 Potmeter voor het instellen van de thermostaat SYMBOL LED Rood PORTA 3 Rode LED brandt als temperatuur van NTC te hoog is SYMBOL ResetToets PORTB 0 Hiermee is LED weer uit te zetten als temp laag genoeg is 76543210 PORTA 00000000 Alle PORTA uitgangen uit laag TRISA 11110111 PORTA 3 omschakelen als uitgang voor de rode LED PORTB PULLUPS ON On chip pull up weerstanden actief voor S1 CLEAR Wis alle RAM geheugen Hoofdprogramma WHILE 1 1 Oneindige lus IF POT NTC 255 POT Potmeter Schaal THEN Als temp hoger is dan de potmeter instelling LED Rood ON LED aanzetten ELSEIF ResetToets AAN THEN anders als er op reset wordt gedrukt LED Rood OFF de LED uitzetten ENDIF WEND Terug naar WHILE END Einde programma Aangezien dit programma zonder display werkt moet het als volgt worden ingesteld Draai aan de potmeter totdat de rode LED gaat branden Draai de potmeter iets terug en druk op S1 zodat de LED uitgaat Mocht de LED niet uitgaan dan de potmeter nog iets verder terugdraaien en opnieuw de resettoets indrukken Het is ook mogelijk om S1 ingedrukt te houden terwijl de potmeter wordt ingesteld Als de NTC nu wordt opgewarmd gaat de LED bij een bepaalde temperatuur branden en blijft dus branden totdat de gebruiker op de resettoets drukt Let op om temperatuurverschillen te maken moet je een föhn of punt van soldeerbout gebruiken om de NTC te verwarmen Even met de hand beet pakken om hem warm te maken kan de meting verstoren vooral als je daarbij de draden van de NTC aanraakt misschien zou warme adem wel kunnen Het volgende programma is een soort centraleverwarming thermostaat Met de potmeter is een temperatuur in te stellen die op het display wordt weergegeven Als er een aantal seconden niet aan de potmeter wordt gedraaid dan verdwijnt de instelling van het display en komt de actuele NTC temperatuur er voor in de plaats Zodra er weer aan de potmeter wordt gedraaid is de instelling weer zichtbaar De LED gaat aan zodra de temperatuur van de NTC onder de met de potmeter ingestelde waarde komt DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Logische constanten SYMBOL OFF 0 UIT SYMBOL ON 1 AAN Algemene constanten SYMBOL Hysteresis 5 Het verschil van temperatuur tussen aan en uit van de LED SYMBOL MaxTijd 50 Tijd in perioden voordat display naar NTC temperatuur gaat SYMBOL Schaal DE WAARDE VAN Schaal VOOR DE POT FUNCTIE HIER INVULLEN Poortnamen SYMBOL NTC Poort PORTA 0 10k NTC aangesloten via een condensator aan GND SYMBOL Potmeter PORTA 1 Potmeter voor het instellen van de thermostaat SYMBOL LED Rood PORTA 3 Brandt als temperatuur van NTC onder potmeterinstelling komt DIM Instelling AS BYTE Bevat de ingestelde temperatuur DIM InstellingPot AS BYTE Bevat de actuele potmeterstand instelling DIM NTC AS BYTE Bevat de NTC temperatuur waarde DIM Tijd AS BYTE Bevat lopende tijd dat potinstelling zichtbaar is op het LCD DIM BD1 AS BYTE Byte Dummy 1 76543210 PORTA 00000000 Alle PORTA uitgangen uit laag maken TRISA 11110111 PORTA 3 omschakelen als uitgang voor de rode LED PORTB PULLUPS ON On chip pull up weerstanden actief voor S1 CLEAR Wis alle RAM geheugen DELAYMS 500 LCD stabilisering Hoofdprogramma CLS Wis display WHILE 1 1 Oneindige lus Potmeter instelling InstellingPot POT Potmeter Schaal Hysteresis BD1 ABS InstellingPot Instelling Verschil tussen instelling en actuele potmeter IF BD1 3 OR Tijd 0 THEN Als het verschil 3 OF als de tijd loopt dan IF Instelling InstellingPot THEN Tijd MaxTijd Als potmeter is gewijzigd tijd op max Instelling InstellingPot Maak variabele Instelling weer up to date met potmeter ENDIF Display weergave IF Tijd 0 THEN Als tijd nog niet voorbij is dan DEC Tijd Tijd terugtellen PRINT AT 1 1 Instelling DEC Instelling Zet insteltemp op display ELSE anders loopt er geen tijd Tijd 0 NTC 255 POT NTC poort 255 Meet NTC temperatuur en inverteer het door 255 POT PRINT AT 1 1 Temperatuur DEC NTC Zet actuele temperatuur op display Thermostaat IF NTC Instelling THEN Als temperatuur lager is dan instelling dan LED Rood ON LED aan ELSEIF NTC Instelling Hysteresis THEN anders als temp hoger is dan instelling LED Rood OFF LED uit ENDIF ENDIF DELAYMS 100 Anders is Tijd wel heel snel 0 WEND Terug naar WHILE END Einde programma Er zit een hysteresis in de potmeter ingebouwd Dit houdt in dat het verschil in de potmeterwaarde groter moet zijn dan 3 voordat naar de instelweergave van het display wordt gegaan Gebeurt dit dan wordt de tijd op MaxTijd gezet 50 Nu is het mogelijk om de temperatuur in te stellen Zolang de tijd loopt zal diezelfde tijd steeds bij de geringste verandering van de potmeter instelling ook als die verandering nu kleiner is dan 3 opnieuw op MaxTijd 50 worden gezet Blijft de potmeter echter de hele lopende tijd hetzelfde potmeter in rust dus dan wordt teruggeschakeld naar de NTC temperatuur weergave Nu moet de verandering aan de potmeter eerst weer groter zijn dan 3 voordat de instelling weer op het display komt De hysteresis van de potmeter is nodig omdat de potmeter tussen 2 waarden kan staan Hierdoor staat de potmeter constant te springen tussen bijvoorbeeld 99 en 100 Als de hysteresis er niet zou zijn dan zou iedere keer de instelling weer op het display verschijnen terwijl er dus niet aan de potmeter werd gedraaid Een hysteresis van 2 zou dus voldoende kunnen zijn maar voor de zekerheid is die op 3 gezet Genoemde hysteresis van de potmeter wordt berekent met de functie ABS ABS maakt van een getal een abs oluut getal Dat betekent dat als een getal onder 0 komt deze toch positief wordt weergegeven Hiervoor is de berekening BD1 ABS InstellingPot Instelling Instelling bevat de huidige temperatuurinstelling die met de potmeter is ingesteld InstellingPot bevat continu de actuele potmeter instelling Stel dat Instelling is ingesteld op 100 Als de potmeter nu hoger wordt gedraaid naar bijvoorbeeld 110 dan krijg je 110 100 10 Echter als de potmeter lager wordt gedraaid naar bijvoorbeeld 85 dan krijg je 85 100 15 Een negatief getal dus een BYTE variabele zal de ogenschijnlijk willekeurige waarde van 240 krijgen omdat dat de uitkomst van 255 15 is Door voor de berekening nu ABS te zetten maakt deze instructie er een absoluut getal van dat wil zeggen altijd een positief getal Dus ABS 110 100 10 en ABS 85 100 15 De uitkomst van deze berekening wordt in een zogenaamde dummy variabele met de naam BD1 gezet Dit is nodig omdat het niet mogelijk is de functie ABS rechtstreeks in de IF THEN te zetten Een dummy is een gewone variabele waar je de uitkomst van de ABS berekening even inparkeert om het de volgende regel er weer uit te halen Nu we zeker weten dat BD1 een positief getal is kunnen we schrijven IF BD1 3 THEN wat dus betekent als het verschil tussen InstellingPot en Instelling groter is dan 3 dan Omdat een NTC een N egatief T emperatuur C oëfficiënt heeft daalt de weerstandswaarde als de temperatuur stijgt Daarom wordt de gemeten waarde van de NTC eerst geïnverteerd omgekeerd Dit kun je doen door de gemeten waarde van 255 af te halen Hierdoor stijgt de waarde op het display als de temperatuur stijgt wat veel logischer is natuurlijk Ook de thermostaat heeft een hysteresis De hysteresis van de thermostaat is hier ingesteld op 5 Stel dat je de potmeter op 100 hebt ingesteld Dat betekent dat de LED symbool voor de verwarming aan gaat als de NTC temperatuur onder de 100 komt Nu moet de NTC temperatuur eerst 105 100 5 zijn voordat de LED weer uit gaat Als er namelijk geen hysteresis is ingebouwd dan staat de LED de hele tijd bij 100 te knipperen als de NTC balanceert tussen 99 en 100 de hysteresis voorkomt dit De thermostaat werkt niet als de gebruiker aan de potmeter zit te draaien maar werkt alleen als de NTC temperatuur op het display wordt weergegeven omdat deze in het blokje ELSE van de displayweergave staat Als de LED aan was blijft deze tijdens instellen dus aan en datzelfde geldt voor de LED als deze uit is Dit is expres zo gedaan anders zou je bij het verdraaien van de potmeter ook de thermostaat aan uit kunnen zetten Nu gaat de thermostaat pas werken als de gebruiker klaar is met instellen oftewel als de potmeter een paar seconden in rust is De temperatuur is natuurlijk nog niet weergegeven in graden Celsius dat gaat te ver voor dit voorbeeld De voorbeelden hier gaan immers over de verwerking van een potmeter en een NTC in een programma Om de weergave in Celsius te krijgen zul je de gemeten waarden moeten omrekenen naar Celsius via een kleine formule Programma s kunnen natuurlijk kleiner zijn voor dit soort schakelingen omdat een display vaak niet nodig is en daardoor de CLS en PRINT instructies ook kunnen vervallen Maar voor het opzetten experimenteren afregelen en testen van een nieuwe schakeling met potmeter LDR en of NTC PTC is een display eigenlijk onmisbaar Voor echt nauwkeurige metingen is een PIC met een ingebouwde ADC analoog naar digitaal omzetter nodig omdat metingen met een condensator niet echt nauwkeurig zijn door o a temperatuurschommelingen Helaas zit er geen ADC in een PIC16F628 A Het is dus afhankelijk van de toepassing of de functie POT goed genoeg is Een functie die stabieler maar lastiger te programmeren is dan POT is RCIN RCIN RCIN R van R esistor weerstand C van C apacitor condensator IN van in put De syntaxis Variabele RCIN pin toestand De functie RCIN meet hoelang de opgegeven pin in de opgegeven toestand hoog of laag blijft meestal is dat het meten van het laden of ontladen van een weerstand condensator RC schakeling pin Is een Port Pin constante die aangeeft op welke poort de variabele weerstand is aangesloten bijvoorbeeld PORTA 1 De pin wordt tijdens het uitvoeren van RCIN automatisch als ingang ingesteld toestand Is een variabele of een constante 0 of 1 LOW of HIGH die de RCIN meting beëindigd Dus stel dat HIGH hoog is opgegeven dan stopt de meting zodra pin niet meer hoog is en wordt de teller gestopt en de stand van dat moment aan Variabele gegeven Variabele Een variabele waarin de tijdsmeting wordt opgeslagen Hierin komt de tellerstand 0 65535 afhankelijk van de gemeten weerstand Let er op dat je hiervoor een WORD variabele neemt want de waarde eindigt niet bij 255 maar kan doortellen t m 65535 Ten opzichte van de functie POT is de functie RCIN wat lastiger te programmeren maar dat komt ook omdat je met RCIN meer kunt doen pulsbreedte meting En ook lastig is dat er een extra weerstand nodig is om kortsluiting te voorkomen Voordelen zijn de hogere resolutie en dat RCIN stabieler is dan POT Dat komt omdat RCIN de op laadtijd van de condensator meet en POT de ont ladingstijd Let op het is met RCIN ook mogelijk om de ontladingstijd te meten RCIN kan dus zowel de op als de ontlaadtijd meten POT alleen de ontladingstijd Het omslagpunt dat een signaal op een ingangspoort van een PIC als laag of hoog wordt gezien ligt rond de 1 5 volt Onder de 1 5V wordt een signaal dus als laag gezien boven de 1 5V als hoog Figuur B verdient de voorkeur want bij het starten van een meting is het signaal daar 5V en zakt tot aan 1 5V een verschil van 3 5V dus voordat RCIN stopt Met het schema uit figuur A start de meting bij 0V en stijgt tot aan 1 5V een verschil van maar 1 5V voordat RCIN stopt Voor dezelfde weerstand en condensator combinatie zal het schema van figuur B een hogere tellerstand opleveren en dus een hogere resolutie hebben dan figuur A Voor schema figuur A moet je in je Basic programma voor toestand een 0 of LOW invullen en voor figuur B die de voorkeur heeft moet je een 1 of HIGH voor toestand invullen bijvoorbeeld Variabele RCIN PORTA 1 1 of Variabele RCIN PORTA 1 HIGH wat precies hetzelfde doet We gaan hier in de voorbeelden steeds van figuur B uit Sluit eerst de potmeter en condensator aan volgens bovenstaand schema Vergeet de 220Ω 220E weerstand niet DEVICE 16F628A Gebruik een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal CLEAR Wis alle RAM geheugen DELAYMS 500 LCD stabilisering CLS LCD scherm wissen WHILE 1 1 Oneindig door blijven meten HIGH PORTA 1 Condensator ontladen DELAYMS 1 Even wachten zodat condensator helemaal leeg is PRINT AT 1 1 DEC RCIN PORTA 1 HIGH Zet RC oplaadtijd op het display WEND Terug naar WHILE END Einde programma Het bovenstaande programma laat op het display een waarde zien van 0 max 65535 afhankelijk van de stand van de potmeter Als er aan de potmeter wordt gedraaid verandert de waarde mee De functie RCIN is hier rechtstreeks in de instructie PRINT geschreven Waarschijnlijk zal de maximale waarde met een 25k potmeter rond de 300 400 liggen Vanaf zulke waarden moet je eigenlijk een meerslagen multiturn potmeter hebben omdat de resolutie nu zo fijn verdeelt wordt over de potmeter dat de fijnafregeling een probleem wordt Een meerslagen potmeter bijvoorbeeld een 15 slagen balktrimmer is een potmeter waarvan je de as meer dan eens kunt verdraaien waardoor de fijnafstelling veel makkelijker gaat Het gele blokje de loper in de balktrimmer zie foto schuift langzaam over een weerstandsbaan als je aan de draadspindel draait Bij RCIN moet je zelf zorgen voor het op of ontladen van de condensator bij POT gebeurt dit automatisch Met de functie RCIN kun je namelijk nog meer

    Original URL path: http://www.picbasic.nl/beginners5.htm (2016-02-17)
    Open archived version from archive

  • Zelf een staande schemerlamp bouwen
    de lamp stevig op zijn voetstuk blijft staan De onderdelen worden vastgezet op het hout dat er vast in is gelijmd Als het cement goed hard geworden is kan het karton worden weggehaald en zit er nu een uitsparing in het cement waar de PVC buizen in uitkomen en waarin straks de 12V trafo en de print met PIC besturing komen te zitten 8 8 De 5 8 inch buizen worden in de dikkere 3 4 inch buizen gestoken In de zes korte 3 4 inch hosteliet buizen kunnen nu langere dunne PVC buizen met diameter 5 8 inch worden gestoken Zijn echter álle buizen van PVC dan is de lamp niet erg stevig Daarom is de rechte 5 8 inch buis middenlinks niet van PVC maar van metaal waardoor de lamp zijn stevigheid krijgt De overige vijf PVC buizen moeten met een buigveer eerst in model worden gebogen en daarna in het voetstuk worden gestoken Vervolgens de buizen in de gewenste richting zetten en dan op twee plaatsen aan de achterzijde de buizen aan elkaar vastmaken De zes buizen aan de achterzijde van de lamp met elkaar verbinden met bijvoorbeeld een oud stukje printplaat Hier vastgezet met korte parkers én gelijmd met hotmelt Nu eerst draden door de buizen trekken luidsprekersnoer van 0 5mm is dik genoeg Draad aan fitting solderen Lampje erin draaien Fitting met lampje in buis drukken Deze E10 printfitting past precies in een 5 8 inch buis Nu kunnen de trafo en de print in de uitsparing van het cement worden geplaatst en worden aangesloten De trafo en print zijn hier vastgezet met parkers op hout dat er eerder met hotmelt of bisonkit is ingelijmd Dan eerst testen en als alles werkt kan het deksel de bodem dus op de Bimbox geschroefd worden Eventueel kun je op de bodemdeksel eerst nog vier viltjes plakken De voet en de PVC buizen van de lamp eerst met een kwast voorbehandelen met een hechtprimer voor harde kunststoffen omdat verf slecht hecht op PVC Daarna kan de hele lamp inclusief voetstuk met verf zwart worden gespoten Buisjes vóór het chroomspuiten goed stof en braamvrij maken Aan elke uiteinde waar een lampje zit komt een 3 4 inch PVC buisje van 10cm Deze buisjes worden voor 4cm afgeplakt met schildersplakband en vervolgens gespoten met glimmend chroom spuitlak De buisjes goed afbramen en stofvrij maken voordat je gaat spuiten anders zie je het terug in het chroom Het PVC buisje zelf echter niet gaan schuren alleen de randen goed afbramen Plakband om uiteinde Lampje testen Gespoten 3 4 inch buis plaatsen Als blijkt dat de 3 4 inch buisjes wel erg makkelijk over de uiteinden schuiven kun je eerst een stukje plakband over het uiteinde plakken om de 5 8 inch buis iets dikker te maken waardoor de 3 4 inch buisjes er stroever overheen schuiven 8 8 Het PVC is verkleurd door de hitte van een te zwaar lampje Neem 12V lampjes van maximaal 100mA 1 2W Lampjes met meer

    Original URL path: http://www.picbasic.nl/schemerlamp.htm (2016-02-17)
    Open archived version from archive

  • Het PCON register
    de langzame kloksnelheid 48kHz uitgevoerd FOR x 1 TO 6 6x staat voor 3x aan en 3x uit TOGGLE PORTA 2 Aan moet uit uit moet aan DELAYMS 100 100 milliseconden maar door 48kHz is deze tijd veel langer NEXT Hier wordt bit 3 van het PCON register terug op 1 gezet de PIC draait weer op 4MHz PCON 3 1 PCON register bit 3 OSCF op 1 zetten 4MHz interne osc WEND Bovenstaand voorbeeld laat de LED drie maal knipperen om de 100mSec Daarna wordt PCON register bit 3 op 0 gezet waardoor de PIC overschakelt op een interne kloksnelheid van 48kHz Hierna moet de LED weer drie maal knipperen met opnieuw tijdsopgave DELAYMS 100 Maar de tijd blijkt nu geen 100mSec te zijn maar maarliefst een aantal seconden Dat komt omdat de PIC nu op de langzame snelheid van 48kHz loopt Dit zijn dus dingen waar je rekening mee moet houden Ook seriële communicatie instructies als SERIN en SEROUT zullen niet goed meer werken Daarvoor zul je de PIC weer even naar 4MHz moeten omschakelen in het programma Het wordt aangeraden om PIC s met seriële communicatie op een kristal te laten draaien en niet op de interne oscillator Het verlagen naar 48kHz gaat simpel door PCON 3 0 in je programma op te geven Terug gaan naar 4MHz doe je door bit 3 van het PCON register weer op 1 te zetten PCON 3 1 Register bitnamen Zoals je ziet in de datasheet hebben de bits afzonderlijk ook elk een naam PCON bit 0 heet BOR b rown o ut r eset bit 1 heet POR p ower o n r eset en bit 3 heet OSCF osc illator f requency Die bits mag je ook in het PIC Basic programma bij hun naam noemen maar dan moet je het wel aan de compiler doorgeven Het volgende voorbeeld is hetzelfde als het vorige alleen wordt nu het bit bij naam genoemd DEVICE 16F628A We gebruiken een 16F628A type CONFIG INTRC OSC NOCLKOUT WDT OFF PWRTE ON LVP OFF MCLRE OFF ALL DIGITAL TRUE Alle ingangen digitaal Registernamen SYMBOL OSCF PCON 3 Bit 3 van het PCON register heeft de naam OSCF DIM x AS BYTE Teller voor FOR NEXT lussen PORTA 2 0 Maak PORTA 2 laag Hoofdprogramma WHILE 1 1 Dit blok wordt met de normale kloksnelheid 4MHz uitgevoerd FOR x 1 TO 6 6x staat voor 3x aan en 3x uit TOGGLE PORTA 2 Aan moet uit uit moet aan DELAYMS 100 100 milliseconden PIC op 4MHz intern kristal NEXT Hier wordt bit 3 van het PCON register OSCF op 0 gezet de PIC gaat op 48kHz draaien OSCF 0 OSCF bit PCON register bit 3 op 0 zetten 48kHz int osc Dit blok wordt met de langzame kloksnelheid 48kHz uitgevoerd FOR x 1 TO 6 6x staat voor 3x aan en 3x uit TOGGLE PORTA 2 Aan moet uit uit moet aan DELAYMS 100 100 milliseconden maar door 48kHz is deze tijd veel langer

    Original URL path: http://www.picbasic.nl/register_pcon.htm (2016-02-17)
    Open archived version from archive

  • Dubbelzijdige printplaten etsen
    transparant af onderaan dus Het kan namelijk voor komen dat de printer bij het invoeren van het transparant deze soms iets laat bollen waardoor het begin niet 100 recht wordt ingevoerd en afgedrukt maar 99 9 Bij normaal drukwerk valt dit niet op maar 0 1mm is voor een dubbelzijdige print al genoeg om verschil in de bovenste en onderste layoutafdruk te krijgen Als de layout nu onderaan het transparant wordt afgedrukt is het transparant inmiddels recht in de printer gekomen Controleer vóór het belichten beide layouts door ze op elkaar te leggen en kijken of beide goed zijn afgedrukt Alle soldeereilandjes pads moeten recht tegenoverelkaar liggen Belichten Hét grote probleem van dubbelzijdige printen is om de beide layouts recht tegenoverelkaar te krijgen Ikzelf belicht altijd eerst één kant waarbij ik op alle hoeken van beide zijden van de layout een soldeereilandje heb getekend Als één zijde is belicht dan ga ik de hoeken iets ontwikkelen door er wat ontwikkelaar over te wrijven waardoor de eilandjes nét zichtbaar worden hoeken naspoelen met water Daarna boor ik met een dun boortje b v 0 6 of 0 8mm voorzichtig deze eilandjes loodrecht door Belangrijk is dat hierbij precies in het midden van elk eilandje wordt geboord Als je nu de print omdraait dan zijn daar de kleine gaatjes op de hoeken te zien Verwijder het schutvel van de andere zijde en plak die eventueel weer op de reeds belichtte zijde Nu is makkelijk de layout van de andere zijde te positioneren door de eilandjes op de hoeken van de layout op de vier geboorde gaatjes te leggen De fotolak die al belicht is kan gerust op het schuim worden gelegd beschadigen van die zijde zijn te voorkomen door voorzichtig te werk te gaan de print niet verschuiven Voor de zekerheid kan

    Original URL path: http://www.picbasic.nl/etsen_dubbelzijdig.htm (2016-02-17)
    Open archived version from archive

  • De print beschermen met greencoating
    muis op de foto staan om de componentenzijde te bekijken Het is ook mogelijk om de print van greencoating te voorzien voordat er gesoldeerd gaat worden De solderingen worden dan blank terwijl het overige groen blijft De soldeerzijde ziet er dan nóg professioneler uit alsof het een antisoldeermasker heeft Op deze manier is het echter niet meer mogelijk om na het solderen het hars te verwijderen Greencoating kan namelijk niet tegen Solvent of PCC hars oplosmiddel Degene die het hars wél wil verwijderen kan dus pas ná het solderen en ontharsen greencoating aanbrengen Soldeerreparaties achteraf blijven ook dan gewoon mogelijk zonder knoeiboel Het is voor de professionele look niet meer nodig om de print te verzilveren Wel wordt aanbevolen vóór het solderen de print met Polifix te polijsten Meer info over Polifix zie bij verzilveren 8 8 Hier is eerst greencoating opgespoten pas daarna werd de print gesoldeerd De print hierboven is niet verzilverd Nadeel van het opspuiten voordat er gesoldeerd gaat worden is dat stof van de geboorde gaatjes tijdens het aanbrengen in de lak gaat zitten Print en gaatjes moeten dus eerst goed worden uitgeblazen om dit zo veel mogelijk te voorkomen Na een uur is greencoating zover gedroogd dat er gesoldeerd kan worden De echte droogtijd duurt echter dagenlang de print blijft lange tijd licht plakkerig Als de print te dik wordt ingespoten kan het drogen nog veel langer duren Het langzame drogen komt door de soldeerflux die in de nieuwe versie van greencoating zit Het blijft zaak om de soldeerzijde zo weinig mogelijk aan te raken na het opspuiten anders zullen vingerafdrukken te zien blijven in de lak Toch kies ik ondanks deze nadelen greencoating boven alle andere beschermlakken De voor en nadelen van greencoating nog even op een rij Professionele anti soldeermasker look zowel soldeer

    Original URL path: http://www.picbasic.nl/etsen_greencoating.htm (2016-02-17)
    Open archived version from archive



  •