- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte
Ergebnis 61 bis 70 von 75

Thema: PWM verwenden als Rücklicht? Bremslicht?

  1. #61
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Zitat Zitat von Fighter-2
    Aber mit dem wäre ich ja gut abgedeckt oder? :) Bis wie viel kb geht das eigentlich bei den Atmegas hoch?
    Hallo Chris!

    Ja. Der mySmartUSB ist keine schlechte Wahl.

    Und mit der AVR-µC-Familie bist du ziemlich gut abgedeckt.
    http://www.atmel.com/dyn/products/pa...&Direction=ASC

    Allerdings kannst du mit der Bascom Demo-Version nur Programme bis zu einer Größe von 4 kB schreiben. Willst du mehr, dann wirst du wohl auch die 80 Euronen für Bascom ausgeben müssen. Aber dafür bekommst du dann auch die neuere Version mit ein paar zusätzlichen Features.

    Näheres kann ich dazu noch nicht sagen. Ich bekomme meine Vollversion erst wenn die von MCS Electronic vom Urlaub zurück sind. :-)

    mfg
    Gerold
    :-)

    PS: Es gibt jetzt auch eine neue Bascom-Demo: http://www.mcselec.com/index.php?opt...=208&Itemid=65

    .

  2. #62
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Hallo Chris!

    Ich hatte im Beispielprogramm zu wenig Speicherplatz für den Frame reserviert. Framesize muss erhöht werden:
    Code:
    $framesize = 25
    mfg
    Gerold
    :-)

  3. #63
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Ort
    München
    Beiträge
    111
    Mit einem USB-Programmer kann man unter Bascom die Fusebits nicht verändern. Das geht nur mit einem "alten" Programmer oder eben über ein Zusatzprogramm.

  4. #64
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377

    Bilder vom Testaufbau

    Hallo Chris!

    Das ging schneller als ich dachte. :-)

    Der Testaufbau (genau so wie im Schaltplan) ist fertig. Es scheint alles zu funktionieren. :-)

    Das war der erste Test:
    http://halvar.at/krimskrams2/rueckli...testaufbau.jpg

    Und so sieht es mit 25 LEDs aus:
    http://halvar.at/krimskrams2/rueckli...it_25_leds.jpg

    Video mit geringer Qualität -- dafür länger (2 MB):
    http://halvar.at/krimskrams2/rueckli..._25_leds_1.avi

    Video mit etwas mehr Qualität -- dafür kürzer (3,7 MB):
    http://halvar.at/krimskrams2/rueckli..._25_leds_2.avi

    mfg
    Gerold
    :-)


    PS: Nach unten ist bei 9,5 Volt ist Schluss.

    .

  5. #65
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.06.2007
    Ort
    Leichlingen
    Alter
    36
    Beiträge
    181
    Ich danke diaaaa!

    Bor verdamt cool! habe nun alles bestellt was ich für mein Vorhaben brauchen werde!

    Danke danke danke!





  6. #66
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.06.2007
    Ort
    Leichlingen
    Alter
    36
    Beiträge
    181
    Der Programmer is nun bestellt!





  7. #67
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Zitat Zitat von python_rocks
    Zitat Zitat von Fighter-2
    Aber mir ist eine Sache noch unklar!

    "0,130 A * 13,8 V = 1,794 Watt"

    Warum müssen wir den so einen Transistor dafür wählen?

    Wenn am Transistor 0,7V abfallen, ergibt das ändere Wert für mich!

    0,130A x 0,7V = 0,091 Watt
    Hallo Chris!

    Es fallen 0,7 V weg. Das stimmt. Aber der Rest muss durch den Transistor durch. Und dieser Rest wird mit 13,1 Volt durchgedrückt. Was dabei genau mit den 0,7 Volt passieren weiß ich jetzt gar nicht. Deshalb rechne ich lieber mit den vollen 13,8 V als mit 13,1 V.

    (13,8 - 0,7) * 0,130 A = 1,703 Watt
    Hallo Chris!

    Ich habe mich in dieser Beziehung ein wenig schlauer gemacht. Siehe: http://www.mikrocontroller.net/artic...itenmodulation

    Wenn der Transistor sperrt, dann fließt kein Strom. Dabei wird keine Leistung vom Transistor abgebaut.

    Wenn der Transistor komplett offen ist, dann fließt der Strom fast ungehindert durch. Leistung wird nur für den 0,7 Volt Anteil im Transistor abgebaut.

    Es ist also so wie du geschrieben hast. Für PWM würde ein kleinerer Transistor genügen. Einzig zum Entwickeln der Schaltung empfehle ich weiterhin einen stärkeren Transistor, da man nie ausschließen kann, dass der Transistor nicht doch kurzfristig mal nicht voll durchschaltet. Und wenn das der Fall ist, dann wird mehr Leistung über den Transistor abgebaut -- und schon ist er hin. Wobei mir jetzt auch einfällt, dass mir das schon mal passiert ist.

    mfg
    Gerold
    :-)

    PS: Halte uns doch bitte am Laufenden. ;-)

  8. #68
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2006
    Beiträge
    15
    Hallo,

    würde dein Code gern für mein Problem verwenden. nur habe ich ein problem das das PWM Signal im Normalbetriebe (keine Bremse betätigt) unsauber ist es springt ab und zu. hat jemand eine idee wie das bereinigt werden kann ?

    Zitat Zitat von python_rocks
    Hallo Chris!

    Ich habe jetzt ein wenig getestet.

    Der Transistor an PB.4 ist komplet überflüssig. Er ist zu empfindlich und braucht zum störungsfreien Schalten einen zusätzlichen Pulldown-Widerstand. Dann bleibe ich doch lieber bei der Lösung mit dem Spannungsteiler.

    Also hier der aktuelle Schaltplan:

    Bild hier  

    Und hier das neue Programm. Ich habe das Eingangssignal ein wenig entstört. Es wird jetzt drei mal hintereinander das Bremssignal geprüft und nur wenn dieses drei mal hintereinander auf 1 steht, dann gilt das Signal als störungsfrei. Ohne dieses Entstören schaffte ich es dauernd beim Berühren eines Drahtes ein Bremssignal auszulösen. Das ist jetzt nicht mehr.

    Code:
    $regfile = "attiny13.dat"
    $crystal = 9600000
    $hwstack = 32
    $swstack = 5
    $framesize = 20
    
    
    Const Half_light = 40
    Const Full_light = 255
    
    'PWM-Ausgang
    Pwm_out Alias Portb.0
    Config Portb.0 = Output
    
    'Bremslicht Eingang
    Break_light_in Alias Pinb.4
    Config Pinb.4 = Input
    
    'Timer0 als PWM: 9600000 / 64 / 256 / 2 = 292,9 Hz
    Config Timer0 = Pwm , Compare A Pwm = Clear Down , Prescale = 64
    Pwm0a = Half_light
    
    'Watchdog aktivieren
    Config Watchdog = 512
    Start Watchdog
    
    'Rauschfreies Bremssignal
    Declare Function Get_break_signal() As Byte
    
    
    Do
       If Get_break_signal() = 1 Then
          Pwm0a = Full_light
          Waitms 100
          Pwm0a = Half_light
          Waitms 100
       Else
          Pwm0a = Half_light
       End If
    
       Reset Watchdog
    Loop
    
    End
    
    
    Function Get_break_signal() As Byte
       Local Bt As Byte
       For Bt = 1 To 3
          Nop : Nop : nop
          If Break_light_in = 0 Then
             Get_break_signal = 0
             Exit Function
          End If
       Next Bt
       Get_break_signal = 1
    End Function
    Weiters habe ich den Watchdog Timer aktiviert. Falls der ATtiny13 einmal abstürzen sollte, dann wird dieser nach spätestens 512 ms neu gestartet.

    Der µC-Teil der Schaltung funktionerte bei meinen Tests zwischen 7,5 und 13,8 Volt einwandfrei. Allerdings habe ich die 5 V Versorgung nicht nachgebaut. Diese kam vom Labornetzteil und änderte sich nie. Aber bei 7,5 V Eingangsspannung dürfte auch der LM78L05 noch schöne 5 V liefern. Ich hatte beim Test nur eine LED dran hängen. Deshalb kann ich nicht sicher beurteilen, wie die Schaltung funktioniert, wenn man 25 LEDs dran hängen hat. Das auszuprobieren bleibt bei dir hängen.

    Jetzt möchte ich auch noch erklären, weshalb ich nicht auf eine Lösung mit einem ATmega32 eingegangen bin. Mit dieser ATtiny13-Schaltung hast du ein komplett unabhängiges Modul, welches du direkt in die Rückleuchte einbauen kannst. Komplett unabhängig von irgendwelchen anderen Mikrocontrollern und Funktionen. Wenn etwas kaput wird, dann tauscht du es einfach aus. Und wenn das Rücklicht oder das Bremslicht nicht funktionieren, dann weißt du sofort wo du nach einem Fehler zu suchen hast. Das sind in meinen Augen alles Vorteile gegenüber einer Zentralrechner-Strategie. Lieber kleine, überschaubare Module, als einen zentralen "Point of Failure", dessen Funktion kaum mehr durchschaubar ist.

    Und noch etwas: Stecke den ATtiny13 in einen Sockel. Man hat ja nicht immer einen Computer in der Nähe, den man am Renngerät anstecken kann. Dann kann man zumindest den ATtiny13 ausbauen und zum Computer bringen.

    mfg
    Gerold



    PS: Die Fuse- und Lock-Bits des ATtiny13 habe ich auf diesen Wert gesetzt:

    Low Fuse: 01111010
    High Fuse: 11111111
    Lockbits: 11111111

    - Serial program downloading (SPI) enabled; [SPIEN=0]
    - Int. RC Osc. 9.6 Mhz; Start-up time: 14 Ck + 64 ms; [CKSEL=10 SUT=10]
    - Brown-out detection disabled; [BODLEVEL=11]
    - Mode 1: No memory lock features enabled

    .

  9. #69
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.08.2007
    Ort
    Oberhofen im Inntal (Tirol)
    Alter
    50
    Beiträge
    377
    Zitat Zitat von semperit
    nur habe ich ein problem das das PWM Signal im Normalbetriebe (keine Bremse betätigt) unsauber ist es springt ab und zu.
    Hallo semperit!

    Du kannst die Prüfung, ob die Bremse gedrückt wurde, ein wenig verlängern.

    Statt
    Code:
          Nop : Nop : nop
    könntest du
    Code:
          waitus 1
    ausprobieren.

    Vielleicht war es das. Du kannst auch mit höheren Werten experimentieren.

    WAITUS --> http://avrhelp.mcselec.com/index.html?waitus.htm

    mfg
    Gerold
    :-)

  10. #70
    Neuer Benutzer Öfters hier
    Registriert seit
    22.01.2006
    Beiträge
    15
    hab ne lösung gefunden, habe eine pull-up von 10K an den PortB.4 gehangen damit geht es super sauber. Jetzt muss ich nur noch das kleine Problem lösen das PWM Signal genau auf 25 Hz ein zu stellen. kann man im PWM-Mode auch den Timer0 = wert anweisen um die Frequenz genau ein zu stellen ?

Seite 7 von 8 ErsteErste ... 5678 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen