- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 10

Thema: RN-CONTROL - PWM an beliebigen Ports möglich ?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    05.10.2006
    Ort
    Saarbrücken
    Beiträge
    13

    RN-CONTROL - PWM an beliebigen Ports möglich ?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallöchen,
    ich hab hier schon alles durchsucht und gegoogelt .. und hätte aber trotzdem mal ein paar Fragen an die Profi's

    Die Sache ist nämlich die:
    Ich möchte mehrere RGB-Leuchtdioden unabhängig voneinander mit einem atmega32 ansteuern und dimmen können.
    Die RGB-Dioden haben eine gemeinsame Kanode und je 3 Anoden für die einzelen Farben (R,G,B).

    1:
    Kann ich bei meinem RN-Control ATMEGA32 an jeden Port PWM durchführen oder benötige ich
    dazu noch nen Motortreiber, wie z.B. der auf dem Board vorhandene.

    Falls ja
    1b:
    Den Code für die PWM mit Bascom hab ich dem DemoProg entnommen. Hier werden beide Motor Kanäle einmal hoch und wieder runter gefahren. Ich weiß aber nicht wie ich das auf einem beliebigen Port umstelle (ohne zusätzlichen Motortreiber). Ich verstehe zwar die Config Outputs .. woher weiß der ATMEGA aber wo er die PWM macht =? also an welchem von dem Ports.


    Code:
    $regfile = "m32def.dat"
    $framesize = 32
    $swstack = 32
    $hwstack = 32
    $crystal = 16000000                                         'Quarzfrequenz
    $baud = 9600
    
    
    Dim I As Integer
    Dim N As Integer
    
    ' Für Motorentest
    'Ports für linken Motor
    Config Pinc.6 = Output                                      'Linker Motor Kanal 1
    Config Pinc.7 = Output                                      'Linker Motor Kanal 2
    Config Pind.4 = Output                                      'Linker Motor PWM
    'Ports für rechten Motor
    Config Pinb.0 = Output                                      'Rechter Motor Kanal 1
    Config Pinb.1 = Output                                      'Rechter Motor Kanal 2
    Config Pind.5 = Output                                      'Rechter Motor PWM
    
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    
       Pwm1a = 0                                                'Linker Motor aus
       Pwm1b = 0                                                'rechter Motor aus
    
    Tccr1b = Tccr1b Or &H02                                     'Prescaler = 8
    
       'Linker Motor ein
       Portc.6 = 1                                              'bestimmt Richtung
       Portc.7 = 1                                              'bestimmt Richtung
       Portd.4 = 1                                              'Linker Motor EIN
    
       'Rechter Motor ein
       Portb.0 = 1                                              'bestimmt Richtung rechter Motor
       Portb.1 = 1                                              'bestimmt Richtung rechter Motor
       Portd.5 = 1                                              'rechter Motor EIN
    
    
       I = 0
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I + 5
       Loop Until I > 400
    
       Wait 1
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I - 5
       Loop Until I < 1
       Pwm1a = 0                                                'Linker Motor aus
       Pwm1b = 0                                                'rechter Motor aus
    3. kann ich die Dioden direkt per Festwiderstand an die Ports hängen oder soll nen Transistor dazwischen hängen.

    Vielen Dank für eure Hilfe.

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Zu1:
    Du kannst an jedem Port PWM durchführen. Bei den meisten aber nur softwaremäßig. Das heißt, du hast keine Hardware, die dir das Signal erstellt, sondern du musst es dann mit der Software regeln.

    Zu1b:
    Du brauchst keinen Motortreiber. Da kannst du auch das Programm auf dieser Seite nehmen.
    https://www.roboternetz.de/wissen/in...Bascom_und_PWM

    Zu3:
    Du kannst die Dioden mit einem Widerstand direkt an den µC schließen, du darfst nur nicht einen Verbrauch von 20mA pro Port überschreiten. (mit den 20mA bin ich mir nicht gan sicher)

    jon
    Nice to be back after two years
    www.roboterfreak.de

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Zitat Zitat von Jon
    Du kannst die Dioden mit einem Widerstand direkt an den µC schließen, du darfst nur nicht einen Verbrauch von 20mA pro Port überschreiten. (mit den 20mA bin ich mir nicht gan sicher)
    eher 20 mA je Pin ..
    Je Port isses nen bisserl mehr...

    aber das steht im Datenblatt


    Zum PWM Problem:

    Ja es ist möglich.
    Verschiedene Lösungansätze findet man, indem man die SuFu benutzt

    Grüße,
    da Hanni
    Grundregeln des Forenpostings:
    1. Nutze niemals die Suchfunktion!
    2. Überprüfe niemals die Topics nach Ähnlichkeiten!
    3. Schreibe alles in hellgelb!

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Zitat Zitat von Hanni
    eher 20 mA je Pin ..
    Meine ich auch


    Zitat Zitat von Hanni
    aber das steht im Datenblatt
    Da hatte ich kein Bok reinzuschauen.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    05.10.2006
    Ort
    Saarbrücken
    Beiträge
    13
    Hi,
    erstmal danke für eure Beiträge. Hat mich schonmal weiter gebracht

    Das Datenblatt habe ich schon mehrmals studiert, das hat schon nen Stammplatz auf'm Desktop. Aber da ich neu im Elektronikbereich bin, war ich mir nit sicher ob der Dauerbetrieb der LED direkt an den Pins so gut is. hab halt keine ahnung :-/ und habe bei einem Projekt an der Uni schon nen RN-Control sterben sehen.

    Die SUFU und Wiki hab ich die letzten 3 tage ausgiebig bemüht. Leider ohne größeren erfolge. Endweder es Thema hat nit ganz gepasst oder die Schaltungen/Schaltpläne waren zu kompliziert für mich.

    https://www.roboternetz.de/wissen/in...Bascom_und_PWM
    Den Artikel hatte ich ganz am Anfang gelesen und hatte das auch probier .. leider ohne erfolg ..

    Eigentlich hatte ich auch gemein: Geht PWM pro Pin ?

    Wenn ich den Code aus'm Wiki aufspiele, macht er die PWM immer am gleichen Pin, egal ob ich



    Code:
    Config Pinc.3 = Output
    oder

    Code:
    Config Pinc.4 = Output
    oder

    Code:
    Config Pinb.1 = Output
    Du kannst an jedem Port PWM durchführen. Bei den meisten aber nur softwaremäßig. Das heißt, du hast keine Hardware, die dir das Signal erstellt, sondern du musst es dann mit der Software regeln.
    Ist das Beispiel auf https://www.roboternetz.de/wissen/in...Bascom_und_PWM
    also Hardwaremäßig .. ? und falls ja wie kann ichs softwaremäßig machen ?? Beispiel wäre super nett ?

    Will halt möglichst viele RBG's LED (mit je einem Pin für R,G,B) einzeln mit einem einzigen ATMEGA regeln

    Wieviele Timer hat der ATMEGA32 eigentlich ? nur einen ?

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.12.2005
    Ort
    Nähe Mainz
    Alter
    32
    Beiträge
    3.467
    Zitat Zitat von akem
    Eigentlich hatte ich auch gemein: Geht PWM pro Pin ?
    Ja und Nein.
    Es geht an 4Pins Hardwaremäßig und an den anderen nur softwaremäßig.

    Zitat Zitat von akem
    Du kannst an jedem Port PWM durchführen. Bei den meisten aber nur softwaremäßig. Das heißt, du hast keine Hardware, die dir das Signal erstellt, sondern du musst es dann mit der Software regeln.
    Ist das Beispiel auf https://www.roboternetz.de/wissen/in...Bascom_und_PWM
    also Hardwaremäßig .. ?
    Das ist hardwaremäßig.
    Zitat Zitat von akem
    und falls ja wie kann ichs softwaremäßig machen ?? Beispiel wäre super nett ?
    Ich habe auch nur gelesen, dass es softwaremäßig geht. Wie es aber im Programm aussieht weiß ich nicht.
    Ich vermute mal irgenwie so in der Art:

    Portx.y = 1
    waitus z
    Portx.y = 0



    Zitat Zitat von akem
    Wieviele Timer hat der ATMEGA32 eigentlich ? nur einen ?
    Wie oben schon gesagt insgesammt 4Kanäle.

    jon
    Nice to be back after two years
    www.roboterfreak.de

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    06.02.2006
    Ort
    Ingolstadt
    Alter
    36
    Beiträge
    32
    hi
    ich hatte dieses Problem auch schon mal
    es ist eigentlich gar nicht schwer Software Pwm zu generieren
    schau mal auf diese Seite.Macht das Leben leichter
    http://www.smartprogramming.de/index.php?siteid=10
    viel spaß mit den RGB Leds

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    05.10.2006
    Ort
    Saarbrücken
    Beiträge
    13
    danke .. das is genau das was ich gesucht habe ..

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    30.12.2011
    Beiträge
    15
    Leider geht der Link nicht mehr, hat jemand einen anderen Link? Habe nämlich das gleiche Problem.

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Es gibt eine recht zuverlässige Soft-PWM Routine, wenn man nach "Bascom Knight Rider" googlet.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Berechtigungen

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

12V Akku bauen