PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie starten?



Psychomax
05.06.2006, 10:43
Hallo!

Ich bin ein ABSOLUTER Neuling in Sachen Chipprogrammierung. Das fängt an bei der Hardware und geht bis zur Software.

Ich erzähle erstmal am besten was ich machen will. Ich will ein 2 Luxxeon LED's mit einem Mircocontroller ansteuern. Und zwar soll der andimmen bei einem Event und bei einem anderen nach kurzer Zeit (ungefähr 15s) wieder ausdimmen.

Wie starte ich da am besten? Mit den Bauteilen kenn ich mich einigermassen gut aus, weil ich Elektrotechnik studiere.

Ich hab mir überrings zur Programmierung das STK 500 gekauft, weil mir gesagt worden ist, dass das mit das Beste ist.

Fragen:

Hardware
1.) Wie löte ich den Chip auf ein Board? Also anschluss von 5V Kondenstatoren etc.

2.) Kann ich mit dem Chip Spannungen regulieren? Würde nämlich gern die LED's über Transitoren steuern.

Software
Für ein paar Grundlagen wollte ich diesen Artikel lesen. Leider ist dort keine Antwort auf meine folgenden Fragen zu finden.

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

3.) Wie bekomme ich die Software auf den Chip? (mit den AVR Studio)

4.) Wie teste ich den CHip am besten? (Spannungen etc.; ist ja nicht ganz unwichtig)


So das wäre es erstmal für den Anfang. Würde mich freuen, wenn ihr mir einwenig Hilfestellung geben könntet! ;)

Schokohoernl
05.06.2006, 11:16
Hallo!!

1.) ich würde den chip (wenns nicht gerade SMD ist) nicht direkt auf ein board löten, sondern sockeln. hat 2 entscheidende vorteile: 1. wenn man nicht so geübt ist mit dem lötkolben grillt man den µC nicht und 2. falls der µC mal kaputt is (fuse bits falsch, etc) kann man ihn einfach rausziehen und nen neuen einsetzen ohne lange löten zu müssen.

Kondensatoren solltest du auf jeden fall benutzen!! am besten einen 100nF keramik-vielschicht kondensator direkt zwischen VCC und GND.

2.) mit einem AVR kannst du ohne zusatzschaltungen keine spanungen regulieren. entweder 5V oder 0V (1 oder 0). deswegen würde ich den transistor mit nem entsprechenden widerstand an den AVR anschließen und zusätzlich in den stromkreis der LUXXEON LED einen entsprechenden vorwiderstand einbauen, damit dem guten stück nichts passiert.
dimmen kannst du dann die LED über PWM.

3.) wie das mit dem AVR-Studeio geht weiss ich leider auch nicht, da ich mit BASCOM (basic) programmiere. dort gibts den button "programmer" und dort kannst du den chip direkt flashen. alternativ kann man auch mit PonyProg den CHIP lesen und beschreiben.

4.) was meinst du mit chip testen?? ob er tut? ob er richtig schaltet?

als AVR würde ich dir den ATtiny13 empfehlen, und zwar aus folgenden gründen:
1. braucht kein externes quartz
2. is klein (DIL-8 gehäuse)
3. hat zwei PWM-Ports
4. hat zusätzlich noch 3 Pins für schalter, etc.
5. is recht günstig (1,60 beim Reichelt)

falls noch fragen sind, einfach fragen ;-)

Mfg

Schoko

Marco78
05.06.2006, 12:04
5. is recht günstig (1,60 beim Reichelt)
Jemand, der sich mal ebend so auf blauen Dunst ein STK500 kauft braucht dann wohl nicht mehr auf dne letzten Cent achten ;)


1. braucht kein externes quartz
Welcher AVR braucht denn zwingend einen?????????????


Wie starte ich da am besten?
Wie man es eigentlich immer nachen sollte. Mit "Hello World".
Erstmal eine LED auf Tastdruck einschalten und wieder ausschalten lassen. Dann die LED vielelicht auf Tastdruck dimmen lassen.
Ich denke es bringt nicht viel, wenn man gleich zu anfang zu groß anfängt ohne zuvor schon einmal ein kleines Programm geschrieben zu haben.
Sollte das kleine nicht geh'n ist die Fehlersuche einfacher.


1.) Wie löte ich den Chip auf ein Board? Also anschluss von 5V Kondenstatoren etc
Auf welches Board? Das STK500 oder dein später fertiges?
Ich empfehle aber auch sockeln.


2.) Kann ich mit dem Chip Spannungen regulieren? Würde nämlich gern die LED's über Transitoren steuern.
Direkte D/A-Ausgänge haben die meisten nicht. Kann sein, das ein ein paar neuere Typen gibt mit D/A. Also musst du auf PWM zurückgreifen. Die Spannung muss für's dimmen ja nicht so genau sein und somit ist PWM ausreichend.


3.) Wie bekomme ich die Software auf den Chip? (mit den AVR Studio)
Warum mit AVR-Studio wenn du AVR-GCC benutzen willst??? Ich denke damit kann man auch flashen.
Lad dir das Programm mal runter, such etwas hier im Forum und dann wirst du es schon entdecken.


4.) Wie teste ich den CHip am besten? (Spannungen etc.; ist ja nicht ganz unwichtig)
Einschalten und schauen ob's geht ;)
Was genau willst du testen?

dennisstrehl
05.06.2006, 12:36
Üch würde dir den AtMega48 empfehlen, der kostet 2,20€, hat 6 PWMs, davon 2 mit 16bit Auflösung, also 65536 Dimmstufen, und hat noch ne Menge Pins frei.

"Kann sein, das ein ein paar neuere Typen gibt mit D/A."
Gibt es nicht, da das Herstellungsverfahren dazu geändert werden müsste :(

Schokohoernl
05.06.2006, 12:41
1. braucht kein externes quartz
Welcher AVR braucht denn zwingend einen?????????????



die "alten" AT90XXXXX haben welche gebraucht... so lang is das auch nicht her, dass z.b. der AT90S2313 durch ATtiny2313 ersetzt wurde ;-)

MfG

Schoko

Sebastian132
05.06.2006, 12:45
5. is recht günstig (1,60 beim Reichelt)
Jemand, der sich mal ebend so auf blauen Dunst ein STK500 kauft braucht dann wohl nicht mehr auf dne letzten Cent achten ;)

Naja, ist aktuell aber der kompakteste mit den meisten Funktionen


1. braucht kein externes quartz
Welcher AVR braucht denn zwingend einen?????????????

Die ganzen Oldies a la 8515, 8535...eigentlich alle außer Mega und Tiny(?)


Wie starte ich da am besten?
Wie man es eigentlich immer nachen sollte. Mit "Hello World".
Erstmal eine LED auf Tastdruck einschalten und wieder ausschalten lassen. Dann die LED vielelicht auf Tastdruck dimmen lassen.
Ich denke es bringt nicht viel, wenn man gleich zu anfang zu groß anfängt ohne zuvor schon einmal ein kleines Programm geschrieben zu haben.
Sollte das kleine nicht geh'n ist die Fehlersuche einfacher.


1.) Wie löte ich den Chip auf ein Board? Also anschluss von 5V Kondenstatoren etc
Auf welches Board? Das STK500 oder dein später fertiges?
Ich empfehle aber auch sockeln.


2.) Kann ich mit dem Chip Spannungen regulieren? Würde nämlich gern die LED's über Transitoren steuern.
Direkte D/A-Ausgänge haben die meisten nicht. Kann sein, das ein ein paar neuere Typen gibt mit D/A. Also musst du auf PWM zurückgreifen. Die Spannung muss für's dimmen ja nicht so genau sein und somit ist PWM ausreichend.

LEDs dimmt man optimalerweise per PWM und nicht per Spannungsregulierung, denn LEDs -Helligkeit wird am besten über den Strom gesteuert.


3.) Wie bekomme ich die Software auf den Chip? (mit den AVR Studio)
Warum mit AVR-Studio wenn du AVR-GCC benutzen willst??? Ich denke damit kann man auch flashen.
Lad dir das Programm mal runter, such etwas hier im Forum und dann wirst du es schon entdecken.

AVR-GCC kannst du auch ins Studio einbinden, wobei ich das schlankere WIN-AVR mit PN2.exe benutze, ist mit den Hotkeys zum kompilieren/flashen einfach praktischer.


4.) Wie teste ich den CHip am besten? (Spannungen etc.; ist ja nicht ganz unwichtig)
Einschalten und schauen ob's geht ;)
Was genau willst du testen?

sehe ich auch so.

Psychomax
05.06.2006, 13:27
Also das ganze soll für eine Auto sein, und soll eine Fussraumbeleuchtung werden. ("Erstmal") Ich denk, das ist ein schönes Projekt, um in die ganze Sache rein zu kommen. Ich hab mir den das so ungefähr von der Beschaltung vorgestellt.

http://www.xin-design.com/schaltplan.gif

(Hab ich jetzt nur mal so schnell hingesaut! ;) )




Wie man es eigentlich immer nachen sollte. Mit "Hello World".
Erstmal eine LED auf Tastdruck einschalten und wieder ausschalten lassen. Dann die LED vielelicht auf Tastdruck dimmen lassen.
Ich denke es bringt nicht viel, wenn man gleich zu anfang zu groß anfängt ohne zuvor schon einmal ein kleines Programm geschrieben zu haben.
Sollte das kleine nicht geh'n ist die Fehlersuche einfacher.


Natürlich werde ich erstmal solche Dinge versuchen. Bringt ja nix wenn ich mittendrin anfange.



Auf welches Board? Das STK500 oder dein später fertiges?
Ich empfehle aber auch sockeln.

Mein eigenes. Also wie sieht die Beschaltung des Chips aus? So das ich meine anschliessen kann.




Warum mit AVR-Studio wenn du AVR-GCC benutzen willst??? Ich denke damit kann man auch flashen.
Lad dir das Programm mal runter, such etwas hier im Forum und dann wirst du es schon entdecken.

AVR-GCC kannst du auch ins Studio einbinden, wobei ich das schlankere WIN-AVR mit PN2.exe benutze, ist mit den Hotkeys zum kompilieren/flashen einfach praktischer.


Notpad 2?! Hab ich auch schon dran gedacht. Nur ich mag es bunt. Kann man da die Sytax farben einstellen?
Gibt es denn eine Anleitung wie ich was auf dem STK einstellen muss, um den Chip zu programmieren. Oder kann mir einer erklären wie ich zum beispiel LED an aus als Programm schreibe (Quellcode reicht; verstehen tu ich den selber) und dann auf den Chip bringe.
Momentan hab ich das in der Grundschaltung für diese LED Demo. Braucht ich den ATMEGA8515L oder kann ich den auch rausnehmen.




Wie teste ich den CHip am besten? (Spannungen etc.; ist ja nicht ganz unwichtig)


Also mit testen meine ich, dass der auch das macht, was ich ihm sage! :D


Sorry für das Konfuse Deutsch, aber ich bin momentan nur euphorisch. ;) Weil ich gesehen hab, was man damit machen kann... ;)

Marco78
05.06.2006, 13:39
Also mit testen meine ich, dass der auch das macht, was ich ihm sage!
Was er machen soll, weisst du ja selbst, weil du ihn programmiert hast. Also musst du alle möglichen Szenen durchspielen.
Beim Dimmer wird's noch nicht so schwer. Aber bei größeren Projekten ist eine gute Dokumentation Gold wert! Sowohl im Quellcode als auch ein Ablaufdiagramm auf Papier. Schon beim Diagramm stellt man fest, das einiges evtl doch nicht so klappt oder anders besser gelöst werden könnte.


Mein eigenes. Also wie sieht die Beschaltung des Chips aus? So das ich meine anschliessen kann.
http://www.atmel.com/dyn/products/app_notes.asp?family_id=607
In den Datenblättern und den AppNotes zu besonderen Einsatzgebieten steht alles wichtige drin.
Im Prinzip brauchst du nicht viel. Evtl ein Quarz, wenn ja, dann zwei Kondensatoren dafür.
Dann noch einen Widerstand für Reset und immer gut sind 100nF Kondensatoren an der Versorgungsspannung.
Hier im Forum gibt es aber etwa jeden Monat einen neuen Beitrag, was die Minimalbeschaltung eines AVRs angeht. Da wirst du schon was finden.

Nochmal zum Quarz:
Wenn ich ein neues Projekt anfange, plane ich es wohl kaum mit einem IC, der schon abgekündigt ist!
Ich weiss auch, das es Typen gab, die einen Quarz brauchten.
Man muss aber auch mal etwas gesunden Menschenverstand Vorrang gewähren lassen, als mit aller Gewalt andere Beiträge schlecht zu machen.

dennisstrehl
05.06.2006, 13:58
Zu der Anwendung im Auto:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

Außerdem braucht der AVR 5V, und kann damit nicht direkt an 13,8V angeschlossen werden.

MfG

Psychomax
05.06.2006, 14:20
Zu der Anwendung im Auto:
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.23

Außerdem braucht der AVR 5V, und kann damit nicht direkt an 13,8V angeschlossen werden.

MfG


Muss ich jede Schaltung die ich einbaue abnehmen lassen? Was das denn für ein Mist! :(

Joa das weiß ich schon das der 5V braucht. ;)



Nochmal zum Quarz:
Wenn ich ein neues Projekt anfange, plane ich es wohl kaum mit einem IC, der schon abgekündigt ist!
Ich weiss auch, das es Typen gab, die einen Quarz brauchten.
Man muss aber auch mal etwas gesunden Menschenverstand Vorrang gewähren lassen, als mit aller Gewalt andere Beiträge schlecht zu machen.


Was meint ihr mit Quarz. Kenn ich noch nicht... :/[/quote]

Schokohoernl
05.06.2006, 14:22
Mein eigenes. Also wie sieht die Beschaltung des Chips aus? So das ich meine anschliessen kann.

also das is recht einfach: 5Vspannungsregler (der AVR kann max. 5V) dann nen 10K widerstand von reset nach 5V. Vcc an 5V, GND an 0V. nen 100nF zwischen 13,8V und GND (direkt vor dem spannungsregler) und ein 100nF zwischen 5V und 0V (am besten einen direkt an den spannungsregler, und einen direkt vor den AVR).
und dann eben die transistoren und LED's so schalten, wie du in deinem schaltplan.

MfG

Schoko

P.S.: nen externes quartz is manchmal ganz angenehm, das der interne Oscillator (z.b. beim ATtiny 2313) ne genauigkeit von +-10% hat, im besten falle +-2%. quarze haben ca +-3ppm (parts per million) ;-)
aber egal, für diesen fall is da interen quartz alle mal ausreichend

Schokohoernl
05.06.2006, 14:44
so.... hab mal eben mit eagle nen schaltplan gekritzelt (nicht schön, aber selten)

zum quartz: über die quartzfrequenz bestimmt man die geschwindigkeit des AVR's. Alle neuen haben aber bereits Quartze integriert, sodass man keine zusätzlichen extern braucht.

MfG

Schoko

Psychomax
05.06.2006, 14:55
Cool danke für die Hilfe! ;) Ach wenn ich da nicht ganz durchblicke.

4 und 8 ist denke ich klar.

5 und 6 sind Ausgänge

2, 3 und 7 sind Eingänge für die Schalter. Auch wenn ich die Beschaltung nicht ganz verstehe. Erkennt der wenn da ein Potenzial von 0V bzw. GND anliegt?!

JOa und mit dem Rest kann ich gar nichts anfangen! ;)

Schokohoernl
05.06.2006, 15:06
Cool danke für die Hilfe! ;) Ach wenn ich da nicht ganz durchblicke.

4 und 8 ist denke ich klar.

5 und 6 sind Ausgänge

2, 3 und 7 sind Eingänge für die Schalter. Auch wenn ich die Beschaltung nicht ganz verstehe. Erkennt der wenn da ein Potenzial von 0V bzw. GND anliegt?!


ja, erkennt er, da er interne Pull-Up widerstände hat (muss man per software einschalten). is der schalter offen, dann is der pin auf 1, ist der schalter geschlossen, dann ist er auf 0.




JOa und mit dem Rest kann ich gar nichts anfangen! ;)

RESET, SCK, MISO, MOSI, GND sind die leitungen, die man für den ISP-adapter (zum programmieren des AVR's) benötigt. der RESET muss durch einen pull-up widerstand "hochgezogen" werden. wird der AVR programmiert, dann zieht der ISP-Adapter den RESET auf 0V.

IC2 (7805) ist ein 5V spannungsregler (regelt die 13,8V auf 5V runter). da sind dann eben noch 2 kondensatoren davor.

jetzt alles klar??

MfG

Schoko

Psychomax
05.06.2006, 15:14
Joa jetzt schon! :) RESET, SCK, MISO, MOSI, GND brauch ich ja nicht unbedingt, wenn ich sie nur für die Programmierung brauch und nicht für die eigentliche schaltung?! Programmiert wird der ja über das STK...

So jetzt muss ich nur noch wissen wie ich den Code auf dem Chip bekomme. Dann kann ich anfangen! :) Den C Code erlese ich mir einfach...

Schokohoernl
05.06.2006, 15:36
jo... brauchste nich zwingend auf der platine, is aber ganz angenehm, wenn man net immer den AVR umstecken muss.


den code auf den chip bringen?? mit dem ISP adapter, bzw. in der anleitung zum STK500 steht das doch bestimmt auch drin. einfach mal lesen ;-)

MfG

Schoko

Psychomax
05.06.2006, 16:03
Ja Sir! ;) Dann wollen wir mal... :) Wird schon schief gehen! :P

Psychomax
09.06.2006, 10:24
Kleine Frage, die ja nicht ganz unwesentlich ist. Wieviel Strom verträgt so ein AVR eigentlich. Hab ich jetzt in diesem Datasheet nicht gefunden.

Hab mir diesen Artikel zu gemüte geführt. Aber da ist meistens die Aussage. "Ist halt so"

https://www.roboternetz.de/wissen/index.php/AVR-Einstieg_leicht_gemacht

Marco78
09.06.2006, 10:28
Im "großen" Datenblatt zum jeweiligen AVR steht es auf jeden Fall unter electrical characteristics (oder wie man das schreibt ;) )
Da ist ein Diagramm und daunter stehen die maximalen Werte.
Es gibt einen max. Strom pro Pin, dann einen pro Port und einen gür den ganzen IC.