Forum: Mikrocontroller und Digitale Elektronik Pulsweitenmodulation ATmega8515 auf Steckbrett


von Daniel S. (blackman95)


Lesenswert?

Hallo zusammen,

schon seit einger Zeit lese ich in diesem super Forum still mit. Ihr 
habt mir auch schon oft weiter geholfen.

Doch aktuell bin ich auf ein Problem gestoßen, worauf ich noch nirgends 
eine Antowrt gefunden habe.

Ich versuche derzeit eine einfach Pulsweitenmodulation bei einer Diode 
mit einem ATmega8515.
Diese funktioniert auch einwandfrei auf meinen STK-500. (Code entwickel 
ich in Atmel Studio 7)


Doch immer wenn ich den Mikrocontroller auf mein Steckbrett setze und an 
den Strom anschließe leuchtet meine Diode gleich hell.

Das selbe Phänomen habe ich auch wenn ich eine Diode mit "delay" zu 
blinken bringen will. Funktioniert auf dem STK-500 super, auf dem 
Steckbrett läuchtet sie einfach durch.

Über schnell Hilfe von Euch würde ich mich sehr freuen. :)
(Warnung ich bin nur Softwareentwickler und habe wenig Ahnung von 
Elektrik)

Viele Grüße
Daniel

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Daniel S. schrieb:
> (Warnung ich bin nur Softwareentwickler und habe wenig Ahnung von
> Elektrik)

 Deswegen geht es wohl auch nicht.
 Ein Bild von deinem Aufbau wäre aber schon hilfreich.

 P.S.
 Elektrik und Elektronik ist nicht dasselbe.

von Daniel S. (blackman95)


Angehängte Dateien:

Lesenswert?

Naja da gibt es nicht viel zu zeigen. Strom geht in GND. Und von PB0 
geht es zur Diode danach noch ein Widerstand. Bevor noch jemand fragt 
hier auch gleich mein Code.
1
#include <avr/io.h>
2
#include <util/delay.h>
3
#define F_CPU 1000000UL
4
5
int main(void)
6
{
7
  //DDRB |= 0b00011110;
8
  
9
  
10
  
11
  int pwm_soll = 10;
12
  int pwm_phase = 0;
13
  int dim =0;
14
  
15
  DDRB |= (1<<PB0);
16
  
17
  while( 1 )
18
  {
19
    if( pwm_soll == pwm_phase )
20
    {
21
      PORTB |= (1<<PB0); // active low LED aus
22
    }
23
    
24
    pwm_phase++;
25
    if( pwm_phase == 1000 )
26
    {
27
      pwm_phase = 0;
28
      PORTB &= ~(1<<PB0); // active low LED an
29
    }
30
    dim++;
31
    if(dim==2500 && pwm_soll<1000){
32
      pwm_soll++;
33
      dim=0;
34
    }
35
  }
36
}

Im Prinzip soll die Diode immer Heller werden.

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Daniel S. schrieb:
> Im Prinzip soll die Diode immer Heller werden.

 a) 8515 will auch mit Strom versorgt werden, aber 9V vertragt der
  8515 ganz schlecht. Du hast Vcc nicht angeschlossen und es ist
  auch gut so, ansonsten ware dein 8515 hinuber...

 b) Diode leuchtet nur deswegen weil die GND uber PB0 kriegt.

 c) Programm ist uninteressant, 8515 wird nicht mit Spannung
    versorgt.

 8515 nicht direkt an 9V anschliessen !!!!

von bubi (Gast)


Lesenswert?

Daniel S. schrieb:
> Naja da gibt es nicht viel zu zeigen. Strom geht in GND. Und von PB0
> geht es zur Diode danach noch ein Widerstand.

Troll! Oder schau dir das hier an: 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#Hardware 
und vergleiche mit deinem Aufbau.

von Daniel S. (blackman95)


Lesenswert?

Alles klar danke! Es würde also reichen einen Spannungsregler 7805 davor 
zu schalten und den Mikrocontroller an VCC (- Pol) und GND (+ Pol) 
anzuschließen?

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Daniel S. schrieb:
> Alles klar danke! Es würde also reichen einen Spannungsregler 7805 davor
> zu schalten und den Mikrocontroller an VCC (- Pol) und GND (+ Pol)
> anzuschließen?

 ???
 Vcc ist 5V(+), GND ist Masse(-).

 Und nein, ein 7805 alleine reicht nicht, lese doch erst mal ein
 Tutorial für Anfänger.

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.