Jump to content

mruniversum

Members
  • Gesamte Inhalte

    44
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von mruniversum

  1. Hallo, ich nutze genau diesen IR-Kopf zum Auslesen von einem AS1440 digitalen Stromzähler. Wäre als Bricklet auf jeden Fall interessant. Habe mein Projekt hier http://home.arcor.de/darealsvrider/as1440/ veröffentlicht.
  2. Hallo, kurze Frage: Wenn ich beim temperature-bricklet den Wert abfrage bekomme ich z.b. temperature=643 also 6,43°C. Beim humidity-bricklet bekomme ich folgenden Wert: humidity=787 Das entspricht dann 78,7% relative Luftfeuchte? In der Doku steht bei beiden "Ausgabe in 0,1 Schritten". Die Kommaverschiebung verwirrt mich aber. Danke für Aufklärung!
  3. Hallo zusammen, ich suche Hilfe bez. eines Problems mit einer Schrittmotorsteuerung bei einem Bekannten. Ein Schrittmotor treibt einen Schlitten an, der als Längenanschlag für eine Säge dient, das dazugehörige Programm habe ich zur Verfügung gestellt. Es ist aufgefallen, dass der Motor bei einer Fahrt plötzlich für eine Sekunde stoppt, dann weiter fährt, wieder stoppt usw. Um Fehler in der Mechanik auszuschließen, wurde der Motor ausgebaut. Nach dem Einschalten des Stepperbricks hat der Motor erstmal leicht hochfrequent gepfiffen (evtl nicht perfekter Decaywert), Die Achse war stabilisiert, man konnte also die Motorachse nicht drehen. Nach einer gewissen Zeit hat der Motor dann wieder rhytmisch angefangen das Pfeiffen zu unterbrechen, auch konnte in der Zeit die Achse gedreht werden. Durch Zufall fanden wir heraus, dass der Kühlkörper vom Stepperbrick sehr heiß wird, nach einer Behandlung mit Kältespray hörte die Unterbrechung des Pfeiffens auf, und der Haltemoment vom Motor war wieder intakt. Also scheint es so, als ob der Stepperbrick überhitzt, also zu schwach für den Motor ist...? Testweise wurde der max. Strom von 2000mA auf 1600mA zurückgedreht. Damit lief der Motor den ersten Tests nach zu Urteilen durch. Wird jetzt allerdings die Geschwindigkeit erhöht, fängt das Problem wieder an. Mit der aktuellen Geschwindigkeit fährt der Schlitten mit ca 30 Sek / Meter, was eindeutig zu langsam ist auf einer Länge von 2 Metern Wir haben mit 1/8 bis Vollschritten sowie mehreren mechanischen Untersetzungen experimentiert, leider ohne Erfolg. Gibt es Möglichkeiten, den Motor noch mehr Strom / Spannung zur Verfügung zu stellen? Oder ist der Stepperbrick für das Projekt evtl zu klein? (Das wäre ein Desaster). Würde es Sinn machen die Kühlung des Stepperbricks zu verbessern? Oder gibt es evtl noch Parameter um noch mehr Leistung rauszuholen? Der Motor ist ein SM 2861-5055 mit 3Nm. Danke schonmal im voraus für alle Ideen und Antworten. SM2861-5055.pdf
  4. Die Antwort lautet: tinkerforge call hall-effect-bricklet $uid get-edge-count true anstatt tinkerforge call hall-effect-bricklet $uid get-edge-count false Ergebnis (reset sichtbar beim zweiten Aufruf): root@raspberrypi:~/gas# ./get_gas.sh 556 root@raspberrypi:~/gas# ./get_gas.sh 0
  5. Hallo zusammen, kann mir jemand sagen wie ich bei den shell-bindings definieren kann, dass das hall-effekt-bricklet den counter nach dem auslesen wieder auf 0 setzt?
  6. d.h. ich gehe davon aus, dass die Scheibe meines Zählers einen Punkt hat wo sie magnetisch ist? Oder wie kann ich das testen?
  7. Hi, kann ich ein Line Bricklet dazu verwenden, um bei einem Stromzähler die rote Markierung der sich drehenden Scheibe zu erkennen? Offtopic: Wie wäre es mit einem Bereich im Wiki wo man Quellcode posten und finden kann, um evtl auf eine schon vorhandene Lösung zurückzugreifen? mfg
  8. Hi, ich benötige nochmal Hilfe. Ich verstehe die Syntax nicht den Interruptlistener zu beenden! Das Beispiel io4.removeInterruptListener(listener); funktioniert nicht. Kannst du mir nochmal bitte konkret nennen wie ich ihn beenden muss, wenn ich ihn so starte? io4.addInterruptListener(new BrickletIO4.InterruptListener() { public void interrupt(short interruptMask, short valueMask) { try { if (val == 14) { System.out.print("\nSchalter 1"); } if (val == 13) { System.out.print("\nSchalter 2"); } }catch(TinkerforgeException e) { } } }); Vielen Dank!
  9. Hi, der vollständigkeit halber wie ich es gelöst habe: io4.addInterruptListener(new BrickletIO4.InterruptListener() { public void interrupt(short interruptMask, short valueMask) { // System.out.println("!!ENDSCHALTER 0 oder 1!!"); try { val=io4.getValue(); if (val == 14) { System.out.println("NULLSCHALTER " + val); } if (val == 13) { System.out.println("ENDSCHALTER " + val); } }catch(TinkerforgeException e) { } } }); // Enable interrupt on pin 0 + 1 io4.setInterrupt((short)(1111)); ich habe allerdings noch das problem, dass bei jedem programmdurchlauf der listener scheinbar einmal mehr durchläuft wird, da beim ersten durchlauf eine textausgabe kommt, beim zweiten zwei, beim dritten drei usw. (das programm läuft in einer schleife). liegt das etvl. daran weil der listener nicht gestoppt wird? wäre nett wenn das nochmal jemand konkret posten könnte, meine versuche sind bisher gescheitert. => wie muss er beendet werden? io4.removeInterruptListener(null);
  10. Hallo zusammen, nach dem ersten versuch mit den shell-bindings versuche ich es nun mit java. es geht darum, per schalter der am IO4 hängt über einen listener eine aktion auszuführen. das klappt auch soweit, allerdings wird der listener ausgelöst wenn der schalter gedrückt wird, und auch wenn er losgelassen wird. wie lässt sich die abzufragene flanke definieren? // listener wenn IO4 aktiviert wird io4.addInterruptListener(new BrickletIO4.InterruptListener() { public void interrupt(short interruptMask, short valueMask) { System.out.println("STOP"); try { //stepper stoppen und position auf 0 setzen stepper.fullBrake(); stepper.setCurrentPosition(0); }catch(TinkerforgeException e) { } } }); // Enable interrupt on pin 0 io4.setInterrupt((short)(1 << 0));
  11. Hi, danke für die hilfreichen antworten! kann ich auch mehrere callbacks abfragen? z.b. wenn der erste erfolgt ist, dann einen anderen, bzw. können die parallel darauf "warten" aufgerufen zu werden? (z.b. position erreicht beim stepper ODER endschalter erreicht) komme erst später wieder zum testen, daher nochmal diese fragen. danke!
  12. Hallo zusammen, ich habe nun die hardwarekomponenten aber komme nicht weiter. der motor läuft los (das ist schonmal gut), und soll bei der aktivierung vom endschalter stoppen. das klappt soweit (mit einer sekunde verzögerung?!). allerdings bleibt mein shellscript dann im callback "hängen". ich möchte aber dass wenn der callback auslöst (schalter am IO4), der motor gestoppt wird UND sich der callback mit dem ganzen script beendet. hier ein auszug, das unwichtige mal rausgenommen: #konfig io4 tinkerforge call io4-bricklet $io_uid set-interrupt 13 #Position abfragen: POS=$(tinkerforge call stepper-brick $uid get-current-position) echo "Aktuelle Position: $POS" # stepper starten tinkerforge call stepper-brick $uid enable # motor laufen lassen tinkerforge call stepper-brick $uid set-steps 10000 #callback vom IO4. motor soll sofort stoppen bei aktiviertem endschalter tinkerforge dispatch io4-bricklet $io_uid interrupt \ --execute " echo 'stop'; tinkerforge call stepper-brick $uid full-brake; exit; " wenn der motor nun losläuft und ich den schalter drücke, dauert es eine sekunde, dann bleibt er stehen: ./start.sh Aktuelle Position: position=52613 stop stop - warum bleibt die konsole nun im callback stehen? pro drücken und gehenlassen vom schalter wird ein "stop" gepostet (also das script läuft nach wie vor) - warum wird mein "exit" im callback ignoriert? - kann ich auch nur das drücken vom schalter abfragen, nicht das gehen lassen? (sonst wird der callback auch ausgelöst wenn der motor die endposition verlässt und stoppt den motor erneut) danke für denkanstöße....
  13. Hallo zusammen, für ein kleines Projekt benötige ich einen Stepper-Brick für einen Schrittmotor sowie ein I/O 4 um (End) Schalter abzufragen. Eine kurze Frage zur Programmierung: Eine Welle bewegt einen Schlitten der bei einer bestimmten Position stoppen soll. Hierfür wird ein Schalter benutzt, der über den I/O 4 abgefragt werden soll. Von der Programmierlogik her muss ich immer einen Schritt drehen, dann den Schalter auf Aktivierung prüfen, dann wieder einen Schritt drehen und so weiter. (Bis der Schalter gedrückt ist, und dann stoppen). Kann ich das prinzipiell mit den Shell-Bindings realisieren? Ich muss ja immer abwechselnd einen Schritt drehen und dann den Schalter abfragen, ohne dass der Motor zu langsam wird weil die Befehle so lange mit der Ausführung brauchen... Oder ist hier eine richtige Programmiersprache nötig wie Java, C etc? Hoffe das ist so verständlich...
  14. Hi, seit zwei Tagen stabil! Lag also definitiv am Raspi Firmware Update. Hatte einen der ersten, evtl war das Problem bei jüngeren gar nicht mehr vorhanden.
  15. Die Lösung war scheinbar ein Firmwareupdate vom Raspi: http://dk1sfa.no-ip.org/?section=rPi Damit läuft es seit 12 Stunden ohne Probleme.
  16. Hi, ich habe jetzt ein neues Netzteil von RS mit 1200 mAh. Heute Nacht wieder die selben Probleme: Jun 19 04:35:31 raspberrypi kernel: [24737.144017] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:35:36 raspberrypi kernel: [24742.144092] smsc95xx 1-1.1:1.0: eth0: Failed to write register index 0x00000114 Jun 19 04:35:41 raspberrypi kernel: [24747.144145] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:35:46 raspberrypi kernel: [24752.144219] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000118 Jun 19 04:35:51 raspberrypi kernel: [24757.144313] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:35:53 raspberrypi /USR/SBIN/CRON[7048]: (CRON) info (No MTA installed, discarding output) Jun 19 04:35:56 raspberrypi kernel: [24762.144391] smsc95xx 1-1.1:1.0: eth0: Failed to write register index 0x00000114 Jun 19 04:36:01 raspberrypi kernel: [24767.144417] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:36:06 raspberrypi ifplugd(eth0)[1399]: Link beat lost. Jun 19 04:36:06 raspberrypi kernel: [24772.144486] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000118 Jun 19 04:36:13 raspberrypi kernel: [24778.244575] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:36:18 raspberrypi kernel: [24783.244646] smsc95xx 1-1.1:1.0: eth0: Failed to write register index 0x00000114 Jun 19 04:36:23 raspberrypi kernel: [24788.244736] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:36:28 raspberrypi kernel: [24793.244775] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000118 Jun 19 04:36:33 raspberrypi kernel: [24798.244874] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:36:38 raspberrypi kernel: [24803.244939] smsc95xx 1-1.1:1.0: eth0: Failed to write register index 0x00000114 Jun 19 04:36:43 raspberrypi kernel: [24808.245011] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000114 Jun 19 04:36:48 raspberrypi ifplugd(eth0)[1399]: Executing '/etc/ifplugd/ifplugd.action eth0 down'. Jun 19 04:36:48 raspberrypi kernel: [24813.245079] smsc95xx 1-1.1:1.0: eth0: Failed to read register index 0x00000118 Danach hilft nur noch ein Reboot. Das kann eigentlich nicht sein oder? Ich werde die Spannung trotzdem nochmal messen...
  17. mruniversum

    Dual Relay absichern

    Hi, wie in der Doku beschrieben ist, sollte man das Dual-Relay beim Schalten von induktiven Lasten zusätzlich absichern. Da ich damit einmal einen Heizungshauptschalter überbrücken möchte, sowie eine Heizungspumpe steuern möchte, wäre eine zusätzliche Absicherung evtl nicht verkehrt. Ich habe mir mal euren Link http://www.jkmicro.com/inductive_loads.pdf angesehen. Wenn ich das richtig verstehe, benötige ich daher bei AC einen Varistor (evtl diesen? http://www.reichelt.de/Heissleiter-Varistoren/VDR-0-25-300/3/index.html?;ACTION=3;LA=446;ARTICLE=22312;GROUPID=3114;artnr=VDR-0%2C25+300) welcher parallel geschaltet wird, sowie einen Kondensator (Elko, Folie, Keramik?, mit 1mF) sowie zusätzlich einen 100Ohm Widerstand in Reihe mit dem Kondensator, welche zusammen ebenfalls parallel geschaltet werden. Ist das so korrekt? Gibt es keine fertige Komplettklösung dafür? mfg
  18. hi, nach dem update klappt alles wunderbar! ein weiteres problem (ich mache jetzt mal keinen neuen thread auf): alle paar stunden stürzt mein raspi ab und ich muss rebooten, ohne TF tut er das nicht. ich habe nur den master + temp bricklet verbunden, die 53mA sollten nicht ins gewicht fallen. ich nutze ein 5V/1A Netzteil, was meiner meinung nach locker reichen sollte. gibt es dazu noch einen lösungsansatz?
  19. hi, dann hätte es ja mit einem alten brickd klappen können :-) also muss ich master + bricklets komplett updaten? im brickv sollte ich angeschlossene bricks ja einfach so sehen können, da wird aber auch nichts angezeigt.
  20. Hallo, das hört sich gut an. allerdings habe ich jetzt ein neues problem (habe die teile jetzt am pc um fehler vom raspi auszuschließen): 2013-06-12 20:25:43.369096 <D> <network|client.c:112> Got request (U: 1, L: 8, F: 254, S: 10, R: 0) from client (socket: 11, peer: 127.0.0.1) 2013-06-12 20:25:43.369108 <D> <usb|usb.c:315> No Bricks connected, dropping request (U: 1, L: 8, F: 254, S: 10, R: 0) warum erkennt er nun keine bricks mehr? habe einen master + temp, relais, analogout und das io/4. habe mal alle abgezogen bis auf das tempbricklet, einzeln wird es auch nicht erkannt. ich weiß dass ich es aber vor monaten schonmal am laufen hatte. eine idee woran das liegen könnte?
  21. Hi, gibt es eine Möglichkeit die UIDs der Bricklets herauszufinden, ohne den BrickViewer zu installieren? (Evtl über den brickd) Habe die Teile konkret am Raspi und keine Lust auf Grafische Software. thx
  22. Hi, bei dem current25 bricklet steht folgende angabe: Max Input Voltage 100VAC/100VDC (peak) nach meinem verständnis kann ich also maximal 100V messen? was macht denn 100V AC für einen sinn, wenn das wechselstromnetz 230v spannung hat? wird es sensoren für 230V AC in zukunft geben?
  23. Hi, tue ich nicht normalerweise bei PHP eine funktion so aufrufen und den wert zuweisen? $current_state=array(); $current_state=getState(); [edit] ich habe das codebeispiel von TF benutzt. das 10malige switchen funktioniert einwandfrei.
×
×
  • Neu erstellen...