Show Posts
Pages: 1 ... 3 4 [5] 6 7 ... 26
61  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
62  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

63  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.
64  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
65  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.
66  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
67  Using Arduino / Sensors / Re: check water in plastic pipe on: April 24, 2014, 06:01:08 am
http://www.aliexpress.com/item/high-quality-capacitive-proximity-sensor-LJC18A3-B-Z-AY-18mm-diameter-10mm-detective-distance-DC-6/485043402.html
that should it do. For a brand name you pay 10x more and chinese dealer distribute worldwide. But you need time - some weeks. These sensor will work with 6V - most brands needs more, standard is 24V. But with a small 12V switching supply you can drive sensor and a 5V regulator for Arduino. For adaption from sensor output to Arduino input i would recommand a optocoupler or a reed-relay
68  Using Arduino / Sensors / Re: check water in plastic pipe on: April 24, 2014, 05:24:20 am
No an inductance or capacitave sensor.

Exactly  smiley
And the best is, you don't need open the plastic-pipe.
But note, that different liquids with different resistant needs different adjustments for sensor.
We had a serious problem with DI-water (purge) and acids (etch), what alternate to detect (yes or no only). If you have only water all will be fine  smiley
69  Using Arduino / Sensors / Re: check water in plastic pipe on: April 23, 2014, 06:20:41 am
use a proximity sensor  smiley
These sensors will often use in industrial PLC (SPS) controls.
You can adjust the sensitivity level by a small crew. We did use this sensors in a galvanic tool for detection of water and acids in plastic pumplines to prevent pums to run dry. It's easy, to place the sensor outside of pipe.
A other solution is a calorimetric sensor. Use a PTC or NTC heat it up per current, measure the voltage over the resistor. If the sensor will cool down by liquid, the voltage will be different  smiley-wink
70  Using Arduino / LEDs and Multiplexing / Re: Controlling 4 7-segment displays on: April 23, 2014, 05:43:35 am
4 digit common anode displays you can drive with a SAA1064 from NXP (ex Philips).
A lib for this chip can found by google  smiley
This is a nice solution via I2C for a panel display with up to 2m cable 4 wire shilded (is use a pice of LAN-cable)
71  International / Deutsch / Re: IR-LED / Emitter & Wellenlänge on: April 21, 2014, 04:33:38 am
mir ist da noch was eingefallen.
Näherungsweise ist die Flusspannung höher, je kurzwelliger die LED strahlt. IR liegt bei ca.  1,3V, rot bei 1,4V, grün bei 2,5 blau und weiß (was eh aus blau per Leuchtschicht gemacht wird) bei 3,5V
bei gleichen Flusstrom (in Reihe schalten) kannst du ja mal mit dem DVM gucken wielviel an jeder LED abfällt. Keine Garantie, aber ein möglicher Hinweis  smiley-wink
72  International / Deutsch / Re: IR-LED / Emitter & Wellenlänge on: April 20, 2014, 06:48:01 am
Gibt es da etwas einfaches?

Ja gibts, nennt sich Datenblatt  smiley-razz

Nur warum ist dir das so wichtig? Eine LED ist kein Laser, der wirklich kohärent und monocrom ist. Eine LED hat immer Nebenspektren und von Charge zu Charge schwankt die Wellenlänge auch noch. Das wird dann später selektiert. Und Ein Fototransistor sieht da auch nicht so genau hin  smiley-wink
Wenn du wirklich messen willst, geht das bei 99,9% der Leute über Heimequipment hinaus. Dazu brauchst du ein Prisma und einen Fotosensor, der zeilenweise detektieren kann. Das Prisma beugt die Wellenlängen unterschiedlich und je nachdem, wo der gebeugte Strahl ankommt, schlägt dann der Fotodetektor an. Als Fertiggerät kostet das richtig Schotter!
73  International / Deutsch / Re: RAM- / EEPROM-Größe on: April 18, 2014, 06:02:44 am
Im Prinzip sind es immer 2 hoch n Speicherzellen und jede Zelle kann nur H oder L daher ist die Speichergröße auch 2 hoch n.
Nun zu den Ausnahmen: Inzwischen gibt es Speicher bis in den Giga-Bereich. Absolut fehlerfreie Speicher in dieser Größenordnung sind nahezu unmöglich. Dafür gibt es Reserveblöcke, die noch im Testfeld des Herstellers von defekten Bänken auf Intakte umgeroutet werden. Der nächste Punkt ist MLC Speicher (Multi Level Cell). Herkömmliche FLASH Zellen kennen nur zwei Zustände - H und L. MLC dagegen kennen 3 und mehr Zustände intern. Extern wird dann wieder auf H und L zurückübersetzt. Dadurch bedingt, ergeben sich von der Basis 2 abweichende Größen. MLC FLASH ist eine vielschichtige Herausforderung an die Hersteller. Zum einen ist die Kennline eines MOSFET und damit auch einer FLASH Zelle mit seinem Floating Gate nicht linear. Zum anderen beinflussen sich benachbarte Zellen gegenseitig. Bei Single Level ist das noch vergleichsweise easy. Wenn man 50% Schaltschwelle voraussetzt und 10% Reserve abzieht, ist 15% Übersprechen absolut kein Thema. Bei 3 Schaltzuständen hat jeder Zustand 33%, bei 4 Zuständen sind es 25% - wenn man davon jeweils 10% Sicherheitsabstand abzieht, wird es schon verdammt eng!
Der nächste Punkt ist die Geschwindigkeit. MLC langsamer, auf Grund von längeren Zugriffszeiten. Führt euch die Lade- Entladekurve eines Kondensators vor Augen. Bei Adresswechseln müssen die internen Kapazitäten der Leitungen umgeladen werden. Um 50% bei SLC sicher detektieren zu können, muß ich nicht so lange warten, wie bei MLC. Ein weiterer Punkt ist die Haltbarkeit der Zellen. Verliere ich bei SLC 10% Ladung im Laufe der Jahre ist das noch kein Problem - bei MLC schon!
Das nur mal so am Rande  smiley-wink
MLC wird meines Wissens nach nur für FLASH in SSD's eingesetzt.
Eine weitere Spezialität ist analoges FLASH in Sprachspeicher IC's von ISD  smiley-grin

Gruß Gerald
74  International / Deutsch / Re: Einfache Verbindungskable on: April 18, 2014, 05:20:04 am
18€ sind dir zu teuer? Dann guck dir mal die Originale von Knipex, Tyco, Harting und wie sie alle heißen, an. Da zahlst du locker das 10-fache!
Die billigeren Zangen gibt es noch nicht so lange, da es auf die Dinger Patente gab.
Ich habe eine selbsteinstellende Zange für Aderendhülsen, eine für isolierte Presskabelschuhe und eine für Westernstecker (Telefon und LAN). Andere Kontakte kann man als Notbehelf auch löten.

Gruß Gerald

PS. Buchsenleisten kneife ich nicht ab, sondern trenne sie mit einer PUK-Säge
75  International / Deutsch / Re: mit TLC5940 RGB LEDs ansteuern, Problem bei der Ansteuerung on: April 17, 2014, 10:36:48 am
http://i.stack.imgur.com/OFVxB.png
Hast du, wie dort beschrieben, in der tlc_config.h NUM_TLCS angepasst? Ist meiner Meinung nach etwas unglücklich gelöst, das nicht im eigentlichen Sketch konfigurieren zu können.

Gruß Gerald
Pages: 1 ... 3 4 [5] 6 7 ... 26