Show Posts
Pages: 1 ... 3 4 [5] 6 7 ... 26
61  International / Deutsch / Re: Wie 4 Power LEDs ansteuern? on: May 04, 2014, 09:32:48 am
Einfach mal zum Onlinhändler deines Vertrauens und die Suchmaske mit LED DRIVER in der Kategorie IC füttern. Bei TME, MOUSER oder DIGIKEY wirst du von Treffern förmlich erschlagen. Meist bieten die dann erscheinenden Filter weitere Verfeinerungen an, wie einen bestimmten Ausgangsstrom, Gehäusevariante, etc.
Dann pickst du dir ein IC raus und öffnest das fast immer verlinkte Datenblatt. Ansonsten Google bemühen mit "IC-Bezeichnung" +datasheet oder wahlweise schematic für Schaltplan.
Das macht zwar Arbeit, führt aber zum Erfolg.
Hättest du nicht so reagiert, als wenn ich dir an's Bein pi***ln wollte, hätte ich auch ein paar Beispiele rausgesucht  smiley-wink
62  International / Deutsch / Re: Wie 4 Power LEDs ansteuern? on: May 04, 2014, 04:05:45 am
Kauf lieber eine hocheffiziente normale LED, die statt 5 Cent vielleicht 50 Cent kostet. Damit kommst du besser, als mit einer NoName Superflux oder Power-LED vom Chinesen.
Sieh dich mal bei LEDs.de im Shop um. Die haben wie gesagt, keine Chinapreise, aber verlässliche Datenblätter und Helligkeitsangaben.
Welche Spannung liefert dein Akku? Eventuell kannst du ja jeweils 2 LED in Reihe schalten. Wenn du z.B. nur 2V an einem Vorwiderstand verheizt, würde ich das lieber in Kauf nehmen, als Masse und Volumen eines Schaltreglers. Den bekommt man prinzipiell auch in klein realisiert - aber eben nur, wenn man ein bisschen Ahnung von Elektronik hat.
In deinem Fall bräuchtest du sicherlich einen StepUp oder Boost Regler, da 4 LEDs in Reihe mit ziemlicher Sicherheit deine Akkuspannung übersteigen werden. Der Regler muß also auch noch die Spannung erhöhen - anderenfalls benötigst du mehrere normale Konstantstromquellen, was wiederum unnütze Masse bedeutet.

Gruß Gerald
63  International / Deutsch / Re: PID Regler - Hilfe, ich finde den Fehler nicht on: May 03, 2014, 06:50:41 pm
Hm, das dachte ich auch, aber irgendwie ist der ATMEL da anderer Meinung.
Ich habe jetzt mal den Vorschlag von Jurs aufgegiffen und seine % Steuerung mit PWM implementiert.
Sieht recht vielversprechend aus. Ich mußte nur noch einen Bug in meiner Formel entfernen. Demnach hat er bei 37,5° angefangen mit 25% zu pulsen, aber zwischen 40° und 40,1° im Hysteresebereich von unten her dann nochmal mit 100% geheizt, wie ein Mann.  smiley-grin
Das habe ich ihm jetzt vermutlich ausgetrieben. Flashen tu ich das neue File aber erst nach dem Aufstehen.
Wobei PID schon cooler wäre...
Aber egal. Es funktioniert erst mal besser als der Zweipunktregler.
Jetzt gehe ich erstmal an der Matratze horchen  smiley-wink
64  International / Deutsch / PID Regler - Hilfe, ich finde den Fehler nicht on: May 03, 2014, 03:25:56 pm
Hallo,

ich habe meine Wärmeschranksteuerung nun von 2-Punktregelung auf PID umstellen wollen. Die Implementation ging schneller, als vermutet, aber das Ding heizt, als gäbe es kein Morgen!  smiley-yell
Ich habe schon zig mal drübergeschaut und auch Kp, Ki und Kd gedreht - erfolglos!
Habe die Initialisierung meiner Werte von float auf double umgestellt, weil die Werte im Beispielsketch der PID Lib so initialisiert wurden und ich die Temperatur übergeben muß. Falsche Werte auf Grund von unterschiedlichen Datentypen beim Rechnen damit hoffe ich damit ausgeschlossen zu haben.

Code:
/*
Example 39.3 - NXP SAA1064 I2C LED Driver IC Demo III
Displaying numbers on command
http://tronixstuff.com/tutorials > chapter 39
John Boxall July 2011 | CC by-sa-nc
*/
#include <PID_v1.h>
#include "Wire.h" // enable I2C bus
#include <LiquidCrystal_I2C.h>
#define sensorPin 0    // Verbunden mit LM35 Ausgang
#define DELAY1 10      // kurze Wartezeit beim Messen
#define DELAY2 500     // kurze Wartezeit beim Anzeigen
#define heaterPin 9     // Heizung-Pin
#define threshold 40   // Schalt-Temperatur für Lüfter (40 Grad Celsius)
#define hysterese 0.1  // Hysterese-Wert (0.1 Grad Celsius)
#define Kp 2.5
#define Ki 0.01
#define Kd 0

const int cycles = 50; // Anzahl der Messungen
LiquidCrystal_I2C lcd(0x20, 16, 2); // Adresse auf 0x27 für 16 Zeichen/2 Zeilen

byte saa1064 = 0x70 >> 1; // define the I2C bus address for our SAA1064 (pin 1 to GND)
int digits[12]={
63, 6, 91, 79, 102, 109, 125,7, 127, 111, 204, 0};
// these are the byte representations of pins required to display each digit 0~9, °C sign, and blank digit

//Define Variables we'll be connecting to
double Setpoint, Input, Output;

//Specify the links and initial tuning parameters
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);

int WindowSize = 5000;
unsigned long windowStartTime;

// right hand digit 180° flip - DP ist used as ° symbol :-) 204 is °c for big C use 143
void setup()
{
   windowStartTime = millis();
 
  //initialize the variables we're linked to
  Setpoint = threshold;

  //tell the PID to range between 0 and the full window size
  myPID.SetOutputLimits(0, WindowSize);

  //turn the PID on
  myPID.SetMode(AUTOMATIC);
 
  lcd.init(); // LCD initialisieren
  lcd.backlight(); // Hintergrundbeleuchtung aktivieren 
pinMode(heaterPin, OUTPUT);
Wire.begin(); // start up I2C bus
delay(500);
initDisplay();
}
void initDisplay()
// turns on dynamic mode and adjusts segment current to 12mA
{
Wire.beginTransmission(saa1064);
Wire.write(B00000000); // this is the instruction byte. Zero means the next byte is the control byte
Wire.write(B01110111); // control byte (dynamic mode on, digits 1+3 on, digits 2+4 on, 21mA segment current
// left 111 is relevant for current left hand "1" 12mA, middle 6mA and right 3mA - so you can tewak it
Wire.endTransmission();
}
void clearDisplay()
{
Wire.beginTransmission(saa1064);
Wire.write(1); // start with digit 1 (right-hand side)
Wire.write(0); // blank digit 1
Wire.write(0); // blank digit 2
Wire.write(0); // blank digit 3
Wire.write(0); // blank digit 4
Wire.endTransmission();
}
void displayInteger(int num, int zero)
{
int hundred, ten, one;
// breakdown number into columns
hundred = num/100;
ten = (num-(hundred*100))/10;
one = num-((hundred*100)+(ten*10));
if (zero==1) // yes to leading zero
{
Wire.beginTransmission(saa1064);
Wire.write(1);
Wire.write(digits[hundred]);
Wire.write(digits[ten]+128); // 128 turns on DP
Wire.write(digits[one]);
Wire.write(digits[10]); // print position 10 from arry - °C
Wire.endTransmission();
delay(10);
}
else
if (zero==0) // no to leading zero
{
if (hundred==0) { hundred=11; }
if (hundred==0 && num<100) { hundred=16; }
if (ten==0 && num<10) { ten=16; }
Wire.beginTransmission(saa1064);
Wire.write(1);
Wire.write(digits[hundred]);
Wire.write(digits[ten]+128);
Wire.write(digits[one]);
Wire.write(digits[10]);
Wire.endTransmission();
delay(10);
}
}
void loop()
{
double resultTemp = 0.0;
for(int i = 0; i < cycles; i++){
int analogValue = analogRead(sensorPin);
double temperature = (5.07 * 100.0 * analogValue) / 1024; // reale Spannung Ub (theoretisch 5.00V)
resultTemp += temperature; // Aufsummieren der Messwerte
delay(DELAY1);
  }
resultTemp /= cycles; // Berechnung des Durchschnitts
lcd.clear(); // clear-Methode löscht LCD Inhalt
lcd.print("Temp: "); // print-Methode schreibt LCD Inhalt
lcd.print(resultTemp);

 Input = (resultTemp);
  myPID.Compute();
 
lcd.setCursor(10, 0);
#if ARDUINO < 100
lcd.print(0xD0 + 15, BYTE); // Grad-Zeichen (Arduino 0022)
#else
lcd.write(0xD0 + 15); // Grad-Zeichen (Arduino 1.00)
#endif
lcd.print("C");
lcd.setCursor(0, 1); // setCorsor-Methode positioniert LCD-Cursor
lcd.print("Heizung: ");
{
delay(10);
}
clearDisplay();
{
 /************************************************
   * turn the output pin on/off based on pid output
   ************************************************/
  if(millis() - windowStartTime>WindowSize)
  { //time to shift the Relay Window
    windowStartTime += WindowSize;
  }
  if(Output < millis() - windowStartTime) digitalWrite(heaterPin,HIGH);
  else digitalWrite(heaterPin,LOW);
 
displayInteger(resultTemp * 10 ,0); //for LED-Display x10 - DP is hardwired
 delay(5);
// if(resultTemp < (threshold - hysterese)) // Temperaturvergleich pos.
// digitalWrite(heaterPin, HIGH);           // Heizung anschalten
// else if(resultTemp > (threshold + hysterese)) // Temperaturvergleich neg.
// digitalWrite(heaterPin, LOW);                 // Heizung abschalten
lcd.print(digitalRead(heaterPin) == HIGH?"an":"aus");
// delay(DELAY2);
}
}

Kompilieren tut er alles, aber irgendwo steckt ein logischer Fehler drin, den ich nicht finde :-/
Da der PID quasi eine Blackbox ist, weiß ich auch nicht, wo ich mit Auslesen von Zwischenergebnissen üner die serielle Schnittstelle ansetzen soll.

Gruß Gerald
65  International / Deutsch / Re: Autonome Stromversorgung mit LiPo und Solarzelle on: May 02, 2014, 03:23:47 am
Da kannste dir auch einen "Knallfrosch" für 2€ holen, eine kleine Tupperdose mit Rockwool auspolstern und den Akku da rein. In der Schlackewolle kann er ruhig ausbrennen, ohne Schaden anzurichten  smiley-evil
Oder guck mal bei Ebay ab und an unter dem Suchbegriff "Supercapacitor" oder "Ultracapacitor".
Aliexpress.com liefert unter den gleichen Stichworten schon für wesentlich kleineres Geld ein paar interessante Treffer. Ich habe mit Bestellungen aus Asien bisher keine schlechten Erfahrungen gemacht. OK, 1x waren die abgekündigten IC's nicht neu, sondern ohne das es dabei stand "refurbsihed" sprich irgendwo im Hinterhof ausgelötet. Man hatte sich zwar große Mühe gegeben, das zu verschleiern, aber einem geübten Auge entgeht sowas nicht  smiley-cool
Erstes Indiz waren unterschiedliche Logos und Produktionscodes zwischen 1996 und 2007  smiley-grin
Dazu passte dann auch keine ESD-Verpackung, sondern die DIL-ICs einfach ineinander gestapelt und in Frischhaltefolie eingewickelt...  smiley-yell smiley-eek smiley-eek-blue
Aber immerhin waren alle ICs elektrisch ok.
66  International / Deutsch / Re: testbericht zum WS2812 on: May 02, 2014, 01:26:09 am
Klare Sache, du schickst Daten an den WS2812, wenn keine Versorgungsspannung anliegt. Damit ist dessen Eingang nicht mehr Hochohmig, wie normal, sondern dessen ESD-Schutzdioden werden durchlässig und es fließen recht hohe Ströme. Dann gibt der Schwächere nach. Entweder der treibende Ausgang, oder in diesem Fall eben der Eingang. Hänge mal zwischen Arduino Ausgang und den WS2812 einen 4,7K Widerstand. Damit bekommst du maximal ganz knapp über 1mA bei 5V hin. Bei einem CMOS Eingang sollte das kein Problem mit den Umladeströmen und der Taktgeschwindigkeit sein. Nach Einfügen des Widerstandes solltest du mal diesen Fall mehrmals provozieren. Berichte mal  smiley

Gruß Gerald
67  International / Deutsch / Re: Autonome Stromversorgung mit LiPo und Solarzelle on: May 01, 2014, 03:54:16 pm
Den Platinen kannst du vertrauen. Haben schon andere vor dir und mir verwendet und sind voll des Lobes. Das ist keine selbst zusammengefummelte Lösung, sondern ein für sowas entwickeltes IC, was in tausenden Geräten von Consumer Elektronik drinsteckt. In Billiggeräten, wo an allem gespart wird, möchte ich nicht wissen, wie da die Akkus geladen werden  smiley-evil
Ich war auch lange Zeit Fan der NiMh Zellen. Aber die entladen sich recht zügig selbst, wenn man von neueren Endurace-Modellen und wie sie alle heißen, mal absieht. Dazu kommt der Memoryeffekt und die geringe Spannung. Vor Jahren hatte ich einen LiPo Handyakku Billignachbau, der sich beim 1. o. 2. Aufladen schon aufgebläht hat  smiley-eek-blue
Die Akkupacks sind schon billig als Restposten z.B. bei Pollin erhältlich und haben meist so 1 Ah rum. Überlege mal, wie viel Platz du für 3 NiMh Zellen brauchst, denn die brauchst du, um auf die gleiche Spannung zu kommen. Bei den LiPo Zellen ist die Entwicklung noch lange nicht abgeschlossen. Ich habe gelesen, das inzwischen schon Separatormembranen entwickelt wurden, die bei Hitze sich selbst versiegeln und danach nicht mehr elektrisch durchlässig sind. Eine überhitzte Zelle, die "durchzugehen" droht, schaltet sich so selbst ab  smiley-cool
68  International / Deutsch / Re: LCD individuelle Symbole für LiPo Akkuüberwachung mit Unterspannungsabschaltung on: May 01, 2014, 06:53:23 am
Gute Idee, das ist das Schöne an Open Hardware  smiley-grin
Dann ist das Akkumanagement warscheinlich umfangreicher, als manche Schaltung , die damit betrieben wird  smiley-razz
69  International / Deutsch / Re: LCD individuelle Symbole für LiPo Akkuüberwachung mit Unterspannungsabschaltung on: May 01, 2014, 06:04:24 am
Hallo Frank,

ich bin da eigentlich drauf gekommen, im Zuge des ebenfalls hier vorgestellten Schimmelwarners ein nutzbares Gerät daraus zu machen. Aber ich dachte, das die Akkuüberwachung immer wieder in verschiedenen Projekten zu gebrauchen ist. Deshalb habe ich es hier vorgestellt, auch wenn der Nutzen für sich alleine ziemlich begrenzt ist  smiley
In wie weit sich die Spannungswerte von Akkumodell zu Akkumodell verschiedener Hersteller, die oft auch noch eine unterschiedliche Chemie verwenden,  übertragen lassen, muß sich zeigen. Wenn der StepUp Regler nicht verwendet wird, ändert sich ebenfalls die zeitliche Entladekennlinie, da die Stromaufnahme dann bei sinkender Spannung ebenfalls sinkt, statt zu steigen.
Aber das Prinzip der Kennlinienaufnahme habe ich aufgezeigt. Ließe sich sicherlich auch mit einem Datenlogger auf SD-Karte automatisieren...  smiley-grin

Gruß Gerald
70  International / Deutsch / Re: Autonome Stromversorgung mit LiPo und Solarzelle on: April 30, 2014, 01:53:30 am
Da anscheinend breiter Bedarf an kleinen Lösungen mit Akkus liegt, schaut euch mal diese briefmarkengroßen Platinen an:
http://www.ebay.de/itm/370906211162?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
http://www.ebay.de/itm/121150366656?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
Ich bin sehr zufrieden mit den Dingern. Man muß sich nicht mit dem SMD "Vogelfutter" rumärgern, sondern bekommt eine brauchbare Lösung für kleines Geld. Die Module sind bei zig Anbietern verfügbar. Allerdings empfielt es sich dringend, beim Laderegler den Widerstand, der den Ladestrom bestimmt auszutauschen, denn 1A Ladestrom verkraften nur große Akkus und selbst für die ist etwas weniger lebendauerverlängernd.
Die kleinen Platinen bekommt man sicherlich sogar durch einen Flaschenhals gefädelt, weil die Idee im Raum stand.
Die Platinen kann man entweder beide im Gespann verwenden, oder auch einzeln. Zusammen behindern sie sich nicht, denn beim Laden liegen max. 4,2V an der Zelle an. Für den StepUp Wandler ist die Bedingung, das die Eingangsspannung geringer als die Ausgangsspannung sein muß, somit auch beim laden erfüllt. Wer seinen Controller mit weniger Takt u. weniger Spannung betreiben will, kann natürlich auch den StepUp weglassen. Bei einer reinen 1-Weg Li-Batterie braucht man keinen Laderegler... es kann also jeder das für ihn Passende draus machen.
Hier http://forum.arduino.cc/index.php?topic=236816.0
habe ich mich ausführlich mit dem Thema Akkumanagment, Anzeige vom Ladezustand und Unterspannungsabschaltung beschäftigt.
Übrigens, wer beim Laden trotzdem Muffensausen hat, es gibt dafür auch Schutztaschen http://www.pollin.de/shop/dt/OTE4ODI3OTk-/Stromversorgung/Akkus/LiPo_Akkus/LiPo_Brandschutztasche_mit_Klettverschluss_QuatPower_LS_2923.html

Gruß Gerald
71  International / Deutsch / LCD individuelle Symbole für LiPo Akkuüberwachung mit Unterspannungsabschaltung on: April 29, 2014, 04:38:18 pm
Hallo,

ich habe mal diesen Thread zum Anlass genommen und mich mal dem Batteriemanagment für eine LiPo Zelle zur Stromversorgung eines Arduinos gewidment.
http://forum.arduino.cc/index.php?topic=235605.0
Die Schaltung von Gunther funktioniert auch in der Praxis. Meine Prinzipschaltung weiter oben funktioniert in der Praxis nicht. Beim Abschalten leitet der Ausgang wieder gegen Masse und der µC macht einen Reset und fängt wieder von vorne an  smiley-eek-blue
Weiterhin wollte ich für ein LCD ein Piktogramm mit dem Ladezustand des Akkus, wie man es auch aus Fertiggeräten kennt und eine Notabschaltung, um den Akku nicht zu schädigen.
Um Ladeschaltung und StepUp-Wandler auf 5V für den Arduino braucht man sich keinen Kopf zu machen. Beide Module gibts beim freudlichen Chinesen für kleines Geld  smiley-grin
Lademanagment: http://www.ebay.de/itm/370906211162?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
StepUp Wandler: http://www.ebay.de/itm/121150366656?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
Beide Module gleichzeitig am Akku kommen sich nicht ins Gehege, denn beim Laden bleibt die Spannung unter 4,2V und damit kann der Schaltreger ordnungsgemäß sogar beim Laden arbeiten.
Es ist aber empfehlenswert, auf dem Laderegler den Widerstand für den Ladestrom anzupassen, denn 1A Ladestrom ist schon ziemlich heavy. Ich habe einen 1300 mA Akku von einer verfolssenen DigiCam "recycelt".
Kernfrage war der Spannungsverlauf bei der Entladung, um eine vernünftige Vorhersage über Ladezustand treffen zu können. Dazu kommt noch erschwerend, das bei sinkender Spannung der Batteriestrom steigen muß, damit die Leistung gleichbleibt. Bei sinkender Spannung sinkt dazu auch noch der Wirkungsgrad des Wandlers...
Ich habe zur Aufnahme der Messwerte einfach eine Cree-LED mit 10 Ohm Vorwiderstand an den StepUp Wandler angeschlossen. Der Wandler hält die 5V absolut stabil. Somit bleibt der Strom im 5V Kreis ebenfalls stabil. Es herrschen also praxisrelavante Bedingungen. Dabei wird der + Pol des Akkus über den Analogeingang A0 überwacht. Das ist ohne weiteres möglich, da das Modul eine durchgehende Masse besitzt.  smiley-cool
Hier mein Code:

Code:
/*
please note, voltage setpoints in result with one LiPo cell with china step-up converter to 5V
lower voltage, more current, lower efficency, much more current...
setpoints for 6 identical timewindows
*/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x20,20,2);  // set the LCD address to 0x20 for a 16 chars and 2 line display
int switchOff = 8;        // pin for undervoltage switch off

char a = 0;
char b = 1;
char c = 2;
char d = 3;
char e = 4;
char f = 5;


byte batt100[8] = {
B01110,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B00000
};
byte batt80[8] = {
B01110,
B10001,
B11111,
B11111,
B11111,
B11111,
B11111,
B00000
};
byte batt60[8] = {
B01110,
B10001,
B10001,
B11111,
B11111,
B11111,
B11111,
B00000
};
byte batt40[8] = {
B01110,
B10001,
B10001,
B10001,
B11111,
B11111,
B11111,
B00000
};
byte batt20[8] = {
B01110,
B10001,
B10001,
B10001,
B10001,
B11111,
B11111,
B00000
};
byte batt0[8] = {
B01110,
B10001,
B10001,
B10001,
B10001,
B10001,
B11111,
B00000
};

void setup()
{
  pinMode(switchOff, OUTPUT);      // initialize aus output
  lcd.init();                      // initialize the lcd
 
  lcd.backlight();
 Serial.begin(9600);
lcd.createChar(0, batt100);
lcd.createChar(1, batt80);
lcd.createChar(2, batt60);
lcd.createChar(3, batt40);
lcd.createChar(4, batt20);
lcd.createChar(5, batt0);
}

void loop()
{
int sensorValue = analogRead(A0);                // analog input for voltage detection one cell LiPo accu +3,6V
digitalWrite (switchOff, 1);                    // set power on
float voltage = sensorValue * (5.19 / 1023.0);   // use real supply voltage 5V is theory :-)
lcd.setCursor(0, 0);
lcd.write(0);
lcd.print(" ");
lcd.write(1);
lcd.print(" ");
lcd.write(2);
lcd.print(" ");
lcd.write(3);
lcd.print(" ");
lcd.write(4);
lcd.print(" ");
lcd.write(5);
lcd.setCursor(0, 1);
if ((0 <= voltage) && (voltage < 3.57)) lcd.write(5);     //     0 to 16,66% running time 
if ((3.57 <= voltage) && (voltage < 3.63)) lcd.write(4);  // 16,66 to 33,33% running time
if ((3.63 <= voltage) && ( voltage < 3.67)) lcd.write(3); // 33,33 to 50,00% running time
if ((3.67 <= voltage) && ( voltage < 3.77)) lcd.write(2); // 50,00 to 66,66% running time
if ((3.77 <= voltage) && ( voltage < 3.91)) lcd.write(1); // 66,66 to 83,33% running time
if ((3.91 <= voltage) && ( voltage < 5.0)) lcd.write(0);  // 83,33 to   100% running time
if ((voltage) <= 3.0) digitalWrite(switchOff, 0);         // switch off by undervoltage
lcd.setCursor(2, 1);
lcd.print(voltage);
lcd.print(" V");
Serial.println(voltage);
delay(1000);
}

Da sich nur 8? Sondersymbole definieren lassen, will vielleicht nicht jeder 6 Symbole für den Batteriestatus opfern. Es gehen natürlich auch weniger. Bei Bedarf stelle ich auch noch die menütlichen 225 Spannungsmesswerte zur Verfügung, damit jeder sich die Werte selber raussuchen kann.
Im Bespielcode habe ich in der oberen Reihe des Displays einfach mal alle definierten Symbole abgebildet. In den Arrys sind 1:1 die Pixel drin. 0 ist aus und 1 ist an. Abwandlungen sind also kein Problem.
Hier noch die Bilder:
Eine mögliche Verbesserung wäre noch, statt der ausgerechneten Volt mit den "Rohdaten" vom AD-Wandler zu arbeiten, da so noch eine bessere Auflösung zu Stande kommt, als durch die Umrechnung und Rundung bedingt. Dann hätte ich aber auch die Messwerte so aufnehem müssen  smiley-red

Gruß Gerald

72  Using Arduino / Sensors / Re: check water in plastic pipe on: April 26, 2014, 08:38:45 am
The sensitive Area from capacitive and inductive sensors is the round face. This plate must face to face onto the plasticpipe. You may need a nonmetallic block (plastic, wood... whatever) with a hole for sensor. This Block you can fix with a cable-tie around the pipe. This construction we used.
73  International / Deutsch / Re: Zeit im Hintergrund Zählen + Arduino ausschalten on: April 25, 2014, 05:00:01 am
So wird das nicht funktionieren.
Wenn der Arduino spannungslos ist, und eine positive Spannung an einem beliebigen Pin angelegt wird, dann wird über die interne Schutzbeschaltung ein Strom in Richtung Arduino 5V fliessen, der ausreicht um den Transistor anzusteuern.
=> es wird nie abgeschaltet.

Wo soll in einer spannungslosen Schaltung denn eine Spannung an einem Eingang herkommen?
Von Spezialfällen, wo Fremdspannung auf einen Eingang gegeben wird, einmal abgesehen.
Um größere Betriebsströme zu schalten, gehe ich aber mit deinem Vorschlag konform.
Außerdem, was wir noch garnicht betrachtet haben, wenn sich die Schaltung in Grenzfällen nicht so verhält, wie vorgesehen.
Transistor sperrt, die Spannung ist auf Grund von Pufferelkos nicht sofort weg. Ob dann die Ausgänge perfekt sperren oder im Runterfahren auf H oder L gehen, bis ganz aus ist, ist unvorhersehbar. Da hilft nur probieren.
Auch eine Notabschaltung bei Unterspannung z.B. bei LiPo-Akkus nach obrigen Prinzip wäre denkbar. Auch den Ladestromstoß der Pufferelkos sollte man berücksichtigen. Den muß der Taster aushalten, damit die Kontakte nicht verkleben. Bei kleinen Leistungen und Kapazitäten bis 100µF sollte das kein Thema sein. Bei größeren Leistungen kann man auch den Taster statt über Q1 über Q2 vorsehen. Dann muß allerdings Q2 für diesen Einschaltstrom ausgelegt sein.

Gruß Gerald
74  International / Deutsch / Re: Zeit im Hintergrund Zählen + Arduino ausschalten on: April 25, 2014, 02:25:52 am
Ein Relais frißt doch viel zu viel Strom selber. Das geht doch auch mit einem Transistor.
Der Transistor liegt in der +Ub Zuleitung, hinter dem Kollektor kommen dann die 5V für den Arduino raus.
- nicht angesteuert, Arduino stromlos
- Starttaster überbrückt E-C Transistor, Arduino bekommt Strom
- Taster wird losgelassen, Steuerstrom kommt jetzt über einen Ausgangspin
- Programm schaltet den Ausgangspin ab - Gerät ist aus  smiley-wink
Ich habe das mal aufgezeichnet mit einem pnp Transistor. Der Transistor muß für sämtlichen Strom auf der 5V Leitung ausgelegt sein. Dessen Basisstrom ergibt sich aus der Stromverstärkung. Bei kleinen Leistungen (unter 100 mA) ist das unkritisch und die kleinen BC 5xx oder BC 3xx haben Stromverstärkungen über 100. Für was "Dickeres" über 500 mA wirds dann schwieriger, weil kräftigere Transistoren wesentlich kleinere Stromverstärkungen haben. Da braucht man dann einen weiteren Transistor, um den Transistor anzusteuern.
Damit der Transistor durchsteuert und der Arduino seine 5V bekommt, ist Low am Ausgang erforderlich! Ich habe zur Veranschaulichung des Stromflusses mal das "Innenleben" eines Ausganges mit seiner Gegentaktstufe dargestellt. Bei L ist der untere Transistor am Ausgang leitend, von Masse fließt ein Basisstrom durch die Basis zum Emitter raus.
Sollte der Transistor aus irgendwelchen Gründen nicht sicher sperren beim Abschalten, dann muß noch der gestrichelte Widerstand rein. Dieser sollte überschlagsweise dann 3-5x so groß, wie der Basisvorwiderstand sein. Bei unter 100 mA Strombedarf für den Arduino würde ich den Basiswiderstand für 10 mA und 470 Ohm auslegen, damit der Transistor auch sicher im Schalterbetrieb gefahren wird.
75  International / Deutsch / Re: Arduino Uno mit Batterie versorgen on: April 25, 2014, 01:38:17 am
Ansonsten kann es sein, dass Du dich erst verbastelst und danach nur noch defekte Geräte hast. Und zwar nicht nur ein defekt zusammengelötetest Kabel, sondern auch noch eine defekte Batterie, ein defektes Arduino-Board, eine brennende Bude...

Er hat die elektronische Mausefalle erfunden - den Speckgeruch erzeugt die Elektronik  smiley-twist
Pages: 1 ... 3 4 [5] 6 7 ... 26