Go Down

Topic: analogWrite auf Attiny (Read 857 times) previous topic - next topic

ArduStemmi

Für meinen Fahrtenregler verwende ich einen Attiny45, einfach weil, der kleiner ist als der Atmega328 und theoretisch ausreichend Ressourcen zur Verfügung stellt. Ich bekomme aber kein analogWrite realisiert. Hat Eurerseits jemand Erfahrung damit? Ganz konkret geht es um die Frage, welche Pinnummer muss ich in der Arduino-Software verwenden, um PB0 und PB1 (das sind die beiden PWM-fähigen Pins am Attiny) anzusprechen?

erni-berni

Hallo,
was macht er denn? Irgendwelche Fehlermeldungen? Korrekte Pinbelegung?
Laufen andere Programme in der Kombination Programmer/Attiny? Läuft der Blink Sketch mit der richtigen Blink-Frequenz?
Hier nochmal die Pinbelegung

Ich habe gerade folgendes Programm auf einen ATtiny85 (der sich vom 45 ja nur durch Speichergröße untersdcheidet) geflashed, hier mit Pin0, läuft aber auch mit ledPin=1
Code: [Select]
int ledPin = 0;    // LED connected to digital pin 9

void setup()  {
  // nothing happens in setup
}

void loop()  {
  // fade in from min to max in increments of 5 points:
  for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);         
    // wait for 30 milliseconds to see the dimming effect   
    delay(30);                           
  }

  // fade out from max to min in increments of 5 points:
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);         
    // wait for 30 milliseconds to see the dimming effect   
    delay(30);                           
  }
}



Teste mal dieses Programm.
Gruß
Reinhard

ArduStemmi

Zu Deinen Fragen, erni-berni:

Er blinkt völlig chaotisch, wobei kein Dimmen erkennbar ist, das heißt, die LED leuchtet immer mit voller Kraft!

Keine Fehlermeldungen!

Alle möglichen Pinbelegungen ausprobiert. Kein Erfolg!

Ja, andere Programme laufen. Alles getestet, selbst das Einlesen des Empfängers hat schon geklappt.

Ja, auch der Blinksketch läuft mit der erwarteten Frequenz, Fehler in der Blinkfrequenz kleiner 10 % . Hat mich übrigens bewogen, die eingelesene Pulslänge automatisch zu korrigieren. Wobei automatisch heißt, dass er immer nach der aktuell größten und kleinsten Impulsdauer sucht, und diese dann als 1 ms bzw. als 2 ms interpretiert.

Ich werde Deinen Sketch mal ausprobieren.

Danke für Deine Bemühungen!


sth77

Welche Core-Dateien hast du denn eingebunden? Mit den hier verlinkten hab ich gute Erfahrungen gemacht: http://hlt.media.mit.edu/?p=1695
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

Go Up