Jump to content

heinz_a

Members
  • Gesamte Inhalte

    21
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von heinz_a

  1. Die Polung beim Anschließen unbedingt beachten! Das Bricklet ist nicht verpolungssicher! Die Spule erzeugt beim Abschalten einen Strom in gegensätzlicher Richtung und bringt das Bricklet aus dem Takt. Varistor hilft nicht, die Diode hat das Problem behoben.
  2. Hab's jetzt mit Isolator-Bricklet probiert. Lüfter, Pumpe, Motor kein Problem, beim Magnetventil hängt die Messung, wie oben beschrieben ....
  3. Am Eingang ist jetzt ein Laderegler und am Ausgang mein MacBook. Um die Induktivität kümmere ich mich später ... Danke
  4. Beim Ventil frierts wieder ein. Hab mal versucht die Spannungsspitzen festzuhalten, aber über 30 V konnte ich mit meinem Spielzeugosziloskop nicht feststellen Oszilloskop.tiff
  5. In der Zwischenzeit hat das Bricklet ohne weiteres Zutun zu rauchen angefangen, dachte schon es wäre tot. Es hat sich auch eine zeitlang sehr merkwürdig verhalten. Jetzt habe ich das Magnetventil durch einen PC-Lüfter getauscht. Beim Anschließen der Stromversorgung ist zwar der Viewer abgerauscht, aber inzwischen verhält sich das Bricklet als wäre nichts gewesen. Egal, wo ich den Strom unterbreche, nichts friert mehr ein.
  6. Eine Überspannung könnte das Magnetventil beim Abschalten erzeugen. Auf diese Weise ist mir wahrscheinlich schon mal ein SSR abgeraucht. Im Film lege ich erst Spannung am Eingang an, dann Verbraucher und trenne das wieder. Wenn ich den Ausgang trenne sieht man, wie sich die Tabs verabschieden BrickViewer_geschn.mov
  7. Noch präziser: Wenn ich den Strom auf der Ausgangsseite des VC trenne, verabschieden sich kurzzeitig die Tabs im BrickViewer (bis auf SetUp), anschließend tauchen diese wieder auf, mit dem Unterschied, daß beim VC die vertikalen Werte stehen bleiben, die Zeitachse läuft weiter. Ich versuch mal von dem Vorgang einen Film zu machen.
  8. Rechts oben zwischen „Show Status“ und „More“ drücke ich „Reset“, dann geht's wieder Reset.tiff BrickViewerCV.tiff
  9. Hallo Bastian, hab's an einen anderen MasterBrick angeschlossen, gleiches Ergebnis, wie oben beschrieben. vg Heinz
  10. Der Akku liegt am Eingang des VC, am Ausgang in diesem Fall ein Magnetventil (ein Linearmotor hat den gleichen Effekt). Wenn ich den Strom beim Akku unterbreche zeigt das OLED 0.00 W, beim Anschließen wieder korrekt, wie im Bild. Aber wenn ich auf der Verbraucherseite unterbreche tut das VC nichts mehr. Um die Schaltung wiederzubeleben muß ich im BrickViewer resetten, im BrickViewer funktionierts dann wieder. Beim RED muß ich das Programm neu starten, daß die Leistung im OLED wieder korrekt angezeigt wird. Das Merkwürdige ist, daß es egal ist, ob der Stapel von USB oder vom Akku versorgt wird.
  11. Wenn ich beim Voltage/Current Bricklet am Ausgang den Strom unterbreche, friert das Bricklet ein. Eingangsseitig passiert das nicht. Würde hier das Isolator Bricklet helfen? vg Heinz
  12. Mit dem Quad Relay steuere ich ein Magnetventil 12 V (920 mA). Nun hat es einen Kurzschluss gegeben (siehe Bild). Könnte das eine Motte gewesen sein? Ist das Quad Relay möglicherweise nicht geeignet für diese Aufgabe? Nun muss eine zusätzliche Absicherung her, da „iqr.get_value()“ in diesem Fall kein brauchbares Ergebnis liefert.
  13. Funktion zum Laden des Akkus def akku_spannung(): spannung = servo.get_external_input_voltage() if spannung < 6500: # 6,5 V print("Laden") #Relais ein # NiMH-Akku 7,2 V relais.set_state(True, False) elif spannung > 8500: #8,5 V print("Stop Laden") #Relais aus relais.set_state(False,False ) return spannung
  14. Solarmodul per Servo der Sonne nachführen. Material: Servo-Brick, Servo, PV-Modul, Raspberry-Pi Das Programm ist recht einfach gehalten. An Sonenauf-/untergang kann mach noch weiterentwickeln. Die Zeiten im Programm sind für Tests reduziert. Das Poti ist zum manuellen Stellen, z.B. nach Sonnenuntergang ... #!/usr/bin/env python # -*- coding: utf-8 -*- HOST = "localhost" PORT = 4223 UID_servo = "6KveiL" # Change to your UID UID_rotary = "y5A" servo_num = 1 from tinkerforge.ip_connection import IPConnection from tinkerforge.brick_servo import Servo from tinkerforge.bricklet_rotary_poti import RotaryPoti from threading import * from datetime import time, datetime, timedelta ipcon = IPConnection() # Create IP connection servo = Servo(UID_servo, ipcon) # Create device object poti = RotaryPoti(UID_rotary, ipcon) Sonnenzeit = timedelta(hours=10) Sonnenuntergang = time(17, 0, 0).hour Trackzeit = 10 #1800 = halbe Stunde def track(): jetzt = datetime.now().hour Zeit_bis_Untergang = timedelta(hours=(Sonnenuntergang-jetzt)) print("Zeit: {0}".format(str(datetime.now()))) print("Sonnenuntergang: {0}".format(str(Sonnenuntergang))) print("Verbleibende Zeit: {0} ".format(str(Zeit_bis_Untergang)) + " (Std.)") global akt_position servo.set_position(6, akt_position) akt_position = akt_position + 900 t = Timer(Trackzeit, track) t.start() def cb_position(position): #Poti zum manuellen Positionieren servo.set_position(6,60*position) def cb_reached(servo_num, position): #Zielposition erreicht global akt_position print("Position: {0}".format(str(akt_position))) if position == 9000: akt_position = -9000 t = Timer(14, track) #14*3600 Min. bis Sonnenaufgang if __name__ == "__main__": ipcon.connect(HOST, PORT) # Connect to brickd servo.register_callback(servo.CALLBACK_POSITION_REACHED, cb_reached) servo.enable_position_reached_callback() servo.set_velocity(6, 4000) #Geschwindigkeit niedrig servo.set_acceleration(6,8000) #Beschleunigung gering servo.set_position(6, 0) servo.enable(6) poti.set_position_callback_period(50) poti.register_callback(poti.CALLBACK_POSITION, cb_position) global akt_position jetzt = datetime.now().hour if jetzt > Sonnenuntergang: # Nacht Stunden_bis_Start = timedelta(hours=24-jetzt+7) print("Start in {0} Stunden".format(str(Stunden_bis_Start))) t = Timer(Stunden_bis_Start.total_seconds()/3600, track) t.start() # bei Sonnenaufgang starten else: print("jetzt: {0}".format(str(jetzt))) # Startposition anfahren akt_position = 9000-(Sonnenuntergang-jetzt)*1800 #Endposition - Stunden * Winkel/Std. akt_position = -9000 t = Timer(3, track) # t.start() # sofort starten raw_input('Press key to exit\n') # Use input() in Python 3 ipcon.disconnect() t.cancel()
  15. Das war's. Ich habe den Brick so knapp verbaut, daß beide Taster gedrückt wurden ... Besten Dank!
  16. Kann da jemand einen Defekt erkennen? Gruß Heinz
  17. Die Konzentration der Säure ändert sich nicht so stark, dass man diese über den Behandlungszeitraum überwachen müßte. Sensoren gibt es, die dann mehrere hundert Euronen kosten. Wenn man es mit Tinkerforge angehen will, wären Impedanz und Dichte ein Ansatz. Für den Imker macht die Überwachung des Gewichtes des Bienenstocks Sinn. Das kann man mit dem „Load Cell Bricklet“ realisieren.
  18. Callback function ist besser .... def cb_illuminance(illuminance): global StartZeit global StopZeit if illuminance/10.0 > 50:# Lampe leuchtet StartZeit = time.time() if illuminance/10.0 < 20:# Lampe aus StopZeit = time.time() print('Brennerzeit = {0}'.format(str(round(StopZeit - StartZeit,0)))+' Sekunden') # Tag, Uhrzeit, Brennerzeit in DB schreiben
  19. Du brauchst noch einen Master-Brick, der mit den Bricklets verbunden wird. Dann kannst du mit dem Brick-Viewer deinen Aufbau testen. Software-Beispiele sind für jede Sprache in der Dokumentation zu finden. Viel Spaß Heinz
×
×
  • Neu erstellen...