- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 12

Thema: PWM mit Tastern verändern

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2011
    Beiträge
    26

    PWM mit Tastern verändern

    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
    29
    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
    29
    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
    29
    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

Ä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
  •  

LiFePO4 Speicher Test