PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welchen Controller, welche sprache?



Eddi1984
29.08.2006, 15:07
Hi Leute,

bin hier schon seit einer laengeren Zeit am mitlesen. Aber langsam moechte ich nicht nur lesen und staunen, was ihr so auf die Beine (raeder) stellt, sondern moechte mal auch die hand ans werk legen.

Meine frage ist nur, mit welchem AVR und welcher sprache soll ich beginnen? Bin anfaenger, kann nur eine Siemens S5 SPS programmieren, das ist alles.

Danke schon mal fuer eure hilfe.

Eddi

robocat
29.08.2006, 15:36
hi eddi,
kauf dir einfach 2-3 atmega8, ein paar 100nF kondensatoren und ein paar 10kohm widerstände, dazu paar leds und taster, und schon kann es losgehen.. ;)

du brauchst aber noch einen programmer (AVR-ISP). guck dazu mal in die RN-Wiki. und etwas Löt-erfahrung wäre sehr von vorteil.

was den compiler angeht, schwört jeder auf etwas anderes. BASCOM ist wohl am leichtesten, aber wenn du wirklich wissen willst, was deine befehle genau bewirken, bzw. wie ein atmega funktioniert, ist assembler eher zu empfehlen. ich habe einen großen bogen um bascom gemacht und bin gleich ins kalte assembler-wasser gesprungen. ^^

deine SPS-erfahrungen werden dir wenig nutzen, fürchte ich. aber beinah zu jedem problem findest du mit der forum-suche einen thread. und inspirationen gibt es auch en masse.

hast du schon eine idee für ein erstes projekt? ich bin gerade dabei, ein kleines fernlenkauto zu programmieren, das ist meines erachtens ein guter einstieg in die materie.

gruesse, die katz

Eddi1984
29.08.2006, 15:53
Ich selber habe an BASCOM gedacht. Etwas C habe ich auch mal programmiert, aber zu lange her. Loeten sollte kein problem sein, habe das schon lang genug gemacht.

Mein erstes Projekt? Hmmm, warscheinlich erst einmal ein paar LED's ansteuern und bisschen rumspielen mit einigen tastern (timer output/input), um einfach nur das gefuehl zum programmieren zu bekommen. Dachte, das wenn ich erst einmal nur was ausgebe und ports lese, das ich erstmal die grundlage geschaffen habe. Danach wollte ich einen alten drucker "schlachten" und Servos ansteuern, evtl. auch eine maus auseinander nehmen und mit einem encoder zu arbeiten, aber das sollte etwas schwieriger sein, nehme ich an. was denkt ihr?

Eddi

scales
29.08.2006, 15:53
also wenn du dich mit elektrotechnik noch nicht auskennst fang erstmal damit an,
sonst hat das Mikrocontroller Programmieren wenig Sinn

dann musst du dir jedenfalls erstmal die "Standard" Sachen anschaffen:
Multimeter, Wiederstände, Kondensatoren, Transistoren, usw.

und am besten noch ein Buch das die Grundlagen erklärt


wenn du dich schon mit Elektrotechnik auskennst bin ich robocats Meinung:
kauf dir nen AVR Controller und überleg dir irgendein Projekt
(am ebsten erst mal einen ISP selber löten)

als Programmiersprache finde ich für den Anfang aufjedenfall Assembler am besten,
dann versteht man wirklich was passiert und kann dann immernoch auf C wechseln

ich bau auch grade an einem fernsteuerbaren Auto, hab einfach ein altes RC-Car auseinander genommen,
damit ich mich nicht mit der Mechanik befassen muss

im Grunde ist das gar nicht soo schwer, die wirklich komplizierten Sachen wie Funk kann man eigentlich eh nur als Fertigmodul kaufen

Eddi1984
29.08.2006, 16:09
Habe eine ausbildung (schulische) in elektrotechnik, habe in dem beruf aber nicht gearbeitet, so ich muesste mein gedaechnis mal ein bisschen auffrischen. so die grundregeln sollten kein problem sein.

wo finde ich anleitungen/beschreibungen fuer assembler und auch programme dafuer (um programme zu schreiben)?

eddi

Hanni
29.08.2006, 16:11
www.atmel.com -> Software (AVR Studio)
www.mikrocontroller.net (AVR Tutorial)

robocat
29.08.2006, 16:20
AVR studio ist toll!
das gibts hier:
http://www.atmel.com/dyn/products/tools_card.asp?family_id=607&family_name=AVR+8%2DBit+RISC+&tool_id=2725
hier ein tutorial:
https://www.roboternetz.de/wissen/index.php/AVR_Assembler_Einführung

gruesse

Spion
29.08.2006, 16:41
Hallo

Also ich würde dir das RN-Control von Robotikhardware.de empfehlen (Programmer nicht vergessen).
Ich habe auch mit diesem Board begonnen und bisher nur Positive Erfahrungen gemacht.
Als Sprache würde ich dir Bascom empfehlen, da kann man ganz einfach ein paar Led's blinken lassen, dass war auch dass erst dass ich gemacht habe.

Natürlich ist dass auch eine frage des Budgets und der Erfahrungen (Ich hatte (fast) null Ahnung von Elektronik)

mfg Luca

Edit: Natürlich kann man mit Bascom auch anspruchsvollere Programme schreiben.

Hanni
29.08.2006, 16:47
https://www.roboternetz.de/wissen/index.php/AVR_Assembler_Einführung


Ups, sowas gibts hier auch *mal merk* :D

Grüße,
da Hanni.

Eddi1984
29.08.2006, 16:49
Habe nur ein kleines Problem mit dem RN Board. Ich wohne nicht in Deutschland, sondern in Kanada. Der Versand alleine wuerde schon 2x soviel sein, wie das Board und ca 3-4 wochen dauern. einfach so einen AVR controller kaufen, board loeten, das kann ich hier, noch diese woche mit dem basteln beginnen.

werde mal mit bascom und assembler parallel beginnen, mal sehen was mir mehr gefaellt.

eddi

betacom
30.08.2006, 14:48
Hallo,

ich würde dir ebenfalls den ATMEGA empfehlen. Als Programmierumgebung würde ich hier WinAVR nehmen (schau mal bei avrfreaks rein). Ich würde (alles Imperativ) über die UART einen CP2102 oder FT232 anschließen, um diese als Debug-Schnittstelle direkt am PC zu verwenden. Desweiteren würde ich einen 4-bit-Port für ein 2x16-Zeichen LCD anbringen, auf das ebenfalls Debug-Ausgaben umgeleitet werden können.

An den restliche Ports könnte man Taster und LEDs anbringen, an die ADC-Eingänge ein Trimmpoti.

Steven

Eddi1984
30.08.2006, 16:00
Hi,

in meiner Ausbildungszeit, mussten wir uns einen uC zulegen, damit haben wir halt im unterricht programiert. Jetzt habe ich den mal ausgegraben um mal zu sehen was fuer controller drauf ist. das board hat die bezeichnung: ES52FLASH (link:http://www.ak-modul-bus.de/stat/entwicklungssystem_es52flash.html). Darauf steckt ein ATMEL AT89S8252 uC. Ich kann den acuh ueber RS232 programmieren.

Ist dieser controller zu hoch fuer mich, weil ich quasi wieder von 0 beginnen muss mit dem programmieren.

(ich koennte ihn ueber assembler oder BASCOM-8051 proggen)

Eddi

betacom
30.08.2006, 16:09
Hallo,
darüber kann man geteilter Meinung sein. Es ist kein AVR. Er besitzt eine 51er Core, sodass als Entwicklungsumgebung µC51 empfehlenswert ist.

http://www.wickenhaeuser.de/

Der C51 hat sehr viele Vorteile. Zum einen steckt er als Core in vielen Controllern (z.B. TUSB, MSC1210 von TI, Cygnal, ADI usw.) zum anderen gibt es eine sehr große Datenbasis dafür. http://www.8052.com/. Und es gibt das Intel BASIC frei, sodass dieser auch in Basic programmiert werden kann. Als Beispiel sollte hier das MSC1210-DAQ-EVM-Board von TI dienen.

http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber=sbau083&fileType=pdf

Für den Einstieg würde ich aber den moderneren AVR empfehlen.

Steven

scales
30.08.2006, 18:47
ich hab bis jetzt nur 51er programmiert,
nervt aber immer dass die sowas wie Hardware-PWM nicht haben,
außerdem gibts viel mehr Tutorials über AVRs

für 51er gibts aber ne gute Entwicklungsumgebung: MIDE,
Emulator, Assembler, C-Compiler alles drin
(den C-Compiler hab ich aber noch nicht ausprobiert)

ich würde dir trotzdem auch AVRs empfehlen

vajk
30.08.2006, 19:45
Zeh, zeh und nochmals Zeh - meine Empfehlung, z ist schön kurz und je nach Deinem Programmierstil auch übersichtlich. Allerdings gebe ich meinem Vorredner Recht .. ich hab damals zu 8051er-Zeiten auch mit ASM angefangen ... oder sogar noch früher zu C64-zeiten ... parallel zu Bais, dann Pascal, Modula und dann C .... wobei die Programmiersprache ist nur handwerkszeug, da hat jeder seine Vorleiben. Aus Erfahrung heraus würde ich Dir raten, nimm C oder wenn DU mehr in OpCodes denken willst, ASM. Basic ist mir persönlich zu .. zu ... neee ...