%% TSFS17 Lab3 Cycle data
clear all; close all; % rensa allt Matlabs minne och stäng alla figurer

load TSFS17_cycleData.mat % Ladda data


ReplaceME=1; % Detta är en etikett som visar var ni skall lägga in funktioner och data.

FigOffset=0; FigStep=4; % Uppstegning av figurnummer mellan data mängder

%% Bekanta er med datat

disp('Cykel 1')
disp('=======')

% Här placeras cykel-datat för första cykeln i variabeln "cy" som kommer att användas i myScript

cy=cy1 % skriver även ut sammanfattningen för data i cy

% cy.t     - tid i [s] för data
% cy.U     - spänningarna i [V] för de 7 cellerna i modulen
% cy.I     - strömmen i [A] som går igenom modulen
% cy.t0    - tid i [s] där cykeln startar
% cy.cyNo  - Vilken cykel det var i mätkampanjen

% Dessa skall fyllas med data som är unika för varje test och dyker upp i koden
% nedan för de andra datamängderna. Dessa rader fyller ni i när ni kommit
% till rad 53 i myScript.
cy.disSta=ReplaceME; % Index för intresanta händelser "disSta=discharge Start"
cy.disSto=ReplaceME; 
cy.chaSta=ReplaceME;
cy.chaSto=ReplaceME;
cy.Ah5d=ReplaceME; % Index at 5 Ah discharge från rad 136 i myScript
cy.Ah5c=ReplaceME; % Index at 5 Ah charge

% Samma analyser skall göras för de tre cyklerna så att det smart att skapa
% ett script som genomför beräkningarna och sedan återanvända det
myScript

stopHere % När ni är klara med Cykel 1 kan ni kommentera bort denna så att resultatet
% från analysen sparas undan och arbetet börjar på cykel 2.

% I myScript samlas viktiga resultat i Res och här flyttar vi dem till Res1
% för att särskilja dem från de andra cyklerna
cy1=cy;
Res1=Res;
disp(Res1)

%% Work on Cycle 2
disp('Cykel 2')
disp('=======')
FigOffset=FigOffset+FigStep;

% Nu lägger vi in data för cykel 2 i variabeln "cy"
cy=cy2;
cy.disSta=ReplaceME; % Kör till rad 52 i myScript
cy.disSto=ReplaceME;
cy.chaSta=ReplaceME;
cy.chaSto=ReplaceME;
cy.Ah5d=ReplaceME; % Kör till rad 136 i myScript och bestäm Index vid 5 Ah discharge
cy.Ah5c=ReplaceME; % Index at 5 Ah charge

% Anropar det gemensamma scriptet
myScript 

figure(6);
stopHere % Kolla nu i figur 6 och identifiera var cyklerna startar och lägg in dem på rad 55-58
% Kör Uppgift1 igen och kolla i figur 5 att ni identifierat rätt punkter.
% Kolla i Figur 8 och identifiera var 5 Ah korsas och lägg in dessa på rad 59-60.
% När ni är klara kan ni kommentera bort stopHere ovan

% Nu lagrar vi resultatet från analysen av cykel 2, samt skriver ut
% resultatet.
cy2=cy;
Res2=Res;
disp(Res2)

%% Work on Cycle 3
disp('Cykel 3')
disp('=======')
FigOffset=FigOffset+FigStep;
cy=cy3;
cy.disSta=ReplaceME; % Kör till rad 52 i myScript
cy.disSto=ReplaceME;
cy.chaSta=ReplaceME;
cy.chaSto=ReplaceME;
cy.Ah5d=ReplaceME; % Index at 5 Ah discharge
cy.Ah5c=ReplaceME; % Index at 5 Ah charge
myScript

stopHere % Kolla nu i figur 10 och identifiera var cyklerna startar och lägg in dem på rad 55-58
% Kör Uppgift1 igen och kolla i figur 5 att ni identifierat rätt punkter.
% Kolla i Figur 8 och identifiera var 5 Ah korsas och lägg in dessa på rad 59-60.
% När ni är klara kan ni kommentera bort stopHere ovan

% Nu lagrar vi resultatet från analysen av cykel 2, samt skriver ut
% resultatet.


cy3=cy;
Res3=Res;
disp(Res3)

%% Skapar tre plottar där alla cykler finns i samma diagram
figure(20);clf
figure(21);clf
figure(22);clf
cy=cy1;
myPlot
cy=cy2;
myPlot
cy=cy3;
myPlot

stopHere % kommentera bort för att fortsätta



%% Vad händer när ett batteri åldras
% Svara på reflektionsfrågorna i rapporten och skriv ut svaren med hjälp av
% disp-kommandot. disp kan skriva ut strängar eller värden men om man vill
% blanda måste man omvandla värden till strängar och klistra ihop dem
% innanför paranteser [] enligt rad 103 nedan.
disp('----------------------------')
disp('Sammanfattande observationer')
disp('----------------------------')
disp(['Cykel ' num2str(cy2.cyNo) ' har R_DC=' num2str(Res2.R_DC) ' och Cykel ...'])
% Lägg till utskrifter och modifiera texten så det blir rätt
disp(['Inre resistansen minskar/ökar när ett batteri åldras.']) % Modifiera texten så det blir rätt
% I cy2 så skulle cellen teoretiskt kunna ge 22.7 Ah.
% I cy3 så skulle cellen teoretiskt kunna ge 23 Ah.
disp(['Cykel 2 har SOH : ' num2str(Res2.QdisCorr/22.7*100) '%'])
disp(['Cykel 3 har SOH : ' num2str(Res3.QdisCorr/23*100) '%'])
% Fortsätt svara på frågorna och skapa utskrifter med disp
