Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Deze Instructable zal in detail beschrijven hoe je een Arduino-kit/printplaat en MATLAB gebruikt om een prototype thuisenergiesysteem te maken dat zich richt op de verwerving van wind- en zonne-energie. Met de juiste materialen en met behulp van de meegeleverde code/opstelling kunt u uw eigen kleinschalige, groene energie-inzamelsysteem maken.
Dit project is ontworpen door studenten van het Tickle College of Engineering aan de Universiteit van Tennessee, Knoxville.
Stap 1: Benodigde materialen
1) Een laptop waarop MATLAB is geïnstalleerd.
2) Gebruik deze link om het Arduino-ondersteuningspakket te downloaden:
3) Je hebt ook een Arduino-microcontrollerkit nodig.
4) Een geschikt platform om de DC-motor te monteren. In het gegeven voorbeeld werd een houten uitsparing gebruikt om de servomotor te ondersteunen en de DC-motor erop te monteren.
5) Deze link kan worden gebruikt om een propeller in 3D te printen die op de gemonteerde DC-motor kan worden bevestigd:
Stap 2: Code Deel 1: Variabele Setup
Deze code is essentieel voor de initiële declaratie van variabelen.
clc; wis alles;
% Objecten declareren zoals pinnen en de Arduino a=arduino('com3', 'uno'); s1 = servo(a, 'D9', 'MinPulseDuration', 1e-3, 'MaxPulseDuration', 2e-3); s2 = servo(a, 'D10', 'MinPulseDuration', 1e-3, 'MaxPulseDuration', 2e-3); configurePin(a, 'A0', 'Analoge invoer'); configurePin(a, 'A1', 'Analoge invoer'); configurePin(a, 'A2', 'Analoge invoer'); configurePin(a, 'A3', 'Analoge invoer') b=0; i=0.1 cijfer
Stap 3: Code Deel 2: Turbinecode
terwijl i<10;
%Turbine Part potval=readVoltage(a, 'A0') servoval=potval./5 writePosition(s1, servoval)
Stap 4: Codeer deel 3: Zonnepaneelcode en plot
Met deze code kunt u twee fotoweerstanden gebruiken om de servo te bewegen volgens de beweging van de zon. De code zal ook een polaire grafiek plotten van windrichting versus tijd voor de windturbine.
%Zonnepaneelonderdeel
photoval1=leesVoltage(a, 'A1'); photoval2=leesVoltage(a, 'A2'); verschil= fotoval1-fotoval2 absdiff=abs(verschil) indien verschil > 1.5 writePosition(s2, 0); elseif-verschil > 1,25 schrijfpositie (s2, 0,3); elseif absdiff < 1 writePosition(s2, 0,5); elseif verschil < (-1) writePosition(s2, 0.7); elseif verschil < (-1,25) writePosition(s2, 1); else end i=i+0.1 theta=(potval/5).*(2*pi) polarscatter(theta, i) houd vast
Stap 5: Code Deel 4: E-mail
Wijzig 'voorbeeld e-mail' in het gewenste adres om een e-mail met plotgegevens goed te ontvangen.
%E-mailsectie
title('Windrichting vs. Tijd') saveas(gcf, 'Turbine.png') %saves the figure setpref('Internet', 'SMTP_Server', 'smtp.gmail.com'); setpref('Internet', 'E_mail', '[email protected]'); % e-mailaccount om te verzenden vanaf setpref('Internet', 'SMTP_Username', '[email protected]'); % afzender gebruikersnaam setpref('Internet', 'SMTP_Password', 'gssegsse'); % Afzenders wachtwoord rekwisieten = java.lang. System.getProperties; props.setProperty('mail.smtp.auth', 'true'); props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty('mail.smtp.socketFactory.port', '465'); sendmail('example email', 'Turbine Data', 'Dit zijn je turbine data. Bedankt voor het redden van de planeet!', 'Turbine.png') disp('email sent')
Stap 6: Extra hulp
U kunt de SIK-handleiding raadplegen die bij de Arduino-microcontrollerkit wordt geleverd voor extra hulp bij het instellen van uw printplaat. De MathWorks-website kan ook een handig hulpmiddel zijn voor MATLAB-ondersteuning.