PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tja wie fang ich denn nun an? ^^



Razzorhead
06.08.2009, 22:43
Hi leute,

Ich hab nun nach meinen asuro was eigenes vor, und hab hier 2 servos, nen atmega8 und neuerdings auch das USBAVR lab mit mkII firmware.

Nur blick ich irgendwie gerade garnicht durch...
Wie soll ich nun anfangen?
Ich weiss grade nichmal wie ich den µC programmieren soll, weil ich nicht weiss wie rum die wannensteckverbinder vemeint sind, von oben betrachtet, von unten... oder was? Ich kapiers irgendwie nicht... Und will das teil nun nicht falsch anschliessen.

Der µC wird mit 6,5V versorgt( etwas zuviel,deswegen 2 LEDs dazwischen), am GND und vcc hab ich dann noch nen kondensator damit die spannung stabil bleibt (so ähnlich wurds mir gesagt).

Also wie gehts nun weiter? Den servo anschließen wird nicht das thema sein, aber woher weiss ich wie rum ich den wannensteckverbinder auf meiner platine einbauen/sehen muss, damit ich MISO und alles richtig am µC anschließe. In der anleitung vom USBAVR lab seh ich zwar den 10 pol stecker, aber ob jetzt der auf meiner platine, der am usbavr lab(denke ich mal..) gemeint ist, und wie rum das ganze soll, weiss ich trozdem nicht...

Dann hab ich noch gelesen das die atmegas von haus aus mit 1mhz laufen, also brauch ich anscheinend noch einen quarz? was nehm ich denn da? 8 oda 16mhz? Wo löte ich den dran?

Hoffe hier sind ein paar nette menschen die mir weiterhelfen können und wollen, damit ich langsam mal etwas hinkriege ](*,)

Mein µC: Atmega8-16PU (denke mal der kann bis 16mhz? =o)
Wollte mir halt nur eine kleine experimentierplatine bauen, damit ich ein paar sachen ausprobieren kann.

LG Raz

christian_u
06.08.2009, 22:59
Hallo Raz,

Der Steckverbinder ist in der Produktinfo vom Lab, der am Lab wie du schon vermutest. Es stehen ja auch noch Pin Nummern dran womit man das verifizieren kann.
Wie würdest du de Beschreibung gern haben ? Mit Foto und den Signalen drangeschrieben ?

Den Atmega8 kannst du mit internem resonator bis 8 Mhz betreiben, für die ersten Schritte würd ich ihn auf 1 Mhz lassen.

http://shop.ullihome.de/catalog/product_info.php/products_id/68

schau dir mal die Produktnformation vom Einsteigerset an dort werden viele Einsteigerfragen geklärt. Wenn nu noch weitere hast, frag ruhig. Kannst mich auch jederzeit direkt fragen nur so bekomm ich mit wo noch Dokumentationsbedarf besteht ;) viel Sachen sind für mich selbstverständlich so vergess ich dazu was zu schreiben.

lg
Christian

Besserwessi
06.08.2009, 23:06
Der Mega8-16 kann maximal 16 MHz, weniger ist aber auch OK. Mit den internen Oszillaor kommt man bis 8 MHz. Das reicht schon für vieles. Einen Quarz braucht man vor allem, wenn man per UART (RS232) mit dem PC Daten austauschen will. Sonst geht es auch ganz gut ohne.
Auch 1 MHz ist für den Anfang nicht schlecht, das ist immerhin noch schneller als früher ein Apple 2 oder C64.

Bei dem 10 poligen Stecker, ist das sicherste wohl eine Leitung wie Reset oder VCC zu verfolgen. Wenn die richtig ankommt, stimmt der Rest auch. Eventuell muß man zum Nachmessen den Stecker auch mal Probeweise Draufdrücken.

Die Spannungsversorgung mit 6,5 V und LEDs dazu ist recht abenteuerlich. Da sollte man besser einen Spannungsregler nehmen. Allerdings sind 6,5 V zu kanpp für einen 7805.
Der Mega8 will 2 Kondensatoren für die VErsorgungsspannung: an VCC und an AVCC.

Razzorhead
07.08.2009, 00:04
Danke für eure antworten
Ich versorg den µC aber nur an einer stelle mit strom, ist das ein problem oder muss ich an beiden VCC strom dranmachen?

Pinnummern stehen dran, aber nicht am lab! (oder hab ich da was übersehen?..
Ist da wo das farbige kabel vom ISP stecker am pin ist pin 1?

Und wo kommt "USIG1" dran? Hab kein pin am µC der so heisst ^^.

Schaden dem atmega8 die 6,5V direkt denn? Mein netzteil geht leider nicht tiefer, nur höher, aber will auch nicht direkt nen spannungswandler dran machen (will nicht schon wieder in die stadt einkaufen für nen kleines teil =D)

Die doku sieht gut aus hab ich garnicht gesehn, hab ja so ziemlich mein eignes set zusammengestellt :D Ich les mich dann mal durch.
Mal schauen ob ich noch fragen zur dokumentation beitragen kann chris :D

LG Raz

//Edit: der link http://shop.ullihome.de/catalog/userdownloads/17090.1de_0Experimente.zip in der doku geht nicht, ausserdem weist er auf http://update.ullihome.de/einsteigerset.zip was auch nicht geht ^^.
//Edit2: der auf der produktseite geht http://shop.ullihome.de/catalog/userdownloads/17090_1de_0Experimente.zip
//Edit3: Hab gerade hier gelesen http://www.mikrocontroller.net/articles/AVR_In_System_Programmer das Pin 1 bei nem dreickeck/pfeil ist... Konnte doch nicht hellsehen :D.
ist das auch von dir Christian?

//Edit4: Hab nun mal alles fertig und an mein µC angeschlossen, hab die mkII firmware drauf, avr studio sagt wenn ich conncten will:

Detecting on 'USB'...
AVRISP mkII with serial number ULLIHOME.DE0 found.
Getting isp parameter.. SD=0x05 .. OK
Sobald ich irgendwas auslesen/schreiben will kommt aber "Target appears to have lost power or the ISP connector is disconnectet"... Naja trifft beides nicht zu, was ist also los? :/
Nu geh ich aber mal schlafen... schon 3:16 =D

christian_u
07.08.2009, 06:01
Ich hab die produktinformation mal angepasst auf den rest kann ich aus Zeitmangel erst heut abend eingehn.

lg
Christian

Besserwessi
07.08.2009, 10:26
Eine Spannung über 5.5 V ist einfach zu viel für den Mega8. Man braicht also irgendeine Art der Spannungsreduzierung. Wenn die 6,5 V stabilisert sind, also kein brummen draufhabe, könnte man was it dioden machen. z.B. 2-3 Siliziumdioden in Reihe und eine Mindestlast (z.B. LED) dazu.
Wenn die 6,5 V unstbilisiert sind, braucht man wohl schon eine Art Regler.

Die Spannung gehört auch an beide Seiten, also an Vcc und AVcc. Genauso sollten unbedingt auch GND und AGND angeschlossen werde.

Razzorhead
07.08.2009, 22:54
Hab nun alles angeschlossen aber die fehlermeldung bleibt die selbe!...
Ich kann das netzteil ja auch über 6,5V drehen, die spannung ist stabil, was soll ich dann für nen spannungsregler nehmen (am besten noch vergleichbare... weiss nicht was die hier im laden so haben), und ist es schwer son teil anzuschließen? Und wie teuer ist sowas?

Kann es sein das das ganze nur wegen den 6,5V nicht funzt? Halte ich eher für unwahrscheinlich...

LG Raz

Razzorhead
08.08.2009, 21:24
So nun funzt alles - fast.
Hatte iwie paar pins am ISP falsch angelötet, und wie gesagt war die spannung zu hoch.
Nun hab ich nen altes netzteil gefunden das 4,5V macht ( so stehts drauf, macht aber 5,3V), damit gehts dann.

Letztes problem ist, wie mach ich das mein programm ausgeführt wird?
Ich hab kein taster, schalter oda was weiss ich, nur ne LED an ein port, nen servo an einem und das wars, also wie sag ich dem controller -> Programm starten! ?
Strom weg und wieder dran passiert nix #-o

LG Raz

021aet04
08.08.2009, 23:07
Normalerweise wird der µC resettet, sobald eine Spannung anliegt. Das Programm startet automatisch. Wie hast du den Resetpin angeschlossen?

Razzorhead
08.08.2009, 23:19
Der resetpin ist nur am ISP zum programmieren, wo sollte der denn noch dran?

LG Raz

021aet04
08.08.2009, 23:47
Im Artikelbereich unter Mikrocontroller und dan RN-Mega8 ist dieses Bild zu finden.
http://www.rn-wissen.de/images/thumb/d/d7/RNMega8Schaltplan.gif/800px-RNMega8Schaltplan.gif
Beim Mega8 ist links oben der 1. Pin die Resetschaltung. Von VCC auf den Pin schließt du einen Widerstand an. Zwischen Pin und GND einen Kondensator.
PS: Wer suchet, der findet.

Besserwessi
09.08.2009, 09:38
An den reset Pin wird oft noch ein Widerstand (ca. 10 K) gegen VCC geschaltet. Gelegentlich auch ein kliener Kondensator (z.B. 1-10 nF) gegen Masse. Es geht aber auch ohne, die Schalötung ist nur dazu da einen eventuellen Reset durch Störungen zu vermeiden. Wenn man einen extra Reset auf Tastendruck braucht, dann kommt der Taster gegen Masse.


Das Programm im µC startet kruz nachdem eine genügende Spannung am µC anliegt. Die Spannungsschwelle kann man über die Fuse Bits zum Brownout detektor ggf. auch noch einstellen.

Razzorhead
09.08.2009, 13:57
Danke für eure antworten.
Kann ich auch einen 10µF kondensator nehmen? :/
Ist ja leider sonntag und das ist das letzte teil was ich hier rumfliegen hab :D

LG Raz

Besserwessi
09.08.2009, 14:50
Ein 10 µF kandensator an Reset ist etwas sehr groß. Die Meisten Programmer kommen damit vermutlich nicht klar. Es geht aber auch gut ganz ohne den Kondensator.

Als Abblockkondensator sidn 10 µF nicht gut, aber besser also gar nichts.

Razzorhead
09.08.2009, 15:06
Gut dann mach ichs wohl erstmal ohne.
Aber gibts kein kurzschluss wenn VCC und GND an den reset pin kommen? o.o
Achja und oben hast du was über Brownout gesagt, muss das an sein? Wenn ja muss es 2,7V oder 4,0 sein?

LG Raz

Besserwessi
09.08.2009, 16:52
Der brownout detektor muß nicht an sein. Es geht auch erst mal ohne. Wenn man das EEPROM nutzt oder einen µC mit Bootloader nutzt und der Häufiger ein/ausgeschaltet wird, sollte man den Brownout Detektor nutzen. Welche Spannung man das Einstellt hängt hauptsächlich vom Takt ab. Bei einer hohen Freiquenz sind 2,7 V oft zu wenig, damit der µC zuverlässig läuft.

Der Reset Pin ist in aller Regel ein Eingang. Es gibt also keinen Kurzschluß wenn man den auf GND oder VCC zieht.

Razzorhead
09.08.2009, 17:16
Ich hab VCC über einen 10k widerstand an Reset nun angeschlossen.
Es passiert aber nix.

Ich will erstmal zum testen nur eine LED anmachen, die LED ist über nen widerstand an PB1 und dann an GND.

Wenn ich selsbt strom an die LED macht funktioniert sie.
Aber nicht mit meinem einfachen Bascom programm:


$regfile = "m8def.dat"
$crystal = 8000000


'LED an PB1
Led Alias Portb.1
Config Led = Output
Led = 1

End

Ist immernoch der reset falsch? Oder etwas im code?

Raz~

Besserwessi
09.08.2009, 18:19
Der Reset Pin wird nicht das Problem sein.
Also wird der Fehler mehr im Programm oder die Fuse Bits sein.
Das Proggramm geht zu ende, das sollte normalerweis nicht sein. Da gehört eine Endlosschleife oder ggf. eine Befehl wie POWERDOWN hin. Ich weiss aber nicht ob das bei BASCOM wichtig ist.

Razzorhead
09.08.2009, 18:58
Das programm hab ich nochmal geändert und aus dem rn-wissen abgeschaut:
http://www.rn-wissen.de/index.php/Bascom



' Verwendete CPU festlegen (ATmega8)
$regfile = "m8def.dat"
$crystal = 1000000


Config Pinb.1 = Output 'Ein Pin wird als Ausgang konfiguriert PC0 (also Pin0 von Port C)
Led Alias Portb.1

do
Led = 1 'Pin wird auf High, also 5V geschaltet
Waitms 100
Led = 0 'Pin wird auf Low, also 0V geschaltet
Waitms 100
loop


Geht (natürlich..) immernoch nicht.
Meine Fusebits könnt ihr im anhang sehen, Was könnte da falsch sein? :/

//Edit: Oh man da schließ ich wieder mein servo an um zu testen ob es einfach am port oder sonstwas liegt... und was ist? Den servo kann ich ohne probleme ansteuern!
Danke für eure hilfe, nun schau ich mal ob ich alleine klar komme^^

LG raz