Forum: Mikrocontroller und Digitale Elektronik AVR Entwicklungsboard für Schule


von Michael 9. (michael93) Benutzerseite


Lesenswert?

Hallo @ all,

ich bin jetzt in der 11. Klasse eines Gymnasiums in BaWü und habe jetzt 
einige Erfahrung was AVR's und Elektronik angeht. Deshalb (und weil es 
an unserer Schule keinen Lehrer gibt, der es machen kann, fachlich wie 
zeitlich) werde ich eine Elektronik-AG leiten (mit Hintergrundlehrer 
usw., für Sicherheit ist also gesorgt). Da werde ich die ersten Monate 
damit beschäftigt sein, den Kleinen (so ab Klasse 7) die Grundlagen 
beizubringen. Das Ziel des ganzen ist allerdings, einen (oder mehrere) 
Roboter zu bauen. Die Schule hat letztes Jahr einen Klassensatz 
BasicStamps1 gekauft. Die mögen ja ganz gut sein, um ein paar 9ern 
Mikrocontrollertechnik in NWT näher zu bringen (um es nett zu sagen). 
Mich hat man damit auch genervt; ist echt ätzend, wenn man ein total 
einfaches BASIC aufgezwungen bekommt, wenn man C gewohnt ist. Vielleicht 
reichen die auch noch aus, einen kleinen Roboter zu bauen. Da hörts dann 
aber auch schon auf, weil: Was will man mit ein paar (14 oder so) Bytes 
RAM? Dazu können die auch keine Interrupts, haben keinen Timer und 
keinen ADC. Wie will man da einen vernünftigen Roboter bauen?

Da die Schule natürlich nicht viel Geld hat, muss ein Entwicklungsboard 
günstig sein. Also fällt STK500 usw. weg. Die Boards von Pollin sind ja 
auch nicht so super (BitBanging-Interface) und haben eine eher 
suboptimale Ausstattung (unpassend usw.). Deshalb möchte ich ein 
einfaches Entwicklungsboard entwickeln, dabei habe ich mir folgende 
Dinge schon überlegt/ausgedacht:

- ATMega32, in C programmiert
- Programmierung per RS232 / MAX232 (Adapter vorhanden) über den 
Bootloader von Peter Danneger
- ähnlicher aufbau wie STK500 => Ports auf Stifte (Buchsen sind 
eventuell besser, da ich nicht weiß, woher man die konfektionierten 
Drähte bekommt, die auch beim STK dabei sind, also dann kann man Drähte 
von Breadboards, gibts günstig bei Reichelt, bekommen)
- 8 LED's
- 8 Taster
- 2 Potis
- kommunikation nach außen per UART (evt. auch debugging ausgaben)
- TWI/SPI extra herausgeführt um mehrere Boards verbinden zu können
- Energieversorgung: Netzteil(im Roboter Akku), 78S05
- Text-LCD 2x16 (nicht direkt auf Board, zum einstecken)

Das würde mir jetzt einfallen, vielleicht habt ihr noch gute Ideen, was 
noch sinvoll(er) wäre, oder auch was vielleicht nicht so gut an dem oben 
ist.

Wenn ihr zusätzlich Ideen habt, was man so mit "normaler" Elektronik 
machen kann (in Richtung Wechselblinker und so), nur her damit. Es ist 
schließlich eine AG und kein Unterricht. Ich hatte mir zum Beispiel 
überlegt, ob man nicht mit Röhre und Sägezahngenerator etc. eine Art 
Oszi bauen kann, um das Prinzip zu veranschaulichen. Sowas ist recht 
interessant und animiert dazu, sich intensiv damit zu beschäftigen.

Sagt mir vielleicht einfach die Sachen, die ihr gerne in eurem 
Physikunterricht gemacht hättet, die ihr spannend gefunden hättet. Und 
natürlich das Entwicklungsboard nicht vergessen.

Ich hoffe, ihr habt tolle Ideen (und ich auch),

Grüße,
Michael

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

>...Also fällt STK500 usw. weg...
Wenn es nur am Preis liegt: erstmal bei Atmel München direkt anfragen. 
Die haben ein Hochschulprogramm, im Rahmen dessen sie u.a. Hardware zur 
Verfügung stellen. Ich kenne die genauen Bedingungen nicht aber mir ist 
zumindest eine Schule (nicht Hochschule) bekannt, die darüber Hardware 
erhalten hat.

von Michael 9. (michael93) Benutzerseite


Lesenswert?

Also, ich hab selber auch ein STK500, nur ich glaube nicht, dass es für 
die Schule viel Sinn macht. Es wird schlißlich nur ein Controllertyp 
gebraucht, bei mehreren müssten die Fachlehrer zu viel lernen, und das 
wollen die nicht. Für Schüler ist es vielleicht auch etwas zu 
empfindlich, wenn man draufdrückt (beim Chip-reinstecken) biegt es sich 
doch sehr stark. Ich hab jedenfalls immer Anst, dass mir mal eine 
Leiterbahn bricht. Außerdem wären mir die Potis schon recht wichtig. 
Damit man ohne viel außenbeschaltung (Zeitaufwand beim 
"Zusammenstecken") gleich mit dem ADC loslegen kann. Das ist gerade bei 
einer Stunde (nicht doppelstunde) sehr wichtig, man will schließlich 
irgendwann auch mal zum programmieren kommen. Und ich denke, ein AVR 
Dragon ist einfach zu unflexibel. Display, Joystick usw. fest drauf, da 
bleibt nicht mehr viel zum was anderes bauen.

Was ich übrigens vergaß zu erwähnen: Unsere Schule wird 
höchstwahrscheinlich sobald der Support von XP abgelaufen ist, komplett 
auf Ubuntu (Linux) umstellen. Leider gibt es das AVR-Studio nicht für 
Linux, und ohne das macht ein Atmel-Board wenig Sinn (ich weiß, avrdude 
etc., ich selber bin Pinguin :-D ).

Trotzdem danke für den Tipp.

von avr (Gast)


Lesenswert?

Hallo Michael,

schau dir doch mal die "Butterfliege" an.

http://www.atmel.com/dyn/resources/prod_documents/doc4249.pdf

Nicht mehr aktuell, aber es gibt Restbestände.

Es ist viel von dem drauf/dran was du aufgeführt hast.

Mit Bootloader wohl ein schneller Einstieg
(gibts auch von Atmel).

Evtl. kann auch hier Atmel für einen Klassensatz helfen.

AVR

von Michael 9. (michael93) Benutzerseite


Lesenswert?

Also, es muss nicht gleich ein ganzer Klassensatz sein, die werden 
erstmal nur in der AG verwendet (vielleicht 3-5 stück). Erst wenn die 
sich bewähren, kommt ein Klassensatz her.

Genau, den Schmetterling (nicht Butterfliege) meinte ich: Es ist zuviel 
drauf das nicht wichtig/nötig ist, z.B. Dataflash, JTAG, LCD (ich will 
Text-LCD's, wenn überhaupt), dazu muss bei einem Roboter der LDR an 
verschiedene Stellen setzbar sein. Die käuflichen Boards sind mir 
einfach zu unflexibel, versteht ihr? Die müssen zum LED's blinken lassen 
taugen und gleichzeitig müssen die aber in eigene Schaltungen (Roboter) 
integrierbar sein. Außerden müssen die Schüler dabei auch lernen "wie 
krieg ich das Signal eines LDRs in einen Controller rein?".

von Karl H. (kbuchegg)


Lesenswert?

Was hältst du davon eine Hauptplatine zu machen, auf der alle Ports auf 
standardisierte Steckerleisten herausgeführt sind (zb RN-Standard). Dann 
noch ein Qaurz und ein MAX232 (wegen Bootlaoder) drauf, 7805 und das 
wars für die Hauptplatine.
Die Peripherie könntest du auf ansteckbare Zusatzplatinen machen
* Platine mit 8 Led, die ihre 8 Einaenge auch wieder auf eine 
Standard-Steckerleiste durchschleift. Damit ist diese Platine sowohl als 
Ausgabemedium geeignet als auch als Zwischensetzplatine um die Signale 
zu einer anderen Peripherieplatine sichtbar zu machen.
* Platine mit 8 Tastern (könnte man auch mit den LED integrieren)
* PLatine mit Potis
* H-Brücke
* LCD ...

Die Idee ist es ein modulares System zu haben, bei dem man sich die 
Peripherie nach Aufgabenstellung aus einem Standardsortiment 
zusammensetzen kann.

von avr (Gast)


Lesenswert?

Hallo Michael,

du hattest den Drangon erwähnt, daher der Vorschlag mit der
"Butterfliege".

Was du suchst kostet halt etwas, aber bei den Robotern
gibt es da passendes:

z.B.:  http://www.rn-wissen.de/index.php/RN-Control

Es gibt auch einige Erweiterungen:

http://www.rn-wissen.de/index.php/Kategorie:Projekte

Alles mit Unterlagen und Demos.

Programmierung oft Basic aber auch C.

avr

von A. B. (funky)


Lesenswert?

schau dir doch mal arduino an.

das ding ist weit verbreitet, es gibt unterschiedliche boards, wird in C 
programmiert, hat aber auch eine umfangreiche API die recht 
einsteigerfreundlich ist. di eboards wachsen mit einem. zu anfang kann 
man mit paar zeilen code PWM programmieren ohne sich durch alle register 
fuchsen zu müssen. später kann man das aber auch selber machen da das 
teil wiegesagt mit dem normalen GCC compiler läuft

http://arduino.cc/

und einer der wirklich vielen blogs die sich damit beschäftigen:
http://www.freeduino.de/

Roboter usw haben etliche Leute damit auch schon gebaut, und ich hab für 
mein board glaub 25€ bezahlt...und da ist alles drauf was man benötigt 
zum starten. nur noch usb-kabel anschließen und ab geht die luzi

von A. B. (funky)


Lesenswert?

Duemilanove heißt mein Board, dazu noch ein Steckbrett und los kanns 
gehen. USB Programmer ist integriert

von pcb (Gast)


Lesenswert?

Also, wir an WSS in Stuttgart haben ganz gute Erfahrungen mit STK200, 
gibts z.B. bei kandashop.com Unser Lehrer hat sie aber, denke ich, 
woanders besorgt gehabt.

von cm (Gast)


Lesenswert?

ich würd, wenns um roboter geht, einen motortreiber mit auf die platine 
packen, L293 oder L298 je nach geplanten motoren.

was sich bei mir beim roboter-experimentieren auch bewährt hat, ist, die 
ports auf dreireihigen stiftleisten rauszuführen in der pinbelegung von 
servos, so daß man die direkt anstecken kann, so wie auf 
http://retrointerfacing.com/?p=350 zu sehen. die passenden buchsen mit 
kabel sollts auch zu kaufen geben, an sowas kann man, weil man VCC und 
GND dabei hat, leicht ein poti oder einen sensor anschließen.

ein paar billigservos könntest du auch dazunehmen, wär als erstes 
beispiel sicher nett, per ADC ein poti auszulesen und damit ein servo 
anzusteuern.

cm.

von Dönerman (Gast)


Lesenswert?

->ich würd, wenns um roboter geht, einen motortreiber mit auf die 
platine
->packen, L293 oder L298 je nach geplanten motoren.

Und wenn du die Teile bestellst, kannst du ja gleich einen L297 und L298 
extra bestellen, damit du auch Schrittmotoren antreiben kannst. Ist ja 
vielleicht sinnvoll, wenn man Roboter baut.

Hier ist mal eine Schrittmotorsteuerung (RN Step) die ich auch benutze.
Ist eine Robuste Schaltung mit bis zu max. 2A und automatischer 
Stromregelung (dank L297) und man kann den Motorstrom selsbt einstellen 
(Referenzspannung). Das ist aber alles beschrieben.

Link:
http://www.rn-wissen.de/index.php/Schrittmotoren.


Es gibt zwar ein fertiges Modul für c.a. 40€, aber ich finde das man das 
alles selbst auf einer Lochrasterplatine löten kann. Ich würde einfach 
bei Reichelt eine "große" Bestellung machen. Reichelt ist ziemlich 
günstig im Vergleich zum großen "C".

Du kannst ja auch einen Atmega16/32 und ein eigenes Board(auf eine große 
Lochrasterplatine) machen. Kannst ja gleich MAX232 einen 7805 
draufpacken.

Für die Pins kannst du Stiftleisten oder Buchsen nehmen (findet man 
alles bei Reichelt!!) wo du dann bequem Sachen aufbauen kannst ohne vor 
den Kindern ständig löten zu müssen. Ich fertige zur Zeit so eine 
Platine für mich an, wenn du magst kann ich dir ja ein paar Bilder 
schicken.

Viel Erfolg  bei deiner Arbeit !

MfG,
Dönerman

von Dönerman (Gast)


Lesenswert?

oh man.. sorry für die Fehler (Satzbau usw..).
Es ist doch wohl schon etwas zu spät ;-).

von Michael 9. (michael93) Benutzerseite


Lesenswert?

Danke für die Zahlreichen antworten,

also: STK200 Ist ganz schlecht, da nicht alle Rechner an unserer Schule 
nen Parallelport haben. Eher die wenigsten, und eventuell sollte man 
auch mit Laptops arbeiten können (meiner hats zum Bleistift auch nicht 
mehr).

Lochrasterplatine wird nicht nötig sein, wir haben an der Schule alles, 
um einseitige (mit viel experimentieren vielleicht auch zweiseitige) 
Platinen ätzen zu können: Belichter, Atzbad, Chemikalien, usw.

MAX232 und 78S05 gehören eh zur Grundausstattung, ich brauch schließlich 
ne serielle Schnittstelle, um flashen zu können. Auf jede Patine nen ISP 
zu setzen ist unnötig => Bootloader.

Die Sache mit den Billigservos: also, ich hab keine Ahnung ob und 
wieviel Geld zur Verfügung steht, wäre aber wirklich sehr überrascht, 
wenn man damit einen Laufroboter bauen kann (zahl der servos). Wir 
werden wohl eher bei runden Roboterplattformen mit 2 Rädern (+ 
Getriebemotoren) bleiben müssen. Allein schon deshalb, weil man in NWT 
in einem Jahr normal niemanden, der nicht vorher schon Erfahrung mit 
Mikrocontrollern hat, soviel beibringen kann, dass er einen Laufroboter 
programmieren kann. Besonders weil man sich nicht ein Jahr lang mit 
Elektronik beschäftigen kann. Allerdings könnte man es so machen, dass 
man per I2C Module ansteuern kann, da kann ja eines ein Servocontroller 
sein. Den I2C-Bus wollte ich eh rauslegen.

Meine größte Sorge dabei sind allerdings die Steckverbindungen und 
Steckverbinder: man soll einfach Sensoren/Aktoren 
((Gabel-)Lichtschranken, Taster, vll. auch Ultraschall, und Motoren 
(Motortreiber vielleicht wirklich gleich auf die Hauptplatine) benutzen 
können. Das wären verbindungen auf dem Board, die könnte man 1. wie beim 
STK500 machen, also Flachbandkabel und Wannenstecker, oder 2. per 
Mäuseklavier verbinden. Kritik Lösung 1: Man muss die Kabel machen (ich 
glaube nicht, dass man die Günstig kaufen kann). Vorteil Lösung 1: 
Flexible Port-Belegung. Kritik Lösung 2: unflexibel, auf bestimmte Ports 
festgelegt. Vorteil: Schalter umlegen und fertig.
Allerdings soll man auch einfach eigene Schaltungen (meistens auf 
Steckbrett, so kleine, gabs mal bei Pollin, mein Lehrer hat die 
Tonnenweise gekauft) integrieren können. Dazu braucht man  eine 
vernünftige Verbindungsmöglichkeit für ganze Ports oder einzelne Pins. 
Vielleicht gibts da eine supereinfache, geniale Lösung, aber ich seh sie 
gerade nicht.

Ich denke, ich werde ein paar Ideen von Arduino und RN-Control benutzen, 
aber leider ist keins von den beiden das "gelbe vom Ei".

Wie siehts eigentlich mit interessanten Elektronik-Spielereien aus, die 
schon ein bisschen nen anspruch haben, aber nicht mit allzu vielen 
spezial-Bauteilen aufgebaut werden? Also, Funktionsgeneratoren und Oszis 
und dergleichen haben wir an der Schule, damit kann man arbeiten.

Nochmal Danke für eure Vorschläge, alles (auch wenns verworfen wird) 
hilft mir enorm weiter, das zu finden, was ich brauche und was brauchbar 
ist, macht weiter so,

Michael

von A. B. (funky)


Lesenswert?

die eierlegend wollmilchsau wird man nicht fertig kaufen können, aber 
evtl. solltest du auch den zu sparenden arbeitsaufwand berücksichtigen.

ich an deiner stelle würde es tunlichst vermeiden da jetzt irgendeine 
eigene platine zu basteln. vielleicht auch jetzt schon berücksichtigen 
das ganze etwas größer wird und später mal von jemand anderem 
weitergeführt werden soll. irgendeine selbstausgedachte lösung die 
schlecht dokumentiert ist wäre da sicherlich eher hinderlich.

udn mit einem balancierenden "roboter" auf zwei rädern mit einem 
optischen abstandsmesser oder ähnlichem kann man sicherlich schon genug 
zeit verbringen.

keep it simple! du scheinst ziemlich engagiert und fit zu sein, aber 
kannst nicht erwarten das andere da unbedingt so mitkommen 
können/wollen.
irgendwelche laufroboter usw hören sich zwar gut an, aber um interesse 
zu wecken braucht man erstmal einfachere sachen damit nicht sofort 
frustriert das handtuch geworfen wird.

und habt ihr an der schule nicht einen förderverein oder ähnliches die 
bischen unter die arme greifen können? oder einen reichen bastler in der 
elternschaft den man einbinden kann? :D

aber lieber 5€ mehr ausgeben als das du oder jemand anders sich 
hinsetzen muss und kabel zusammenlötet. da kann man die zeit sicherlich 
sinnvoller nutzen

von cm (Gast)


Lesenswert?

nochmal wegen der billigservos: ich meinte keinen laufroboter, mit 
servos (gibt's beim C ab 3,-) kann man ein paar nette sachen machen:

1) sie geben physisches feedback. poti per AD einlesen, servo 
entsprechend der poti-stellung ansteuern, schnelles erfolgserlebnis für 
die lernenden.

2) man kann sensoren wie die IR-abstandssensoren GP2D12 drauf montieren 
und damit einen größeren winkel abscannen.

3) man kann sie auf "endlosdrehen" umbauen und damit als roboterantrieb 
verwenden, billiger geht's kaum.

cm.

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.