-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: PWM mit Tastern verändern

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26

    PWM mit Tastern verändern

    Anzeige

    Hi Leute hab endlich meine erste PWM mit dem 16F627 erzeugt möchte gerne nen brushless Motor damit steuern. Jetzt hab ich aber noch ne kleine Nuss zu knacken und zwar möchte ich gerne die PWM mit zwei Tastern verändern, einmal schneller und langsamer. Hier mein Programm für den Pic vllt habt ihr nen Tipp oder nen Codeschnipsel für mich.

    Danke schon im vorraus

    ;32,768kHz Quarz
    ; Anfangsinitialisierung
    ...
    init
    ; Vorteiler 1:1 und Timer2 einschalten
    BCF T2CON,T2CKPS1 ; Vorteiler 1:1
    BSF T2CON,TMR2ON ; Timer2 ein

    ; Frequenz auf 50Hz einstellen
    BSF STATUS,RP0 ; Bank1
    MOVLW D'163'
    MOVWF PR2 ; 50Hz
    BCF STATUS,RP0 ; Bank1

    ; Tastverhältnis einstellen
    MOVLW D'17' ; langsam=3 schnell=17
    MOVWF CCPR1L

    ; PWM MODE mit CCP1 initialisieren
    CLRF CCP1CON ; CCP1-Modus aus
    BSF CCP1CON,CCP1M3 ; CCP1-Modus PWM-Mode
    BSF CCP1CON,CCP1M2

    loop
    GOTO loop


    end

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    villeicht kennst as schon: http://www.sprut.de/electronic/pic/grund/pwm.htm

    Du kannst bei PWM ja die DutyZykle und die Frequenz ändern. Die Frequenz wird dabei im Timer-Register eingestellt. Du musst daher einfach bei tastendruck den timer schneller oder langsamer stellen. Dann hast deine veränderbare frequenz. Wenn dutyZykle immer 50% sein soll musst du noch den timerwert halbieren und in das entsprechende register schieben. /2 ist meines wissen ja eine bitverschiebung nach rechts, also kein großes problem.

    brushlessmotoren wirst du aber mit einem 16F627 mit den internen pwm-modul nicht steuern können! Beschäftige mich auch teilweise damit und ein brushlessmotor ist ein drehstrommotor, also 3 phasen. und um die anzusteuern brauchst du eine 1 1/2 H-Brücke (wenn die so heißt), also 6 PWM Pins mit der gleichen Frequenz die aber immer umschalten!

    siehe da: http://www.ulrichradig.de/home/index...tor-controller

    ist ein AVR aber so ziemlich das gleiche bei der ansteuerung. mir hat der schaltplan weitergeholfen, villeicht hilft er auch dir. Schau auch auf der microchip webite. Bei denen gibts auch demo beispiele zum downloaden und eigene cips für die aufgabe.

    mfg. pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26
    Hallo pointhi ja die webseit von spurt kenn ich schon trotzdem danke für die schnelle Hilfe hat mir sehr weitergeholfen ja das mit dem brushless motot stimmt 3 Phasen aber ich verwende den passenden regler dazu sprich ich brauch eigentlich nur ein "Servo" Signal deshalb nur 1 PWM oder denk ich da falsch?
    mfg Gremiln

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    Ja, mit einem Brushlessregler sollte es funktionieren. Dachte du willst es komplett selber machen. Das PWM-Signal ist aber ein 1-2ms langes signal dass sich alle 20ms wiederholt. da brauchst keine frequenzänderung.

    mfg. pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26
    hi pointhi also hab gestern meinen motor und den regler erhalten nur folgendes Problem wenn ich mein zb. 1,5 ms langes signal vom pic auf den regler gebe dann "hupft" er ein stück weiter und "quietscht" dabei aber drehn tut er sich nicht was kann das sein bzw was soll ich tun hoff du kannst mir helfen

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26
    sollte vllt noch erwähnen das ich ihn grad an nem labornetzteil 11,1V 5A verwende da der akku noch unterwegs ist. Könnte es damit zusammen hängen???

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    Hast du ein oszilloskop zum übererprüfen?

    http://www.rn-wissen.de/index.php/Se..._und_Schaltung

    Das signal von standardservos oder regler hat jeweils einen high impuls von 1ms ... 2ms und dazwischen sind etwa 20ms pause. Wenn die pause zu lange oder zu kurz gewählt ist arbeitet der regler nicht sauber oder gar nicht.

    Kannst du das programm posten wie du den servo ansteuerst?, villeicht hab ich auch noch irgendwo das beispierprogramm was ich mal geschrieben habe. Bei den 11,1V und 5A must schauen was der motor braucht. Mein alter Modellflieger mit 500g hatte einen brushlessmotor der 18A dauerlast hatte!

    mfg. pointhi

    Hast du die korrekten werte damit berechnet? http://www.micro-examples.com/public...alculator.html

    ist echt super das tool, auch wenn du ASM programmierts.

    Ich hab diese daten für einen 2ms puls bekommen:

    Code:
    /*  * PWM registers configuration  * Fosc = 32768 Hz  * Fpwm = 49.95 Hz (Requested : 50 Hz)  * Duty Cycle = 10 %  * Resolution is 9 bits  * Prescaler is 4  * Ensure that your PWM pin is configured as digital output  * see more details on http://www.micro-examples.com/  * this source code is provided 'as is',  * use it at your own risks  */ PR2 = 0b00101000 ; T2CON = 0b00000101 ; CCPR1L = 0b00000100 ; CCP1CON = 0b0000110
    und diese für einen 1ms puls:

    Code:
    /*  * PWM registers configuration  * Fosc = 32768 Hz  * Fpwm = 49.95 Hz (Requested : 50 Hz)  * Duty Cycle = 5 %  * Resolution is 9 bits  * Prescaler is 4  * Ensure that your PWM pin is configured as digital output  * see more details on http://www.micro-examples.com/  * this source code is provided 'as is',  * use it at your own risks  */ PR2 = 0b00101000 ; T2CON = 0b00000101 ; CCPR1L = 0b00000010 ; CCP1CON = 0b00001100 ;
    wenn ich mir CCPR1L anschaue kommt mir der bereich in dem man das PWM signal verändern kann etwas klein vor. Am besten sollte sich jemand noch melden der schon erfolgreich Servos mit PWM angesteuert hat. Schau mal ob du ein Application note bei Microchip findest. Glaube schon dass sie für solche anwendunge eines gemacht haben. Oder schaue mal beim RN-Servo-Controll.

    http://www.rn-wissen.de/index.php/Servoansteuerung

    Hier wurde es mit einem Timer gemacht, was eine nicht schlechte idee ist, solange man die ansteuerung sauber hinbekommt. (Hab ich auch mal gemacht, aber bei mehr wie 1. Servo muss man wirklich genau auf das timing aufpassen. Und ohne Oszilloskop ist das mit Timer entweder ein ratespiel oder ein nicht kleiner rechenaufwand.

    mfg. pointhi
    Geändert von pointhi (11.03.2012 um 13:01 Uhr)
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26
    Ja ein Oszi hab ich sind 49,94 Hz und der High Impuls dauert 1,5ms

    so hier mein Programm:

    BCF T2CON,0 ;Vorteiler 1:1
    BCF T2CON,1
    BSF T2CON,2 ;Timer 2 ein

    BSF STATUS,RP0
    movlw D'163'
    movwf PR2
    BCF STATUS,RP0

    movlw D'12'
    movwf CCPR1L

    clrf CCP1CON
    BSF CCP1CON,3
    BSF CCP1CON,2

    loop
    goto loop

    end

    das wäre mein Programm mit dem pic 16F627 und nem 32,768kHz Uhrenquarz
    auf dem oszi passen die werte
    ja der motor hat nen nennstrom von 30A und der regler ist für dauerbelastung von 35A
    hab die möglichkeit noch den andren ausgang meines Labornetzteiles zu nehmen der liefert 10A wollte es mal so probieren nicht das ich dann den akku ranhäng und ich bekomm ne schwarze wolke ins gesicht deshalb erst mit 5A

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied Avatar von pointhi
    Registriert seit
    18.03.2009
    Alter
    22
    Beiträge
    139
    hast du einen servo, es könnte ja sein dass der motor nicht anlaufen kann weil er zu wenig strom bekommt. wenn der servo korrekte positionen anfährt sollte der regler auch funktionieren. Ansonsten solltest du den regler mit einem modellbauempfänger mal testen.

    mfg. pointhi
    Theorie ist, wenn man alles weiß, aber nichts funktioniert.
    Praxis ist, wenn alles funktioniert, aber niemand weiß warum.
    Microsoft hat Theorie und Praxis vereint: Nichts funktioniert und keiner weiß warum!
    Deshalb nutze ich Linux für die wichtigen sachen

    Meine Website: www.oe5tpo.com

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26
    also servo geht ohne probleme hab jetzt mal noch ein ganz altes festpannungsnetzteil mit 5V 30A rausgekramt aber da genau das gleiche Servo geht motor hüpft eine stelle weiter und piepst werd wohl oder übel auf den akku warten müssen und dann das ganze nochmal versuchen aber die ansteuerung mit dem pic dann ich ja eigentlich so lassen weil mit dem servo klappts ja oder???

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. IR-Schaltung mit IS 471 / LD 274 verändern
    Von Elu im Forum Sensoren / Sensorik
    Antworten: 2
    Letzter Beitrag: 02.12.2010, 14:24
  2. Spannungssignal verändern.
    Von Masterraven9 im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 06.10.2010, 20:45
  3. Lüftersteuerung verändern
    Von MaverrickTM im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 15.01.2010, 21:36
  4. IR-Bandbreite verändern?
    Von M1C im Forum Asuro
    Antworten: 5
    Letzter Beitrag: 29.06.2009, 20:22
  5. IRQ Sprungadresse verändern
    Von bergowitch im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 07.01.2005, 13:54

Berechtigungen

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