söndag 5 maj 2013

Arduino Voltage divider..

 
Byggde en liten modul för att mäta spänningar mellan 0-20V DC för Arduino... :)

Monterade dit en Zener diod för att skydda utgången från större spänningar än 5,1V   vilket är bra... men inte helt nödvändig. 


Just ja,,,  motståndet på 387Kohm ska vara på 390Kohm för att det ska bli helt rätt.

Nu hade jag bara ett på 387K.. så den kan bara mäta spänningar mellan 0-19,88V  

Här är ett exempel om man använder ett 390Kohm motstånd.. Och Vcc=5,0V


float Volt=0.0;

void setup() {
  Serial.begin(9600);
  pinMode(A0, INPUT);
}

void loop() {
  Volt=analogRead(A0);
  //  0.01953 = 20 / 1024 
  Volt=Volt*0.01953;
  Serial.println(Volt);
  delay (1500);
}

 

onsdag 1 maj 2013

Gillar mitt budget oscilloscope.. DSO 201.. :)


Äntligen kan jag se hur signalerna blir,, (blir inte alltid som man tänkt sig! ;) )
Billig men kanske inte den bästa....   Ser att den inte hänger med vid högre frekvenser,, över 1 Mhz..

Men det är inte så ofta man behöver läsa av dessa?!   hoppas jag!  ;) haha


Eller jo,,,  Har svårt att fånga signalen från Arduinos PWM....

Rackarns...

söndag 21 april 2013

Arduino GSM datalogger.

 
Här är min Arduino Nano drivna projekt.

Enheten är uppbyggd på Microcontrollern Nano. En  klocka, Siemens TC35 GSM kort, 4x20 raders LCD med I2C anslutning (trög), en temp/luftfuktighetssensor och slutligen en SD kortsmodul för lagring av data.


Hade stora problem med gsm-modulen då den kommer i konflikt med LCDn..

Vad jag har kvar att installera: Ett antal relän (för styrning av olika saker)
en yttertermostat, och mätning av ström och spänning  (Amp/Volt)


Enheten kommer jag att placera i stugan för styrning av bla dieselkaminen m.m. :)




Här har jag monterat Spänningsregulator med 4700uf konding för att klara GSM modulens tillfälliga strömbehov på ca 2A vid sändning/mottagning av SMS..

Blir aldrig någon vacker baksida på PCB kortet..  :(

onsdag 20 mars 2013

Äntligen..

Igår fick jag mina efterlängtade P channel mosfetar..  :)
Efter lite bängel med Gaten på mosfeten så fick jag det att fungera..

:)

Som vanligt ser det ut som ett råttbo.  Men ska lägga ut en skiss lite senare.
Som den fungerar just nu, så är den en PWM laddare...

Nu fattas bara DC-DC omvandlaren. Samt en Amp-shunt för att mäta och hitta maximala strömstyrkan vid laddning.

Enkelt...  ;)

onsdag 13 mars 2013

Nya tag.

Efter vinterns mörka dagar är det dax och återta breadboardet. :)
Här är min MPPT laddare..   inte klar, men snart.. hehe
Just nu funkar bara PWM funktionen.. 
Väntar ivrigt på nya delar som är beställt... P-channel mosfet.. :)
Då man är nybörjare, så köpte jag ett gäng starka N-channel..
Funkar,,  fast omöjligt och ha gemensam grund..  :(    vilket gör det besvärligt och mäta spänningen på sekundärsidan..   :(
Nå,  vilken dag som helst kommer delarna från Tyskland..
En kul finnes som jag har experimentera med är, att delsulfatera kassa batterier med korta, starka pulser.. 
Fungerar utmärkt...  :)

tisdag 16 oktober 2012

Solar tracking med Arduino.

 

Tänkte lägga upp lite skisser på olika projekt samt kod.

I skissen har jag lagt in en ULN2003A för att styra motorn.  Det är så klart inte att rekommendera att använda Arduino UNOs 5V för att driva stepmotorn.. (som på skissen)  utan den behöver en egen spänningskälla. :)

På motorns axel har jag monterat ett gängstål som justerar vinkeln på solpanelen.

Fotoresistorerna monteras horisontal på panelen. Hmm..  Ska fixa en bild på det. :)

Och koden lägger jag upp i morgon om någon är intresserad?   hehe,, eller de gör jag i alla fall.. :)


Måste säga att det var väldigt enkelt att koda. :)

Har tidigare styrt mina paneler med ett tvåkanaligt digitalt ur, tidsrelä, skruvdragarmotor  plus en massa växelreläer.

Här är Koden :)

// Enkel Solföljare.
// Av Fredrik Jönsson
// 2012.10.16
#include <Stepper.h>
#define STEPS 100

Stepper stepper(STEPS, 8, 9, 10, 11);

void setup()
{
  Serial.begin(9600);
  // Hastighet på stepmotor RPMs
  stepper.setSpeed(50);
}

void loop()
{
  int sen1 = analogRead(2); // Läser av Fotoresistor 1
  int sen2 = analogRead(1); // Läser av Fotoresistor 2
 
  int val =sen1-sen2 ;  // Räknar ut skillnaden mellan resistorerna 1 och 2.
  if (val>20) val=20;   // Filtrerar ner värdet så man slipper en gungande panel
  if (val<-20) val=-20; // ifall ljusförhållanderna är stora.
  if (val<4 && val>-4) val=0; // Filtrerar bort små diff..
 
Serial.println(val);    // Skriver ut det kalylerade värdet. dvs skillnaden. 

  stepper.step(val);    // Kör motorn.
 
}

torsdag 4 oktober 2012

Okey.. jag behöver städa...

Behöver verkligen städa bordet...  Hehe
Ska lägga upp kod och ritning på enheten..  har bara några små ändringar kvar..