PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MEGA 8 für Anfänger (11LED's und SPEAKER)



FAB3D
25.08.2007, 16:41
Hallo,
ich bin ganz neu hier und auch vorher noch nie mit Microcontrollern in Kontakt gekommen - also entschuldigt bitte Anfängerfehler und "dumme Fragen".
Im Internet bin ich auf das Thema Microcontroller aufmerksam geworden und habe mich dann auch nach einigen Nachforschungen einen ATMEL MEGA 8 und einen USB ISP Programmer.
Ich will also den MEGA8 mit dem ISP Programmer beschreiben und dann ohne Controllerboard mit 5V von meinem PC-Netzteil betriben. Insgesamt sollen 11 steuerbare LED's und ein Lautsprecher (an Astabiler Kippstufe) betrieben werden.
Hier mal ein bild vom geplanten Aufbau:

maximum2006
25.08.2007, 17:43
willkommen heir im forum..

also das sieht schon recht gut aus...

ich weiß nicht genau ob die spannug ausm netzteil schon einigermaßen gelättet ist..sonst halt kondensatoren dazu!

dir kippstufe kannst du nicht direkt ansteuern dazwischen msit ein treiber transistor!


kannst aber glaube ich auch anders eine lautsprecher ansteurn(ohne den astab. multi)

vorerst reicht der interne oszillator(8mhz max)

später solltest du dich aber dran gewöhnen eine extern quarz zu benutzen!


wo ist den sonst deine frage?


grüße max

FAB3D
25.08.2007, 17:59
Erstmal vielen Dank für die schnelle Antwort!
Also ich hab das Enermax Liberty 600W - Kondensatoren (Mehrzahl?) - ich hatte mal was von einem 100nF Abblockkondensator gelesen - aber weiß micht mehr wo der in der Schaltung genau hinkommt.

Also der höchste Ton den ich da rausbekomme sind 8Mhz - sollte reichen...
Dazu hätte ich nochmal 3 Fragen:
1. Wie würde denn dann die Programmierung von sowas aussehen? (kann man da die Tonhöhe vielleicht sogar per Programmierung variiren?)
2. Was für einen Lautsprecher kann man da nehmen?
3. Wie wird der dann am Mega 8 angeschlossen? Sollte man da noch was zwischenschalten?

Zur Programmierung habe ich auch noch Fragen:
Im Artikel Bereich RN-Wissen habe ich ein Beispiel gefunden (hier die ersten 2 Zeilen):
$regfile = "m8def.dat" <--was ist das für eine datei(aufgabe), wie wird die erzeugt und wo befindet die sich (ist die datei auf jedem mega 8 vohanden?)
Config Portd = Output <--ich nehme mal an da sage ich dem controller was eingang und was ausgang ist - da ich 11 LED's hab muss ich 3 davon an Port C ranhängen.
muss ich also schreiben:
Config Portd = Output
Config Portc = Output

Hubert.G
25.08.2007, 19:30
Einige Kleinigkeiten fehlen noch an deinem Board.
AVCC mit VCC verbinden und AGND mit GND, sonst funktioniert dein Port C nicht. 100n zwischen VCC und GND. AREF 100n nach GND.
Lautsprecher kannst du alles von 4 bis 100 Ohm verwenden, wie laut du es halt willst. Anschließen mit dem Transistor wie er jetzt ist, anstelle der Diode ein 330 Ohm direkt an das Port, den Rest weglassen.
Wie ich das sehe willst du in BASCOM programmieren, da kann ich dir nicht helfen, es gibt aber einige gute Tutorials.
Die LED direkt am Port zu betreiben würde ich mit gut überlegen, wenn alle elf LED leuchten bist du mit dem max. Strom des µC stark an der Grenze des erlaubten. Siehe Datenblatt "Electrical Characteristics" Absolute Maximum Ratings
Hubert

FAB3D
25.08.2007, 21:45
Also ich fasse mal zusammen:
1. ich hänge den AVCC mit an den 5V Leitung
2. AGND (handelt es sich dabei um pin 22?) kommt mit an die Erdung
3. einen 100nF Kondensator zwischen VCC und GND
4. einen 100nF Kondensator zwischen AREF und GND
5. für meinen Lautsprecher: von Port über 330Ohm Wiederstand zum Transistor und wenn der schaltet bekommt der lautsprecher direkt von der 5V Leitung Saft? Aber das Compnetzteil hat doch Gleichstrom...?
Oder vom Port zum Transistor und der Lautsprecher bekommt dann 5V mit vorgesaltetem 330 Ohm Wiederstand?

Mit der Programmierung habe ich mich noch nicht festgelegt - BASECOM hatten die in dem Beispiel benutzt - bin offen für Vorschläge (oder links)

radbruch
25.08.2007, 22:17
Zu 5: Du mußt den Port in der gewünschten Frequenz ansteuern. Der Mikroprozessor ersetzt dann die Kippstufe.

locked
25.08.2007, 22:55
Hallo,

also du musst quasi den Port Pin, an welchem der Lautsprecher mit seinem Transistor sitzt toggeln.

Das sieht dann in etwa so aus:

- Pin auf Hi schalten
- warten
- Pin auf Lo schalten
- warten

und das eben so lange wiederholen, solange du den Ton benötigst. Die Tonhöhe kannst du dann mit der zu wartenden Zeit einstellen.

Mfg

FAB3D
26.08.2007, 13:41
Ich habe meine Schaltskizze nochmal etwas überarbeitet (nach Hubert.G's Tipps) Würde mich freuen wenn da nochmal jemand reinschauen könnte. (ob die Wiederstände an den richtigen Stellen sitzen usw.)

Hubert.G
26.08.2007, 16:09
Der Kondensator von AREF nach GND fehlt noch.
In die Basisleitung zwischen Port und Transistoren gehört ein 1k Widerstand, die LED mit Widerstand und der Lautsprecher mit Widerstand gehören in den Kollektor nach +5V .

FAB3D
26.08.2007, 16:47
Habe die Wiederstände der LED und des Lautsprechers zwischen 5V und Kollektor geschaltet. Zwischen Port und Transistor (Mittelpin) einen 1KOhm Wiederstand.
Der 100nF Kondensator war am falschen pin angeschlossen - habe die Skizze nochmal abgeändert.

radbruch
26.08.2007, 17:19
Jetzt noch den 100K Vorwiderstand der LEDs auf 100 Ohm ändern...

Hubert.G
26.08.2007, 19:01
LED und Lautsprecher gehören auch in den Kollektorkreis nicht nur die Vorwiderstände.

FAB3D
26.08.2007, 22:17
hab's nochmal überarbeitet:

wischwasch
26.08.2007, 22:30
Der 330 Ohm Widerstand beim Lautsprecher musst du auf den Lautsprecher anpassen. Je nach Impedanz und Leistung musst du ihn erhöhen oder senken.

FAB3D
27.08.2007, 20:19
und abgesehen vom Latsprecher - ist sonst alles korrekt verdrahtet? (oder erlebe ich ne' böse überraschung wenn ich das ding anschließe)

Hubert.G
27.08.2007, 20:39
Wenn du nicht mehr als 5V anlegst und die auch richtig gepolt sollte es keine negative Überraschung geben. Jetzt brauchst du nur noch den Programmer anschließen und dein Programm übertragen.
Hubert

pmaler
27.08.2007, 21:02
Darf ich fragen, warum ein 2n2222 verwendet wird?
Der "kann" 800 mA Collectorstrom und packt bis 250 Mhz
Ein bc547 packt nur 100mA bei 150Mhz

Würde der nicht auch genügen?

Weil ich gerade ein paar bc337 und bc547b rumliegen habe und mir so eine Kleinigkeit auch basteln möchte :-)

FAB3D
27.08.2007, 21:04
hat jemand vielleicht noch einen tutorial link wie ich meinen mega8 über den usb isp programmer richtig anschließe und programmiere?
(will versuchen ein paar anfängerfehler zu vermeiden)

FAB3D
27.08.2007, 21:07
@pmaler: du hast recht - die 2n2222 sind überdimensioniert. (hab mir heute erst die bc547b besorgt)

pmaler
27.08.2007, 21:23
War heute bei Conrad und da flogen 2 Säckchen mit den Transistoren in meinen Einkaufskorb... Unter dem Motto... So einen kleinen bc xxx kann man garantiert irgednwo sinnvoll einsetzen.

Deshalb meine Frage.

Ach ja. Danke für das Beispiel. Bin vom Alter her zwar schon fortgeschritten, aber in der Elektronik noch sehr jung

pmaler
27.08.2007, 21:33
hat jemand vielleicht noch einen tutorial link wie ich meinen mega8 über den usb isp programmer richtig anschließe und programmiere?
(will versuchen ein paar anfängerfehler zu vermeiden)


Als erstes... einen ISP Dongle kaufen. Ich habe gleich die große USB-Variante verwendet. Auch gleich mit Bascom, denn die Fusebit-Geschichte wollte ich von Anfang an ausschliessen:

Hier mal lesen: https://www.roboternetz.de/wissen/index.php/RN-Board_FAQ-Seite

Hier kannste ablesen, wie er angeschlossen wird:
https://www.roboternetz.de/wissen/index.php/AVR-ISP_Programmierkabel
falls du selbst bauen willst,

Was mir selbst auch sehr geholfen hat, war das hier:
http://www.mikrocontroller.net/articles/AVR

Bin noch lange nicht durch alle Seiten durch, teils aus Zeitmangel, teils aus Wissenmangel. Aber ich bin guter Hoffnung...

FAB3D
28.08.2007, 23:33
@pmaler: vielen dank für die links! (die roboternetzdatenbank ist schon sehr umfangreich) allerdings habe ich kein konkretes beispiel zu meinem usb isp kabel gefunden (immer nur lpt1 und com - und obendrein nicht der mega 8 sondern der 32er mit dil 40 gehäuse)

@alle: ich habe nochmal ein beispiel mit 8 belegten pins gemacht (nur der D port) und ner schaltung von 4 led's in reihe mit 200 Ohm wiederstand an 12V.

meine frage: habe ich da alles richtig gemacht (kondensator an richtiger stelle usw.)
reichen die bc547b für 12V auf dem collector aus?(oder brauche ich dann die 2n2222?)

Hubert.G
29.08.2007, 10:11
Die Schaltung sieht so gut aus. Ob 4 LED in Reihe gehen wirst du probieren müssen den 4 x 3,1V sind 12,4V, entweder du hast etwas mehr Spannung oder du kannst nur 3 LED nehmen. Der BC547 reicht auf alle Fälle aus.
Dein Probelm mit dem ISP-Kabel ist mir nicht klar. Was hast du für einen Stecker drauf 6- oder 10 pol. Du brauchst dir nur eine 6 oder 10pol. Steckerleiste auf dein Board löten und nach dem Bild mit dem Kontroller verbinden. Die Ansicht ist von oben gezeichnet.
Hubert

FAB3D
29.08.2007, 16:32
hast recht da is irgendwie eine led zu viel hingerutscht (und der falsche wiederstand)
hab nochmal den 10 pin anschluss mit eingebaut.
dazu nochmal ne frage: wenn ich den 10 pol stecker am mega8 anschließe - kommt dann am resetpin auch der 10kohm wiederstand dazwischen?