Forum: Mikrocontroller und Digitale Elektronik AVR protabel betreiben


von Carmen Keller (Gast)


Lesenswert?

Hallo,

ich habe ein Hebel am Servo gebastelt, der in einem vorgegebenem
Zeitabstand sich nach links und rechts
bewegt. Das ganze habe ich mit dem MEGA8515 und einem billigen Conrad
Servo realisiert. Programmiert habe
ich mit AVR Studio über STK500.

Nun zu meinen Frage:

Ich möchte zum ersten mal ein portables System mit einer 9V Versorgung
und einer LM7805 bauen. Daran den Prozessor,
zwei drei Tasten (für variable Zeitintervalle), einen Schalter und
schließlich den Servo. (Die Grundbeschaltung der AVR Prozessoren
ist mir bereits bekannt, nur gibt es noch einige Anfängerfragen.)

- Muss ich eine Reset Schaltung vorsehen?

- Sollte ich eine ISP Schnittstelle vorsehen, obwohl das fertige
Programm, getestet auf dem STK500, funzt?
  Wenn Ja, müsste diese externe Schaltung trotzdem mit dem STK500 zu
programmieren sein. Stimmts?

- XTAL1 und XTAL2, muss ich die anschließen, obwohl ich den internen
Quarz benutzen will?

Vielen Dank für die Antworten.

Gruß

Carmen

von Schorschi (Gast)


Lesenswert?

hi,

wenn du den internen oszillator verwendest musst du an xtal1 und 2
nichts anschliessen.

Ansonsten kommt da die standart beschaltung mit resetschaltung usw.
findest aber alles im tutorial. Auch die Programmierschnittstelle.

gruss,
schorschi.

von Karl heinz B. (kbucheg)


Lesenswert?

> Muss ich eine Reset Schaltung vorsehen?
Schadet nicht. 10k nach Vcc und gut ists.

> Sollte ich eine ISP Schnittstelle vorsehen
Na ja, wenn du den Prozessor nie wieder umprogrammieren
willst, kannst du's auch lassen. Selbiges wenn du den
Platz nicht mehr hast.
Ansonsten: mach eine rein. Lohnt sich auf lange Sicht meistens.

> XTAL1 und XTAL2, muss ich die anschließen, obwohl ich den
> internen Quarz benutzen will?
Gegenfrage: was willst du daran anschliessen, wenn nicht einen
Quarz? Da du keinen Quarz benutzen willst, lässt du die Pins
einfach frei.

von Asterix-007 (Gast)


Lesenswert?

Moin, moin,

prinzipiell must du gar nichts, ;-)  , aaaber:

1. du solltest den Reset deines Mega mit 47pF gegen Masse und 10k gegen
VCC (5V) beschalten. Siehe hier im Tutorial da ist die Schaltung. Ein
offener Reset-Pin kann sonst ganz schön Kopfschmerzen bereiten!! Ein
extra Taster ist manchmal ganz brauchbar!
2. die Schnittstelle für den ISP ist Geschmackssache. Normalerweise
sollte dein Mega nach dem Flashen im STK500 funktionieren.
Normalerweise!! Das bedeutet aber auch, das du für jede Änderung,
welche mit Sicherheit kommt, den Chip von der Platine ziehen, auf das
STK500 stecken, neu flashen und wieder zurück stecken must. Wie lange
das die Beine des Chips mitmachen ist fraglich. Wenn du einen ISP hast,
mach die Schnittstelle mit auf die Platte! Ist ja nicht viel Arbeit! So
kannst du immer wieder etwas ändern. Ab und zu verhält sich ein Chip im
Testaufbau anders als im eigentlichen Board. Hier ist die
ISP-Schnittstelle unerläßlich!! Solltest Du keinen ISP besitzen, bau
dir wenigstens einen dieser Parallel-Flasher! Ist keine vergebliche
Investition!
3. Datenblatt Seite29: When the Internal Oscillator is used... ...XTAL1
and XTAL2 shouldt be left unconnected (NC). ...  => du brauchst sie
nicht beschalten.

Viel Spaß beim Basteln!

mfg
Asterix-007

von Jens D. (jens) Benutzerseite


Lesenswert?

Was heisst portabel??
An einem Akku?
Oder an einem Netzteil??

von Karl heinz B. (kbucheg)


Lesenswert?

> mit 47pF gegen Masse und 10k

Den 47pF kannst du dir sparen. Entweder weglassen
oder einen 47nF nehmen.

von Jens D. (jens) Benutzerseite


Lesenswert?

100nF tun es auch, den brauchste eh bei dem Controller..

Ist ehr unkritisch, wenn du nicht alle mS immer Resetten willst

von A.K. (Gast)


Lesenswert?

"mit 47pF gegen Masse"

47nF. Der Wert im Tutorial ist falsch.

von Carmen Keller (Gast)


Lesenswert?

Hallo,

portabel heißt, nur batteriebetrieben.
Okay, ich lasse denC weg.
Bezüglich ISP noch eine Frage:

Sollte ich so einen Anschluss machen,
kann ich den dan direkt am STK500 anschließen, und
mit AVR programmieren?

Gruß

Carmen

von Jens D. (jens) Benutzerseite


Lesenswert?

Du meinst den AVR..

Ja, kannst du.

Ich empfehle dir nur keinen 9V Block, der hat kaum Leistung
Schau ehr nach 4-5 Mignon Zellen, die gibt es bis 2000mAh die 9V Blocks
haben idr nur 150mAh

Gruss

von Manos (Gast)


Lesenswert?

Hast Du mal ausgeechnet, auf welchen Gesamtstrom Deine Schaltung kommt?
K.A. was so ein Servo zieht.

Eine 9V Blockbatterie zu nehmen wenn man nur 5V benötigt ist m.e. keine
gute Wahl, da man die verbleibenden 4V dann bei einem 7805 "verheizen"
muß. Besser wäre hier vielleicht 4xAAA als Accu (4,8V).
Alternativ könnte man auch schauen ob man vielleicht einen passenden
DC/DC-Wandler findet.
um Testen geht natürlich die Blockbatterie mit dem 7805 - aber für
einen Dauerbetrieb würde ich evtl. nach was anderem schauen.

Wenn es kompakt werden soll könnte man auch noch mal über eine
Alternative zum Mega8515 (40 Pin) nachdenken da Du bestimmt nicht alle
35 I/O's verwenden wirst. Je nach Codegröße reicht hier wahrscheinlich
auch schon ein Tiny2313 bzw. Tiny26 (beide 20 Pin).

von Carmen Keller (Gast)


Lesenswert?

Hallo Manos,

der Servo müste meiner Meinung nach ca. 20mA ziehen. Dann kommen noch
zwei Tasten (INT0 und INT1), eine Taste am Reset, und der 7805.
Vielleicht noch eine LED davor. Zusammen müsste ich auf ca. 100 -
120mA. Das würde dann bedeuten, dass die Anwendung mit einer
Blockbatterie nur eine
Stunde laufen würde. Dann wäre Feierabend. Das ist zu wenig. Das sollte
schon so 10 Stunden laufen.

Nehmen wir mal an, ich baue die Schaltung mit 4 - 5 Mignon Zellen
(2000mAh) auf, dann bräuchte ich auch kein Regler. Oder?

Gruß

Carmen

von Karl heinz B. (kbucheg)


Lesenswert?

> der Servo müste meiner Meinung nach ca. 20mA ziehen

Wenn es nichts tut vielleicht.
In dem Moment wo es fährt, ist es mit den 20mA Essig.
Wenn es dann auch noch eine Last betätigen muss, geht
der Stromverbrauch ganz schnell in höhere Sphären über.

Unbedingt in der fertigen Schaltung ausmessen!
Welchen Stromverbrauch du hast, hängt im wesentlichen
davon ab, was das Servo tun muss!

von Carmen Keller (Gast)


Lesenswert?

Hallo Karl-Heinz,

okay dann sind es halt maximal 40mA unter Last (Habs aber noch nicht
gemessen). Maximaler DC Current per/IO Pin am AVR beträgt 40mA.

Gruß

Carmen

von Manos (Gast)


Lesenswert?

4 (Accu-)Zellen sind 4,8V, 5 Zellen sind "out of limit" (6V). Mit
normalen Batterien könntest Du dann auch mit 3 Zellen (4,5V) arbeiten.
Da der Mega8515 zwischen 2,7V-5,5V arbeitet sollte auch das kein
Problem darstellen.

Und... Ja, bei 4,8V bzw. 4,5V brauchst Du dann keine Regler mehr
(hoffentlich bricht die Spannung nicht zu sehr ein beim bewegen des
Servos).

von Hannes L. (hannes)


Lesenswert?

@Carmen:
Ehe du weiter über Stromverbrauch spekulierst, miss bitte unbedingt die
Stromaufnahme deines Servos beim Bewegen unter Last. Du wirst dich
erschrecken.

Mit 4 NiMH-Zellen (z.B. 2000mAh) bist du gut bedient, sieh aber bitte
eine Strombegrenzung für den AVR vor, sonst könnte er sich bei einem
Fehler mit einem aus Rauchzeichen bestehenden Telegramm verabschieden.
Ich nehme als Strombegrenzung (nur für den AVR) gern eine
Kleinstglühlampe 6V/100mA in Reihe in die Plusleitung.

Schreib mal, was der AVR sonst noch alles machen soll, vielleicht
reicht ja doch ein kleinerer Typ wie z.B. der Tiny15 (8 Pins).

...

von Asterix-007 (Gast)


Lesenswert?

Hallo,

beachtet bitte, daß die Spannungen pro Akkuzelle stark schwanken! Im
voll geladenen Zustand kann ein Akku bis zu 1,5 V Ladeschlußspannung
besitzen, je nach Technologie und Typ! Bei Akkupacks kann das schon
einige V ausmachen, in dem Bereich die Akkupackspannung zwischen voll
und Leer schwankt.
Bitte nie ohne Spannungsregler betreiben, oder dein AVR kommt mit einer
kleinen weißen Fahne und bedankt sich bei dir.
Genaueres zu Akkus gibt es u.a. hier:

http://www.flyheli.de/akku.htm

Zum Betrieb des Servos: bei Last kann ein Servo bis zu einigen A an
Strom verbrauchen!!!
du solltest zur Sicherheit eine Treiberstufe einplanen! Selbst wenn
deine Anwendung noch im grünen (Servostrom)Bereich liegt kann ein
einfaches Blockieren des Servos den AVR (zumindest diesen PIN) über den
Jordan schicken!!! Einfach mal bei den Modellfliegern googeln!

Also bitte Blockierstrom des Servos messen!!!!

Viel Spaß !

Asterix-007

von Asterix-007 (Gast)


Lesenswert?

Aaah Hannes,

wir haben die gleichen Gedanken!! ;-))

von Carmen Keller (Gast)


Lesenswert?

Hallo,

okay, ich werde heute oder morgen abend den Stromverbauch meines Conrad
Servos
messen. Ich hätte nie gedacht, dass dieser Servo 1A ziehen kann, zumahl
die Last auf 3 cm
30 Gramm ist.

Abgesehen davon, ist es absolut interessant, dass bei so einer Planung
eine Stromversorgung
immer gut überlegt sein muss. Davon hängt ziemlich viel ab. Deswegen
werde ich mich mir heute abend die Seite von Asterix anschauen.
Mein AVR muss eigentlich nur den Servo bedienen, und auf Tastendruck
reagieren. Sonst nichts, Theoretisch
genügt auch ein Tiny2313.

Vielen Dank für die Tips.

Carmen

von Jens D. (jens) Benutzerseite


Lesenswert?

@Asterix-007
Die Servos haben meist eine Spannungsquelle, sowie einen Takteingang,
welcher vom Controller kommt, und nicht belastet wird. Zumindest ist
mein Wissensstand so

von Asterix-007 (Gast)


Lesenswert?

Hallo,

@Jens: hast Recht, war in Gedanken auf einer anderen Baustelle!

@Carmen: hier noch ein Link bezüglich der Servos. Da hast du eine gute
Übersicht über Stellkräfte und die Stromaufnahme! Z.B. das 4421 (unter
Leistungsservos): 9 mA Leerlauf  aber 1,4 A unter Last !!

http://shop.graupner.de/webuerp/servlet/AA?wgr=562

Es gibt bei Graupner auch ein Datenblatt zum Download wo die Servodaten
gelistet sind!

mfg

Asterix-007

von Hannes L. (hannes)


Lesenswert?

Also ich betreibe einige AVRs direkt an 4 NiMH-Zellen und hatte damit
noch keine Probleme. Die Zellen werden natürlich ausgewechselt, werden
also außerhalb der Schaltung geladen.

In der Erprobungsphase habe ich immer eine Glühlampe 6V/100mA als
"Sicherung" in der Plusleitung, beim endgültigen Gerät, an dem nicht
mehr herumgebastelt wird, allerdings nicht mehr.

Wenn nur wenige Pins gebraucht werden, würde ich den Tiny15 empfehlen.
Er hat 5 nutzbare I/O-Pins. Einen davon als Impulsausgang, bleiben
immer noch 4 Pins für die Bedienung, 2 davon sogar als ADC-Eingänge,
was den Einsatz von Potis zur Bedienung ermöglicht.

...

von Carmen Keller (Gast)


Lesenswert?

Hallo,

ich bin jetzt kein Messtechniker, aber mit einem 19 Ohm Widerstand in
der Versorgungsleitung erhalte ich maximal 3V (Messgerät Multimeter),
maccht ca. 160mA

Gruß

Carmen

von Manos (Gast)


Lesenswert?

Ich denke mal, die Info bezieht sich auf den Servo...
Ist natürlich die Frage, ob man mit einem Multimeter Stromspitzen
erfassen kann - denke mal eher nicht. Hinzu kommt natürlich, dass durch
den Spannungsabfall von 60% (von 5V ausgehend) der Servo möglicherweise
auch nicht mehr den maximalen Strom ziehen kann den er würde, wenn er
noch 5V bekäm. 19 Ohm ist in dem Fall kein guter Messwiderstand.

Besser wäre es da vielleicht, das Multimeter direkt in den Strompfad zu
hängen sofern das einen 2A Messbereich hat. Der Messwiderstand im
Multimeter sollte deutlich geringer sein.

von Hannes L. (hannes)


Lesenswert?

So sehe ich das auch, ich hatte mir die Antwort verkniffen, da sie (von
der Wortwahl her) vermutlich derber ausgefallen wäre.

;-)

...

von Carmen Keller (Gast)


Lesenswert?

Jungs,

ihr habt Recht, alles scheiße was ich gemacht habe.
Heute abend bekommt ihr andere Ergebnise, von dem her,
ist jede Antwort, egal welcher Art, gerechtfertigt:)

Carmen

von Hannes L. (hannes)


Lesenswert?

Carmen, falls du mal etwas über'n Gartenzaun schaun willst:
http://www.hanneslux.de/avr/mobau/index.html
Ist nicht unbedingt das Nonplusultra, aber vielleicht hilft es ja etwas
beim Verständnis der Dinge...

Viel Erfolg...
...HanneS...

von Carmen Keller (Gast)


Lesenswert?

Hallo,

@HanneS der Gartenzaun ist ziemlich hoch und sehr scharfkantig.
Trotzdem Danke.

Ich habe einen 1 Ohm Widerstand in die Plusleitung verlegt, und mit
einem billigen Oszi die Spannung gemessen. Auch wenn der Widerstand
immer noch zu hoch ist, sehe ich Ströme, die bis zu 0,5A gehen können.

Also damit ziemlich hoch. Kann dieser Strom den AVR im Worst Case
zerstören.
Und welche Versorgungsstrategie soll ich wählen? 7805 als Regler kann
ich bei 4 Akkus wohl vergessen. Trotzdem benötige ich eine stabile
Versorgung.

Gruß

Carmen

von Hannes L. (hannes)


Lesenswert?

> Kann dieser Strom den AVR im Worst Case zerstören.

Nööö...
Denn dieser Strom fließt auf der Plusleitung (und GBD-Leitung) des
Servos, nicht aber auf der Impulsleitung. Der AVR generiert aber nur
den Impuls und treibt demzufolge nur die Impulsleitung des Servos.
Viele Modellbauer schalten in die Impulsleitung noch einen Widerstand
von 220 Ohm bis 1k, um den AVR (PIC) bei Anschlussfehlern vor
Beschädigung zu schützen.

Also der AVR merkt normalerweise nichts von der hohen Stromaufnahme des
Servos. Denn die Stromversorgung wird direkt (naja, über einen Schalter)
an den Akku (4 x NiMH) angeschlossen und nicht über den AVR.
Der AVR kann dann über die bereits erwähnte Glühlampe 6V/100mA als
Sicherung (in der Plusleitung) an den Akku angeschlossen werden.

> der Gartenzaun ist ziemlich hoch und sehr scharfkantig.

Das denke ich nicht, die Programme sind gut erklärt und haben noch
Anfänger-Niveau.

...

von Hannes L. (hannes)


Lesenswert?

Sorry,
(und GBD-Leitung) soll natürlich
(und GND-Leitung) heißen...

...

von pete (Gast)


Lesenswert?

ich habe nun nicht alle gelesen kann dazu nur sagen, daß der servo auf
der impulsleitung meist "nix" zieht. bei meinen conrad servos sind es
0,5mA. wobei egal ist ob er arbeitet oder nicht...
unter volllast (also der bereich zwischen läuft noch und bleibt
stecken) zieht er 750mA auf der lastleitung.
habe ohne jegliches problem 15servos mit der impulsleitung zusammen an
einem pin eines atmega hängen.

von Marco (Gast)


Lesenswert?

Ich weis jetzt nicht, ob der Servo nun den Strom über den µC bezieht,
wenn ja, könnte das der richtige Treiber sein ULN2803A

Marco

von Karl H. (kbuchegg)


Lesenswert?

Vergiss es.
Das Servo hängt mit seiner Impulsleitung direkt am µC.
Die paar µA die da fliessen, schafft der µC mit links.

von Hannes L. (hannes)


Lesenswert?

Die Plusleitung des Servos gehört nicht an einen Portpin des
Controllers, sondern an plus der Stromversorgung. Gleiches gilt für
GND. Nur die Steuerleitung (Impulsleitung) des Servos gehört an einen
Portpin des Controllers. Und dort fließt nur ein ganz geringer Strom
(halt nur Information, keine Leistung).

...

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.