Forum: Mikrocontroller und Digitale Elektronik fahrtregler (vor/zurück) - ansteuerung


von Martin Krellmann (Gast)


Angehängte Dateien:

Lesenswert?

hallo...

ich habe dieses schema für einen fahrtregler (modellbau) auf der basis
eines kleinen fahrtreglers, den es bei conrad (art: 245232) zu kaufen
gibt entworfen. der unterschied ist, dass ich anstelle von normalen npn
und pnp transistoren p- und n-kanal mosfets verwende... das man die
einfach gegeneinander ersetzen kann ist okay, soweit ich gelesen hab
(kenn mich mit mosfets noch nich so richtig aus - muss ich dazu sagen
;) )

die sache ist nur, dass immer nur die einer der IRF3205's angesteuert
werden darf... dafür hab ich noch eine schaltstufe aus zwei
npn-transistoren und einem negator davor gesetzt. die stufe ist an den
µC angeschlossen. der kollektor der npn-transistoren ist an einen PWM
kanal des µC's angeschlossen.

die frage ist jetzt: funktioniert das so, wie ich mir das vorstelle?
insbesondere, das zusammenspiel von mosfet und npn transistor?

ich hab den schaltplan als pdf angehängt...

wäre echt dankbar für hilfe
thx
martin

von Bernhard Gebert (Gast)


Lesenswert?

Hallo Martin,

in deinem Schaltplan gibt es einige Unstimmigkeiten, wie z.B. die
Ansteuerung über einen 200R-Widerstand oder die Beschaltung der
Transistoren.
Dass man MOSFETs am besten mit speziellen Treibern ansteuert, geht aus
fast unzähligen anderen Threads hervor (-> Suchfunktion).

Viele Grüße,
Bernhard

von Axel R. (Gast)


Lesenswert?

ich kann nichts richtig erkennen, schade...

von Simon K. (simon) Benutzerseite


Lesenswert?

@Axel, ich dachte schon ich wär der einzige..

Sorry, aber Übersichtlicher wär schon gut. Und warum PDF? PDF ist nicht
für Bilder sondern für Text (mit Bildern). Eagle kann auch ins .png
Format exportieren, meist nur einige-Zehn-Kilobytes groß.

Die Verbindungspunkte kommen übrigens nur an Kreuzungen, wo ein Kontakt
herschen soll. Und nich an jedes Bauteilbein.


PS: Guck dir mal den ICL7667 an. (Reichelt hat ihn soweit ich weiß).
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1485
Leider Inverting aber macht ja au nix

von Martin Krellmann (Gast)


Lesenswert?

sorry das das so unübersichtlich is... war ursprünglich nicht zum
rausgeben gedacht - ich mach das dann nochmal ordentlich

@Simon Küppers (Simon)
eagle erzeugt warnungen beim prüfen mit erc, wenn die verbindungspunkte
nicht genau da sitzen, wo sie jetzt überall sind...

das mit den 220R widerständen hab ich aus dem conrad-schaltplan
übernommen - dachte das wäre okay, weil ich ja wie gesagt dachte das
sich die normalen transistoren ohne weiters durch mosfets ersetzen
lassen...

wie mach ich das denn jetzt am besten? nur meine (zugegeben sehr
unglückliche - gefällt mir selbst auch nicht so gut) ansteuerung (die
npn-transistoren) durch treiber ersetzen? oder auch die 220R
widerstände?

von Simon K. (simon) Benutzerseite


Lesenswert?

Was das komische ERC sagt, is mir auch manchmal schleierhaft, deswegen
juckts mich garnicht.

Mit den Treibern geht es wesentlich einfacher.
Du kannst nämlich die Schwachen TTL Signale aus AVR, PIC und co,
einfach in den Treiber reingeben. Dieser hat dann schon entsprechende
Transistoren eingebaut um den hohen Strom, der für die MOSFET-Gate
Umladung benötigt wird, zu liefern.

also:

µC -> Treiber -> (evtl Gatewiderstand) -> Mosfet(gate)

von Martin Krellmann (Gast)


Lesenswert?

okay...

ich müsste also mein pwm signal nach wie vor duch meine npn transitoren
jagen (um es auf den jeweiligen treiber kanal aufschalten zu können) und
dann den treiber, der das mosfet steuert?

was nehme ich am besten für einen gate widerstand? gibts da standards
(so wie bei nem push up resistor meist 10k) oder is das
bauteilabhängig?

von Martin Krellmann (Gast)


Lesenswert?

noch was: gibts für den ICL7667 ne eagle lib?

von Simon K. (simon) Benutzerseite


Lesenswert?

Nein, PWM Signal vom AVR direkt in den Treiber.

Gatewiderstand ist eigentlich unnötig. Aber wenn, dann geringe Werte
verwenden, damit entsprechend hohe Ströme fließen können (Werte von
10-22 ohm oder sowas)

von Martin Krellmann (Gast)


Lesenswert?

der atmega8 hat doch nur drei hw-pwm kanäle... ich bräuchte doch dann
vier...

oder kann ich das ausgangssignal von einem treiber kanal als
eingangswert für den anderen nutzen? braucht doch dann wieder nen
widerstand zur strombegrenzung, oder?

von Martin Krellmann (Gast)


Lesenswert?

"usgangssignal von einem treiber kanal als
eingangswert für den anderen nutzen"
-> das ist ja quatsch... dann spinnt ja der motor

wie gesagt: ich darf jeweils nur ein IRF3205 ansteuern... und hab nur 3
pwm kanäle.
ich muss 2 motoren steuern. deshalb dachte ich mir nehme ich für jeden
motor einen separaten pwm kanal und dann schalte ich den pwm kanal
(z.b. mit npn-transistor) entweder auf den einen treibereingang oder
auf den anderen (so wie ich das halt erst hatte, nur jetzt mit
treiber)

geht doch nicht anders, oder hab ich jetzt nen brett vorm kopf? ;)

von Axel R. (Gast)


Lesenswert?

vorfür brauchst Du denn 4Kanäle?
Du brauchst den PWMA+PWMB vom Timer1 und legst entprechend je einen
frei definierbaren Portpin auf die gegenüberliegenden "oberen"
Transistoren.
Ist dein Eingangsimpuls >1550us schaltet der "obere linke" Transistor
dauerhaft durch und der "untere rechte" Transistor wird von PwmA
PORTB.1 angesteuert.Bei Eingangsimpulsen <1480us schaltet der "obere
rechte" durch und der "untere linke" wird vom PwmB PORTB.2 mit PWM
Signalen angesteuert. Die PWM-Größe musst Du entsprechend ausrechnen.
1500 für die neutrallage-> beide PWM-Kanäle ausschalten. Wenn man die
Zeitbasis geschickt wählt, kommt man ohne große Bitschiebereien direkt
von den anliegenden us zur PWM(OCR1A bzw OCR1B) Stellgröße.
Ich möchte niemanden mit meinen FastAVR Quellen langweilen - daher hier
nur als Fließtext...

von Axel R. (Gast)


Lesenswert?

> ich muss 2 motoren steuern.
habe ich zu spät gelesen, sorry...

von Martin Krellmann (Gast)


Lesenswert?

dein gedanke war jetzt also, dass ich die IRF4905 MOSFETs auch vom µC
aus ansteuere und mit der pwm taktung auf die "unteren" jeweils die
u/min des motors definiere? (hab ich das richtig verstanden - musste ne
ganze weile überlegen) das ich quasi die ansteuerung über die 220R
widerstände ersetze durch einen treiber, der vom µC gesteuert wird?

geht doch dann aber für zwei motoren trotzdem nicht, da würde doch ein
pwm-kanal fehlen und ich steh wieder vor dem problem für die
"unteren" transistoren pro baugruppe einen pwm zu nehmen und den
umzuschalten... oder seh ich das falsch?

ne idee:
die oberen transistoren über einen treiber (kontrolliert vom µC)
ansteuern und jeweils mit dem entsprechenden eingangsignal am treiber
auf den transistor diagonal unten einen pwm aufschalten.
jetzt ist nur die frage, wie die aufschaltung auf den treiber für die
"unteren" mosfets funktionieren soll... also ob ein npn-transistor
passend ist (hatte BC547 geplant)

thx
martin

von Axel R. (Gast)


Angehängte Dateien:

Lesenswert?

Jetzt habe ich erstmal deine Schaltung richtig angesehen :-))

Grundlegend keine schlechte Idee, das so zu machen. Die PMOS quer über
die NMOS anzusteuern ist allerdings keine so gute Idee. Das
funktioniert zwar auf dem Papier und vielleicht auch noch, wenn Du
einen Widerstand als Motor nimmst, aber (leider) nicht mehr im Feld.
Hinzu kommt, dass die PMOS i.d.R. einen schlechteren RDS_on haben und
bei gleichzeitiger PWM-Taktung der Motor im Off-Zustand beider
Transistoren seine BackEMF über zwei PN übergänge abführen muss
(Bodydiode vom PMOS und vom NMOS bzw. über die Freilaufdioden).
Bleibt der -jeweils quergegenüberliegende- PMOS durchgesteuert, fällt
schonmal eine Diodenstrecke weg. Das glüht Dir sonst nach 3Minuten
alles wech =X-(_

Die PMOS separat anzusteuern, ist kein Problem, der AVR macht ja, was
Du sagst. Da braucht eigentlich nichts verriegelt zu werden.
Aufpassen muss man allerdings: Der neue Wert im OCR1A/B wird erst nach
Timer1 Überlauf zugewiesen. Beim Richtungswechsel immer erstmal ein
paar Fernsteuerpakete warten und ruhig die Totzone etwas großzügiger
wählen.

Motorentstörung nicht vergessen...

Bild ist ganz schön groß geworden, sorry

Gruß
AxelR.

von Martin Krellmann (Gast)


Lesenswert?

cool... danke.

hab allerdings noch nen paar fragen:
- wie müssen Q1-4 dimensioniert sein?
- die motoren müssen unabhängig von einander laufen... d.h. ist es
nicht besser jeweils einen pwm kanal pro motor zu nutzen?

von Axel R. (Gast)


Lesenswert?

für Q1 bis Q4 kannst Du nehmen, was du hast z.B. 2N7002, BS170 oder auch
was bipolares, wie einen z.B. BCR148.

es ist natürlich besser, für jeden Motor einen PWM Kanal zu nutzen-ich
bin von meinem vorhandenen Programmgerüst ausgegangen.
Da habe ich für vorwärts und rückwärts einen getrennten PWM Kanal
genommen. PIN6 und PIN8 vom U1 tauschen. dann solte es gehen.
Die Ansteuerung der PMOS ist NICHT optimal. Da diese aber nur statisch
geschaltet werden (eben keine PWM). kann man das tolerieren.
Ich habe die Freilaufdioden parallel zu dem MOSFETs weggelassen. Wenn
alles nicht ZU warm wird, kannst Du hier dicke Schottkys vorsehen.
Sonst schnelle Gleichrichter (keine 1N4001!). Die MOSFET's werden
sonst im teillastbereich sehr warm/heiß.

von Martin Krellmann (Gast)


Lesenswert?

ich hab mbr 4045pt als freilaufdioden... die hängen dann mit den mosfets
zusammen an einem großen kühlkörper (dacht ich mir zumindest so) sieht
zwar im layout etwas kaotisch aus, aber is ja auch egal ;)

von Martin Krellmann (Gast)


Angehängte Dateien:

Lesenswert?

ich habs jetzt so gemacht...

was bei dir Q1-Q4 war hab ich noch als IRF3205 da stehn, hab ich noch
nicht geändert

von Axel R. (Gast)


Lesenswert?

jep, Q7-R14 noch mal nachsehn, ob der dranne ist.
überall noch 100nF parallel zur Betriebsspannung.

von Martin Krellmann (Gast)


Angehängte Dateien:

Lesenswert?

okay...
hast du für den 2n7002 smd (package sot 23) ne eagle lib? ich brauch da
nen transistor im smd package... sonst komm ich in platzprobleme

ansonsten hab ichs jetzt fertig

thx
martin

von AxelR. (Gast)


Lesenswert?

zetex.lbr ->NMOSSOT23 ->add

2N7002 kannst Du selbst drannschreiben

gruß
AxelR.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.