Probleme beim Einstieg in die wunderbare Welt der Microcontroller

Gast #2643918
Lesenswert?

Guten Tag alle Zusammen

Ich lerne seit ein paar Wochen mit Hilfe des Internets wie man einen 
Mikrocontroller Programmiert.

Zu meiner Ausrüstung.
Ich benutze ein Pollin Board als Oberfläche und habe mir einen Atmega 8 
gekauft.
Programmieren kann ich ihn über die smartusb (my AVR) Anbindung. (ISP 
Schnittstelle)

Ich programmiere in Basic mit Basecom.


Sooooooooooo ich hänge leider bei der Inbetriebnahme fest^^
Mein plan war es alle möglichen Ausgänge vom Atmega 8 auf High zu 
setzten.

Programm:

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

Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output
Config Portb.4 = Output
Config Portb.5 = Output
Config Portb.6 = Output
Config Portb.7 = Output

Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Config Portc.4 = Output
Config Portc.5 = Output
Config Portc.6 = Output
Config Portc.7 = Output

Config Portd.0 = Output
Config Portd.1 = Output
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Config Portd.6 = Output
Config Portd.7 = Output


Dim Speed As Integer
Speed = 1000


Do

   Portb.0 = 1
   Portb.1 = 1
   Portb.2 = 1
   Portb.3 = 1
   Portb.4 = 1
   Portb.5 = 1
   Portb.6 = 1
   Portb.7 = 1

   Portc.0 = 1
   Portc.1 = 1
   Portc.2 = 1
   Portc.3 = 1
   Portc.4 = 1
   Portc.5 = 1
   Portc.6 = 1
   Portc.7 = 1

   Portd.0 = 1
   Portd.1 = 1
   Portd.2 = 1
   Portd.3 = 1
   Portd.4 = 1
   Portd.5 = 1
   Portd.6 = 1
   Portd.7 = 1
Loop

End


Nun das Problem:
Ich messe bei der Hälfte der Ports 5,1V - 5,3V
und bei den anderen so 4,6V - 4,7V

Und bei einen Port messe ich 2,7 V

Ist der Atmega vielleicht kaputt??

Danke im Voraus =)
(Firma: matzetronics) #2644199
Lesenswert?

PC6 kann beim Mega8 nur benutzt werden, wenn man auf die normale 
Funktion des Pins (/Reset) verzichtet. PC7 ist nicht vorhanden. Genauso 
können PB6 und PB7 nur benutzt werden, wenn kein externer Quarz (beide 
Pins belegt) oder ein externer Oszillator (PB6 belegt) benutzt wird.
Es ist also sinnlos (und normalerweise empfiehlt Atmel das auch nicht) 
diese Ports zu programmieren. Im Datenblatt steht da meistens 'reserved' 
- write to zero.
Gast #2644418
Lesenswert?

> PC6 kann beim Mega8 nur benutzt werden, wenn man auf die normale
Funktion des Pins (/Reset) verzichtet. PC7 ist nicht vorhanden. Genauso
können PB6 und PB7 nur benutzt werden, wenn kein externer Quarz (beide
Pins belegt) oder ein externer Oszillator (PB6 belegt) benutzt wird.
Es ist also sinnlos (und normalerweise empfiehlt Atmel das auch nicht)
diese Ports zu programmieren.

Morgen.
Danke erst mal für die schnelle Hilfe =)

Da haste recht und ich habe mir das Datenblatt mal angeguckt und stimmt 
die PC 6,7 und PB 6,7 sind mit meinem Board so nicht benutzbar..

Ich muss sagen ich habe bei dem Programm zum überspielen noch nichts mit 
den FUse bits gemacht. Meint ihr da Konnte das Problem auch liegen ?
Gast #2644436
Lesenswert?

Matthias K schrieb:
> Ich muss sagen ich habe bei dem Programm zum überspielen noch nichts mit
> den FUse bits gemacht. Meint ihr da Konnte das Problem auch liegen ?

Brauchst du auch nicht unbedingt, ausgeliefert wird mit interner RC 
Oszilator 8 Mhz und der wird dann noch runtergeteilt auf 1Mhz divCLK/8.

Alle Ports auf high schalten ist doch nicht zu toll. Schließ doch mal 
LEDS an und lass die Blinken. Es gibt jede Menge Tuts dafür.
Gast #2644438
Lesenswert?

Hi

>Aber hier arbeiten doch bestimmt Leuite mit dem Atmega 8 oder

Es gibt modernere.

>habt ihr es geschaft an allen möglichen Ports 5 V zu bekommen ??

Ein Microcontroller ist kein Spannungsregler. Die Spannung an den 
Ausgängen ist von verschiedenen Faktoren abhängig. Aber so lange H un L 
in den zulässigen Toleranzen liegen besteht kein Handlungsbedarf. Welche 
Spannung liegt den an VCC und AVCC deines Controllers an?

MfG Spess
Gast #2644448
Lesenswert?

Es kommt vor allem auch darauf an was an den jeweiligen Ports 
angeschlossen ist.
Evtl wird der Port auch zu sehr belastet und wird dadurch etwas in die 
Knie gezogen.
Auf einen Port mit einem Taster ein HIGH zu geben wenn er gegen LOW 
geschalten wird macht wenig Sinn...drück ein Mal auf den Taster und du 
hast nen Kurzen.

Und das nicht nur in der Hose (SCNR).

Grüße
Gast #2644581
Lesenswert?

Also das board hat ja nen Brückengleichrichter und nen spannungsregler 
für die 5 V .

An VCC liegen dann die 5,1V

Kann ja nicht sein das die Ports bei D alle 5V haben (im Leerlauf messe 
ich alles) und bei Port B einer 5V und die anderne liegen dann bei 4,6V

Wo kommt das nur her. Das alles habe ich ja übrigend gemerkt als ich an 
jeden Port eine Led angeschlossen hatte. und viele nicht geleuchtet 
hatten. ^^ Passt der vorwiderstand halt nicht bei 4,6V
#2644593
Lesenswert?

Welchen Vorwiderstand hast du denn benutzt und welche Durchlassspannung 
hatten die Leds?
Dir ist bekannt dass der µC nicht beliebig viel Strom liefern kann?
Du hast eine maximale Belastung pro Portpin, aber auch ein maximale 
Belastung des µCs die kleiner ist als die Summe aller Ports mal max. 
Strom pro Port.
Du musst dich mehr mit dem Datenblatt beschäftigen!
Gast #2644622
Lesenswert?

Aber das ich im Leerlauf an einem Pin 5 V messe und am nächsten nur 4,6 
V ?
Die Leds sind ja gar nichts so mein Problem. Hab auch mal nur einen 
dieser Pine Auf High gesetzt der hatte dann auch nur 4,6 v
Gast #2644635
Lesenswert?

Matthias K schrieb:
> Aber das ich im Leerlauf an einem Pin 5 V messe und am nächsten nur 4,6
> V ?

kann schon sein, ist kein Problem.
Vieleicht läd sich da irgend was auf oder was auch immer.

Mach wie schon oben geschrieben die kleine Last mit 1K Widerstand und 
eine Low-Current-LED drann und messe noch mal.


Axel
Gast #2644696
Lesenswert?

Hi

>An VCC liegen dann die 5,1V

>Ich messe bei der Hälfte der Ports 5,1V - 5,3V

Der AVR kann die Spannung nicht erhöhen. Das lässt Zweifel an der 
Vertrauenswürdigkeit deiner Messungen aufkommen.

>Aber das ich im Leerlauf an einem Pin 5 V messe und am nächsten nur 4,6
>V ?

Hast du im Schaltplan überprüft, ob die Pins wirklich im 'Leerlauf' 
sind?

MfG Spess
Gast #2646089
Lesenswert?

habe noch mal geguckt und... also der Port wo ich nur ca. 3 Volt 
gemessen habe der hängt anscheinend parallel an so nem Summer der auf 
dem Test Board montiert ist.

und die ports PD5 und PD6 sind auf dem Board mit LEDS verbunden.
Die auch leuchten .

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren