Klemmen-Anschlussleiste in einem Schaltschrank


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Doppelblinker mit ATtiny85
ATtiny Programmierung mit Arduino


In dem folgenden Experiment konstruieren wir mithilfe des Mikrocontrollers ATtiny85 einen LED-Doppelblinker (ein Blinker bestehend aus zwei Leuchtdioden). Die Aufgabe gestalten wir äußerst einfach: In Sekundentakt soll eine Leuchtdiode abwechselnd ein- und ausgehen. Zweite Leuchtdiode soll sich ähnlich verhalten. Damit es etwas interessanter wird, soll sie jedoch nicht wie die erste Leuchtdiode im Sekundentakt blinken, sondern alle 250 ms ein- und ausgehen. Das ist schon alles.
Das Programm (Sketch) wird mit Arduino IDE erstellt, was bedeutet, dass für die Programmierung des ATtiny-Mikrocontrollers keine neue Software gebraucht wird. Es gibt mehrere Methoden, wie man das Programm in den ATtiny85 Mikrocontroller laden kann. In diesem Beispiel nutzen wir Arduino UNO als Programmer. Es werden also auch keine weitere Hardware für den Versuch gebraucht. Ein Steckbrett, einige Drahtbrücken, ein Kondensator und Widerstand reichen in diesem Beispiel völlig aus.

ATtiny85

Attiny85

Bei dem ATtiny85 handelt es sich um einen Vertreter der Gruppe von 8-Bit-AVR-Mikrocontrollern. Ursprünglich wurden die AVRs von der Firma Atmel hergestellt. Firma Atmel wurde 2016 von der Firma Microchip übernommen. Die AVR-Produktion wurde von Microchip fortgesetzt. Die Mikrocontroller ATtinys können günstig erworben und in der gewohnten Arduino-Umgebung programmiert werden. Charakteristisch für die kleinen Chips ist ihr geringer Stromverbrauch, was sie für den Einsatz mit Batterien gerade prädestiniert. Sie sind auch in der klassischen DIP-Gehäuse erhältlich, wodurch sie zum Einsatz im Hobby-Bereich sehr geeignet sind.

Pinbelegung

Pinbelegung

Technische Daten:

- CPU Takt (Maximale Taktfrequenz): 20 MHz
- Speicher: 8 kByte
- RAM: 0,512 kByte
- EEPROM: 512 Byte
- I/O-Pins: 6
- 8-bit Timer: 2
- PWM: 3
- Analog Komparator: 1
- I²C: 1
- SPI: 1
- ADC: 4
- ADC-Auflösung: 10 Bit
- Versorgungsspannung: +2,7 ... +5,5 VDC
- Temperaturbereich: -40 ... +85 °C

ATtiny85 mit Arduino programmieren.

Eine Möglichkeit, ein Programm in den ATtiny Mikrocontroller zu laden, besteht darin, einen Arduino als Programmer zu nutzen. In unserem Beispiel wird genau dieser Weg gewählt. Als Programmer kommt Arduino UNO zum Einsatz. Bei der Methode heißt es: Ein Mikrocontroller programmiert einen anderen Mikrocontroller. Dabei gehen wir wie folgt vor:

1. Arduino UNO via USB-Kabel mit PC verbinden und die Software Arduino IDE (Hier Version 1.8.19) starten.

2. Arduino IDE vorbereiten (falls noch nicht erfolgt):
Zunächst wird das Board-Verzeichnis um Attiny Prozessoren erweitert. Dazu öffnet man in Arduino-IDE unter "Datei" die Voreinstellungen. Folgendes Fenster wird angezeigt:

Voreinstellungen

Voreinstellungen

In der Zeile "Zusätzliche Boardverwalter-URLs“ geben wir folgendes ein:
http://drazzy.com/package_drazzy.com_index.json
und bestätigen die Eingabe mit OK.
Anschließend öffnen wir mit „Werkzeuge/Board/Board-Verwaltung“ die Board Verwaltung, scrollen die Auflistung bis zu „ATtiny Core von Spence Konde“ und betätigen den Button „Installieren“.
Danach lassen sich die ATtiny-Prozessoren wie gewohnt unter "Werkzeuge - Board" aufrufen.

Boardverwalter installieren

3. Arduino als ISP-Programmer vorbereiten:
Im nächsten Schritt wird das Programm „ArduinoISP“ in Arduino UNO geladen. Das Programm öffnen wir unter „Datei/Beispiele/ArduinoISP“. Nachdem das Programm geöffnet wurde, wird es unter „Sketch/Hochladen“ in den Arduino UNO hochgeladen. Bevor der Vorgang erfolgreich durchgeführt werden kann, stellen wird unter „Werkzeuge/Board“ die Einstellung „Board“ auf Arduino UNO. Vor der Übertragung ist auch unter „Werkzeuge/Port“ die richtige COM-Schnittstelle einzustellen. Das Fenster mit dem Programm kann anschließend geschlossen werden.

4. ATtiny85 anschließen
Bevor ATtiny85 mit von uns erstelltem Programm geladen werden kann, muss er an Arduino angeschlossen werden. Die Verbindungen werden nach dem unten erstellten Schema durchgeführt:

Schaltplan Anschluss ATtiny85 an Arduino

Schaltplan: Anschluss ATtiny85 an Arduino

Schaltplan Anschluss ATtiny85 an Arduino

Anschluss ATtiny85 an Arduino

5. Bootloader brennen
Bevor das eigentliche Programm hochgeladen werden kann, muss die Funktion „Bootloader brennen“ ausgeführt werden. Zunächst sind einige Einstellungen notwendig:
Werkzeuge/Board: ATtiny 25/45/85 (No bootloader)
Werkzeuge/Port: hier richtigen COM einstellen
Werkzeuge/Chip: „ATtiny85“
Werkzeuge/Programmer: Arduino als ISP
Andere Einstellungen können erstmals unverändert bleiben.
Jetzt wird unter „Werkzeuge/Bootloader brennen“ der Ladevorgang gestartet.

6. Programm erstellen
An dieser Stelle soll das eigentliche Programm für ATtiny85 erstellt werden. Mit „Sketch/Hochladen“ wird das Programm anschließend in den ATtiny85 Mikrocontroller geladen.

Doppelblinker mit ATtiny85

Schaltplan

Schaltplan für Doppelblinker mit ATtiny85

Programm (Sketch)

// ********************************************************************
// Doppelblinker mit zwei Leuchtdioden und ATtiny85
// Arduino IDE 1.8.19
// ********************************************************************

int Leuchtdiode_gelb = 3;
int Leuchtdiode_blau = 4;

// ********************************************************************
void setup() {
    pinMode(Leuchtdiode_gelb, OUTPUT);
    pinMode(Leuchtdiode_blau, OUTPUT);
}

// ********************************************************************
void loop() {
    digitalWrite(Leuchtdiode_gelb, HIGH);  
    digitalWrite(Leuchtdiode_blau, HIGH);
    delay(250);   
    digitalWrite(Leuchtdiode_blau, LOW);
    delay(250);   
    digitalWrite(Leuchtdiode_blau, HIGH);
    delay(250);   
    digitalWrite(Leuchtdiode_blau, LOW);
    delay(250);  
    digitalWrite(Leuchtdiode_gelb, LOW);  
    digitalWrite(Leuchtdiode_blau, HIGH);
    delay(250);   
    digitalWrite(Leuchtdiode_blau, LOW);
    delay(250);   
    digitalWrite(Leuchtdiode_blau, HIGH);
    delay(250);   
    digitalWrite(Leuchtdiode_blau, LOW);
    delay(250);  
}

// ********************************************************************        


Testschaltung

Testschaltung

Testschaltung

An der Schaltung nehmen neben dem Mikrocontroller ATtiny85 zwei Leuchtdioden teil. Sie werden an die Anschluss-Pins 2 und 3 angeschlossen. Die Pins werden intern jeweils als PB3 und PB4 definiert. So werden sie im Programm mit 3 und 4 angesprochen. Pin 1 (Reset) wird mit der Spannungsversorgung verbunden. Programmablauf beinhaltet keine Geheimnisse. Die Leuchtdioden werden nach Ablauf einer Wartezeit von 250 ms (delay Anweisung) abwechselnd ein- (HIGH) bzw. ausgeschaltet (LOW). Um den Strom zu begrenzen werden den Leuchtdioden 680 Ohm Widerstände vorgeschaltet. Das Programm kann mit der oben beschriebenen Methode „ATtiny mit Arduino programmieren“ in den ATtiny85 Mikocontroller geladen werden.

Kurzvideo

Kurzvideo


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz