Ansteuerung eines DC Motors mit Lichtschranke und Näherungsschalter. Codefrage.

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

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Das erklärt auch den Stopp. Schnelle Fahrt= Pwm_wert= 1024, ist bei 10 bit =0, wird der Näherungssensor erreicht, wird der PWM-Wert erniedrigt, also 1023, 1022, ha! das sind aber bei compare A Pwm= clear down ein sehr langsames Fahren. Es dauert also, bis in der sub 'langsamer_werden' die 512 erreicht wird und das vom Stand heraus.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Ich wünsche ein frohes Osterfest :)

      tschoeatsch schrieb:

      Das erklärt auch den Stopp. Schnelle Fahrt= Pwm_wert= 1024, ist bei 10 bit =0, wird der Näherungssensor erreicht, wird der PWM-Wert erniedrigt, also 1023, 1022, ha! das sind aber bei compare A Pwm= clear down ein sehr langsames Fahren. Es dauert also, bis in der sub 'langsamer_werden' die 512 erreicht wird und das vom Stand heraus.

      tschoeatsch schrieb:

      Probier doch mal compare a pwm=clear up bei der timer1 config und schnelle Fahrt=1023. Dann sollte es besser gehen.
      Oh man... direkt vor Augen gehabt, aber nicht gesehen

      CLEAR UP statt DOWN...4Und dann noch das mit den 1022... klar... er fängt ja bei 0 an zu zählen...

      DANKE!!

      Der Code sieht jetzt so aus, und muss den jetzt mit den Geschwindigkeiten anpassen.

      BASCOM-Quellcode

      1. $regfile = "m644pdef.dat"
      2. $crystal = 20000000
      3. $hwstack = 40
      4. $swstack = 16
      5. $framesize = 32
      6. $baud = 9600
      7. Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
      8. Config Pina.5 = Input
      9. Oben_no Alias Pina.5
      10. Porta.5 = 1
      11. Config Pina.7 = Input
      12. Naeherung_oben Alias Pina.7
      13. Config Pina.4 = Input
      14. Unten_no Alias Pina.4
      15. Porta.4 = 1
      16. Config Pina.6 = Input
      17. Naeherung_unten Alias Pina.6
      18. Config Pina.1 = Input
      19. Taster Alias Pina.1
      20. Porta.1 = 1
      21. Config Porta.3 = Output
      22. Pwm_l_en Alias Porta.2
      23. Config Pina.2 = Output
      24. Pwm_r_en Alias Porta.3
      25. 'LCD Konfigurierung_____________________________________________________________
      26. Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , _
      27. Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
      28. 'Daran wird das LCD angeschlossen..
      29. Config Lcd = 16 * 2 '2x16 Zeichen kann das Display anzeigen
      30. Config Lcdbus = 4 'Verschaltet im 4Bit Modus
      31. Cursor Off 'Der Cursor soll aus bleiben
      32. Cls 'Display loeschen
      33. Locate 1 , 1 : Lcd " LiftUP "
      34. Locate 2 , 1 : Lcd " By Prytek " 'Werbung 1 :) 'Werbung 2 :)
      35. Wait 2 '2 Sekunden warten bis es weiter im Code geht zur Hauptanzeige
      36. Cls
      37. 'Diese werte kannst du an deine Bedürfniss anpassen von 0 - 1024
      38. Const Motor_langsam = 800
      39. Const Motor_schnell = 1022
      40. Dim Status As Bit
      41. Dim Neustart As Bit
      42. Dim Sensor_erreicht As Bit
      43. Dim Empfang As Byte
      44. Dim Ascii_code As Byte
      45. Dim Pwm_wert As Word
      46. Dim Verzoegerung As Word
      47. Status = 0
      48. Neustart = 0
      49. Sensor_erreicht = 0
      50. Pwm_wert = 0
      51. Verzoegerung = 0
      52. Compare1a = 0 'PWM fahren
      53. Reset Pwm_l_en
      54. Reset Pwm_r_en
      55. Locate 1 , 1 : Lcd " Standby... "
      56. Locate 2 , 1 : Lcd " "
      57. Wait 1
      58. Do
      59. 'Falls während der Fahrt mal der Strom weg sein sollte und der TV irgendwo stehen geblieben ist
      60. 'wird hier geprüft
      61. If Neustart = 0 Then
      62. If Oben_no = 1 And Unten_no = 1 Then Gosub Back
      63. Neustart = 1
      64. Locate 1 , 1 : Lcd " Ready! "
      65. Locate 2 , 1 : Lcd " Press to start "
      66. End If
      67. If Taster = 0 Then
      68. If Status = 0 Then
      69. Gosub Fahrhoch
      70. Else
      71. Gosub Fahrrunter
      72. End If
      73. End If
      74. Loop
      75. End
      76. Back:
      77. Locate 1 , 1 : Lcd "Reset to start.."
      78. Locate 2 , 1 : Lcd " "
      79. Reset Pwm_l_en
      80. Set Pwm_r_en
      81. Gosub Fahrrunter_start
      82. Return
      83. Fahrhoch:
      84. Locate 1 , 1 : Lcd ">>>>>>>>>>>>>>>>"
      85. Locate 2 , 1 : Lcd " "
      86. Reset Pwm_r_en
      87. Set Pwm_l_en
      88. Gosub Anfahren
      89. Do
      90. If Naeherung_oben = 0 And Sensor_erreicht = 0 Then Gosub Langsam_werden
      91. Loop Until Unten_no = 1 And Oben_no = 0
      92. Gosub Stoppen
      93. Locate 1 , 1 : Lcd ">>>>>Above<<<<< "
      94. Locate 2 , 1 : Lcd " "
      95. Status = 1
      96. Return
      97. Fahrrunter:
      98. Locate 1 , 1 : Lcd " "
      99. Locate 2 , 1 : Lcd "<<<<<<<<<<<<<<<<"
      100. Reset Pwm_l_en
      101. Set Pwm_r_en
      102. Gosub Anfahren
      103. Do
      104. If Naeherung_unten = 0 And Sensor_erreicht = 0 Then Gosub Langsam_werden
      105. Loop Until Unten_no = 0 And Oben_no = 1
      106. Gosub Stoppen
      107. Locate 1 , 1 : Lcd " "
      108. Locate 2 , 1 : Lcd ">>>>>Below<<<<< "
      109. Status = 0
      110. Return
      111. Fahrrunter_start:
      112. Do
      113. Compare1a = Motor_langsam
      114. Loop Until Unten_no = 0 And Oben_no = 1
      115. Compare1a = 0
      116. Reset Pwm_l_en
      117. Reset Pwm_r_en
      118. Locate 1 , 1 : Lcd " "
      119. Locate 2 , 1 : Lcd ">>>>>Below<<<<< "
      120. Return
      121. Anfahren:
      122. Do
      123. 'Die Verzögerung Ist Für Ein Langsameres Anfahren Gedacht Und Der Wert 5000 Lässt Sich Auch Anpassen
      124. If Verzoegerung = 75 Then
      125. Verzoegerung = 0
      126. Incr Pwm_wert
      127. Compare1a = 600 'Pwm_wert
      128. End If
      129. Incr Verzoegerung
      130. Loop Until Pwm_wert = Motor_schnell
      131. Verzoegerung = 0
      132. Return
      133. 'Wird angesprungen wenn Position vor Endschalter erreicht ist
      134. Langsam_werden:
      135. Do
      136. 'Die Verzögerung ist für ein langsameres anhalten gedacht und der Wert 2500 lässt sich auch anpassen
      137. If Verzoegerung = 100 Then
      138. Verzoegerung = 0
      139. Decr Pwm_wert
      140. Compare1a = Pwm_wert
      141. End If
      142. Incr Verzoegerung
      143. Loop Until Pwm_wert = Motor_langsam
      144. Verzoegerung = 0
      145. Sensor_erreicht = 1
      146. Return
      147. 'Wird angesprungen wenn Endschalter auslöst
      148. Stoppen:
      149. Do
      150. Decr Pwm_wert
      151. Compare1a = Pwm_wert
      152. Loop Until Pwm_wert = 0
      153. Reset Pwm_l_en
      154. Reset Pwm_r_en
      155. Compare1a = 0
      156. Sensor_erreicht = 0
      157. Return
      Alles anzeigen
      Es gibt jetzt nur noch ein Problem im Code.

      Beim Anfahren fährt der Schlitten langsam hoch, passiert den ersten bzw den unteren Näherungssensor bis hion zum oberen Näherungssensor.
      Die ganze Fahrt bis zum oberen hin bleibt die Geschwindigkeit aber langsam und wird erst NACH passieren des Oberen schnell, bis er dann anhält.
      Das ganze Spiel auch anders rum zum runter fahren...

      Ich sag ja, irgendwas ist immer :)

      Grüße

      Denis
      Studieren kann jeder, nur ob er dann weiß was er macht, sieht man dann erst wenn die Praxis gefordert wird :P
    • Meinst du, das stimmt?

      1. Anfahren:
      2. Do
      3. 'Die Verzögerung Ist Für Ein Langsameres Anfahren Gedacht Und Der Wert 5000 Lässt Sich Auch Anpassen
      4. If Verzoegerung = 75 Then
      5. Verzoegerung = 0
      6. Incr Pwm_wert
      7. Compare1a = 600 'Pwm_wert
      8. End If
      9. Incr Verzoegerung
      10. Loop Until Pwm_wert = Motor_schnell
      11. Verzoegerung = 0
      12. Return
      Raum für Notizen

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

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

      Meinst du, das stimmt?

      1. Anfahren:
      2. Do
      3. 'Die Verzögerung Ist Für Ein Langsameres Anfahren Gedacht Und Der Wert 5000 Lässt Sich Auch Anpassen
      4. If Verzoegerung = 75 Then
      5. Verzoegerung = 0
      6. Incr Pwm_wert
      7. Compare1a = 600 'Pwm_wert
      8. End If
      9. Incr Verzoegerung
      10. Loop Until Pwm_wert = Motor_schnell
      11. Verzoegerung = 0
      12. Return

      Ja.... die 600 standen da wegen Tests, musste aber PWM_Wert rein... a_45_132ca9f5

      Oh welch Wunder, jetzt läuft alles...

      ...ich gehe derzeit mal in eine Ecke und fange an mich zu schämen....

      Dennoch einen riesen großen Dank an euch allen und vor allen an @djmsc und @tschoeatsch :thumbsup: :thumbup:

      Ein echt tolles Forum mit geziehlter Hilfe!! /(Hust*andersalsmicrocontroller*Hust)/

      Einen schönen Feiertag euch allen :)

      Grüße

      Denis

      PS: Vorstellung wird noch kommen :)
      Studieren kann jeder, nur ob er dann weiß was er macht, sieht man dann erst wenn die Praxis gefordert wird :P
    • So noch einen Nachtrag, einschließlich später einer weiteren Frage;

      Das Gewicht des Schlittens ist leider noch nicht ganz sauber verteilt und werde deswegen ein zweites Stahlseil mit einer weiteren Umlenkrolle einplanen müssen.

      DSC_0015.JPG

      Entweder gehe ich hin und mache unten links und rechts je eine Befestigung für das Stahlseil und lasse die zwei auf der Rolle gleichzeitig aufrollen, oder ich nutze mittig am Schlitten angebracht einen Flaschenzug um die Kraft zu "teilen".
      Was meint Ihr?

      Zudem habe ich eben gemessen, dass mein 5A/24V NT nicht ausreicht und brauche eins mit mehr Power.
      ab 8A aufwärts. hat da jemand eins noch rumfliegen für einen günstigen Preis?


      So und jetzt zur Kernfrage:

      KANN man einen IR Empfänger Parallel zu einem Baugleichen schalten?
      Ich wollte den außen parallel zum internen anbringen.
      Oder sollte ich eher den inneren eher nach draußen verlagern?

      Idee:
      (Garantie ist abgelaufen)

      Ich werde wahrscheinlich hin gehen, und die LED für die Statusanzeige des Fernsehers (rot/grün) nehmen um den Schaltbefehr zu geben.
      Sprich Power gedrückt, rot wechselt auf grün und dadurch fährt der Fernseher hoch bzw runter mit dem Wechsel auf rot.


      Also der Code steht, anbei noch mal den fertigen beigefügt für andere interessenten und es muss jetzt "nur noch" die Mechanik verändert werden.
      Wie, hoffe ich hier noch zu klären.

      BASCOM-Quellcode

      1. 'AVR Konfigurierung_____________________________________________________________
      2. $regfile = "m644pdef.dat"
      3. $crystal = 20000000
      4. $hwstack = 40
      5. $swstack = 16
      6. $framesize = 32
      7. $baud = 9600
      8. 'Timer1 Konfigurierung als HW PWM_______________________________________________
      9. Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
      10. 'Anschluss- Konfigurierung______________________________________________________
      11. Config Pina.5 = Input 'Endschalter auf NO für Endposition oben mit Pullup
      12. Oben_no Alias Pina.5
      13. Porta.5 = 1
      14. Config Pina.7 = Input 'Naeherungssensor bei ausgelöst low für oben
      15. Naeherung_oben Alias Pina.7
      16. Config Pina.4 = Input 'Endschalter auf NO für Endposition unten mit Pullup
      17. Unten_no Alias Pina.4
      18. Porta.4 = 1
      19. Config Pina.6 = Input 'Naeherungssensor bei ausgelöst low für oben
      20. Naeherung_unten Alias Pina.6
      21. Config Pina.1 = Input 'Taster zum manuellen ansteuern der Hebeanlage
      22. Taster Alias Pina.1
      23. Porta.1 = 1
      24. Config Porta.3 = Output 'Enabelausgang der H-Bruecke fuer hochfahren
      25. Pwm_l_en Alias Porta.2
      26. Config Pina.2 = Output 'Enabelausgang der H-Bruecke fuer hochfahren
      27. Pwm_r_en Alias Porta.3
      28. 'LCD Konfigurierung_____________________________________________________________
      29. Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , _
      30. Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
      31. Config Lcd = 16 * 2 '2x16 Zeichen
      32. Config Lcdbus = 4 '4Bit Modus
      33. Cursor Off 'Cursor aus
      34. Cls 'Display loeschen
      35. 'Werbung________________________________________________________________________
      36. Locate 1 , 1 : Lcd " LiftUP "
      37. Locate 2 , 1 : Lcd " By Prytek "
      38. Wait 2
      39. Cls
      40. 'Konstannten für Fahrgeschwindigkeit____________________________________________
      41. Const Motor_langsam = 850
      42. Const Motor_schnell = 1000
      43. 'Variablen setzen_______________________________________________________________
      44. Dim Status As Bit
      45. Dim Neustart As Bit
      46. Dim Sensor_erreicht As Bit
      47. Dim Empfang As Byte
      48. Dim Ascii_code As Byte
      49. Dim Pwm_wert As Word
      50. Dim Verzoegerung As Word
      51. 'Ausgaenge alle AUS_____________________________________________________________
      52. Status = 0
      53. Neustart = 0
      54. Sensor_erreicht = 0
      55. Pwm_wert = 0
      56. Verzoegerung = 0
      57. Compare1a = 0 'PWM zum fahren
      58. Reset Pwm_l_en
      59. Reset Pwm_r_en
      60. 'Anzeige vor Selbsttest_________________________________________________________
      61. Locate 1 , 1 : Lcd " Standby... "
      62. Locate 2 , 1 : Lcd " "
      63. Wait 1
      64. 'Hauptschleife #################################################################
      65. 'Selbsttest_____________________________________________________________________
      66. Do
      67. 'Falls während der Fahrt mal der Strom weg sein sollte und der TV irgendwo stehen geblieben ist
      68. 'wird hier geprüft
      69. If Neustart = 0 Then
      70. If Oben_no = 1 And Unten_no = 1 Then Gosub Back
      71. Neustart = 1
      72. 'Anzeige nach Selbsttest________________________________________________________
      73. Locate 1 , 1 : Lcd " Ready! "
      74. Locate 2 , 1 : Lcd " Press to start "
      75. End If
      76. 'Auswertung des Tasters und BlueTooth___________________________________________
      77. Empfang = Ischarwaiting()
      78. If Taster = 0 Or Empfang = 1 Then
      79. Ascii_code = Inkey()
      80. If Status = 0 Or Ascii_code = 97 Then
      81. Gosub Fahrhoch
      82. Elseif Status = 1 Or Ascii_code = 65 Then
      83. Gosub Fahrrunter
      84. End If
      85. End If
      86. Loop
      87. End
      88. 'Unterprogramme ################################################################
      89. 'Vorbereitung fuer Zuruecksetzen des Schlittens_________________________________
      90. Back:
      91. Locate 1 , 1 : Lcd "Reset to start.."
      92. Locate 2 , 1 : Lcd " "
      93. Reset Pwm_l_en
      94. Set Pwm_r_en
      95. Gosub Fahrrunter_start
      96. Return
      97. 'Routine zum normalen hoch fahren_______________________________________________
      98. Fahrhoch:
      99. Locate 1 , 1 : Lcd ">>>>>>>>>>>>>>>>"
      100. Locate 2 , 1 : Lcd " "
      101. Reset Pwm_r_en
      102. Set Pwm_l_en
      103. Gosub Anfahren
      104. Do
      105. If Naeherung_oben = 0 And Sensor_erreicht = 0 Then Gosub Langsam_werden
      106. Loop Until Unten_no = 1 And Oben_no = 0
      107. Gosub Stoppen
      108. Locate 1 , 1 : Lcd ">>>>>Above<<<<< "
      109. Locate 2 , 1 : Lcd " "
      110. Status = 1
      111. Return
      112. 'Routine zum normalen runterfahren______________________________________________
      113. Fahrrunter:
      114. Locate 1 , 1 : Lcd " "
      115. Locate 2 , 1 : Lcd "<<<<<<<<<<<<<<<<"
      116. Reset Pwm_l_en
      117. Set Pwm_r_en
      118. Gosub Anfahren
      119. Do
      120. If Naeherung_unten = 0 And Sensor_erreicht = 0 Then Gosub Langsam_werden
      121. Loop Until Unten_no = 0 And Oben_no = 1
      122. Gosub Stoppen
      123. Locate 1 , 1 : Lcd " "
      124. Locate 2 , 1 : Lcd ">>>>>Below<<<<< "
      125. Status = 0
      126. Return
      127. 'Unterprogramm zum zurecksetzen des Schlittens__________________________________
      128. Fahrrunter_start:
      129. Do
      130. Compare1a = 600
      131. Loop Until Unten_no = 0 And Oben_no = 1
      132. Compare1a = 0
      133. Reset Pwm_l_en
      134. Reset Pwm_r_en
      135. Locate 1 , 1 : Lcd " "
      136. Locate 2 , 1 : Lcd ">>>>>Below<<<<< "
      137. Return
      138. 'Routine zum anfahren des Schlittens____________________________________________
      139. Anfahren:
      140. Do
      141. 'Die Verzögerung ist fuer ein langsameres Anfahren
      142. If Verzoegerung = 100 Then
      143. Verzoegerung = 0
      144. Incr Pwm_wert
      145. Compare1a = Pwm_wert 'Pwm_wert
      146. End If
      147. Incr Verzoegerung
      148. Loop Until Pwm_wert = Motor_schnell
      149. Verzoegerung = 0
      150. Return
      151. 'Routine zum langsam werden gegen Ende der Fahrt________________________________
      152. 'Wird angesprungen wenn Position vor Endschalter erreicht ist
      153. Langsam_werden:
      154. Do
      155. 'Die Verzögerung ist für ein langsameres anhalten gedacht und der Wert 2500 lässt sich auch anpassen
      156. If Verzoegerung = 100 Then
      157. Verzoegerung = 0
      158. Decr Pwm_wert
      159. Compare1a = Pwm_wert
      160. End If
      161. Incr Verzoegerung
      162. Loop Until Pwm_wert = Motor_langsam
      163. Verzoegerung = 0
      164. Sensor_erreicht = 1
      165. Return
      166. 'Routine zum stoppen der Fahrt__________________________________________________
      167. 'Wird angesprungen wenn Endschalter auslöst
      168. Stoppen:
      169. Do
      170. Decr Pwm_wert
      171. Compare1a = Pwm_wert
      172. Loop Until Pwm_wert = 0
      173. Reset Pwm_l_en
      174. Reset Pwm_r_en
      175. Compare1a = 0
      176. Sensor_erreicht = 0
      177. Return
      Alles anzeigen



      Grüße

      Denis
      Studieren kann jeder, nur ob er dann weiß was er macht, sieht man dann erst wenn die Praxis gefordert wird :P
    • MadMax schrieb:

      Entweder gehe ich hin und mache unten links und rechts je eine Befestigung für das Stahlseil und lasse die zwei auf der Rolle gleichzeitig aufrollen, oder ich nutze mittig am Schlitten angebracht einen Flaschenzug um die Kraft zu "teilen".
      Was meint Ihr?
      eine Rolle oben, eine Rolle am Schlitten, die Befestigung oben.
      Die beiden Teile des Zugseils parallel nach oben gehen lassen, die Achse der unteren Rolle in der Mitte.

      Deine Begründung mit der Schräg-Zieherei aus Beitrag #91 ist falsch. Siehst du auch im Video 2 Beiträge weiter, wie die Mechanik in der oberen Endlage gequält wird, das kostet alles Motorkraft und Verschleiß.
    • MadMax schrieb:

      Zudem habe ich eben gemessen, dass mein 5A/24V NT nicht ausreicht und brauche eins mit mehr Power.
      ab 8A aufwärts. hat da jemand eins noch rumfliegen
      @mac5150 hat grad eins reinbekommen :D

      MadMax schrieb:

      Entweder gehe ich hin und mache unten links und rechts je eine Befestigung für das Stahlseil und lasse die zwei auf der Rolle gleichzeitig aufrollen, oder ich nutze mittig am Schlitten angebracht einen Flaschenzug um die Kraft zu "teilen".
      Was meint Ihr?
      An den Seiten hochziehen ist verkantungsfreier.

      MadMax schrieb:

      KANN man einen IR Empfänger Parallel zu einem Baugleichen schalten?
      Ich wollte den außen parallel zum internen anbringen.
      Oder sollte ich eher den inneren eher nach draußen verlagern?
      Es gibt 'Fernsteuerungsverlängerungen', die bestehen aus einem Empfänger und, mit einem Kabel abgesetzt, einem Sender, der das empfangene Signal einfach wieder ab gibt. Vielleicht hilft dir das weiter.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • MadMax schrieb:

      Stoppen:
      Do
      Decr Pwm_wert
      Compare1a = Pwm_wert
      Loop Until Pwm_wert = 0

      Reset Pwm_l_en
      Reset Pwm_r_en
      Compare1a = 0
      Sensor_erreicht = 0
      Return
      Diese Schleife kannst du dir sparen, die geht so schnell durch, dass du gleich compare1a=0 und pwm_wert=0 setzen kannst.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • @MadMax zu deiner 'power on' Erkennung des Fernsehers: das Unterscheiden von rot/grün einer nicht sehr hellen Led ist meiner Meinung nach nicht ganz einfach. Mit einem Stromsensor, der den Stromverbrauch des Fernsehers erfasst, wird es einfacher (weniger Optik/Farbfilter) gehen.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Also ACS712-xy(05) sind solche Kanditaten.Anbei eine Schaltung mit Stromwandler 1000 zu 1.
      Wenn man ab R2 alles andere hintenraus weglässt kann die Auswertung bei entsprechen Stromfluß auch direkt am ADC-Atmga
      erfolgen.Diodengreatzbrücke und R1 sind unbdingt erforderlich.
      Dateien

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

    • @ftelektro bist du dir sicher? Ich kenn den ACS712 so, dass die ausgegebene Spannung um 2,5V schwankt, je nach Stromrichtung. Wird also nie kleiner 0V und nie größer 5V. Aus meiner Sicht braucht man nur eine Diode, Kondensator und Widerstand und damit ist man fertig für den Anschluss an den Adwandler.
      Raum für Notizen

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

      -----------------------------------------------------------------------------------------------------
    • Stromwandler-> Vollweggleichrichtung ->R1 lastwiderstand = Konstantstromquelle.
      Berechnung R1:
      5A zu 1Kohm = 5 V .Je nach fließender Stromstärke können auch Widerstände größer akls 1Kohm eingsetzt werden.
      Stromwandlerschaltung ist seit mehr als 5 Jahre erfolgreich in einer Torsteuerung als Blokiererkennung eingesetzt.csd-electronics.de/ICs/Sensore…tromwandler-5A::2857.html
    • Jetzt noch eine einfache Stromflußkontrolle die für Fernseher mit Schaltnetzteil geeignet ist.
      Anstelle LED Optokoppler einsetzen ,100% Netztrennung.Optokopplerausgang zur Auwertung an Atmega.
      Schaltung ist für ca 160Watt geeignet.Verlustleistung der Dioden beachten.Dioden ab 3A empfohlen.
      R1 mit 10 bis 30Ohm je nach LED-Strom einsetzen.Schaltung in Reihe mit Verbraucher einsetzen.
      Stromfluß.png
    • MadMax schrieb:

      Hallo zusammen.

      Und warum nehme ich nicht einen (2) low current optokoppler, messe vorher an der Duo LED Strom und Spannung und gleiche das an dem optokoppler an und schalte den an den avr. Brauche ja nur einen
      Low und high.
      ?!
      Eingriff in den Fernseher sollte man schon aus Garantie-,und Versicherungstechnischen Gründen unterlassen!
      Wenn beides uninteressant für dich ist ,dann kannste das machen.
    • ftelektro schrieb:

      Stromwandler-> Vollweggleichrichtung ->R1 lastwiderstand = Konstantstromquelle.
      Berechnung R1:
      5A zu 1Kohm = 5 V .Je nach fließender Stromstärke können auch Widerstände größer akls 1Kohm eingsetzt werden.
      Stromwandlerschaltung ist seit mehr als 5 Jahre erfolgreich in einer Torsteuerung als Blokiererkennung eingesetzt.csd-electronics.de/ICs/Sensore…tromwandler-5A::2857.html
      Ok, du verwendest keinen ACS712

      Ich würde auch nicht am Fernseher eingreifen. Wenn du das aber lieber machen willst, als an der 230V-Seite (was ich verstehen würde), kannst du auch an der Versorgung für die Bildschirm-'Beleuchtung' nach einem Abgriff suchen. Da sollte es auch einen 'enable' geben, der durch power-on bedient wird.


      Zur Fernbedienungsverlängerung:
      ebay.de/itm/Infrarot-Remote-Ve…ksid=p2385738.m2548.l4275
      Raum für Notizen

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

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

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

    • Guten Abend zusammen.

      Ich habe etwas weiter machen können.
      DSC_1028.JPG
      DSC_1027.JPG
      DSC_1030.JPG

      Ich habe mittlerweile die Elektronik komplett erneuert und einen China uno benutzt.

      Zudem die Mechanischen Endgeber raus geworfen und anstellen dessen auch Näherungssensoren eingebaut.

      Die Mechanik läuft jetzt über zwei Rollen und zwei Seilen.

      Ich habe es nur heute geschafft die H-Brücke zu zerstören.
      Zwei neue sind unterwegs.

      Sollte ich mal fertig werden gibt es einen Vorstellungsbeitrag.

      Zudem läuft der Code nicht mehr so wie er mal war, da muss ich noch mal drüber schauen.

      Einen schönen Abend

      Denis
      Studieren kann jeder, nur ob er dann weiß was er macht, sieht man dann erst wenn die Praxis gefordert wird :P