Forum: Mikrocontroller und Digitale Elektronik Neuling will mit ATmega8 einen Transistortester bauen


von Daniel V. (Gast)


Lesenswert?

Hallo, ich bin neu hier im Forum und auch neu was ATmega8 betrifft, also 
bitte nicht gleich scharf schießen wenn meine Fragen bissl primitiv 
klingen.

Ich möchte ein Transistortester so wie hier
Beitrag "einfacher Transistortester (Assembler) ATmega8"
oder hier
Beitrag "Transistortester mit AVR"
beschrieben ist, nachbauen.

Ich habe vom programmieren eines uC über einen PC keine ahnung, das ist 
alles neuland. Ich kenne mich gut mit vb6 programmierung aus und bin ein 
guter bastler, und von elektronik im allgemeinen habe ich auch gute 
ahnung.

------------------------
So dann würde ich erst mal paar fragen loswerden, damit das in die Gänge 
kommt mit meinem Transistortester.

1. <b>Welchen USB-Programmierer würdet ihr mir empfehlen?</b>
Den quellcode den man vermutlich mit dem AVRStudio auf dem rechner 
schreibt, muß man am ende auf den ATmega8 per USB überspielen.
Ich möchte ausser ATMega8 und 16, eventuell noch kleine uC wie zB. 
PICProzessoren später mal auch einsetzen.
Ich habe bei e bay diese 2 USB-Programmierer gefunden

DIAMEX USB ISP-Programmer für ATMEL AVR, STK500, ATmega
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=130513809542&ssPageName=STRK:MESINDXX:IT

und noch diesen:
AVR USB ISP Programmer ATMEL ATMEGA STK500 Neu ATTINY
http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=370490000223&ssPageName=STRK:MESINDXX:IT

Habe den verkäufer/firma angeschrieben, die teilten mir mit das sie die 
dinger nur verkaufen, ich soll mich an ein forum melden!

(als PC-Software habe ich mir bereits AVR Studio 4.18 (build 684) 
Setup.exe runtergeladen)
------

2. Brauche ich eine extra Platine (ausser der, wo der Transistortester + 
Bauteile drauf ist) um den ATmega8 zu programmieren, oder kann ich den 
auf der fertigen Platine programmieren?
Ansonsten baue ich mir sowas mit DIP28 sockel um die ATmega8 dann 
zukünftig dort drauf zu programmieren.
------


3. ATmega8L-8PU und ATmega8-16PI habe ich hier günstig gefunden:
http://cgi.ebay.de/ATMega-8L-8PU-Atmel-ATMega8-AVR-Controller-DIP28S-/310218499373?pt=Bauteile&hash=item483a76a52d
und
http://cgi.ebay.de/ATMega-8-16PU-Atmel-ATMega8-AVR-Controller-DIP28S-/120662970194?pt=Bauteile&hash=item1c1812cf52

sind das die richtigen uC oder muß man auf die Buchstabenendung 
irgendwie achten?
Sollte ich mehrere davon kaufen, oder macht das wenig sinn, die neu zu 
programmieren und dann in die anteren bausätze reinzustecken?

4. ASM, BAS, EEP ?
Habe in einigen zip-datein so komische dateine mit unbekannten endungen 
gefunden.
Kann mir jemand erklären welchen Code man in den uC überspielt?
Es gibt ja 2erlei, der reine Quellcode .asm, *.c, *.cpp   und das 
endprodukt *.epp (oder noch mehr?)

Ok das wars erstmal für meinen ersten Beitrag, gruß Daniel

von x8x (Gast)


Lesenswert?

Hallo,
arbeite mal hier:
http://www.mikrocontroller.net/articles/Hauptseite
Den Bereich
AVR-Tutorial
durch. Oder hast Du das schon getan?
Ich entwickle meine Schaltungen immer so, das ich den ISP on Board habe 
und die Bauteile an diesen PINs auch so beschaltet sind, das das 
Programmieren in der Schaltung funktioniert. Denn irgendwann ist doch 
mal ein PIN erst krum, später ab.

Zu3) Die Buchstaben am Ende von ATmegaZZZ-XX haben eine Bedeutung, die 
jeweils genau im Datenblatt steht. Die Datenblätter solltest Du auch 
sorgfälltig lesen. Im allgemeinen steckt in der Buchstabenkombination 
der Temperaturbereich und die Gehäuseform.

Zu einem Programmiergerät: Suche mal nach "USBasp".
http://www.mikrocontroller.net/articles/AVR_In_System_Programmer

Und zur Bedeutung von FUSEs bei den einzelnen Typen solltest Du Dir auch 
im klaren sein, wie Du die setzen willst/mußt.

von Michael K. (Gast)


Lesenswert?

Daniel V. schrieb:

> alles neuland. Ich kenne mich gut mit vb6 programmierung aus und bin ein

In dem Fall könnte Bascom was für Dich sein. Ich kenne es selbst nicht, 
aber es ist wohl sehr beliebt, im µC in Basic zu programmieren.

> 1. <b>Welchen USB-Programmierer würdet ihr mir empfehlen?</b>

Da gibt es viel. Aber das, so wie einiges der anderen Fragen wird in den 
Tutorials hier recht gut behandelt. Z.B. 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

> Den quellcode den man vermutlich mit dem AVRStudio auf dem rechner
> schreibt, muß man am ende auf den ATmega8 per USB überspielen.

Nicht den Quellcode, sondern ein .hex-File, das am Ende rauskommt.

> 2. Brauche ich eine extra Platine (ausser der, wo der Transistortester +
> Bauteile drauf ist) um den ATmega8 zu programmieren, oder kann ich den
> auf der fertigen Platine programmieren?

> sind das die richtigen uC oder muß man auf die Buchstabenendung
> irgendwie achten?

Ja, die Buchstaben am Ende sagen auch was aus, die stehen da nicht nur, 
weil da noch Platz war :)

Erste Anlaufstelle bei solchen Fragen sollten die Datenblätter des 
Herstellers sein, die geben Dir Auskunft darüber, was was bedeutet. Die 
Bauform z.B. dürfte interessant sein, wenn Du auf Breadboards oder mit 
gesockelten µC arbeiten willst.

> Es gibt ja 2erlei, der reine Quellcode .asm, *.c, *.cpp   und das
> endprodukt *.epp (oder noch mehr?)

Es gibt noch eine .hex. Siehe oben :)

Ich kann nicht zu allem was sagen, da ich selber noch n Grünschnabel 
bin, aber ich empfehle Dir wärmstens die Lektüre der Tutorials hier und 
auch des Datenblattes. Gerade letzteres muss man lesen, es hassen, es 
nochmal lesen, es noch mehr hassen, es immer wieder lesen um es 
irgendwann zu lieben.

Viel Erfolg beim Einstieg,
42m

von Jackenkoffer (Gast)


Lesenswert?

Hallo !!
EIn neuling , freut mich !!!
Antwort auf frage 1:
Beide Sind GAnz gut , habe ich in Foren und von einem kumpel erfahren , 
das ist ganz gut.
Mit PIC prozessoren habe ich keine Erfahrung gemacht, die sind weniger 
im "TREND"..

Mein Tipp:
Benutze einen Rs232 ISP adapter von scott falk hühn (Rs232 = Serielle 
Schnittstelle )
http://s-huehn.de/elektronik/avr-prog/avr-prog-alt.htm
dazu brauchst du aber Ponyprog, einfach runterladen und installieren.
Weitere Möglichkeit :
LPT-Port ( Paralelle Schnittstelle ), mit einem 74hct244 Baustein , 
einfach googlen , findest du schnell.  ( schaltplan und eine mögliche 
bauanleitung)
http://www.rn-wissen.de/index.php/AVR-ISP_Programmierkabel
mit dem Zeug gibt´s weniger Probleme Als mit USB ......

Antwort auf frage 2 :
nein , Aber du brauchst eine ISP Buchse,und die richtige Verdrahtung zum 
AVR. Ich würde die ganzen Experimente
auf einer Steckplatine( 3 EURO bei Reichelt, ist am billigsten ) 
durchführen .

Antwort auf frage 3 :
Ich würde mir vllt 3 oder 4 Stück kaufen, denn es kann passieren dass du 
die Falsch rum in den Sockel Reinsteckst , i-was mit ESD ( 
elektrostatische entlandung ) kann auch den controller schrotten ,
Überhitzen, etc........

Wie du die Dinger Handhabst,(ob du die dinger gleich einlötest oder 
nicht ) ist dir überlassen, du kannst so einen Controller bis zu 10.000 
mal programmieren( s. Datenblatt) , ich glaube, noch ein Paar tausend 
mal Mehr geht Schon XD ( du hast also die möglichkeit das ding für 
verschidene Projekte verwenden )

Antwort auf Frage 4:
Normal lädt man "hex" dateien auf den Controller.......,


Mein Ganz Persönlihcer Tipp :

lerne die Grundlagen Von Assembler ( ldi , rjmp, mov, out, ....... )das 
zeug nicht auswendig lernen sondern VERSTEHEN :)
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
und ein Paar kapitel Weiter ...,

dann lerne die Programmiersprache C oder Basic ( Bascom = Basic für AVR) 
für AVR, denn es lohnt sich nicht immer Asm. ( assembler) zu 
programmieren.
Ich persönlich verwende Bascom :)

Hoffe konnt dir damit helfen !!

von Frank (Gast)


Lesenswert?

Jackenkoffer schrieb:
> mit dem Zeug gibt´s weniger Probleme Als mit USB ......

das würde ich nicht sagen, vor allem braucht man an einem einigermaßen 
aktuellen Rechner auch noch ein USB-seriell Adapter, Timing Problem sind 
so gut wie garantiert,
ich z.B einen Dragon, die 50 Euro ist er schon wert.

Jackenkoffer schrieb:
> dazu brauchst du aber Ponyprog

das nicht mehr unterstützt wird und deshalb aktuelle AVRs nicht mehr 
programmieren kann ...

von Daniel V. (Gast)


Lesenswert?

Hallo, erstmal vielen Dank für die vielen Antworten. Ich hatte gehofft 
das ich nach dem lesen eurer Antworten nicht enttäuscht bin, aber nun 
ist es doch so:-)
Ja, ich habe jetzt den ganzen abend mal die links und avr-tutorial 
durchgekaut und jetzt hab ich noch mehr fragen als vorher:-)
------------------------------------------------------------------------ 
------

Ok also ich möchte als start in die uC programmierung diesen 
"Transistortester" von "Markus F." nachbauen.
http://www.mikrocontroller.net/articles/AVR-Transistortester

Was genau benötige ich dafür?
Ich zähle mal auf, was ich denke das benötigt wird:

1. ein USB ISP Programmer zB diesen:
http://cgi.ebay.de/AVR-USB-ISP-Programmer-ATMEL-ATMEGA-STK500-Neu-ATTINY-/370490000223?pt=Wissenschaftliche_Ger%C3%A4te&hash=item5642ecc35f
Die Programmüberspielung sollte auf jeden Fall via USB geschehen, weil 
mein 2. rechner ein NetBook ist und keine COM- und LPT-ports hat.

2. eine Platine auf der ich den ATmega8 draufstecke um das .HEX file 
draufzuladen

3. die Software "AVR Studio 4.18 (build 684)" in der ich das .HEX File 
lade und es über USB auf die Platine mit dem ATmega8 kopiere

4. jetzt sollte das programm im ATmega8 überspielt sein und ich kann 
pracktisch das IC abziehen und auf meine "Transitortester-Platine" 
stecken und alles funktioniert wie beim Autor?!

Habe ich das so richtig beschrieben oder fehlen noch paar wichtige 
punkte?
------------------------------------------------------------------------ 
------

In diesem Tutorial: 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment
ist im ersten 3tel unter "Selbstbau" eine schaltung mit diesem ATmega8. 
Ist DAS so ein programmierbord auf dem man einen leeren ATmega8 steckt 
um ihn mit dem USB ISP zu programmieren?

Wenn ja: an pin 9 und 10 ist noch ein 4MHz quarz + 2x22pF dran, brauche 
ich diesen Oszilator, oder ist der im ATmega8 integriert? Ich hab 
irgenwo gelesen das man den nicht braucht weil er bereits integriert 
sein soll (interner RC-Oszillator)!?
...zB auf dem Schaltplan von Markus F. ist pin 9+10 unbelegt...also muß 
der mega8 von alleine schwingen, oder sehe ich das falsch?

Auf dem Schaltplan ist auch eine 5V Spannungsversorgung abgebildet, die 
kann ich auch dazu bauen, ABER 5V liefert der "USB ISP Programmierer" 
für das Targetgerät, also benötige ich die Spannungsversorgung doch 
garnicht, wenn ich sie doch vom 6 oder 10 poligen ISP-Stecker beziehen 
kann!?

Ok und dann nochmal zu dem ATmega8-uC (mit seinen Endungen). Habe mir 
die 5MB PDF runtergeladen....uiii da muß ich mir paar Tage frei nehmen 
um das zu lesen/kappieren:-)
------------------------------------------------------------------------ 
---------------

Könnte man sagen, ...ich bestelle diesen ATmega8L-8PU (Gehäuse DIP28 
schmal) für 2,39€ von hier, und mit dem kann ich auf jeden fall den 
Transistortester bauen?
http://cgi.ebay.de/ATMega-8L-8PU-Atmel-ATMega8-AVR-Controller-DIP28S-/310218499373?pt=Bauteile&hash=item483a76a52d

Die technischen daten sagen mir garnichts, aber wenn ihr nach unten 
scrolled dann steht dort ne menge zeugs was der kann.
Der hat (Taktfrequenz 0...8 MHz)...reicht das, oder soll ich lieber den 
ATmega8-16PU bestellen, der ist mit 16MHz Takt etwas flotter....oder 
brauch ich so eine speed erst garnicht? ...vom Preis her sind beide 
gleich teuer.
------------------------------------------------------------------------ 
---------------

Noch eine letzte Frage zu dem LCD-Display: So ein Modul 
(HD44780-kompatible) mit 2x16Zeichen gibts aus HK für 3,89€, kostenloser 
Versand aber bestimmt 3-4 wochen wartezeit.
Wo bestellt ihr eure displays?  Sollte ich mir nicht gleich ein größeres 
4x20Zeichen zulegen, oder funktioniert ein größeres nicht bei dem 
Transistortester + ATmega8 ?

vielen Dank an alle die mir geantwortet haben. Ich möchte am Anfang 
nicht sooo viel falsch machen und auch keine unpassenden Geräte kaufen 
die ich vielleicht nie benötige.
gruß Daniel

von oldmax (Gast)


Lesenswert?

Hi
Deinen EBay Artikel und dazu ein Pollin-Board ist ein idealer Start. 
Wenn du das Board selbst zusammenlötest kostet es "nur" 15 €. Und wenn 
du schon bei Pollin bestellst, dann hast du auch die Quelle für weitere 
Teile, z. B. einen RS 232 - USB Adapter. Den brauchst du für die 
Kommunikation µC zu PC, nicht zum programmieren.
Grad wenn du VB programmierst, macht es riesig Spaß, den Controller als 
Datensammler aufzubauen und diese dann an ein PC Programm zur Auswertung 
zu geben. Daas Pollin Board bringt diese Schnittstellen mit und du hast 
auch die Möglichkeit, andere µC zu programmieren.
Manchmal macht es Sinn, Schaltungen auf einem Steckbrett zu testen. 
Danach ist einem Aufbau auf einer eigenen Platine nichts mehr entgegen 
zu setzen. So verhinderst du Fehlaufbauten.
Gruß oldmax

von Markus F. (5volt) Benutzerseite


Lesenswert?

Daniel V. schrieb:
> ...zB auf dem Schaltplan von Markus F. ist pin 9+10 unbelegt...also muß
> der mega8 von alleine schwingen, oder sehe ich das falsch?
Das siehst du richtig; der Mega8 läuft mit dem internen RC-Oszillator 
bei 1MHz.
So ist er übrigens auch werksseitig konfiguriert. Um den AVR zu 
programmieren brauchst du also gar keinen Quarz.

> Der hat (Taktfrequenz 0...8 MHz)...reicht das, oder soll ich lieber den
> ATmega8-16PU bestellen, der ist mit 16MHz Takt etwas flotter....oder
> brauch ich so eine speed erst garnicht?
Weil der Meag8 mit 5V betrieben wird und nur mit 1MHz läuft ist es egal, 
welche Version vom Mega8 man nimmt. Nimm also die, die gerade billiger 
ist ;).

> Wo bestellt ihr eure displays?
Bei Pollin...
Zur Zeit haben die aber nicht allzu viele Displays im Angebot.
Nach wie vor gibt's kleine 2x16-Zeichen-LCDs für 1,95€ (Artikelnummer 
120545). So eins habe ich für meinen Tester genommen.
Allerdings ist das nicht sehr schön anzuschließen (entweder per 
Folienleiter-Buchse mit 1mm Kontaktabstand, oder man lötet den 
Folienleiter runter und schließt es z.B. mit Kuferlackdrähten an).

> Sollte ich mir nicht gleich ein größeres
> 4x20Zeichen zulegen, oder funktioniert ein größeres nicht bei dem
> Transistortester + ATmega8 ?

Der Transistortester unterstützt nur 2x16-Zeichen-LCDs. Man kann 
natürlich auch größere Displays anschließen, aber die zusätzlichen 
Zeichen werden nicht genutzt; daher ist das sinnlos.

von Daniel V. (Gast)


Lesenswert?

@oldmax (Gast)
Ok dann werde ich mir einen der beiden "USB ISP Programmer" bei ibey 
bestellen, ich nehm den bunten der ist 1 euron billiger.
Das Pollin board von Pollin werde ich auch bestellen, dann hab ich schon 
mal lötarbeit damits mir nicht langweilig wird:-)

>z. B. einen RS 232 - USB Adapter
Dieses teil habe ich dort in der suche nicht gefunden bei pollin...wie 
heißt das nochmal genau und
wozu brauch ich das?

>Den brauchst du für die Kommunikation µC zu PC, nicht zum programmieren.
Hää? Ich dachte für die kommunikation zwischen USB und dem Pollin-Board, 
bestelle ich diesen "USB ISP Programmer"?
Kommt da etwa nochwas dazwischen? ...na das wird ein Kabelsalat!

----------------------
@Markus Frejek
Erstmal vielen Dank für deine Arbeit an dem Transistortester und das 
veröffentlichen des codes!
Wenn ich den Autor schon mal sprechen kann:
Welche Dateien und wieviele muß man in den uC reinkopieren? Ich habe 
hier eine HEX, eine *german.EPP und dann noch einen ordner 
"semiconductor_tester"...da hast soviele dateien drin das ich so erstmal 
damit garnichts damit anfangen kann. Sind die wichtigen Dateien hier 
drin:
semiconductor_tester/firmware/precompiled_m8 ??

>Weil der Meag8 mit 5V betrieben wird und nur mit 1MHz läuft.
Läuft der nur mit 1MHz weil du das in deinem programm so bestimmt hats 
oder läuft dieser uC grundsätzlich nur mit 1MHz takt?

Ich werde mich auf jeden Fall wieder melden wenn ich das pollin-board 
zusammengelötet habe und die restlichen teile alle habe.

Ich zähl das vorsichtshalber nochmal auf was ich wohl brauchen werde:
1. USB ISP Programmer mit USB-Kabel und ein 6 oder 10 poliges 
Anschlußkabel zum Board.
2. Das "ATMEL Evaluations-Board Version 2.0.1 - Bausatz" von pollin 15,-
3. einige ATmega8 uC mit 8MHz (event. noch 28 pin Dip ic-sockel, am 
Anfang weiß man ja nie was ich da tue :-)
4. eine Lochplatine oder Steckplatine, wo ich den Transistortester drauf 
baue
5. ein 2*16 Zeichen display
6. Software AVR Studio 4 (die ich noch nicht bedienen kann)
...die restlichen bauteile sollte ich irgendwo rumliegen haben...

Ist das soweit alles was ich benötige zum loslegen, oder brauch ich noch 
welche Module oder adapter?
---------------------

Übrigens wer eine Programmer der neuesten Generation haben möchte, 
funktioniert ohne USB-Anschluß und benötigt auch keinen ATmegaXXX oder 
programmierkentnisse, ist aber sehr teuer der sollte sich mal die 
webseite www.pollin.de aber NUR mit einem "l"-Buchstabe aufrufen...

gruß daniel

von Frank (Gast)


Lesenswert?

Daniel V. schrieb:
>>z. B. einen RS 232 - USB Adapter
> Dieses teil habe ich dort in der suche nicht gefunden bei pollin...wie
> heißt das nochmal genau und
> wozu brauch ich das?

brauchst du jetzt noch nicht, das war wohl ein Vorschlag für
später falls du mal igendwann irgendwelche Daten vom mc zum PC 
übertragen willst

von Hans Zarkov (Gast)


Lesenswert?

Daniel V. schrieb:
> DIAMEX USB ISP-Programmer für ATMEL AVR, STK500, ATmega
> http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=...
>
> und noch diesen:
> AVR USB ISP Programmer ATMEL ATMEGA STK500 Neu ATTINY
> http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=...

Beide zu teuer.

von Daniel V. (Gast)


Lesenswert?

@Hans Zarkov
Beide zu teuer?? der eine kostet 18,90 und der andere 16,90...geht das 
noch billiger?  Der USB-Programmer sollte aber schon die aktuellsten uC 
beherschen, das AVR Studo wie auch Bascom für Basicprogrammierung.!


Hab nochwas vergessen zu fragen bevor ich losbestelle:
Wir haben bisher nur über den ATmega8 uC gesprochen, welche andere 
kleinere uC Chips benutzt ihr dann haupsächlich?

Ich würde gerne mal so led-lauflicher und so kleinkramm programmieren, 
dafür brauch ich doch nicht den großen uC...da gibts doch bestimmt so 
kleine mit 8 oder 16 pins.

Wenn ich schon bestelle das ich dann die versandkosten spare und alles 
in einem rutsch bestelle.
Also welche kleineren chips nutzt ihr für kleinere programme?

danke

von M. P. (phpmysqlfreak)


Lesenswert?

ich nutze den ATtiny13 (8-Pin DIL)
oder bei etwas mehr Pin-Bedarf (z. B. LCD) den ATtiny2313 (20-Pin DIL)

von Hans Zarkov (Gast)


Lesenswert?

Daniel V. schrieb:
> Beide zu teuer?? der eine kostet 18,90 und der andere 16,90...geht das
> noch billiger?

http://www.ehajo.de/Bausaetze/AVR-ISP-Stick

Kostet nur die hälfte und macht das gleiche.

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
Noch kein Account? Hier anmelden.