Basteltipps

Aus Schaffenburg
Version vom 15. Oktober 2015, 14:37 Uhr von Byteturtle (Diskussion | Beiträge) (Added Arduino Temperatur Messung)
Zur Navigation springen Zur Suche springen

DAYPOWER M-SD-LM317

Spannungswechsel Niedrig auf Hoch

Vorsicht beim Spannungsregler Modul DAYPOWER M-SD-LM317!
Wenn ihr von einer Niedrigen auf eine Hohe Eingangsspannung (z.b. 3,3V auf 15V) wechselt messt unbedingt nach wieviel das Modul ausspuckt und regelt gegebenenfalls runter oder hoch.

Ich habe das nicht getan und so einfach volle 15V auf einen ESP8266 gegeben -> tot.

Achtung - Hohe Eingangsströme ohne Last

Und der nächste DAYPOWER M-SD-LM317 Tipp.

Bei hohen Eingangsströmen (15V/1A) nicht ohne Last betreiben sonst bumm! (Oder einfach den Kondensator am Ausgang direkt auslöten.

Irgendwas mit nie ohne Last...

Der Elko sollte bei Überspannung so ungefähr mit dem LM317 zusammen sterben (40V für den LM gegen 50V für den Elko). Für die Minimallast kann eine Einschaltkontroll-LED des Verbrauchers sorgen wenn der echt wenig braucht. Der Elko kann ersatzlos weg oder gegen kleineren Typen getauscht werden. Dann kann auch bei Fehlern nicht zuerst mal der Elko wahnsinnig hohe Ströme an Verbraucher liefern, sondern die Strombegrenzung des LM wird sofort wirksam. Dg3hda (Diskussion) 21:34, 27. Sep. 2015 (CEST)


Einfache Temperaturmessung mit Arduino

Material:

  • Thermistor 10kΩ
  • Wiederstand 10kΩ
  • Arduino
  • Kabel + Breadboard

Arduino temp.svg

Code:

#include <math.h>         //loads the more advanced math functions
 
void setup() {            //This function gets called when the Arduino starts
  Serial.begin(115200);   //This code sets up the Serial port at 115200 baud rate
}
 
double Thermister(int RawADC) {  //Function to perform the fancy math of the Steinhart-Hart equation
 double Temp;
 Temp = log(((10240000/RawADC) - 10000));
 Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
 Temp = Temp - 273.15;              // Convert Kelvin to Celsius
 return Temp;
}
 
void loop() {             //This function loops while the arduino is powered
  int val;                //Create an integer variable
  double temp;            //Variable to hold a temperature value
  val=analogRead(0);      //Read the analog port 0 and store the value in val
  temp=Thermister(val);   //Runs the fancy math on the raw analog value
  Serial.println(temp);   //Print the value to the serial port
  delay(1000);            //Wait one second before we do it again
}

Das ganze spuckt der Arduino nach dem Hochladen mit 115200 Baud auf die Serielle Schnittstelle, die man z.b. mit dem Serial Monitor der Arduino IDE einsehen kann.

Oder ganz bequem vom Terminal aus:

screen /dev/ttyACM0 115200

Hier evtl. die Schnittstelle anpassen (z.b. /dev/ttyUSB0 bei Verwendung eines USB Seriell Wandlers)