Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programmierung von Mikrocontrollern (https://www.delphipraxis.net/94873-programmierung-von-mikrocontrollern.html)

Matze 27. Jun 2007 13:50


Programmierung von Mikrocontrollern
 
Hi zusammen,

langsam nähert sich das Semesterende und über die vorlesungsfreie Zeit würde ich mich gerne etwas in die Welt der Mikrocontroller-Programmierung einarbeiten. In der Hochschule verwenden wir in höheren Semestern Mikrocontroller von Intel, die man mit C programmiert, doch welche Typen das genau sind, konnte ich noch nicht herausfinden.

Mich würde interessieren, welche Projekte für Anfänger in diesem Bereich geeignet wären und welche MCs, aber keine enormen Materialkosten haben (evtl. was mit LEDs, vielleicht kann man auch Transistoren und OPs integrieren, keine Ahnung, was da so möglich ist). Wenn es geht würde ich gerne einen Intel-Mikrocontroller nutzen, damit ich mich schon mal darauf einstelle.

Dieser Link wurde mir von einem DP-Mitglied empfohlen (ich weiß aber nicht mehr genau, wer es war :oops: ), doch da werden vorwiegend andere Mikrocontroller angesprochen.
Kann man eigentlich etwas kaputtmachen, wenn die Schaltung stimmen sollte, man aber etwas falsch programmiert? Denn ich spiele immer so gerne herum und teste Dinge auch wenn sie unsinnig sind. *g*

Irgendeinen Conrad-MC, der in der DP ab und zu angesprochen wird und den man in der Industrie eh nicht nutzt, möchte ich keinen, das gleich vorweg. Ausschließlich Assembler möchte ich nicht nutzen, doch wenn dies in Teilen notwendig ist, habe ich auch nichts dagegen, mich da einzuarbeiten.

Vielleicht kennt ihr auch gute Bücher, mit Bastelanleitungen und Erläuterungen (evtl. auch mit Bauteilliste), um in das Thema hineinzufinden. Welche MCs sind zu empfehlen bzw. was würdet ihr mir raten?


Auf Antworten würde ich mich freuen.
Grüße, Matze

chaosben 27. Jun 2007 14:21

Re: Programmierung von Mikrocontrollern
 
Hi Matthias!

Ich persönlich nutze die AVR µC und bin ganz zufrieden damit, weil sie mir nicht jeden Schnitzer (ja, ich probiere auch gerne "sinnlose" Dinge aus) übelnehmen. Für die AVRs gibt es auch einen C-Compiler.
Ich denke bei den µC ist es nicht viel anders wie bei den Hochsprachen für den PC: Kannst du eine, erlernst du die andere recht schnell.

Lange Rede kurzer Sinn: Probier doch die AVRs mal aus. Dann kannst du später, wenn du die Intels kenngelernt hast, ein objektives Urteil abgeben.

ulrich.b 27. Jun 2007 16:17

Re: Programmierung von Mikrocontrollern
 
Für den Einstieg in die Mikrocontrollerwelt sind meines Erachtens am besten die 8051er oder der Atmel AVR geeignet.

Da es im WEB mehr über den AVR gibt (Infos und Tools) würd ich ihn mal empfehlen.

Beste Seite für den AVR Einstieg:
www.mikrocontroller.net

8051:
www.erikbuchmann.de

mschaefer 27. Jun 2007 18:12

Re: Programmierung von Mikrocontrollern
 
Hallo Matze

Avr ist weit verbreitet. Aber es gibt tatsächlich noch mehr. Selbst habe ich einges mit dem MSP430 von Texas Instrument programmiert. Da findet sich auch was im Microcontrollernet TMS430. Der Controller wird viel in der Datenaufnahme, Logging, RFID und Funktechnik verwendet, da er wenig Strom verbraucht. Einen Vergleich kann ich aber leider nicht anstellen, da ich nichts mit dem AVR zutun hatte. Man kann sich aber umschauen in welchem Umfeld, bei welchen Schaltungen ein Controller eingesetzt wird.

Grüße // Martin

Reinhard Kern 27. Jun 2007 18:18

Re: Programmierung von Mikrocontrollern
 
Zitat:

Zitat von Matze
Hi zusammen,

langsam nähert sich das Semesterende und über die vorlesungsfreie Zeit würde ich mich gerne etwas in die Welt der Mikrocontroller-Programmierung einarbeiten. In der Hochschule verwenden wir in höheren Semestern Mikrocontroller von Intel, die man mit C programmiert, doch welche Typen das genau sind, konnte ich noch nicht herausfinden.
.....
Auf Antworten würde ich mich freuen.
Grüße, Matze

Tipp zu den Kosten:
Früher kosteten Incircuit-Emulatoren soviel wie Autos, heute gibt es zu den meisten modernen MCs (auch) billige Entwicklungskits, so von 50 bis einige 100 Euro.

Bei manchen davon ist ein C-Compiler dabei, bei manchen ein eingeschränkter (Assembler ist natürlich immer dabei, sonst könnte man ja nichts entwickeln). Muss man den C-Compiler oder dessen Vollversion zukaufen, wird es meistens teuer, Grössenordnung kEuro.

Also such dir einen MC aus, zu dem es einen kostengüntigen Kit mit C-Compiler gibt. Ich teste gerade Zilog eZ80.

Gruss Reinhard

Matze 27. Jun 2007 18:27

Re: Programmierung von Mikrocontrollern
 
Hallo,

ich danke euch für die Antworten!

Dann wird es wohl auf einen AVM hinauslaufen, denn für diesen gibt es einen kostenlosen C-Compiler. Zu viel möchte ich wirklich nicht ausgeben, nur um etwas mit der Materie vertraut zu werden. Wenn AVR weit verbreitet ist, dann kann es nicht schaden, sich damit näher zu beschäftigen, zumal man ja wirklich leicht umlernen kann, wie hier auch erwähnt wurde.
Nur C -> ASM wäre eine größere Umstellung.

Den AVM kann man sowohl mit ASM als auch mit C programmieren, habe ich gelesen (Basic kommt für mich nicht in Frage). Dann sollte es theoretisch ja möglich sein, den MC mit C zu programmieren und wenn man etwas neues probieren möchte, ASM zu nutzen. :)


Falls ich weitere Fragen zu dem Thema habe, werde ich mich nochmals melden. ;)

Grüße, Matze

Matze 5. Sep 2007 18:13

Re: Programmierung von Mikrocontrollern
 
Sedele, nun habe ich noch etwas Zeit und möchte mir nun den Mikrocontroller zulegen. Dabei dachte ich an folgendes: ATMEGA 32-16 DIP (3.60€):

Zitat:

ATMega AVR 32-16 PDIP
Gehäuse: DIL-40
MHz: 16
Flash: 32
EEProm: 1K
RAM: 2K
I/O: 32
Hersteller:ATMEL
Artikelnummer des Herstellers: ATMEGA32-16PI
Verpackungsgewicht: 0.006kg
RoHS: konform
oder an ATMEGA 32L8 DIP (3.95€):

Zitat:

ATMega AVR 32L8 PDIP
Gehäuse: DIL-40
MHz: 8
Flash: 32
EEProm: 1K
RAM: 2K
I/O: 32
Hersteller:ATMEL
Artikelnummer des Herstellers: ATMEGA 32I-8PI
Verpackungsgewicht: 0.006kg
Wobei der zweite schlechter klingt (halbe Taktfrequenz), jedoch teurer ist. :gruebel: Mich wundert's auch, dass die Mikrocontroller so günstig sind, ich dachte, die seien teurer.

Was ich nicht ganz verstehe, dass bei Contrad der Mikrocontroller deutlich teurer ist: ATMEGA32-16PU = ATMEGA 323-8PU (9.90€). Ist dies ein anderer oder wieso gibt's da solche Preisunterschiede?
Und würdet ihr mir eine Platine wie diese empfehlen oder lieber selbst etwas zusammenzubasteln? Ich würde gerne bei Reichelt bestellen und möchte so wenig wie möglich selbst Löten (das kann ich zwar, auch SMD, jedoch möchte ich mich mehr aufs programmieren konzentrieren). Eine Alternative habe ich dort keine finden können. Geschickt wäre es natürlich, wenn man sich individuell was zusammenstecken kann, doch dies Schaltungen zum ISP-Anschluss und ähnliches, die man sowieso braucht, zusammenzustecken, finde ich etwas schwachsinnig, weshalb ich diese Platine in dieser Hinsicht ganz geschickt finde.
Das Problem wird nur der Anschluss an den Laptop sein. Am PC habe ich eine serielle Schnittstelle, am Laptop hingegen nicht. Es gibt ja diese ISP-Dongle, die man an den LPT-Anschluss anschließen kann, doch ob die zukünftige Rechner noch besitzen, ist fraglich. Daher tendiere ich zu einem USB->Seriell-Adapter. Nur wie man den Adapter an solch eine Platine anschließt, weiß ich noch nicht genau. Vermutlich gibt's RS323-Kabel.

Was meint ihr dazu (Welcher Mikrocontroller genau, eine fertige Platine, Anschluss ...)?

Und wie oft kann man denn einen Mikrocontroller umprogrammieren? Ich habe von 1000x gelesen, dann brauchte ich ja gleich 2 oder 3, denn wenn ich kleine Änderungen überspiele, summiert sich das sicherlich.

Grüße, Matze

negaH 6. Sep 2007 02:10

Re: Programmierung von Mikrocontrollern
 
Nimm denn ATMega8 oder den neueren ATMega168, das sollte erstmal reichen. Dieses Modell ist enorm weit verbreitet unter Hobbisten.
Dann benötigst du noch einen JTAG/ISP Programmer den du dir auch selber bauen kannst.
AVRStudio lädst du dir bei Atmel selber. Mit diesem kannst du schonmal über ISP/JTAG den AVR programmieren. Mit AVRStudio kann man Assemblerprogramme direkt erzeugen und auf kurz oder lang kommst du da auch nicht drumherum. Als C Compiler WinAVR den du sogar in AVRStudio einbinden kannst. Beides ist kostenlos.

Die richtge Anlaufstelle für deutschsprachige AVR-Liebhaber ist www.mikrocontroller.de und schau dort auch mal in die Artikeldatenbank rein.

Der ATMega32L -> L steht für Lowpower läuft mit einem geringerem Takt dafür aber schon mit geringerer Spannung (2.7V). Allerdings im Vergleich zum ATMega168 ist der veraltet. Die neueren Typen arbeiten bis 20Mhz und/oder bis unterhalb 1.8 Volt und besitzen wesentliche Features die dir den Einstieg erleichtern, zb. Pinchange Interrupts, bessere Watchdogs, weitaus weniger Stromverbrauch besonders im Powerdown Modus bis auf 0.1µA runter, das hält Jahrzehnte an einer Knopfzelle.
Die 16Kb FLASH bekommst du nicht so schnell voll, immerhin gibts MP3 Playerprojekte die SD Karten mit FAT ansteuern und dafür auch nur 16Kb benötigen.

Gruß hagen

WS1976 6. Sep 2007 05:26

Re: Programmierung von Mikrocontrollern
 
Hallo Matze,

ich verwende, für meine Azubis, den Basiskurs Microcontroller von Elektor.
Das Ganze basiert auf dem AT82S52 von ATMEL. Programmierbar ist das Ganze in ASM, Basic und C.
Compiler gibts kostenlos bei Elektor ( mit Beispielcode )
Dieser Controller ist weitgehend kompatibel mit der 8051 Familie.
Der 8051 ist sozusagen die Urmutter aller Myps.
Elektor hat eine Platine mit Flash- und Erweiterungsmöglichkeiten geschaffen.
Zugegeben, die Technik ist nicht mehr die modernste, aber zum experimentieren langst
allemal. Der Bausatz (typisch Elektor) hat so seine Macken. ( man muss das Quarz anpassen )
Ich persönlich habe damit eine Eisenbahnsteuerung und eine Heizungssteuerung gebaut.
Für meien Azubis war und ist das Ganze kein Problem.
Wenn du mehr wissen willst sende einfach eine Mail an mich.

Grüsse
Rainer

hathor 6. Sep 2007 07:11

Re: Programmierung von Mikrocontrollern
 
Bei POLLIN:

ATMEL Evaluations-Board Version 2.0 - Bausatz
€ 14,95

Zitat:
Diese Platine zum Anschluss an den PC ermöglicht die direkte Programmierung der ATmega8535, ATmega16, ATmega32, ATmega8, ATtiny2313, ATtiny12 und ATtiny15.

Aufgrund der vorhandenen Elemente wie Taster, LEDs, Buzzer und serieller Schnittstelle ist eine einfache und zügige Anwendungsentwicklung möglich. Alle diese Komponenten können bei Bedarf einzeln über Jumper verbunden oder getrennt werden.
Technische Daten:
- Betriebsspannung 9 V~
- ISP- und JTAG-Anschluss
- ISP to seriell integriert
- serieller Anschluss über MAX232
- 3 Programmtaster
- 2 LEDs
- 1 Buzzer
- Port PA, PB, PC, PD auf 40-polige Pfostenleiste herausgeführt
Platinenmaße: 100x160 mm.

Download verfügbar:
http://www.pollin.de/shop/downloads/D810038B.PDF
http://www.pollin.de/shop/downloads/D810038S.ZIP


Programmierung

• Programmierung in Basic
Für Anwender welche bereits mit einer Basic-Syntax vertraut sind und auch ihre Anwendungen für Microcontroller in Basic entwickeln
möchten steht eine Demo-Version der bekannten Entwicklungsumgebung BASCOM-AVR der Firma MCS-Electronic unter
http://www.mcselec.com zum Download bereit. Die Demoversion ist voll funktionsfähig, allerdings ist die Größe des
erzeugten Codes auf 4KB begrenzt.
• Programmierung in Assembler
Für Entwickler welche möglichst hardwarenah programmieren möchten bietet sich die Entwicklungsumgebung AVR-Studio von Atmel an.
Sie verfügt sowohl über einen Editor als auch Debugger und integrierten Simulator. Atmel bietet das AVR-Studio unter
http://www.atmel.com/dyn/products/to...p?tool_id=2725 zum kostenlosen Download an.
• Programmierung in C
Die wohl umfangsreichste und am leichtesten portierbare Programmiersprache kann mit Hilfe des freien WinAVR-Paketes auch für Atmel-
Prozessoren angewendet werden. Im Paket ist unter anderem ein Debugger enthalten. WinAVR steht auf der Projekthomepage
http://sourceforge.net/projects/winavr/ zum kostenlosen Download bereit.


-BASIC
http://www.mcselec.com

-C
http://sourceforge.net/projects/winavr/

-ASSEMBLER
http://www.atmel.com/dyn/products/to...p?tool_id=2725

WS1976 6. Sep 2007 07:49

Re: Programmierung von Mikrocontrollern
 
Hallo,

ja, bei Pollin gibts die Platine, ohne Chips, für 14,00€

Grüsse
Rainer

Matze 6. Sep 2007 08:26

Re: Programmierung von Mikrocontrollern
 
Hallo,

danke für eure Antworten. Die Pollin-Platine habe ich ja in meinem Beitrag bereits verlinkt. ;)
Die Frage ist nur, ob man diese auch erweitern kann, sodass ich später beispielsweise einen Sensor order einen kleinen Elektromotor anschließen kann. Denn Taster, Summer und LEDs schränken die Möglichkeiten doch sehr ein, denke ich. Naja, für den Anfang sollte es reichen.

Aber sonst scheine ich dann ja alles zusammengesucht zu haben, was ich benötige (bis auf das RS323-Kabel).
Da der 16 MHz-Controller günstiger ist als der mit 8MHz (ich vermute aufgrund der Stückzahlen), werde ich mich für die 16 MHz-Variante entscheiden, zumal ich die Vorteile habe, die Hagen erwähnt hat. Zugegeben ich musste erstmal nachschauen, was das bedeutet. *g*

Zu Beginn würde ich den Mikrocontroller am liebsten mit C programmieren und später evtl. mal in ASM reinschnuppern. Doch laut diversen Webseiten, die hier in einigen Beiträgen verlinkt wurden, müsste das möglich sein.

hathor 6. Sep 2007 09:15

Re: Programmierung von Mikrocontrollern
 
Zitat:

Zitat von Matze
Die Frage ist nur, ob man diese auch erweitern kann, ...

- Port PA, PB, PC, PD auf 40-polige Pfostenleiste herausgeführt

Matze 6. Sep 2007 09:55

Re: Programmierung von Mikrocontrollern
 
Ach da kann man dann weitere Dinge ansteuern? Ich kenne mich damit noch gar nicht aus, aber das wäre ja dann gar nicht schlecht. :)

generic 6. Sep 2007 10:02

Re: Programmierung von Mikrocontrollern
 
da hier gerade so oft die atmel 8 bitter erwähnt werden...

ich habe gerade ein sdk500 zuviel, das könnte ich dir gegen einen kleinen unkostenbeitrag abtreten.
das sdk selbst hat keine samples mehr, ist aber sonst neu und orginal verpackt.
selbstverständlich ungenutzt!

ich könnte dir dann noch paar at90s8515 dazu legen.

sdk500:
http://www.atmel.com/dyn/products/to...p?tool_id=2735

negaH 6. Sep 2007 10:23

Re: Programmierung von Mikrocontrollern
 
also das STK500 sollte man immer dem Pollin...hmhm.. vorziehen.

Gruß Hagen

OlafSt 6. Sep 2007 10:37

Re: Programmierung von Mikrocontrollern
 
Was die Preisunterschiede angeht: Conrad ist [i]die[/b] Elektronik-Apotheke schlechthin. Aufschläge von 500% sind da keine Seltenheit.

Das Pollin-Board ist schon mal gar nicht verkehrt und natürlich auch deutlich billiger als ein STK500. Bei den genannten µC gibt es einen gewichtigen Unterschied: Die AT89S...-Teile sind 8051-kompatibel und entsprechend langsam (4 Take pro Befehl, IIRC). Sie sind aber weder binär- noch Sourcecodekompatibel zu den immer beliebter werdenden ATMegas, deren RISC-Befehlssatz einen Großteil der Befehle in einem Takt ausführt.

Mein Tip: Mega48, 88 oder 168 für den Einstieg und gleich Assembler nehmen. Durch den RISC-Satz lernt man sehr schnell mit dem Controller umzugehen - und direkter und schneller als ASM geht es nun mal nicht. Meist sieht man dann auch schnell, das 16K ein Riesenhaufen Speicher ist :lol:

Wenn du schon dabei bist: Bestell auch gleich ein Steckboard mit. So kann man auch gleich die Schaltungen aufbauen und testen, die vom µC angesteuert werden sollen.

blackfin 6. Sep 2007 11:04

Re: Programmierung von Mikrocontrollern
 
Ich habe meine Diplomarbeit damals auf PIC-Prozessoren der 18er-Serie des Herstellers Microchip aufgebaut.
(war ein 24-Kanal-Mischpult mit Motorfadern, Inkremental-Encodern und 3 grafischen Displays, alles von 2 PIC's gesteuert)

Ich weiss, es herrscht sowas wie ein "Krieg" zwischen der AVR und PIC-Fraktion, dennoch bin ich der Meinung, dass die PIC's dem AVR ebenbürtig sind.
Zumindest macht es sehr viel Spass, mit ihnen zu experimentieren.

Die PIC's bringen ziemlich viel internen Flash-ROM, RAM und Peripherie mit, je nach Typ.
So haben die grösseren der 18-er Serie meistens einen USART, eine I2C-Schnittstelle, 3-8 programmierbare Interrupts, Brown-out usw.
Zudem sind sie seeeeehr gutmütig (ich spreche aus Erfahrung :oops: ).
Mal ausversehen 24 Volt an einen 5-Volt Microcontroller gehängt oder einen bösen Kurzschluss verursacht, verkraftet ein PIC in den meisten Fällen :)

Vielleicht solltest du dir diese auch in die engere Auswahl nehmen.
Der Vorteil bei den PIC's ist, dass man legal kostenlose samples der Prozessoren von Microchip bekommt, wenn man ein Student ist und diese zu Evaluierungs-Zwecken benötigt.
Das einzige, was du dir kaufen oder selbst bauen musst, ist ein In-circuit-programmer.
(Entweder das ICD2 kaufen oder von diversen Bastel-und-Löt-Anleitungen im Netz einfach selbst bauen)

Desweiteren musst du dir einen geeigneten Compiler suchen.
In MPLAB, der Software von Microchip, ist ein kostenloser ASM enthalten, die C-compiler kosten ein bißchen was.
Es gibt aber glaube ich inzwischen auch freie C-Compiler, wenn ich mich nicht täusche...



wenn du weitere Informationen brauchst, kannst du mir gerne eine PM schreiben.

gruß,

Fin

negaH 6. Sep 2007 13:23

Re: Programmierung von Mikrocontrollern
 
Die PICs sind im professionellen Bereich die bessere Wahl. Im Hobby benötigt man aber nicht die Flexibilität der verschiedenen Hersteller sondern möglichst gute Verfügbarkeit, einfache Handhabarkeit, hohe Toleranz gegen Anfängerfehler, und möglichst immer gleichartige Peripherie/Kern um nicht ständig alles neu zu erlernen. AVRs habe da ihre Vorteile gegenüber den PICs. Aber wenn man bischen fit ist realtiviert sich das dann wieder.

Nochwas zum STK500. Dieses mit dem Pollinboard zu vergleichen ist ein Vergleich zwischen Apfel und Birnen. Das STK500 ist auch ein ISP/JTAG Programmer mit per Software einstellbaren Spannungen, einiges an Schutzelektronik, einstellbare ARef für den ADC, 2x RS232 Schnittstellen, unterstützt alle AVR typen, LEDs und Buttons, und am wichtigsten funktonstüchtig. Das STK500 spielt in einer ganz anderen Liga. Frag also generic was er dafür haben möchte, vielleicht ist der Preis unschlagbar günstig ?
Falls du nämlich das Pollinboard nimmst und den ISP/JTAG Programmer nicht selber bauen möchtest so kannst du für dieses Teil nochmal 15 Euro mindestens einrechnen.

Zitat:

Mein Tip: Mega48, 88 oder 168
Empfehle ich auch.

Gruß Hagen

Matze 6. Sep 2007 14:03

Re: Programmierung von Mikrocontrollern
 
Hallo,

danke für die Antworten, ich habe nun jedoch das STK500 gekauft und hoffe, dass ich damit meine Freude haben werde. Dann werde ich mich auch gleich mal nach kleinen "Standardprojekten" umsehen.

Edit: "Mega48, 88 oder 168" werden jedoch nicht unterstützt, wenn ich das richtig sehe.

negaH 6. Sep 2007 15:38

Re: Programmierung von Mikrocontrollern
 
Doch werden vom STK500 unterstützt.

1.) goto Atmel und lade AVRStudio runter, das enthält auch alles an Software für's STK500, eventuell musst du dich regsitrieren kostet aber nichts
2.) das STK500 muß updated werden, dh. man programmiert den Chip auf dem STK500 mit der neuestens Software. Anleitung müsste in den Helpfiles zu AVRStudio drinnen stehen, ansonsten einfach mal im WEB suchen

Danach sind zwei wichtige Bedinungen erüllt damit das STK500 und AVRStudio die neueren AVRs unterstützen

1.) die XML Dateien die die AVR Chips beschreiben, also Ports, Pins, Peripherie, FLASH/EEPROM/SRAM Größe uvm. sind auf dem neuesten Stand. Darauf greift AVRStudio, der Debugger und auch AVRProg das FLASH Tool von Atmel zu.
2.) das STK500 enthält den neuste Software

Mit dieser Konstellation fehlt dir nur noch ein AVR, für den Anfang reicht auch ein ATMega8 in DIP. Ich baue ja nur noch in SMD, mal so nebenbei bemerkt ;)
Die Empfehlung die neueren ATMega48/88/168 zu benutzen hat mehrere Gründe
- stromsparender
- höhere Taktraten bis 20Mhz was dann ~20 MIPS, Millionen Operationen entspräche, sehr schnell also.
- bessere Peripherie, also UART, SPI, TWI, Timer, PWM Module usw.
- bessere/mehr Interrupts, zb. eben Pinchange IRQ der auf Pegeländerungen an den Pins reagieren kann und den AVR aus dem Powerdown Sleepmode aufwecken kann. Mit den alten geht das nur mit wenigen speziellen Pins.

Davon abgesehen findest du im WEB einige Shops die teilweise diese neueren ATMegas preiswerter anbieten als die alten Teile.

Gruß hagen

[edit]
das dünne grüne Handbuch zum STK500 hats du doch auch bekommen, oder ?
Das wäre wichtig damit du weist wo du welchen Chip einstecken musst und auf welchen Stiftleisten du welche Signale abgreifen kannst. Falls nicht ich habe mein Handbuch noch.
[/edit]

Matze 6. Sep 2007 15:59

Re: Programmierung von Mikrocontrollern
 
Das Ding ist updatefähig, ist ja cool. :)
Jupp alles ist original verpackt, also ist das Handbuch dabei.

generic 7. Sep 2007 13:57

Re: Programmierung von Mikrocontrollern
 
matze hat einen "studenten"-preis bekommen.

das sdk500 kann auch die o.g. mega's nach firmware update.
das passiert aber über das avr studio fast von alleine.
möglicherweise ist auf dem sdk, was du bekommst, schon die neuste firmware drauf.
ich hab das vor 2 wochen erst rein bekommen.
als ich da die muster beigelegt habe, hab ich mir das board noch angeschaut.
dieses ist von atmel etwas überarbeitet worden und somit das "neue" model.
das grüne buch ist selbstverständlich dabei.
atmel hat noch eine cd spendiert, welche auch in der packung liegt (die hab ich aber nicht weiter angesehen).

@fin
hast du mal ein foto von deinem mischpult?
warscheinlich ein licht pult mit dmx512?

Matze 8. Sep 2007 13:02

Re: Programmierung von Mikrocontrollern
 
Ich wollte nur kurz anmerken, dass ich das STK500 sowie einen USB->RS323-Adapter habe (kam heute morgen an) und nun muss ich mich da irgendwie mal einarbeiten. ;)

Das mit den ganzen Ports ist ja recht komplex, finde ich.

negaH 8. Sep 2007 13:55

Re: Programmierung von Mikrocontrollern
 
Quatsch das sieht nur am Anfang so aus. Du brauchst sowieso am Anfang ein bischen Einarbeitungszeit, so wie bei einer neuen Programmiersprache. Aber ich versichere dir, wenn du nicht aufgibst und nicht gleich einen MP3 Player baust, das das nur schwerer aussieht als es ist, und das es viel Spaß macht (wenn man vom Typ Mensch ist der neugierig auf Wissen ist).

Gruß Hagen

Matze 8. Sep 2007 13:56

Re: Programmierung von Mikrocontrollern
 
Hallo Hagen,

ich dachte zu Beginn an eine kleinere Ampelschaltung oder sowas. Aber mal sehen, wie weit ich komme.

Edit:

Das AVR Studio bietet sehr gute Debug-Funktionen finde ich, gerade da man sehen kann, welche Bits gesetzt sind und ähnliches.
Doch schön wäre auch, wenn man sich eine Schaltung zusammenklicken könnte (Mikrcontroller, Taster, LEDs, ...) und dort das Programm simulieren könnte, um genau zu sehen, welche LEDs leuchten bzw. was passiert, wenn man einen Taster drückt. Da man einen MC nicht beliebig oft bespielen kann, wäre so ein Simulationsmodus natürlich schön. Gibt es so etwas in der Art?

Falls nicht, wie geht man als Anfänger denn am besten an so etwas ran?

negaH 8. Sep 2007 18:32

Re: Programmierung von Mikrocontrollern
 
Sowas gibt es auch schon, mir fällt der Name des Produktes aber nicht ein. Damit kann man einfache analoge und digitale Schaltungen simulieren. Ein PlugIn für einen AVR war auch drinnen. Nur, das lohnt nicht. Du hast ein STK500, AVRStudio um mit ASM und WinAVR GCC C direkt arbeiten zu können, und eben ein AVR der JTAG neben ISP unterstützt. Du steckst den ATMega in den passenden Slot und loss gehts mit deiner Programmierung. Und das Beste ;) du debuggst per JTAG die CPU direkt. Auch da gibt es schon manche Stolpersteine da diese Art der Simulation nicht in jedem Falle aussagekräftig ist, das ist bei einer absoluten Trocken-Simulation noch viel stärker der Fall. Die meisten Bastler bauen sich eine Debugausgabe in das Program rein, zb. eine LED an einem Pin die blinkt, oder nutzen den UART, weswegen das STK500 auch 2 solcher RS232 Schnittstellen hat.

Eines steht fest: MCU Programmierung erzieht zu geplantem Vorgehen des Programmierers laut Datenblättern, Formeln usw. Da ist nichts mehr mit Delphi-like Trial&Error nach jeder Zeile Quellcode, den man gerade eben eingetippt hat, mal schnell compilieren und sehe was passiert.

Am Anfang habe ich das STK500 auf die Schnelle mit einer Lauflicht/Blinklicht Steuerung programmiert. Du hast ja 8 LEDs + 8 Taster. Da bietet sich so einiges an um die Hardware kennen zu lernen. Zb. verschiedene Lichtmuster die du per Taster einstellen kannst, also 2 Taster um vorwärts/rückwärts durch die Lichtmuster zu gehen. Dann die Geschwindigkeit der Muster, wieder 2 taster usw. Am Anfang ganz simpel per Zeitschleifen und ansonsten nur Ansteuerung des Ports an dem die LEDs und Taster hängen, also In/Output der Ports erlernen und die Berechnung von exakten Zeitschleifen (die Opcodes des AVR sind abolut vorherberechnenbar wieviel Zeit ein Programcode benötigt). Dann erweiterst du das langsam. Das heist der erste Timer und Interrupt Steuerung wird eingebaut. Einmal für die LED Muster und einmal die verschiedenen Möglichkeiten die Taster per IRQ und ISR abzufragen. Entprellung per Software. Dann gehts weiter, ersetze die Taster durch 2 Potentiometer und nutze den ADC des AVRs, also Analog zu Digital Wandlung. Auch da wieder erstmal die einfache Variante mit dem Polling des ADCs und später per Interrupts. Und so gehts immer weiter, der UART als nächstes um eine Debugausgabe zu machen. Für den PC benötigst du eine gute Terminal Software um den COMx ansprechen zu können, ich nutz sehr gerne Terminal v1.9b by Br@y++. Falls du diese Freeware haben willst mail mir. Hyperterminal geht aber zur Not auch. Es schadet auch nicht auf Suche von fertigen UART Source zu gehen, für den ATMega8, 48,88,168 gibts ausreichende, suche auf www.avrfreaks.net oder www.mikrocontroller.de
Und dann Soundausgabe per PWM. An einem PWM Ausgang ein Tiefpass mit einfachem Kondensator und Widerstand und dahinter ein Mono Kopfhörer. Per PWM und Timer dann mal einen Sinus erzeugen usw. usw. Es gibt wirklich viele Möglichkeiten.
Und dann mal versuchen den AVR Stromverbrauch zu drücken, am STK500 gibts einen Jumper den du ziehst und stattdessen ein Amperemeter anschließt. Die verschiendene Sleep Modis ausprobieren und mal schauen ob du die < 1µA im Powerdown erzielen kannst ;) Na und dann das EEPROM schreiben und lesen, den FLASH per AVR selber programmieren um daraus einen Bootloader zu bauen... ach da gibts so viel soll ich noch was von meinen ganzen Projekten erzählen ? Nokia6100 und S65 Display ansteuern, mit Grafikbibliothek für Ellipsen,Kreise,Multicolor Fonts und Bitmaps/Icons samt Komprimierung, mein elektronisches Drumprojekt, oder die Solar-Glühwürmchen, oder Funkübertragung in einer Wetterstation mit Luftdruck, Temperatur, Feuchtigkeit, Windrichtung und Geschwindigkeit, mein Dot-Matix Wecker mit Sensortasten hinter einer getönten Glasschreibe wie bei Startrek ;)

Gruß Hagen

Matze 8. Sep 2007 21:17

Re: Programmierung von Mikrocontrollern
 
Hallo Hagen,

danke für die Antwort. ich bin vermutlich vom "normalen" programmieren verwöhnt, da ich dort immer sofort sehen kann, wie sich die Software verhält. Einfach debuggen/kompilieren + starten und fertig.
Dann werde ich mich da erst einmal dran gewöhnen müssen und versuche mein Glück zuerst an ganz einfachen Beispielen. Wenn ich Probleme habe, melde ich mich wieder. ;)

eLse-maestro 17. Mär 2008 21:47

Re: Programmierung von Mikrocontrollern
 
Ich möchte über den RS232 Anschluss eine LED steuern (Per Button o.ä. ich denke mal mit C), funktioniert das auch über solche Mikrocontroller?
Oder Automatiesiere ich mit Mikrocontrollern nur einen Vorgang?
Sonst überlege ich mir auch einen
ATMega168 + Diesen Bausatz
anzuschaffen, mir geht es Hautpsächlich ums programmieren.
Und was haltet ihr von diesem Buch:
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie. ?

Danke

//edit:
//Kann man mit irgendwelchen teilen den Bausatz so erweitern das man auch mehr als 2 LED's steuern kann?

naui123 14. Aug 2008 00:30

Re: Programmierung von Mikrocontrollern
 
Hallo Controller-Programmierer,

Ihr unterhaltet Euch in einem DELPHI-Forum (PASCAL-Programmiersprache)

Bin ich der einzige auf der Welt, der Controller in Pascal programmiert?

Schaut Euch doch bitte mal den 8051-Controller-Compiler von
http://users.iafrica.com/r/ra/rainier
an.
Damit kann man (außer grafischen Oberflächen usw.) fast Delphi-like 8-Bit-Controller programmieren.
Freischaltung = Mail an rainier - siehe Website - oder Mail an mich.

Tipp: Wenn Ihr schnelle (25-100MIPS) und preiswerte Hardware sucht - http://silabs.com (wer's noch kennt - war mal Cygnal oder so)

Gruß Jürgen


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz