Sie sind vermutlich noch nicht im Forum angemeldet - Klicken Sie hier um sich kostenlos anzumelden Impressum 
Sie können sich hier anmelden
Dieses Thema hat 12 Antworten
und wurde 1.335 mal aufgerufen
 Projekte
Tüftler_Senior Offline




Beiträge: 76

07.04.2013 18:44
H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo an Alle

Auf Wunsch stelle ich hier meine H-Brücke vor!
Wir habe eine Zetex Bipolare Transistor H-Brücke (ZHB6718TA), mit meinem Sohn,
entworfen und bestückt.



Zweck meiner H-Brücke ist derzeit nur der BASCOM Kurs von Gerhard (Diezel)!
Als Motor dient ein altes Servo ohne Elektronik!

Nach 2 abgebrannten H-Brücken mussten wir uns mehr mit dem Thema beschäftigen
als wir Ürsprünglich wollten!
Bei unseren ersten Versuchen steuerten wir die Transistoren NPN & PNP zugleich an,
dies war aber ein Fehler, denn wenn man sich die Transitoren in ihre Grundbauteile aufschlüsselt dann erkennt man, dass über die Dioden ein satter Kurzschluß entsteht.



Die Verschaltung hatten wir uns bei Xenton aus Beitrag "#68 RE: Forums-Bascom-Kurs" abgeschaut!

Unsere Lösung ist jetzt das wir die PNP (Pin 4 & 8) Transistoren aus dem µC ansteuern und die NPN (Pin 1 & 3) von den Geschalteten Motorausgängen versorgt werden!
Die NPN werden jeweils mit 10kOhm gegen Masse gezogen um das korekte Durchschalten zu ermöglichen.



Die Platine wurde von meinem Sohn gemacht, das möchte ich nicht verschweigen!
Aber ich muss zu geben er ist auch viel schneller damit als ich!

Sollte noch jemand Fragen haben oder den Platinen Entwurf benötigen meldet euch!
Platine liegt als "Eagle 6" Daten vor!

Gruß Michael

Scotch Offline




Beiträge: 414

09.04.2013 20:09
#2 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Michael,
sieht doch sehr gut aus.
Daran merkt man, wofür so ein Forum gut ist.
Habt ihr die Steuerung schon Programmiert?

Gruß Ingo

------------------------------------------

Meine Webseite

Tüftler_Senior Offline




Beiträge: 76

09.04.2013 20:37
#3 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Ingo

Habe mich mal an eine einfache Programmierung dran gemacht!
Raus gekommen ist Links / Rechts Lauf und Stop
Habe mein Programm mal als TXT angehängt.

Gruß Michael

Dateianlage:
H.Brücke.txt
diezel Offline



Beiträge: 709

09.04.2013 21:12
#4 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Michael,

ganz klar, da fehlt die PWM


Gruß
Gerhard

-------------------------------------------------------------------------------------------
hier mein aktueller TinyKatalog

Tüftler_Senior Offline




Beiträge: 76

10.04.2013 22:05
#5 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Gerhard

Danke für die Info!

Würde ja gern die Umschaltung mit "Softanlauf" machen, nur fehlt mir noch ein bisschen
das Know How wie!!
Aber ich Denke du wirst uns sicherlich noch ein paar tipps geben wie ich so was errreiche!!
Mir würde ein Denk Anstoß in die Richtung gut tun!
Zur Zeit habe ich nur eine wage Idee wie ich die PWM einbinde!
Theoretisch müsste ich die PWM (Clear Up) hoch fahren und eingeschaltet lassen und beim Richtungswechsel
Clear down vor Clear Up setzen! Dann müsste es doch so laufen sanfter Anlauf und richtungs wechsel!
Bin ich da richtig

Werde sobald ich ein wenig mehr Luft habe mal einen Versuch starten!

Gruß Michael

diezel Offline



Beiträge: 709

10.04.2013 23:55
#6 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Mchael,

Zitat
Bin ich da richtig


Nein, Du benutzt die Begriffe in einem falschen Zusammenhang. Clear Up oder Down wird benutzt, um den PWM-Ausgang an die gegebene Situation anzupassen.
Im Normalfall wird man Clear Up verwenden. Folge ist, daß wenn der PWM-Wert gleich 0 ist, daß der Ausgang dauerhaft Low bleibt. Das wäre das Richtige, wenn z.B. ein Motor getrieben werden soll.
In unserem Kursbeispiel verwenden wir Clear Down, weil unsere LED eine invertierte Ansteuerung braucht. Zur Erinnerung: die LEDs auf dem STK500 hängen mit der Anode direkt an Plus, die Kathode ist mit dem Atmega verbunden (den Transistor denken wir uns jetzt mal weg).
Jetzt ist´s so, daß wenn der Ausgang des µC auf High geschaltet ist, daß kein Strom fließen kann, da die LED mit dem anderen Pol ja auch an Vcc hängt. Um die LED leuchten zu lassen, müssen wir den Ausgang Low schalten. Und genau darum die invertierte Ansteuerung, darum Clear Down.

Was Du wohl mit Clear Up/Down meinst, ist das Auf- und Abdimmen der LED.
Dem Programm selbst, ist´s aber total egal, ob da hinten dran eine LED dranhängt oder ein Motor. Du kannst den Programmteil zum Aufdimmen der LED auch zum Hochdrehen eines Motors verwenden.
Das langsame runterfahren der LED würd ich mir sparen. Der Motor wird von alleine langsamer, wenn er keinen Saft mehr bekommt. Einfach ne kurze Wartezeit rein, das sollte reichen.

Arbeite meine Texte durch, vertstehe das, was ich dort reingeschrieben hab und dann kannst Du die Ansteuerung der H-Brücke mit 2 LEDs durchspielen. Da geht dann auch nicht gleich was kaputt.


Gruß
Gerhard

-------------------------------------------------------------------------------------------
hier mein aktueller TinyKatalog

Tüftler_Senior Offline




Beiträge: 76

12.05.2013 17:14
#7 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Es gibt neues!

@Gerhard Danke noch mal für den Denkanstoß! Habe Clear Up/Down wirklich falsch verstanden!
Bei meiner H-Brücke benötige ich wie bei den Led`s Clear Down! Ist schon mal einfacher für mich!


Habe jetzt ein kleines Programm zum Drehzahl (PWM) Stufenlos hoch und runterfahren!
H-Brücke hängt an PB1 und PB2
Nur beim Richtungswechsel stehe ich an!
Erst mal meine funktionierendes Programm:

'**************************************************************
'** PWM Steuerung für H-Brücke **
'** Tüftler_Senior 5/2013 **
'**************************************************************

$regfile = "m8adef.dat" 'Mikrocontroller ist Atmega 8
$crystal = 8000000 'Arbeitsfrequenz 8 MHz
$hwstack = 40 'Hardware-Stack
$swstack = 32 'Software-Stack
$framesize = 60 'Frame
$baud = 19200 'serielle Übertragungsgeschwindigkeit

'*** Ein/Ausgänge deklarieren **************************************************
S1 Alias Pind.6
S2 Alias Pind.5
S3 Alias Pind.7
S4 Alias Pind.4

'*** Variablen definieren ******************************************************
Dim Zaehler As Word 'Word weil Werte zwischen 0 und 1023 möglich
Dim Pwmold As Integer
Dim Pwma As Integer
Dim Pwmb As Integer

'*** Timer konfigurieren *******************************************************
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64

'erstmal noch beide Ausgänge AUS

Pwm1a = 0 'PWM-Kanal A des Timer1 Vergleiswert zuweisen
Pwm1b = 0 'PWM-Kanal B des Timer1 Vergleiswert zuweisen
Pwma = 0 'Pwma Startwert = 0 zuweisen

'*** Hauptschleife *************************************************************

Do 'Beginn Hauptschleife

If S1 = 0 Then Pwma = Pwma + 1 ' S1 Drehzahl erhöhen
If Pwma > 1023 Then Pwma = 1023
If S2 = 0 Then Pwma = Pwma - 1 ' S2 Drehzahl verringern
If Pwma < 0 Then Pwma = 0
If S3 = 0 Then Pwma = 0 ' S3 Stop
Waitms 20
Pwm1a = Pwma
If Pwma <> Pwmold Then
Print Pwma
Pwmold = Pwma
End If

Loop

End

Habe im Elektor Verlag noch ein hübsche Anleitung gefunden die Taster
in einer Subroutine abzufragen!
Werde mich noch darüber hermachen wenn ich weiß wie ich die Umschaltung
Link/Rechts machen kann

Gruß Michael

Dateianlage:
H.Brücke.txt
diezel Offline



Beiträge: 709

12.05.2013 21:17
#8 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Michael,

Du machst also eine 10-Bit-PWM. Ich finde, daß dies viel zu fein ist. 8-Bit reichen vollkommen, sind dann auch 2x256=512 Stufen.
Am einfachsten ist es, wenn Du Dir eine Hilfsvariable im Programm einführst. Diese kann dann mit den Tastern von 0 - 511 verändert werden. Sie deckt also den Bereich für beide PWMs ab, Vorwärts und Rückwärts. Denk dran, die Variable als Word zu definieren.
Die einzelnen Werte dieser Hilfsvariable bedeuten für Deine PWM dann folgendes:
Wert 0 -> vollgas Rückwärts
Wert 255 -> Stop
Wert 511 -> vollgas Vorwärts

Im Programm mußt Du dann die PWM-Werte entsprechend der Variable setzen:
Variable > 255 -> PWM1a = Variable - 255 ; PWM1b = 0
Variable < 255 -> PWm1a = 0 ; PWM1b = 255 - Variable
Variable = 0 -> PWM1a = 0 ; PWM1b = 0

Hoffe Du kannst meine Gedanken so nachvollziehen.


Gruß
Gerhard

-------------------------------------------------------------------------------------------
hier mein aktueller TinyKatalog

Tüftler_Senior Offline




Beiträge: 76

13.05.2013 21:17
#9 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Gerhard

Erst mal Danke für deine Hilfe!
Habe schon angefangen damit zu kämpfen!

Habe ich dich richtig verstanden:
1 Variable als Word, 1 Taste Wert von 0-511, 1 Taste Wert von 511-0
255 ist dabei mein "Null" Wert!
Die Werte PWM1a & PWM1b von 0-254 & 256-511 zuweisen.

Gruß Michael

diezel Offline



Beiträge: 709

13.05.2013 22:15
#10 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo,

hier hab ich nen Fehler drin:

Zitat von diezel im Beitrag #8
Variable = 0 -> PWM1a = 0 ; PWM1b = 0

richtig wäre:

Zitat
Variable = 255 -> PWM1a = 0 ; PWM1b = 0


sorry!


zu Deinem Beitrag:

Zitat
1 Variable als Word


richtig!

Zitat
1 Taste Wert von 0-511, 1 Taste Wert von 511-0


falsch!
Taste1 gedrückt -> Variable = Variable - 1
Taste2 gedrückt -> Variable = Variable + 1

Zitat
255 ist dabei mein "Null" Wert!


richtig!

Zitat
Die Werte PWM1a & PWM1b von 0-254 & 256-511 zuweisen


richtig! Rechnung siehe meinen letzten Beitrag.


Gruß
Gerhard

-------------------------------------------------------------------------------------------
hier mein aktueller TinyKatalog

diezel Offline



Beiträge: 709

13.05.2013 22:40
#11 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Michael,

hab mal schnell was getippt. Ist aber nicht getestet...


Gruß
Gerhard

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
$regfile = "m8adef.dat"                                      'Mikrocontroller ist Atmega 8
$crystal = 8000000 'Arbeitsfrequenz 8 MHz
$hwstack = 40 'Hardware-Stack
$swstack = 32 'Software-Stack
$framesize = 60 'Frame
$baud = 19200 'serielle Übertragungsgeschwindigkeit
 
'*** Ein/Ausgänge deklarieren **************************************************
S1 Alias Pind.6
S2 Alias Pind.5
S3 Alias Pind.7
S4 Alias Pind.4
 
'*** Variablen definieren ******************************************************
Dim Pwm_wert As Word 'Word weil Werte zwischen 0 und 1023 möglich
Dim Pwmold As Word
 
'*** Timer konfigurieren *******************************************************
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64
 
'erstmal noch beide Ausgänge AUS
Pwm1a = 0 'PWM-Kanal A des Timer1 Vergleiswert zuweisen
Pwm1b = 0 'PWM-Kanal B des Timer1 Vergleiswert zuweisen
Pwm_wert = 255
 
'*** Hauptschleife *************************************************************
 
Do 'Beginn Hauptschleife
 
'Taster abfragen
If Pwm_wert < 511 Then
If S1 = 0 Then Pwm_wert = Pwm_wert + 1 ' S1 Drehzahl erhöhen
End If
 
If Pwm_wert > 0 Then
If S2 = 0 Then Pwm_wert = Pwm_wert - 1 ' S2 Drehzahl verringern
End If
 
If S3 = 0 Then Pwm_wert = 255
 
'PWM-Werte zuweisen
'Variable > 255 -> PWM1a = Variable - 255 ; PWM1b = 0
'Variable < 255 -> PWm1a = 0 ; PWM1b = 255 - Variable
'Variable = 255 - > Pwm1a = 0 ; Pwm1b = 0
If Pwm_wert > 255 Then
Pwm1a = Pwm_wert - 255
Pwm1b = 0
Elseif Pwm_wert < 255 Then
Pwm1a = 0
Pwm1b = 255 - Pwm_wert
Else
Pwm1a = 0
Pwm1b = 0
End If
 
Waitms 20
 
If Pwm_wert <> Pwmold Then
Print Pwm_wert
Pwmold = Pwm_wert
End If
 
Loop
 
End
 
 

-------------------------------------------------------------------------------------------
hier mein aktueller TinyKatalog

Dateianlage:
fahrtregler.bas.txt
Tüftler_Senior Offline




Beiträge: 76

15.05.2013 21:58
#12 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Gerhard

Dein Listing ist super, alles klappt habe lediglich
in Zeile 46 Pwm1a = Pwm_wert - 256 etwas abgeändert!
Grund dafür war das die Led im Wert 511 nur klimmt und nicht
voll angesteuert wurde!

Danke für das Listing

Wie fügst du die Listing im Text mit Zeilen Nummern ein??

Gruß Michael

diezel Offline



Beiträge: 709

15.05.2013 22:19
#13 RE: H-Brücke mit Bipolar Transistor Zitat · antworten

Hallo Michael,

Zitat
Danke für das Listing


Bitte bitte

Zitat
Wie fügst du die Listing im Text mit Zeilen Nummern ein??


Du klickst auf Antworten. Im nächsten Fenster sind rechts oben die Code-Buttons, z.B. für Fettschrift, Kursiv, Unterstrichen und gleich das nächste, mit den <>-Pfeilen, ist genau die Funktion, mit der Code so dargestellt wird.


Gruß
Gerhard

-------------------------------------------------------------------------------------------
hier mein aktueller TinyKatalog

 Sprung  

Xobor Forum Software von Xobor
Einfach ein eigenes Forum erstellen