Relais Wicklungsstrom reduzieren

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Zitronenfalter schrieb:

      Ich habe es jetzt nicht versucht, aber ein ELKO in Reihe zum Relais und ein zum ELKO parallel geschaltener Widerstand sollten eigentlich reichen.
      Ja das ist die am einfachsten zu realisierente Variante, wobei es auf Versuche ankommt. Die Elko-Kapazität ist nicht zu unterschätzen, 100µF reichen da bestimmt nicht, je nach Relais sind da gefühlt bestimmt mehr als 1000µF notwendig. Ausgehend vom Haltestrom + Sicherheitsreserve zuerst den Widerstand bestimmen, danach per Versuch den Überbrückungselko für sicheres Anziehen bestimmen.
      Oder man verwendet spezielle Selenoid-Treiber-IC's,wie z.B:ti.com/de-de/motor-drivers/solenoid/overview.html#
    • tschoeatsch schrieb:

      ich finde, es ist klar zu erkennen, an welchen port sie geleitet werden.
      Würde ich auch so sehen. Aber ich denke das sie einem festgelegtem Pin zugeordnet sind - also nicht einen wählbaren Pin des Ports

      Zitronenfalter schrieb:

      ELKO in Reihe zum Relais
      War auch ein Gedanke und dann vielleicht über eine Diode mit den 5V versorgen, dann wären keine Widerstandsverluste vorhanden.
      Aber der Elko hätte fast Relaisgröße und - die Altern. (Sprich wenns funktioniert noch mal verdoppeln.)

      Michael schrieb:

      Google Bildersuche
      Die Variante 3 ist hier erwähnenswert:Relais Varianten
      Stromsparen duch Vcc kurzschließen - Dann wird die Spule nicht zu heiß ;)

      Dank an alle die Seiten durchforsten. Aber das Problem ist das man nicht weiß was da richtig ist. ?( z.B. der Chip vom Udo01 taktet mit 80khz (da verünglücken Fledermäuse ;) ), auf der Seiten vom Djmsc steht von 1- 30 Khz (Das macht Hund und Babys wahnsinnig , könnte aber auch für "singende Relais" sorgen) . Letzteres ist vielleicht gar nicht so dumm. Bascom hat eine Sound-funktion womit wieder jeder Pin verfügbar würde?

      oscar schrieb:

      Oder man verwendet spezielle Selenoid-Treiber
      Das sieht nett aus, er könnte den UAA ersetzen und spart noch pinns. Aber wehe dem der Fehler suchen muß. Hat die jemand im Einsatz?
    • also wenn eh ein Pin genutzt wird hätte ich da nen Vorschlag ohne PWM.
      Die relais bekommen ne eigene Stromversorgung ich würd sagen mit Schaltregler oder zum besseren Verständnis mit nem LM317, da kann man ja per Pin die widerstandbeschaltung anpassen und so die Ausgangsspannung. Nur wenn ein Relais anziehen soll bekommen alle Relaise die volle Versorgungsspannung, nach dem einschaltvorgang wird wieder auf Haltespannung zurück geschaltet.Umschaltung der Spannung über den einen extra Pin. Zum loslassen muss man ja nicht hochschalten, das geht auch so. Hat den Vorteil das man das relativ einfach auf Verschiedene Typen umbauen kann, nur die reduzierte Spannung anpasen und gut ists.

      Tobias
    • Schraubbaer schrieb:

      wenn eh ein Pin genutzt wird
      Und das bei meiner Pin-not ;) . Aber die Idee hat was. Sie läßt sich auch je Anwendungsfall verschieden realisieren: Im Lkw einfach den Schaltregler kurz hochsetzen, im Netzbetrieb kurz ein weiteres Netzteil einschalten u s w. :thumbsup:

      Ich hab das mit dem Sound mal probiert - funktioniert perfekt - Relais bleibt cool (und singt kaum wahrnehmbar) Dummerweise macht aber der Mega nichts anderes mehr solange er den Sound ausgibt a_45_132ca9f5
    • tschoeatsch schrieb:

      Mach halt software-PWM
      ich habs mal simpler probiert. Ist sicher noch optimierbar aber scheint mein Weg zu werden. Keine zusätzlichen Bauteile nötig und Relais bleiben Cool a_560_8676b255

      Quellcode

      1. $regfile = "m8def.dat"
      2. $crystal = 1000000
      3. $hwstack = $40
      4. $swstack = $40
      5. $framesize = $100
      6. $eepleave
      7. $baud = 9600
      8. Ddrb = $f0
      9. Config Timer2 = Timer , Prescale = 8
      10. Enable Ovf2
      11. On Ovf2 Tim2:
      12. Enable Interrupts
      13. Dim Relais6 As Byte , Relais7 As Byte ' dim variable
      14. Dim Rw6 As Byte , Rw7 As Byte
      15. Wait 5
      16. Do
      17. Relais6 = 1
      18. Wait 5
      19. Relais7 = 1
      20. Wait 5
      21. Relais7 = 0
      22. Wait 5
      23. Relais6 = 0
      24. Wait 15
      25. Loop 'for ever
      26. End
      27. Tim2:
      28. If Relais6 = 0 Then
      29. Reset Portb.6
      30. Rw6 = 0
      31. Else
      32. If Rw6 < 200 Then
      33. Set Portb.6
      34. Incr Rw6
      35. Else
      36. Toggle Portb.6
      37. End If
      38. End If
      39. If Relais7 = 0 Then
      40. Reset Portb.7
      41. Rw7 = 0
      42. Else
      43. If Rw7 < 200 Then
      44. Set Portb.7
      45. Incr Rw7
      46. Else
      47. Toggle Portb.7
      48. End If
      49. End If
      50. Return
      Alles anzeigen
    • Dein sound hat doch funktioniert, der macht 50/50% Puls/Pause. Das hättest du auch, wenn du in der isr den pin toggelst. Zum Anziehen lassen pin=1, zum Halten nach ner Zeit toggle pin, zum Abfallen pin=0.

      Wie heiß wird jetzt deine Diode? Die hat ja ganz gut zu tun.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von tschoeatsch ()

    • Ich wollte damit sagen, das 50/50 reicht, um das Relais zu halten. Wenn du in der isr nur toggelst, dann kannst du den prescaler groß wählen. Dann reichen vielleicht auch 255 isr-Aufrufe, bei denen der port=1 ist zum Anziehen lassen (mit einem countdown). Danach gehst du mit dem pin zum toggeln über. Zur Not machst du halt einen countdown mit einem word, damit sicher angezogen wird.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • Ach, bitte vergess' das meiste, was ich geschrieben hab', du hast es ja schon so gemacht, bevor ich vorschlug, es so zu machen. Ich war zu blöd, dein Programm richtig zu lesen. Mir fällt nix mehr besseres ein.
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------
    • tschoeatsch schrieb:

      Wie heiß wird jetzt deine Diode?
      Ich habe sie nun gegen LEDs getauscht. Damit fiel der kritische Bereich auf : Obwohl beide gleich gesteuert wurden quitschte eins ärmlich und schaffte es nicht durchzuschalten. Nun habe ich das Programm angepasst:

      Quellcode

      1. $regfile = "m8def.dat"
      2. $crystal = 1000000
      3. $hwstack = $40
      4. $swstack = $40
      5. $framesize = $100
      6. $eepleave
      7. $baud = 9600
      8. '$sim
      9. Ddrb = $f0
      10. Config Timer2 = Timer , Prescale = 64
      11. On Timer2 Tim2:
      12. Enable Timer2
      13. Enable Interrupts
      14. Dim Relais6 As Byte , Relais7 As Byte , A As Byte
      15. Dim Rw6 As Byte , Rw7 As Byte , Rein As Byte
      16. Do
      17. Incr A
      18. Select Case A 'Schaltzusände generieren
      19. Case Is = 1
      20. Relais7 = 1
      21. Case Is = 20
      22. Relais6 = 1
      23. Case Is = 240
      24. Relais7 = 0
      25. Case Is = 253
      26. Relais6 = 0
      27. End Select
      28. If Relais6 = 0 Then
      29. Reset Portb.6
      30. Rw6 = 0
      31. Else
      32. If Rw6 = 0 Then
      33. Set Portb.6
      34. Rw6 = 3 'Vollspannung 0,5s
      35. Else
      36. If Rw6 > 1 Then
      37. Decr Rw6
      38. End If
      39. End If
      40. End If
      41. If Relais7 = 0 Then
      42. Reset Portb.7
      43. Rw7 = 0
      44. Else
      45. If Rw7 = 0 Then
      46. Set Portb.7
      47. Rw7 = 3
      48. Else
      49. If Rw7 > 1 Then
      50. Decr Rw7
      51. End If
      52. End If
      53. End If
      54. #if _sim = 0
      55. Waitms 200 '4 loops /sec
      56. #else
      57. Waitms 3
      58. #endif
      59. Loop
      60. End
      61. Tim2: '55
      62. If Rein = 1 Then
      63. If Rw6 = 1 Then Set Portb.6 '9
      64. If Rw7 = 1 Then Set Portb.7 '6
      65. Rein = 0
      66. Timer2 = 230
      67. Else
      68. If Rw6 = 1 Then Reset Portb.6 '9
      69. If Rw7 = 1 Then Reset Portb.7 '6
      70. Rein = 1
      71. Timer2 = 235
      72. End If
      73. Return '57
      Alles anzeigen
      Es wär ja auch zu einfach gewesen, Nun ist nur noch ein kaum wahrnehmbares fiepen zu hören dafür aber ein sattes Klick beim Ein / Aus schalten.
      Mal sehen was der Dauertest zeigt. a_448_c66dc889