SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 13
13 gasten
0 leden:
Forum > Digitaal > Timer relay met startknop en PIC16F628A
frans1977
Lid
Berichten: 110
Gepost op donderdag 20 December 2012 21:31:45 QuoteWijzig

Goede avond.
Ik zal me eers even voorstellen.
Ik ben Frans en ben 35 jaar jong en woon in Amsterdam.
In het dagelijkse leven doe ik af en toe wat met electronica.

Nu wil het volgende.

Ik heb een timer nodig die een relay bekrachtigt met 1 druk op een drukknop en dat dit relais dan 45 minuten bekrachtigt blijft tevens wil ik er ook een ledje bij hebben dat ik kan zie dat hij bekrachtigt is zijn de 45 minuten voorbij dan mag het geheel afvalen.
Druk ik daarna weer 1 keer op de drukknop dan mag het relais weer voor 45 minuten bekrachtigt worden en de led ook weer aan.
Nu is dus mijn vraag zouden der hier mede forumers zijn die mij opweg kunnen helpen voor een pic basic code die ik in mijn proton ide kan bewerken en compileren.

Ik wil dit graag maken met een PIC16F628A en een kristal naar keuze maar ik denk aan 16Mhz of 20 Mhz en 15pF of 22Pf of 27Pf c-tjes.
Relais aansturing via een poort van de pic naar een BC547 en relais coil spanning 5Volt DC.
Schema kan ik eventueel zo maken als ik in mijn gedachten heb.
1 Losse drukknop terug verende indrukken is maken los laten is verbinding verbreken.
1 ledje graag via een aparte poort mee laten schakelen.

Overigens heb ik vroeger wel is wat programmeer werk gedaan voor leds en fan units aan te sutren maar dat is inmiddels al weer een jaar of 8 geleden. dus zeg maar diep in de pu weg gezakt.

Graag hoor ik van jullie of jullie mij hiermee willen helpen.
Mochten der nog vragen zijn of dat ik vergeten ben om info te geven dan hoor ik dat graag.

Mvg,

Frans





Stynus
Admin
Berichten: 2850
Gepost op vrijdag 21 December 2012 18:38:25 QuoteWijzig

Dat kan met een pic, maar de vraag is dan eerder hoe precies het moet zijn.
De eenvoudigste manier is een loopje maken met een delay erin, maar dat is niet erg precies.
Anders kan je ook onder interrupt werken en zo aftimen met een counter, maar dat is niet zo eenvoudig.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
frans1977
Lid
Berichten: 110
Gepost op maandag 24 December 2012 08:20:24 QuoteWijzig

Hallo Stynus,

Bedankt alvast voor je info.
Zal en mag ik hier het hele stuk qua code al neer zetten wat ik heb zodat jullie me eventueel kunnen helpen met uitbreiden.
Ik hoor graag van jullie.
Mvg,
Frans

Stynus
Admin
Berichten: 2850
Gepost op maandag 24 December 2012 12:15:17 QuoteWijzig

Ja, dat mag. Liefst wel tussen code tags dan blijft de opmaak van de code behouden.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
frans1977
Lid
Berichten: 110
Gepost op maandag 24 December 2012 14:00:35 QuoteWijzig

Hallo Stynus en andere forumers,

Hierbij het begin van de code die ik tot nu toe heb gemaakt.

Code

DEVICE 16F628A                ;Gebruik een 16F628A type
CONFIG HS_OSC, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
XTAL = 20                     ;Kritsal is 20MHz
ALL_DIGITAL TRUE              ;Alle ingangen digitaal

SYMBOL LED1   = PORTA.0       ;Poort A.0 heeft nu de naam LED1
SYMBOL RELAY1 = PORTA.1       ;Poort A.1 heeft nu de naam RELAY1
SYMBOL S1     = PORTB.0       ;Poort B.0 heeft nu de naam S1

DECLARE PORTB_PULLUPS ON      ;On-chip pull-up weerstanden actief 
CLEAR                         ;Wis alle RAM geheugen

;Hoofdprogramma
WHILE 1 = 1                   ;Oneindige lus
  IF S1 = 0 THEN HIGH LED1    ;S1 gesloten (=laag) LED1 aan
  IF S1 = 0 THEN HIGH RELAY1  ;S1 gesloten (=laag) RELAY1 aan
WEND

END                           ;Einde programma


Nu mijn vraag hoe moet ik hier nou een timer inbouwen die ik kan aan zetten met i druk op de knop en dat het relay dan voor 45 minuten bekrachtig blijft.
Het moet wel een zuivere 45 minuten qua tijd worden.
Ik hoor graag van jullie.
Mvg,
Frans

Stynus
Admin
Berichten: 2850
Gepost op maandag 24 December 2012 15:20:38 QuoteWijzig

Onder interrupt een teller maken die elke seconde aftelt in een variabele (waar in het begin 60*45) instaat.
In de main check je dan of de variabele al 0 is, bij 0 uitschakelen.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
frans1977
Lid
Berichten: 110
Gepost op maandag 24 December 2012 15:36:32 QuoteWijzig

Hallo Stynus,

Bedankt als eerste voor uw antwoordt.
Echter zou je is een voorbeeld kunnen geven hoe dat er dan uit gaat zien.
Want dit is nog niet besproken op picbasic.nl naar mijn inziens.
en ik leer elke dag maar dit weet ik nog even niet in een code te stoppen.

Mvg en bijvoorbaad dank.
Frans
 
[Bericht gewijzigd door frans1977 op Maandag 24 December 2012 15:37:51]

Stynus
Admin
Berichten: 2850
Gepost op maandag 24 December 2012 18:30:27 QuoteWijzig

Bij mijn belichtingsbak heb ik zo iets toegepast. De code daarvan kan je hier bekijken: http://download.elektronicastynus.be/81/UV_exposurbox_timer_Code.htm


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
frans1977
Lid
Berichten: 110
Gepost op zondag 30 December 2012 20:05:00 QuoteWijzig

Hallo Stynus,

Bedankt voor de code.
Hierbij de vraag of het dan gaat om het laatste deel van deze code of zit de timer door de hele code heen verwerkt.

Mvg,
Frans1977

Stynus
Admin
Berichten: 2850
Gepost op maandag 31 December 2012 11:20:39 QuoteWijzig

Die zit in de Int_Routine. In Count_Sec en Count_Min wordt de tijd gezet die afgetimed moet worden, als Timer_Go op 1 gezet wordt dan begint die af te tellen. In je main loop moet je dan in de gaten houden wanneer Timer_Go 0 wordt, dan is de tijd afgelopen.


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be

Active Topics

» De gevolgen van een kl...
» De tuin.
» Afstandsbediening plaf...
» Virtual Chemist probleem
» Probleem met Toyota Av...
» Whirlpool kookplaat
» 24 volt motor vertrage...
» Show je mini projecten
» Purer 8.3se
» MULTIMETERS geven alle...

» Meer actieve topics

Advertenties

PCBway

© 2004-2022 SchemaTheek
Laadtijd: 0.28126 sec.