Pfad: Home => AVR-Übersicht => Anwendungen => Schranke
Schranke

Schrankensteuerung mit ATtiny24


Diese Webseite als PDF-Dokument (ohne Videos, 1.041 kB)

Eigenschaften

Beschrieben wird hier eine Schrankensteuerung mit einem ATtiny24 mit folgenden Eigenschaften:
Hardware Aufbau Software Bilder/Videos

1 Hardware

Das Schaltbild der Schrankensteuerung (PDF-Version des Schaltbilds hier) ist recht einfach:

Schaltbild Schranke

Im Mittelpunkt werkelt ein programmierter Mikroprozessor ATMEL ATtiny24. Er erledigt alle Aufgaben. Das Servosignal sieht so aus (PDF-Version hier):

Servosignal

Trimmer 1 verstellt die Signaldauer am unteren Anschlag zwischen 800 und 1.500 µs, Trimmer 2 den oberen Anschlag zwischen 1.500 und 2.200 µs Pulsweite.

Die Trimmerstellung des dritten Trimmers entscheidet über die Geschwindigkeit, mit der sich das Servo zwischen den beiden Anschlägen bewegt. Einstellbar sind Dauern zwischen 20 (Software-Version 1) bzw. 7 Sekunden (Software-Version 2, langsam) und einer Sekunde (schnell).
Seitenanfang Hardware Aufbau Software Bilder/Videos

2 Aufbau

Den Aufbau gibt es in zwei Versionen. Sie unterscheiden sich beim Steckanschluss für den Motor:
  1. In Version 1 sind die drei Pins in 5 mm Abstand und mit der Stromversorgung an den äußeren 1 mm-Steckpins oder für eine dreipolige Schraubverbindung angeordnet.
  2. Bei Version 1 sind die drei Pins in 2,54 mm Abstand, mit angeordnet, was der üblichen Anschlussfolge bei Servomotoren entspricht.

2.1 Version 1 der gedruckten Platine

Layout Bestückung Der Aufbau erfolgt auf einer einseitigen Platine der Größe 50*40 mm. Ihr Layout ist links zu sehen (PDF-Version hier), ihre Bestückung rechts (PDF-Version hier). Es sind zwei Brücken zu bestücken.

2.2 Version 2 der gedruckten Platine

Schranke tn24 Layout V2 Schranke tn24 Bestueckung V2 Bei dieser Version sind drei Brücken zu bestücken.

2.3 Die bestückte Platine

Das fertige Produkt sieht so aus:

Oberseite Platine Unterseite Platine
Seitenanfang Hardware Aufbau Software Bilder/Videos

3 Software

Die Software für die Schrankensteuerung ist in Assembler geschrieben. Es gibt sie in zwei Versionen, die sich von der Anwendung her geringfügig unterscheiden. Die zweite Version ist jedoch leichter verständlich, systematischer, 10% kürzer und ästhetischer.

3.1 Software Version 1

Der Assembler-Quellcode als ASM ist hier erhältlich und kann im HTML-Format hier angezeigt werden.

Der Quellcode enthält weitere Hinweise für die Funktionsweise. Er lässt sich mit jedem einfachen Editor anschauen.

3.1.1 Start der Software Version 1

Zu Beginn wird in je 64 Durchläufen die Stellung der drei Trimmer gemessen, die 64 Werte werden aufsummiert (Ergebnis 0..65.535 je nach Stellung des Trimmers). Die Werte werden folgendermassen umgerechnet: Die drei Werte werden in Registern abgelegt.

Zu Beginn wird noch die Hardware initiiert:

3.1.2 Interrupts

Der gesamte weitere Ablauf erfolgt interrupt-gesteuert. Alle weiteren Aktionen werden von den Behandlungsflaggen ausgelöst.

3.1.3 Behandlungsschleife

Nach dem Aufwachen des Prozessors durch Interrupts (Sleep-Mode 0) werden die Flaggen abgefragt und in die entsprechenden Behandlungsroutinen verzweigt. Nach Bearbeitung der Flaggen wird der Prozessor wieder schlafen gelegt.

Folgende Bearbeitungen werden hier erledigt:

3.2 Software Version 2

Die Version 2 des Quellcodes im asm-Format kann hier heruntergeladen werden und hier im Browser angesehen werden.

Der wichtigste Unterschied zu Version 1 ist, dass der Timer TC1 im Modus #14 betrieben wird. Dabei bestimmen die beiden Portregister ICR1 die Dauer des PWM-Zyklusses (default 20 ms = 50 Hz). Die beiden Vergleichs-Portregister Compare A bestimmen die Dauer des aktiven Signals (zwischen 800 und 2.200 µs). Der PWM-Ausgangspin OC1A wird zu Beginn des PWM-Zyklusses auf High gesteuert und beim Erreichen des Compare- Werts A auf Low geschaltet (nicht-invertierende PWM). Änderungen des Compare-A-Wertes werden automatisch zwischengespeichert und werden erst am Ende des PWM-Zyklusses übernommen. Dieser Ablauf erfolgt vollautomatisch und ohne weitere Software-Eingriffe.

Der zweite Unterschied besteht darin, dass jeweils 64 Einzelmessungen des AD-Wandlers der Trimmerspannungen im gleichen Kanal erfolgen und dann erst auf den nächsten Kanal umzuschalten. Das vereinfacht die Software immens, weil der ADC-Interrupt von der Kanalumschaltung entlastet wird und die Summen nicht im SRAM gebildet werden müssen. Auch die Auswertung vereinfacht sich entsprechend, weil nicht alle drei Kanäle auf einmal umgerechnet werden müssen.

Bei der Einstellung der Geschwindigkeit ist diese jetzt unabhängig davon, welche Auslenkung nach oben und unten eingestellt ist. Das wird erreicht, indem die Schrittweite, mit dem sich der PWM-Wert ändert, aus der Differenz des Offen- und Geschlossen-Werts durch Division errechnet wird. Dadurch dauert das Öffnen und Schließen immer gleich lang und kann mit dem Trimmer P3 zwischen 7&nbsl;Sekunden (linker Anschlag P3, langsam) und einer Sekunde (rechter Anschlag P3, schnell) linear eingestellt werden.

Außerdem wird bei der Initiierung auf eine Ermittlung der Trimmerwerte verzichtet, weil die Messrunde ohnehin nur 0,3 Sekunden lang andauert und mit Standardwerten begonnen werden kann.

Der Quellcode enthält eine ausführliche Beschreibung der Funktionen des Programmes, einfach den Quellcode mit einem Editor öffnen oder die Darstellung im Browser.

4 Bilder und Videos

Links die Schranke in offener, rechts in geschlossener Position.

Schranke tn24 in Offen-Stellung Schranke tn24 in Geschlossen-Stellung

In diesem Video öffnet und schließt sich die Schranke langsam, bei diesem Video schnell. Falls der Browser die Videos nicht direkt abspielt, die Videos herunterladen und mit dem Lieblings-Videoabspieler öffnen.
Seitenanfang Hardware Aufbau Software Bilder/Videos


©2014-2018 by http://www.avr-asm-tutorial.net