I dette prosjektet vil vi grensesnitt et relé med PIC Microcontroller PIC16F877A. Relé er en mekanisk enhet for å kontrollere høyspennings-, høystrømsapparater ' PÅ ' eller ' AV ' fra lavere spenningsnivåer. Relé gir isolasjon mellom to spenningsnivåer, og det brukes vanligvis til å kontrollere vekselstrømsapparater. Fra mekaniske til Solid state-reléer, er det forskjellige typer reléer som er tilgjengelige i elektronikk. I dette prosjektet vil vi bruke mekanisk relé.
I dette prosjektet vil vi gjøre følgende:
- Vi vil grensesnitt en bryter for input fra brukeren.
- Kontroller en 220V AC-pære med 5V-relé.
- For å kontrollere reléet vil vi bruke BC547 NPN transistor og transistoren vil bli styrt fra PIC16F877A. En led vil varsle reléet PÅ eller AV-tilstand.
Hvis du ikke har begynt PIC Microcontroller, begynner du med Komme i gang med PIC Microcontroller.
Komponent påkrevd:
- PIC16F877A
- 20Mhz krystall
- 2 stk 33pF keramikk
- 3 stk 4,7k motstander
- 1k motstand
- 1 LED
- BC547 Transistor
- 1N4007 Diode
- 5V kubikkrelé
- AC-pære
- Brettbrett
- Ledninger for tilkobling av delene.
- 5V-adapter eller en hvilken som helst 5V-strømkilde med minst 200mA nåværende evner.
Relé og dets arbeid:
Relé fungerer på samme måte som vanlig bryter. Mekaniske releer bruker midlertidig magnet laget av elektromagnetisk spole. Når vi gir nok strøm over denne spolen, ble den energisk og trekker en arm. På grunn av dette kan kretsen som er koblet over reléet være lukket eller åpen. Inngang og utgang har ingen elektriske tilkoblinger og isolerer dermed inngang og utgang. Lær mer om stafett og dets konstruksjoner her.
Reléer finnes i forskjellige spenningsområder som 5V, 6V, 12V, 18V etc. I dette prosjektet vil vi bruke 5V-relé da arbeidsspenningen vår er 5 volt her. Dette 5V kubikkreléet er i stand til å bytte 7A belastning ved 240VAC eller 10A belastning ved 110VAC. Men i stedet for den enorme belastningen, vil vi bruke en 220VAC-pære og bytte den ved hjelp av reléet.
Dette er 5V-reléet vi bruker i dette prosjektet. Gjeldende vurdering er tydelig spesifisert for to spenningsnivåer, 10A ved 120VAC og 7A ved 240VAC. Vi må koble belastning over reléet mindre enn spesifisert vurdering.
Dette reléet har 5 pinner. Hvis vi ser pinout kan vi se-
Den L1 og L2 er den indre elektromagnetiske spole sin tapp. Vi må kontrollere disse to pinnene for å slå reléet PÅ eller AV. De neste tre pinnene er POLE, NO og NC. Stangen er koblet til den interne metallplaten som endrer tilkoblingen når reléet slås på. I normal tilstand er POLE kortsluttet med NC. NC står for normalt tilkoblet. Når reléet slås på, endrer stangen sin posisjon og kobles til NO. NO står for Normally Open.
I kretsen vår har vi laget reléforbindelsen med transistor og diode. Relé med transistor og diode er tilgjengelig i markedet som relémodul, så når du bruker relémodul, trenger du ikke koble driverkretsen (transistor og diode).
Relé brukes i alle hjemmeautomatiseringsprosjektene for å kontrollere AC-husholdningsapparater.
Kretsdiagram:
Komplett krets for tilkobling av relé med PIC Microcontroller er gitt nedenfor:
I det ovennevnte skjemaet brukes pic16F877A, der på port B er LED og transistor koblet til, som videre styres ved hjelp av TAC-bryteren på RBO. Den R1 gi forspenningsstrøm til transistoren. R2 er en nedtrekksmotstand, brukt over taktil bryter. Det vil gi logikk 0 når bryteren ikke trykkes. Den 1N4007 er en klemme diode, anvendes for relé elektromagnetiske spole. Når reléet er slått av, er det sjanser for høyspennings piggerog dioden vil undertrykke den. Transistoren er nødvendig for å kjøre reléet, da det krever mer enn 50 mA strøm som mikrokontrolleren ikke kan levere. Vi kan også bruke ULN2003 i stedet for transistoren, det er et klokere valg hvis mer enn to eller tre reléer er nødvendige for applikasjonen, sjekk relémodulkretsen. Den LED over porten RB2 vil varsle “ stafett er på ”.
Den siste kretsen vil se slik ut -
Du kan lære å kontrollere stafett med Arduino her, og hvis du virkelig er interessert i relé, så sjekk alle relékretsene her.
Kode Forklaring:
I begynnelsen av main.c- filen la vi til konfigurasjonslinjene for pic16F877A og definerte også pin-navnene over PORTB.
Som alltid først, må vi sette konfigurasjonsbiter i pic-mikrokontrolleren, definere noen makroer, inkludert biblioteker og krystallfrekvens. Du kan sjekke koden for alle de i den fullstendige koden som er gitt på slutten. Vi laget RB0 som input. I denne pinnen er bryteren koblet til.
#inkludere
Etter det kalte vi system_init () -funksjonen der vi initialiserte pinneretningen, og konfigurerte også standardtilstanden til pinnene.
I system_init () -funksjonen vil vi se
ugyldig system_init (ugyldig) { TRISBbits.TRISB0 = 1; // Angi Sw som inngang TRISBbits.TRISB1 = 0; // sette LED som utgang TRISBbits.TRISB2 = 0; // innstilling av reléstift som utgangs- LED = 0; RELAY = 0; }
I den viktigste funksjon vi stadig kontroll av koplings pressen, hvis vi påvise bryteren pressen ved avføling logisk høy på tvers RB0; vi venter en stund og ser om bryteren fortsatt er trykket eller ikke, hvis bryteren fortsatt er trykket, vil vi invertere RELAY og LED-pin-tilstanden.
ugyldig hoved (ugyldig) { system_init (); // System gjør seg klart mens (1) { hvis (SW == 1) {// bryteren trykkes __forsink_ms (50); // avvisningsforsinkelse hvis (SW == 1) {// bryteren fortsatt trykkes på LED =! LED; // invertere pin-status. RELAY =! RELAY; } } } tilbake; }
Fullstendig kode og demonstrasjonsvideo for denne relégrensesnittet er gitt nedenfor.