ATMEL-AVR + PWM

F

Frank Donauer_

Guest
Hallo NG,

ich möchte mit einem AT90S.... einen Regler/Steller
für Modellbau-Elektromotoren aufbauen.
Die Motoren werden IMHO durch PWM gesteuert.

Welche PWM-Frequenz sollte man hierfür verwenden?
Gibt es IC´s, die die PWM selbstständig erzeugen?

Der ľC hat schon genügend zu tun, dass ich zum
erzeugen der PWM einen 2. ľC einsetzen müsste.
Er wertet das Signals des Empfängers aus, misst
die Versorgungsspannung um den Motor bei Unterschreiten
eines Schwellenwertes abzuschalten und soll noch die
Temperatur der Mosfet´s überwachen.


Welche MOSFET´s werden für diese Aufgabe üblicherweise
verwendet? Anforderungen:
- klein
- ausreichend schnell
- >=10A
- erschwinglich

Im Conrad-Katalog (Reichelt hab ich grad nicht da)
habe ich ein SMD-MOSFET mit 15A gefunden.
(14 04 49-88) Taugt das für diese Aufgabe?
Wie warm darf so ein MOSFET max. werden?

Danke für Eure Hilfe!

Frank
 
Frank Donauer_ wrote:
ich möchte mit einem AT90S.... einen Regler/Steller
für Modellbau-Elektromotoren aufbauen.
Du willst das Rad neu erfinden? Im weltweiten Netz gibt es etliche
Schaltpläne und Anleitungen für sowas zu finden. Irgendeiner davon wird
wohl auch Atmel verwenden.

Gruß,
Michael
 
Frank Donauer_ wrote:

Hallo NG,
Hallo Frank,

ich möchte mit einem AT90S.... einen Regler/Steller
für Modellbau-Elektromotoren aufbauen.
Die Motoren werden IMHO durch PWM gesteuert.
wie viele Motoren mit welchen Daten sollen denn pro Atmel angeschlossen
werden?

Der ľC hat schon genügend zu tun, dass ich zum
erzeugen der PWM einen 2. ľC einsetzen müsste.
Eigentlich sollte ein Atmel doch genuegend Hardware-PWMs mitbringen, um ein
paar Motoren damit zu steuern, beim Mega128 sind es 8 PWM Kanaele...

Welche MOSFET´s werden für diese Aufgabe üblicherweise
verwendet? Anforderungen:
- klein
- ausreichend schnell
- >=10A
- erschwinglich
- niedriger R DS(on) um die Verlustleistung zu begrenzen.

Im Modellbaubereich setzt man eher min 30A Dauerstrom an, da fuer diesen
Strom die ueblichen SUB-C-Zellen ausgelegt sind, bei blockiertem Motor, was
insbesondere bei Modellautos auftreten kann, liegen die Stroeme kurzzeitig
auch deutlich höher...
IRFZ44 faellt mir dabei spontan bei konventioneller Bauform ein:
0,024 Ohm R DS(on), bis 50A Dauerstrom

Bye Daniel

--
.~. Daniel Schramm Phone: +49 231 6108112 Mail:daniel.schramm@gmx.de
/V\ Bruehlweg 36 Mobile:+49 178 8839848 ICQ: 35816985
// \\ 44379 Dortmund Fax: +49 231 96989961 WWW: pinguin.sauerland.de
/( )\ Germany
^`~'^
 
Michael Hofmann wrote:

Frank Donauer_ wrote:

ich möchte mit einem AT90S.... einen Regler/Steller
für Modellbau-Elektromotoren aufbauen.

Du willst das Rad neu erfinden? Im weltweiten Netz gibt es etliche
Schaltpläne und Anleitungen für sowas zu finden. Irgendeiner davon wird
wohl auch Atmel verwenden.
Ja, aber einige davon verwenden normale BC547 als Treiber für die MOSFETs.
Das ist nicht mehr als eine Spielerei, da so die FET's nicht schnell genug
auf- bzw. zu gesteuert werden. Bessere Schaltpläne im Internet haben sogar
Spannungsvervielfacher, um die MOSFET's sicher aufzusteuern.

Es gibt von Maxim einen eleganten Treiber für MOSFET's, den MAX620 bzw.
MAX621. Der ist für diese Anwendungen (H-Brücke) wie geschaffen.

Ich will sowas auch bauen, hier neben meinem Schreibtisch liegt sogar ein
"Prototyp", nur irgendwie komm ich nicht dazu, leider...


Gruß,

Christian
 
"Frank Donauer_" <Frank.Donauer@de.bosch.com> schrieb:

Der ľC hat schon genügend zu tun, dass ich zum
erzeugen der PWM einen 2. ľC einsetzen müsste.
Wieso das? Alle besseren AVRs haben hardware-PWM, die größeren
(allerdings dann wohl ATmega) sogar mehrere in einem Timer.

--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
Daniel Schramm <daniel@pinguin.sauerland.de> schrieb:

Im Modellbaubereich setzt man eher min 30A Dauerstrom an, da fuer diesen
Strom die ueblichen SUB-C-Zellen ausgelegt sind, bei blockiertem Motor, was
insbesondere bei Modellautos auftreten kann, liegen die Stroeme kurzzeitig
auch deutlich höher...
IRFZ44 faellt mir dabei spontan bei konventioneller Bauform ein:
0,024 Ohm R DS(on), bis 50A Dauerstrom
Viel zu schlecht. Rechne mal nach was bei 50A und 24 mOhm an Leistung entsteht.

Dann schon eher SUP75N03-04, IRL2203N (TO220) oder IRF7413 (SO8, gibts bei Reichelt)
und davon mehrere parallel.

Ich bastel grade was mit zwei IRF7413 und einem ATtiny12. Das ist zwar noch nicht
fertig, aber ein/auschalten problemlos bei 17 Volt und 12 Ampere getestet (bleibt kalt).
Ansteuerung über BC807 und BC817 im Gegentakt direkt aus der Fahrakkuspannung,
level shifting mit BC846. Soll mit 3 kHZ PWM steuern (wenn der Assembler code fertig ist :)

Schon fertig habe ich einen Regler mit einer H-Brücke aus 12 IRL2203N angesteuert
über AT90S2313 (programmiert in C). Funktioniert auch sehr schön, aber ich hab
keinen aktuellen Schaltplan mehr (zuviele Änderungen nach Aufbau der Platine :)

Für den OP mal ein interessanten Link: http://www.nessel.info/
Ist zwar etwas Konfus die Seite, aber ein guter Händler.

Gruss
Marcus

--
http://openbeos.org
 
Hallo Michael

"Michael Hofmann" schrieb:
Du willst das Rad neu erfinden? Im weltweiten Netz gibt es etliche
Schaltpläne und Anleitungen für sowas zu finden. Irgendeiner davon wird
wohl auch Atmel verwenden.
Ich bin mit den AT90.. am rumtesten. Habe 2 Tesboard`s aufgebaut, suche
aber ständig nach sinnvollen Anwendungen. Diese Regler gibts schon
ab 20¤, deshalb rechnet sich die Eigenentwicklung ohnehin nicht.
Auf jeden Fall such ich jetzt mal nach einem Schaltplan eines fertigen
Reglers wegen der externen Beschaltung.

Gruß,
rank
 
Hallo Daniel,

"Daniel Schramm" schrieb:
wie viele Motoren mit welchen Daten sollen denn pro Atmel angeschlossen
werden?
1-2 Motoren unterschiedlicher Leistungsklassen von je 8A bis max. 30A.

Eigentlich sollte ein Atmel doch genuegend Hardware-PWMs mitbringen, um
ein
paar Motoren damit zu steuern, beim Mega128 sind es 8 PWM Kanaele...
Da ich die ľC mit Bascom programmiere, war mir nicht so ganz bewusst,
was im fertigen Kompilat steht. Ich bin halt davon ausgegangen, dass
wenn ich PWM am laufen habe, ich das Programm nicht in einer Warte-
schleife belassen darf. Aber wenn es sich um Hardwarefunktionen handelt,
sollte dies eigentlich kein Problem sein.

- niedriger R DS(on) um die Verlustleistung zu begrenzen.
klar

Im Modellbaubereich setzt man eher min 30A Dauerstrom an, da fuer diesen
Strom die ueblichen SUB-C-Zellen ausgelegt sind,
Sanyo RC2400 IMHO bis 100A (gepusht u. selektiert)

IRFZ44 faellt mir dabei spontan bei konventioneller Bauform ein:
0,024 Ohm R DS(on), bis 50A Dauerstrom

Gruß,
Frank
 
Hallo Jörg,

"Joerg Wunsch" schrieb:

Wieso das? Alle besseren AVRs haben hardware-PWM, die größeren
(allerdings dann wohl ATmega) sogar mehrere in einem Timer.
Sind das die AVRs, welche 2 Timer besitzen, dann sollte das mit
manchen AT90 auch gehen. Wo ist eigentlich der Unterschied zwischen
AT90 und Atmega?

Gruß,
Frank
 
Frank Donauer_ schrieb:

Da ich die ľC mit Bascom programmiere, war mir nicht so ganz bewusst,
was im fertigen Kompilat steht. Ich bin halt davon ausgegangen, dass
wenn ich PWM am laufen habe, ich das Programm nicht in einer Warte-
schleife belassen darf. Aber wenn es sich um Hardwarefunktionen handelt,
sollte dies eigentlich kein Problem sein.
Ich habe bisher mit dem AVR4433 herumgebastelt und muß immer
wiederholen: So schön die Hochsprachen für die Mikrokontroller auch
sind, richtig kennen lernt man den Käfer nur mit Assembler.


--
Mit freundlichen Grüßen
Andreas Bockelmann
V+49-172-6993141
 
"Frank Donauer_" <Frank.Donauer@de.bosch.com> schrieb:

Wieso das? Alle besseren AVRs haben hardware-PWM, die größeren
(allerdings dann wohl ATmega) sogar mehrere in einem Timer.

Sind das die AVRs, welche 2 Timer besitzen, dann sollte das mit
manchen AT90 auch gehen.
Warum bist Du zu faul, mal selbst zu gucken?

http://www.atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC

Da gibt's eine Spalte "PWM (Channels)".

Selbst der AT90S2313 hat also einen, der AT90S1200 dürfte der einzige
AT90xxx sein, der keinen hat (aber das ist eher die Klasse eines
ATtiny, der heißt mehr zufällig AT90, weil sie die Tinys damals noch
nicht erfunden hatten).

Wo ist eigentlich der Unterschied zwischen
AT90 und Atmega?
Ist schon ausgiebig diskutiert worden. Von den nicht-wirklich-ATmegas
mal abgesehen (ATmega103 und ATmega163, vielleich auch 323, den kenne
ich nicht so genau), die noch AT90xxx Technologie sind, vor allem:

.. neue Technologie (kleinere Strukturen), die bessere EMV-Festigkeit
bringt sowie höhere Geschwindigkeit (zumeist 8 MHz bei 3 V, 16 MHz
bei 5 V), bei gleichem Takt stromsparender

.. neuer CPU-Kern, der u. a. einen Hardwaremultiplizierer hat, IMHO
sind auch die 16-bit-Transfer-Befehle dort hinzugekommen (kenn mich
da nicht so aus, das macht der Compiler für mich ;)

.. Bootloader-fähig (d. h. der ROM kann vom Programm aus neu geschrieben
werden)

.. um einiges erweiterte Timer (fast PWM mode, CTC-Modus hat keinen
off-by-one error mehr, wenn Vorteiler benutzt werden, viele
Kleinigkeiten)

.. TWI (aka I˛C) Interface (hat auch der ATmega163 schon, hat aber dem
Vernehmen nach dort noch Bugs)

.. JTAG-Interface bei MCUs >= 16 KB ROM

.. kalibrierten on-chip RC-Oszillator

.. Watchdog-Oszillator ist deutlich spannungsstabiler als bei AT90

.. ADC wahlweise differentiell und mit Vorverstärker

.. sicher habe ich was vergessen ;-)

Einige der Features aus der neuen Technologielinie haben sich dann
auch in neueren ATtinys wiedergefunden.
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
Hallo Jörg,

"Joerg Wunsch" schrieb:

Warum bist Du zu faul, mal selbst zu gucken?
Habe hier kein Web-Zugang u. zuhause geht News im Moment
nicht (bin zu faul mal einen gescheiten Spam-Filter zu
installieren).

Danke für die vielen Infos!

. kalibrierten on-chip RC-Oszillator
Was ist das denn?

Gruß
Frank
 
Hallo Andreas,

"Andreas Bockelmann" schrieb:
Ich habe bisher mit dem AVR4433 herumgebastelt und muß immer
wiederholen: So schön die Hochsprachen für die Mikrokontroller auch
sind, richtig kennen lernt man den Käfer nur mit Assembler.
Ist schon klar, aber so weit wollte ich in die Materie nie
einsteigen. Wer programmiert denn heute noch in Assembler?


Gruß
Frank
 
"Frank Donauer_" <Frank.Donauer@de.bosch.com> schrieb:

. kalibrierten on-chip RC-Oszillator

Was ist das denn?
Ein RC-Oszillator für den Haupttakt, teilweise 1 MHz, bei einige Typen
auch 1/2/4/8 MHz, bei dem Atmel Dir für Vcc = 5 V ein Kalibrierbyte im
EEPROM mit auf den Weg gibt (leider nur vom Programmiergerät
auslesbar). Dieses Kalibrierbyte wiederum, beim Start in ein internes
IO-Register geschrieben, sagt Dir, daß der Takt jetzt (ą was weiß ich
wieviel %) dem Sollwert entspricht.

Den Prozeß, daß mitgelieferte Kalibrierbyte auszulesen und z. B. in
den Programm-seitig lesbaren EEPROM zu kopieren, kann man sich
automatisieren, wenn man eine Serienfertigung machen möchte. Damit
hat man dann eine einigermaßen genaue Taktbasis, die allemal
ausreicht, um z. B. eine UART zu betreiben. Vorteil gegenüber Quarz
ist der (IMHO) geringere Stromverbrauch und vor allem der viel
schnellere Start. Letzteres kann besonders dann von Interesse sein,
wenn man den Prozessor öfter mal schlafen legen möchte, um Strom zu
sparen.

Ein Quarz ist eigentlich nur noch nötig, wenn man wirklich eine genaue
(und langzeitstabile) Frequenz haben muß.

Übrigens auch noch vergessen: der ADC hat jetzt wahlweise eine
interne Referenzspannungsquelle (bandgap reference).
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
Joerg Wunsch <j@ida.interface-business.de> wrote:

Übrigens auch noch vergessen: der ADC hat jetzt wahlweise eine
interne Referenzspannungsquelle (bandgap reference).
Die ist aber beeindruckend ungenau.

Olaf


--
D.i.e.s.S. (K.)
 
Olaf Kaluza <olaf@criseis.ruhr.de> schrieb:

Übrigens auch noch vergessen: der ADC hat jetzt wahlweise eine
interne Referenzspannungsquelle (bandgap reference).

Die ist aber beeindruckend ungenau.
Im Sinne von fester Abweichung (ja, das habe ich gelesen) oder
Kurz-/Langzeitstabilität?
--
Jörg Wunsch

"Verwende Perl. Shell will man können, dann aber nicht verwenden."
Kristian Köhntopp, de.comp.os.unix.misc
 
Joerg Wunsch <j@ida.interface-business.de> wrote:

Im Sinne von fester Abweichung (ja, das habe ich gelesen) oder
Kurz-/Langzeitstabilität?
Ueber Langzeitstabilitaet kann ich nicht nichts sagen. Ich mein die
feste Abweichung. Da kann man durchaus 10-20% erleben. (AT Tiny15)

Olaf

--
D.i.e.s.S. (K.)
 

Welcome to EDABoard.com

Sponsor

Back
Top