Moin zusammen, ich möchte mich mit den Möglichkeiten der µC beschäftigen. Ich selbst bin Softwareentwickler mit Erfahrungen in C++. Werde mich nun wohl auch mit Assembler beschäftigen. Mal sehen was das so gibt. Am Freitag abend war ich mal kurz in eurem Chat und habe schon mal die ersten Fragen gestellt. Daraus wurde klar: Hier gibts wohl überwiegend AVR Experten. Zu dem was ich vorhabe: Vorweg eins. Ich weiß, das mein Ziel für einen Anfänger sehr hoch gesteckt ist. Aber ich arbeite eigentlich nach der Methode - man wächst mit seinen Aufgaben :-) Es geht darum, das ich verschiedene Sensoren (Lichtschranke oder Schalter) an einen µC anschließen möchte um damit Zeitmessungen vorzunehmen. Hintergrund: Ein Kindertraum! Die Carrerabahn. Wir möchten eine Zeitmessanlage für Slotbahnen umsetzen. Die Daten sollten in dem µC zwischengespeichert werden und über eine Software auf einem PC am besten über USB ausgelesen werden können. Außerdem sollen LEDs für eine Startampel und Relais für die Bahnstromabschaltung von der Software auf dem PC angesteuert werden können. Evtl. kann die Logik auch in den µC und die Software auf dem PC sendet und empfängt nur Events wie Start/Rennabbruch/usw.. Die Kür wäre eine Ansteuerung von mehreren 7 Segment Anzeigen, die die aktuelle Position eines Wagens in einem Wettkampf anzeigt oder vielleicht sogar ein LCD Display. Das aber wirklich erst wenn alles andere läuft. Ich weiß, das es schon verschiedene System zur Zeitmessung von Slotcars gibt. Der Reitz liegt hier im selbermachen! Nun meine Frage: Haltet Ihr mich für total bekloppt, oder ist sowas für mich machbar? Zeit spielt keine große Rolle. Mich drängt keiner und ich kann mir dabei Zeit lassen. Außerdem interessiert mich die Thematik. Wenn ich bei Euch diesen Test bestanden habe, hier Frage 2: Was sollte ich mir anschaffen um in die µC Technik einzusteigen? Ich habe hier im Shop die ATmega128-Entwicklungsplatine für 55 Euro gesehen. Ist das was für mich? Die STK500 ist mir eigentlich zu teuer. Löten - wenn nicht gerade SMD - ist kein Problem. Habt Ihr einen Tip für mich was deutsche Literatur zu dem Thema angeht? Ich freue mich auf Eure Antworten und hoffe, das ihr mir weiterhelfen könnt ... Gruß Martin
Wenn es der AVR sein soll, dann lade dir doch erstmal von www.atmel.com das AVR-Studio und die Datenblätter (nur die vollständigen, nicht die Werbe-Zusammenfassungen) herunter. Damit kannst du dich erstmal mit der Architektur der AVRs vertraut machen. Das AVR-Studio erlaubt Simulationen ohne dass man Hardware braucht. Dann etwas hier im Tutorial herumschnuppern und du lernst einige Programmieradapter kennen. Was du dann wirklich brauchst, kannst du dann selbst entscheiden. Es gibt Programmer-Schaltungen von einigen Widerständen bis zum eigenen MC. Ein moderner AVR braucht Betriebsspannung, einen keramischen Abblock-C, einen Widerstand von Reset nach Vcc und ein Programm. Und damit rennt er. Natürlich noch etwas Peripherie an den I/Os, damit er etwas Sinnvolles tun kann. Für das, was du so vor hast, könnte ein Mega16 oder Mega32 völlig ausreichen, vom USB mal abgesehen, aber das soll mit FTDI-Schaltkreisen auch kein Problem sein. ...
Hallo Martin, und herzlich willkommen hier. Sich mit Mikrocontrollern zu beschaeftigen ist schon ne tolle Sache, n interessantes Hobby, oder auch ne nuetzliche Beschaeftigung. Gut ist es immer, ein Ziel vor Augen zu haben, aber wie so oft ist meist der Weg das Ziel, und die Teilerfolge ermuntern immer zum Weiterarbeiten. Dein Carrera-Projekt klingt interessant. - Und auch schaffbar. Ich wuerde mir an Deiner Stelle erstmal das Tutorial hier auf www.mikrocontroller.net anschauen, das war damals auch fuer mich ein perfekter Einstieg. Erstmal ein paar LEDs blinken lassen, Timing durchdenken, Taster entprellen und dann ists auch zum LCD net weit. Ein Entwicklungsboard hab ich (vielleicht auch des Geldmangels wegen) noch net geholt, ich habe die erste Schaltung auf Lochraster aufgebaut und es funktioniert auch. Im Forum wurden schon viele Anfängerfragen beantwortet und viele Probleme geloest, es kann dir bestimmt 'ne große Hilfe sein. Wie immer gilt: erst suchen, nochmal suchen, nachdenken und dann posten (: Ich wuensch dir fuer Deinen Einstieg viel Erfolg, und Mut, immer weiter zu machen. So wirst Du sicher auch an Dein Ziel kommen. MfG Jim
Hallo Martin, ich würd dir das crumb128 Modul empfehlen. Kostet glaub ich so um die 40 Euro und hat schon eine USB Schnittstelle und einen RS232 Wandler mit drauf. Alle Ports sind auf Pfostenstecker ausgeführt. www.chip45.com Gruß Peter
Hallo, ich habe auch erst vor Kurzem mit der µC-Programmierung angefangen, aber ich halte dein Vorhaben durchaus für machbar. Ein Atmega128 dürfte aber etwas überdimensioniert sein. Vielleicht solltest du einen Atmega16 nehmen, der hat noch eine überschaubare Pinanzahl und eigentlich alles, was man so braucht am Anfang. Ich würde so vorgehen, immer ein Modul zu programmieren und zu testen, und erst wenn alle Teile fertig sind, das alles zusammenzupacken. Zur Verbindung zum PC würde ich dir aber erst einmal die einfachere serielle Schnittstelle empfehlen. Ich selber habe mir für den Einstieg nur einen ISP-Programmieradapter gekauft, den Rest habe ich mir selber zusammengelötet. Ich habe mir eine Platine nur mit den wichtigsten Bauteilen gemacht, von der ich die Ports per Pfostenbuchsen weggeführt habe. Dazu dann ein paar Module mit Tasten, LEDs, LCD. So kann man immer genau das anschließen, was man für die aktuelle Aufgabe braucht. Ich wünsche dir schon mal viel Spaß mit deinem neuen Hobby! (Wahrscheinlich sehen die Experten hier manches etwas anders, aber ich lasse mich da gerne korrigieren)
hallo, ich habe auch erst vor kurzem angefangen mich damit zu beschäftigen. Aber ich hatte glück das ich ein STK500 und ein BobbyCar ( ATmega32 ) ( www.qfix.de) zur verfügung hatte. Jetzt wo ich ein bischen den Überblick gewonnen haben möchte ich mir auch ein bischen was basteln. Schau doch einfach mal ins AVR-Tut auf dierser Seite. Da steht was du an Hardware brauchst. Ein Link zu einem STK200 gibts auch. Was du dir anschaffen müsstest? ... Ich würde sagen vergiss die Platine für 55 Euro. STK200 , Schnittstellenbaustein MAX232 ( für serielle Schnittstelle) und uC wird keine 55 Euro kosten wenn du es selber machst. Schatpläne wie gesagt im AVR-Tut. Ich hab eine verbindung zwischen PC und uC mit serieller Schnittstelle aufgabaut und denke das es auch für deine Anforderungen reichen müsste. Hab mit USB noch nichts gemacht, aber es ist bestimmt komplizierter als mit serieller Schnittstelle. Chris
Hallo Martin, da hast du dir aber wirklich was vorgenommen. Etwas sehr ähnliches habe ich für den Hundesport mal gemacht: Zeitmessung über Start-/Zwischenzeit-/Stoplichtschranken, Startnummernvergabe, Online-/Offlineübertragung zum PC (seriell), Ansteuerung von 7-Segmentanzeigen (LCD/LED über RS485 Bus) zur Anzeige der Zeit und/oder (Fehler-)Punkte und noch einige Sachen mehr und alles in Assembler (PIC). Dazu eine passende Auswertsoftware (Turnierverwaltung) für den PC. Machbar ist das, wobei ich aus heutiger Sicht die Sache evtl. eher in C machen würde (obwohl eingefleischter Assembler-Fan). Ob das allerdings als Einstiegsprojekt geeignet ist... Ich würde da tatsächlich seeeehhr viel Zeit einplanen. Hier im Forum wirst du allerdings eher Unterstützung für AVR's bekommen. Solltest du dich doch für PIC's entscheiden helfe ich natürlich gerne ;-) Im Zeitalter von ISP benötigst du eigentlich nur ein Steckbrett und einen Programmieradapter. Meine Projekte fangen immen auf dem Steckbrett an, ein Experimentierboard habe ich noch nie vermisst.
ich halte die Aufgabe auch für lösbar, man sollte nur in kleinen Schritten rangehen, also erstmal eine LED blinken lassen in einer Zeitschleife und dann Timer/Interrupt dafür nutzen. Die braucht man hinterher immer um ein einfaches 'Multitasking' zu machen. Einfache I/O über die serielle ist am Anfang auch sehr hilfreich, kann immer zum einfachen Debuggen genutzt werden. Für den Anfang würde ich ein fertiges Experimentierboard nehmen wie z.B. hier im Webshob oder das schon genannte Crumb128. Ein grösserer Prozessor hat hier den Vorteil das der schon einen Bootloader drin haben kann und dann per serieller Schnittstelle programmierbar ist. Sonst muss erstmal ein sog. 'ISP' Adapter her (<30). Hardware mit AVR bauen ist auch nicht schwer, aber für die Fehlersuche am Anfang ist es einfacher schonmal zu wissen das die HW ok ist. Die o.g. Steckbrettvariante ist aber auch ok wenn man etwas Hardwareerfahrung hat und sich das zutraut, dann sollte aber ein fertiger ISP Adapter her. Wenn man in C++ fit ist dann ist C auf dem µC auch nicht schwer, man muss sich nur erinnern wieviel Bit ein Byte hat und im Ganzen wieder etwas sparsamer haushalten. Mit dem WinAVR ist der Einstieg nicht besonders schwer. Das AVR Studio hilft auch sehr gut. Ist zwar eine Assembler Umgebung, aber mit dem Emulator kann man gute Trockenübungen machen.
Ich denke mal, das sind keine schlimmen Sachen. Das einzige komplizierte wäre für mich der USB-Kram. Ich nehme deshalb lieber einen RS232/USB-Konverter. Auch 7-Segment ist kein Zauberkram, entweder man macht es sich einfach (MAX7219) oder kostengünstig (CPU multiplext selber). Wichtig ist bloß, die Tasks so zu schreiben, daß sie sich nicht gegenseitig behindern (keine Warteschleifen innerhalb von Funktionen), d.h. die CPU nicht irgendwo hängenbleibt und kostbare CPU-Zeit nutzlos vergeudet. Peter
Guten Morgen, WOW ... ich bin platt. So schnell und so viele hilfreiche Antworten. Und keiner hat mich in der Luft zerissen. Alle machen mir Mut. Ein großes DANKE! Wenn das so weitergeht und meine Zeitmessung für die Slotbahn funktioniert, sind alle die mir hier so nett helfen herzlich zu nem Rennen eingeladen :-) Ich werd mir wohl in den nächsten Tagen mal die Mühe machen und ne kleine Liste zusammenstellen, von Bauteilen, die ich dann bestellen will. Aufgrund Eurer Tips werde ich wohl erstmal ein Steckbrett nehmen und keine Entwicklungsplatine kaufen. Um den ISP werd ich wohl nicht herummkommen. Ist aber nicht tragisch. Ich würde mich freuen, wenn Ihr meine Liste dann noch mal kommentiert. Schließlich wohne ich hier auf dem platten Land und muss alles im Versand bestellen. Da wäre es ärgerlich wenn ich irgend was wichtiges vergessen würde. Wo bekomme ich denn noch Infos über eine Crosscompiler für den AVR? Ich denke, das ich meine ersten Versuche dann vielleicht doch in C machen werde. Auch wenn mich Assembler wirklich interessiert.
Mach es in C, das spart Dir viele Nerven und Zeit. Such mal bei den Links nach WINAVR. Wenn es Dir auf ein paar € nicht ankommt, dann kauf Dir ein jtag-Debugmodul (muss speziell für den AVR sein), z.B. bei Olimex. Für die LEDs würde ich auch den MAX7219 nehmen ... Gruß, Stefan
Hallo Martin, schau Dir mal die AVR-Ctrl-Platine von unserer Webseite: http://www.mikrocontroller.com an. Hier haben wir auch Beispielprogramme für LCD-Ansteuerung, Menüführung, Timer (ms-Interrupt) usw. Als C-Compiler empfehle ich den CV-AVR: http://www.hpinfotech.ro/ Erstklassig hier ist der Code-Wizard, der schon die Prozessor-Register nach eigenen Bedürfnissen einstellt. (Für Einsteiger sehr zu empfehlen) ...oder den GNU-C-Compiler: http://winavr.sourceforge.net/ Gruss, Holger
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.