Stufenlose PWM und Motor Schutzschaltung

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 10 11 2024  08:37:16      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte

Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 Nächste Seite )      


Autor
Stufenlose PWM und Motor Schutzschaltung
Suche nach: pwm (3615) motor (30962) schutzschaltung (1724)

    







BID = 899602

GerDominator

Stammposter



Beiträge: 233
 

  



Zitat :
Das brauchst du nicht. Die Spitzen(lade)ströme werden von den Kondensatoren geliefert.

Okay perfekt, das freut mich sehr


Zitat :
Eine Sache, die mir auch schon länger aufgefallen ist, ist die Diode parallel zum Gate-Widerstand. Für gewöhnlich wird sie genau anders herum gepolt, um ein schnelles Abschalten des MOSFETs zu bewirken, weshalb sie auch Turn-off Diode genannt wird.
In Vorwärtsrichtung wird dagegen i.d.R. noch ein Widerstand in Serie geschaltet, um den Ladestrom zu begrenzen.

Gut dann werde ich sie als Turn-off Diode nutzen

Na wunderbar dann sieht es ja so aus als könnte ich nächste Woche die letzte Bestellung rausschicken Es sei denn perl, Onra oder einem anderen Fachmann fällt noch ein Fehler auf.

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 900211

GerDominator

Stammposter



Beiträge: 233

 

  

Ich habe die Bestellung jetzt rausgeschickt. Ich melde mich wieder wenn die Platine geätzt und bestückt ist

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 901411

GerDominator

Stammposter



Beiträge: 233

Hier mein absolutes Heiligtum

Ich habe nochmal eine Layout- und Schaltplananpassung gemacht wie man sieht. Auf die 24V-12V Umschaltung habe ich verzichtet und mich für die 24V Betriebsspannung entschieden. Trotzdem möchte ich Offroad GTI nochmal für seine tolle Schaltung danken, sicherlich kann ich sie in einem anderen Projekt gebrauchen.
Die Dauer wird außerdem nicht mehr durch Potis eingestellt sondern vom User programmiert indem er den Hubtaster entsprechend in einem Programmiermodus drückt.
Es kann zwischen 4 Modi umgeschaltet werden, daher auch der DIP Schalter.

Die Platinenherstellung hat mich so unglaublich viel Arbeit gekostet. Insgesamt habe ich bestimmt 15h gebraucht. Trotzdem hat sich jede Minute Arbeit gelohnt und ich bin mir sicher, dass ich bei der nächsten Platine weniger Zeit benötigen werde.

Die Hohlnieten habe ich mit einem Körner bearbeitet und anschließend mit einer runden Schraube auf die Platine geklopft, hat wunderbar funktioniert.

Jetzt beginnt die Softwarephase, ich halte euch auf dem Laufenden

Nochmal danke an alle die bisher geholfen haben, ich wäre sonst niemals so weit gekommen!






















_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 901425

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
Die Platinenherstellung hat mich so unglaublich viel Arbeit gekostet. Insgesamt habe ich bestimmt 15h gebraucht.
Unglaublich viel?
Das entspricht bei den meisten Erwachsenen der Arbeitszeit von gerade einmal 2 Tagen.
Hinzu kommen noch die Zeiten für Hin- und Rückfahrt.
Und das Tagaus, Tagein. Gerade einmal durch die Wochenenden unterbrochen.

BID = 901633

GerDominator

Stammposter



Beiträge: 233

Bin gerade beim programmieren da tut sich mir schon die erste Frage auf. Hat der PIC16F690 keine Pull-ups am PORTC?

Bei PORTB ließ sich das einfach so programmieren. (BANK_X sind Makros)


Code :


;PORTB
BANK_1
movlw b'00001111' ;Dig.Inputs=RB4,RB6,RB7 An.Input=RB5
movwf TRISB
bsf OPTION_REG, RABPU ;Enable Pull-up function
BANK_2
movlw b'00001011' ;Pull-Ups=RB4,RB6,RB7
movwf WPUB



Allerdings gibt es gar kein WPUC Register welches ich beschreiben könnte. Wenn der PORTC wirklich keine Pull-Ups hat wäre das sehr ärgerlich.

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 901635

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

Wie wärs, wenn du mal selbst das Datenblatt studiertest anstatt es dir vorlesen zu lassen.
http://ww1.microchip.com/downloads/en/DeviceDoc/41262E.pdf
Auf Page 6 steht das!


BID = 901638

GerDominator

Stammposter



Beiträge: 233

Ich hatte ein anderes Datenblatt wo diese Tabelle nicht enthalten war. Trotzdem kann ich jetzt nur sagen... tolle sch****

Das bedeutet für mich auslöten und stümperhafte Notlösungen finden

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 902237

GerDominator

Stammposter



Beiträge: 233

Naja so schlimm war es jetzt auch nicht mit den Pull-Ups.

Ich habe allerdings das Problem, dass der PIC gar nichts macht. Ich habe folgendes Testprogramm geschrieben, kann an Pin RC4 keine 5V messen. Ist der PIC kaputt oder habe ich einen Programmfehler? Ich habe alle Leitungen schon überprüft und die 5V Versorgung ist auch ordnungsgemäß da.

Da ich keinen IC-Sockel bestellt habe (leider vergessen), habe ich den PIC einfach direkt auf die Platine gelötet. Ist die Wahrscheinlichkeit hoch, dass ich ihn dabei zerstört habe?



Code :

;*******************************************************************************

;
; Datum: 05.10.2013
; Name: GerDominator
; Projekt: 24V/5A Motorcontrol
; PIC: 16F690
;
; ______________________________
; 1 -|VDD Button/RB6 |- 11
; 2 -|OSC1 VIOUT/AN11/RB5 |- 12
; 3 -|OSC2 PM/AN10/RB4 |- 13
; 4 -|VPP SM/AN6/RC2 |- 14
; 5 -|P1A/RC5 P_SM_µC/AN5/RC1 |- 15
; 6 -|P1B/RC4 SP/AN4/RC0 |- 16
; 7 -|SE/AN7/RC3 P_Sp_µC/AN2/RA2 |- 17
; 8 -|EP/AN8/RC6 ICSPCLK/RA1 |- 18
; 9 -|MAN/AN9/RC7 ICSPDAT/RA0 |- 19
; 10 -|HA/RB7 VSS |- 20
; ------------------------------
;
;
;*******************************************************************************

list p=16f690
#include <p16f690.inc>
#include <macros.inc>

;Configuration Bits

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC & _CPD_OFF & _MCLRE_ON & _BOD_OFF

;==============
; Definitions
;==============

#define SE PORTC, 3 ;Sensor
#define SP PORTC, 0 ;Starting Point
#define EP PORTC, 6 ;Ending Point
#define MAN PORTC, 7 ;Manual Mode
#define HA PORTB, 7 ;Half-Automatic Mode
#define SM PORTC, 2 ;Sensor Mode
#define PM PORTB, 4 ;Programming Mode
#define P_SM_µC PORTC, 1 ;Soft-Start-Stop Multiplier
#define P_Sp_µC PORTA, 2 ;Speed Potentiometer
#define VIOUT PORTB, 5 ;Output Current Sensor ACS712
#define Button PORTB, 6 ;Button


;==========
;Variables
;==========

w_temp EQU 0x70
status_temp EQU 0x71

ERRORLEVEL -302 ;Shutting down Bank Error
;_____________________________________________________________________________

ORG 0x000 ;Adress after Reset
clrf PCLATH ;Clearing Pagebit
goto start

ORG 0x004 ;Interrupt-Adress
movwf w_temp ;Safing W-Register
movf STATUS,w
movwf status_temp ;Safing Status-Register
;--------------------------------
;Possible Interruptcode
;
;--------------------------------
movf status_temp,w
movwf STATUS
swapf w_temp,f
swapf w_temp,w
retfie
;_____________________________________________________________________________

start ;Starting Point

;================
;Initializations
;================

BANK_0
clrf PORTA ;Set all ports to 0
clrf PORTB
clrf PORTC

BANK_2 ;ANSEL(H) Digital or Analog
movlw b'00100101' ;Analog Pins: RA2/AN2 (P_Sp_µC)
movwf ANSEL ; RC1/AN5 (P_SM_µC)
movlw b'00010000' ; RC3/AN7 (SE)
movwf ANSELH ; RB5/AN11 (VIOUT)

;PORTA
BANK_1
bsf TRISA, 2 ;Set RA2 (P_Sp_µC) as analog input

;PORTB
BANK_1
movlw b'00001111' ;Dig.Inputs=RB4,RB6,RB7 An.Input=RB5
movwf TRISB
bcf OPTION_REG, 7 ;Enable Pull-up function; Set RABPU
BANK_2
movlw b'00001011' ;Pull-Ups=RB4,RB6,RB7
movwf WPUB

;PORTC
BANK_1
movlw b'11110011' ;Inputs=R0:R3,RC6,RC7 Outputs:RC4,RC5
movwf TRISC

main
BANK_1
bsf TRISC, 4
bcf TRISC, 5
goto main
end





_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 902255

Offroad GTI

Urgestein



Beiträge: 12733
Wohnort: Cottbus


Zitat :
Ich habe folgendes Testprogramm geschrieben
Ziemlich umfangreich, für ein Testprogramm.
Lasse doch lieber einen Pin (bspw. mit 1Hz) toggeln, anstatt ihn auf ein festes Potential setzen zu wollen.


Zitat :
Ist die Wahrscheinlichkeit hoch, dass ich ihn dabei zerstört habe?
Jetzt weiß zwar keiner, wie du gelötet hast. Aber wenn es etwa 1s pro Pin bei etwa 350°C waren, hat er wahrscheinlich keinen Schaden genommen.

Unpraktisch ist es in jedem Fall, ICs (allgemein) nicht zu sockeln, aber das ist ja nichts Neues



_________________
Theoretisch gibt es zwischen Theorie und Praxis keinen Unterschied. Praktisch gibt es ihn aber.

BID = 902289

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach


Zitat :
movlw b'11110011' ;Inputs=R0:R3,RC6,RC7 Outputs:RC4,RC5
Das Zählen musst du noch etwas üben....

BID = 902722

GerDominator

Stammposter



Beiträge: 233

Ja das muss ich tatsächlich, habe genau die falsche Reihenfolge der Bits verwendet

Danke für den aufmerksamen Hinweis. Habe gerade schnell mal bisschen umprogrammiert, hat noch nicht funktioniert, aber ich muss mich dem Quellcode nochmal genauer widmen. Das wird am Wochenende geschehen

Jedenfalls war es kein Wunder, dass der Code nicht funktioniert hat

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 902838

GerDominator

Stammposter



Beiträge: 233

Das Testprogramm funktioniert einwandfrei, die 5V liegen nun an PIN RC4 an

Allerdings dreht sich der Motor immer noch nicht:D Ich bin weiter auf Fehlersuche.

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 902853

GerDominator

Stammposter



Beiträge: 233

Nachdem ich nun fast alle Pins nachgemessen und nachgelötet habe, konnte ich folgendes Problem identifizieren:

Trotz richtiger Spannungspegel an den Highsignal-Eingängen und den Lowsignal-Eingängen der IR2110s versuchen Beide die highseitigen Fets der H-Brücke einzuschalten, in meinem Fall also M1 und M4. Dazu kommt, dass an den Gates jeweils nur 11,3V anliegen, die Highsidefets also noch nicht einmal durchschalten können. Alles deutet darauf hin, dass die Gatetreiber kaputt sind, das ist aber trotzdem sehr unwahrscheinlich.

Ich weiß nicht mehr weiter Was sind eure Vermutungen? Die elektrischen Verbindungen habe ich alle überprüft.

_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 917730

GerDominator

Stammposter



Beiträge: 233

Dieser Thread ist wahrscheinlich schon tot geglaubt worden. Ich möchte ihn doch mal wieder ausgraben.

Die PWM funktioniert halbwegs. Ich habe mal zwei Bilder von meinem Oszi hochgeladen. Ich hatte mir den Signalverlauf anders vorgestellt. Der Motor läuft ruckartig, d.h er dreht für eine halbe sekunde, hält für eine halbe sekunde und dreht dann wieder, usw..

Hier noch einmal der Code von der PWM:



Code :


BANK_0
;movlw b'10001110' ;Init. Half-Bridge (B-High;A-Low)
;movlw b'10001101' ;Init. Half-Bridge (B-Low;A-High)
movlw b'10001100' ;Init. Half-Bridge (B-High;A-High)
movwf CCP1CON
BANK_1
movlw d'255'
movwf PR2
BANK_0
movlw d'200' ;Duty Cycle
movwf CCPR1L
clrf T2CON ;Pre- and Postscaler set to 1:1
;bsf ECCPAS, 7 ;ECCPAS (Auto Shutdown)
movlw b'00000010' ;2 Cycles Dead-Band-Delay
movwf PWM1CON
bcf PIR1,TMR2IF
bsf T2CON,2 ;Start this f**cking prick!
BANK_1
;movlw b'11101111' ;Set RC5(R1A),RC4(R1B)Outputs;TURN_LEFT
movlw b'11011111' ;TURN_RIGHT
;movlw b'11111111' ;STOP
movwf TRISC



Bisher habe ich noch nicht hinbekommen die Drehrichtung des Motors zu ändern.



Code :

    

BANK_0
;movlw b'10001110' ;Init. Half-Bridge (B-High;A-Low)
;movlw b'10001101' ;Init. Half-Bridge (B-Low;A-High)
movlw b'10001100' ;Init. Half-Bridge (B-High;A-High)
;movlw b'10001111' ;Init. Half-Bridge (B-Low;A-Low)
movwf CCP1CON



Ich habe immer eine Zeile abwechselnd aktiviert. In der Hoffnung dass ich die Drehrichtung ändern kann. Das einzige was ich erreicht habe, dass die Schaltung bei manchen Einstellungen in den Kurzschluss geht.
Nur bei b'10001100' Einstellung funktioniert die Schaltung wie sie soll.

LG GerDominator






_________________
"Wenn wir alles täten, wozu wir imstande sind, würden wir uns wahrscheinlich in Erstaunen versetzen." - Thomas Alva Edison

BID = 917735

Offroad GTI

Urgestein



Beiträge: 12733
Wohnort: Cottbus


Zitat :
Ich habe mal zwei Bilder von meinem Oszi hochgeladen. Ich hatte mir den Signalverlauf anders vorgestellt.
Wenn wir wüssten, was du überhaupt gemessen hast

Davon abgesehen: Die IR2110 können die Highside-FETs nicht dauerhaft einschalten. Auch dürfen das Einschaltverhältnis (Duty-Cycle) und die Schaltfrequenz selbst bestimmte Werte nicht unterschreiten.


Zitat :
dass die Schaltung bei manchen Einstellungen in den Kurzschluss geht.
Tja, die Treiber haben eben keine Shoot-Through Protection, wie es so schön heißt.



_________________
Theoretisch gibt es zwischen Theorie und Praxis keinen Unterschied. Praktisch gibt es ihn aber.


Vorherige Seite       Nächste Seite
Gehe zu Seite ( Vorherige Seite 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 Nächste Seite )
Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 23 Beiträge im Durchschnitt pro Tag       heute wurden bisher 5 Beiträge verfasst
© x sparkkelsputz        Besucher : 182307205   Heute : 627    Gestern : 4419    Online : 424        10.11.2024    8:37
3 Besucher in den letzten 60 Sekunden        alle 20.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.112534999847