Mikrocontroller ATTiny13A. Den Weihnachtsbaum restaurieren. Schaltkreise auf ATtiny Was kann auf attiny13 zusammengebaut werden?

Bei dem Design handelt es sich um ein IR-Ortungsgerät, das auf einem AVR-Mikrocontroller und dem ATtiny13-Chip implementiert ist. Kurze Impulsstöße werden von einem Sender (IR-LED) im infraroten Wellenlängenbereich ausgesendet und durch Reflexion an der Oberfläche von seinem Fotodetektor empfangen. Empfangene reflektierte Signale werden verarbeitet und, sofern sie als Nutzsignal wahrgenommen werden, per LED-Anzeige angezeigt.

Manchmal muss man einfach ein Zeitintervall festlegen, ohne viel mikroskopische Präzision. Beim Kochen beispielsweise, wo der Fehler einige Sekunden pro halbe Stunde beträgt, spielt die Stunde keine wichtige Rolle. Basierend auf diesen Überlegungen wurde ein interner RC-Oszillator als Taktgenerator ausgewählt. Die Stabilität hängt von der Temperatur und Änderungen der Versorgungsspannung ab, da der Mikrocontroller bei einer Spannung von 1,8–5,5 V betriebsbereit bleibt. Als Stromquelle habe ich eine 3-Volt-Batterie (oder 2 Zellen mit jeweils 1,5 V) verwendet.

Dieser einfache Mini-Sicherheitsalarm auf dem ATtiny 13-Mikrocontroller ist für den Schutz von Wohnungen, Büros, Landhäusern usw. konzipiert. Wenn der Reed-Schalter geöffnet wird, ertönt vom Alarm ein akustisches Signal oder Sie können mit einer kleinen Änderung eine SMS von einem senden Mobiltelefon. Der Alarm wird über IR-Schlüsselanhänger gesteuert. Hauptmerkmale: dynamische Stromversorgung des Fotodetektors, Aufwachen aus dem „SLEEP“-Modus bei Unterbrechung durch den Watchdog-Timer im „POWER-DOWN“-Modus und dadurch geringer Stromverbrauch – etwa 30 μA.

Das Funktionsprinzip und der Funktionsalgorithmus dieses Geräts sind dem Betrieb von Sicherheitssystemen nach Industriestandard zum Schutz von Räumlichkeiten sehr ähnlich. Der vorgeschlagene einfache Sicherheitsalarm wird durch Öffnen der Sensorkontakte mit Öffnerkontakten im Sicherheitsmodus ausgelöst. In der Qualität kann das sein:

Drahtseil, das einem Drahtbruch standhält, wenn der Umfang verletzt wird;

Ein Reed-Schaltersensor, der auf die Bewegung eines Magnetstücks über seinen Kontakten reagiert, wenn beispielsweise eine Tür geöffnet wird, oder ein werkseitig hergestellter Passiv-Infrarotsensor, der auf eine Positionsänderung eines Objekts mit Infrarotstrahlung reagiert (was ist der Körper einer Person – eines Eindringlings, im Bereich eines geschützten Objekts).

Dabei handelt es sich um ein kleines unabhängiges Gerät, das das unbefugte Starten des Motors eines Autos, Motorrads, Bootes, einer Yacht usw. verhindert und unabhängig von anderen Sicherheitssystemen funktioniert. Um die Motorsperre zu entfernen, müssen Sie an einer bestimmten Stelle (nach Ermessen des Autobesitzers ausgewählt) im Fahrzeuginnenraum einen Knopf drücken. Dies kann entweder ein separat installierter versteckter Knopf oder die Verwendung eines Standard-Autoknopfes sein.

Schematische Darstellung und Beschreibung eines selbstgebauten digitalen Amperemeters, hergestellt auf einem ATtiny13-Mikrocontroller, einem Programm und einer Leiterplatte.

Es war einmal, als der Autor dieser Zeilen auf ein sehr interessantes Gerät stieß, das 1976 in der UdSSR geboren wurde – es wurde einfach als unnötig verschenkt. Dieses Gerät hieß ADZ-101U2 und war ein typisches Beispiel des sowjetischen Konstruktivismus: ein schwerer zwanzig Kilogramm schwerer „Koffer“ mit einem Tragegriff oben und einem leistungsstarken Einphasentransformator im Inneren.

Aber das Interessanteste ist, dass diesem „Koffer“ überhaupt keine Rückwand fehlte – und das keineswegs, weil das Gerät es geschafft hat, sie zu „säen“, nein. Und der Punkt hier war, dass beide Panels ... vorne waren! Auf der einen Seite war der „Koffer“ ein Schweißgerät, auf der anderen ein Ladegerät für Autobatterien.

Und wenn er als „Schweißer“ keine besonderen Emotionen hervorgerufen hat, ist das in Ordnung, da es nur 50 A Wechselstrom gibt; Dann ist ein „Ladegerät“ definitiv eine notwendige Sache im Haushalt. Tests des Geräts bestätigten seine volle Kampffähigkeit (sogar das Schweißen funktionierte!), aber es war natürlich nicht ohne Nachteile.

Der Kern des Problems bestand darin, dass das Standard-Amperemeter des „Ladegeräts“ in eine unbekannte Richtung verschwand und der Vorbesitzer des Geräts einen völlig „gleichwertigen“ Ersatz dafür fand – ein Auto-Amperemeter, das aus einer Art Militärlastwagen stammte. und mit einer sehr „informativen“ Skala von ±30 A!

Es ist klar, dass die Überwachung des Batterieladezustands (und der Ladestrom beträgt nur 3-6 A!) mit einem solchen Gerät, gelinde gesagt, problematisch ist – es ist, als ob es das überhaupt nicht gäbe ...

Daher wurde beschlossen, das „Lkw-Anzeigemessgerät“ durch ein mehr oder weniger geeignetes Gerät mit einer klaren Skala von 0 bis 10 A zu ersetzen. Ein idealer Kandidat für diese Rolle schien ein Amperemeter mit Anzeigetafel und integriertem Shunt zu sein - eines von denen, die zuvor in fast allen sowjetischen „Ladegeräten“ und an vielen anderen Orten verwendet wurden.

Doch schon der erste Gang durch Elektrofachgeschäfte und „Pannen“ brachte Enttäuschung: Es stellte sich heraus, dass es schon lange nichts mehr im Angebot gab, was auch nur annähernd dem Wunschgerät ähnelte...

Und da der Autor zu dieser Zeit noch nicht mit den endlosen Weiten chinesischer Wunderstätten vertraut war, griffen seine Hände erneut zum Lötkolben, wodurch ein Gerät entwickelt wurde, dessen Diagramm in Abb. 1, und die Eigenschaften sind in Tabelle 1:

Tabelle 1. Geräteeigenschaften.

Schematische Darstellung

Um die Messergebnisse in diesem Amperemeter anzuzeigen, wurde beschlossen, ein Paar 7-Segment-LED-Anzeigen zu verwenden. Obwohl solche Indikatoren im Vergleich zu neuen LCD-Modulen des Typs 16xx etwas veraltet sind, haben sie auch eine Reihe unbestreitbarer Vorteile: Sie sind viel zuverlässiger und langlebiger; verschlechtern sich nicht und werden durch den Kontakt mit Erdölprodukten nicht trüb (und ölige Hände in der Garage sind keine Seltenheit), die Zahlen auf LED-Anzeigen sind heller und viel besser „lesbar“ – insbesondere aus der Ferne; und außerdem sind dies bei LEDs nicht der Fall Angst vor Kälte in der Garage – im Gegensatz zu einem LCD, der bei Kälte einfach „erblindet“.

Nun, das letzte Argument für die LED-Matrix – im Rahmen dieser Entwicklung – war die Tatsache, dass die lange 1602 einfach nicht in das Standardloch für das Amperemeter (rund und sehr klein!) am Ladegerätgehäuse passte. Nachdem man sich für den Indikatortyp entschieden hatte, stellte sich eine weitere Frage: Welcher Mikrocontroller sollte als Basis für dieses Gerät verwendet werden?

Es bestand kein Zweifel daran, dass diese Schaltung speziell auf einem MK aufgebaut werden musste – die Herstellung eines Amperemeters auf einer „CMOS-Streuung“ könnte Ihrem Verstand schaden. Die offensichtlichste Lösung ist auf den ersten Blick das „Arbeitstier“ ATtiny2313 – dieser MK verfügt über eine recht ausgereifte Architektur und die Anzahl der Ein-/Ausgangsleitungen ist für den Anschluss einer LED-Matrix durchaus geeignet.

Hier stellte sich jedoch heraus, dass nicht alles so einfach war – schließlich muss der MK zur Strommessung über einen Analog-Digital-Wandler verfügen, aber aus irgendeinem Grund haben die Atmel-Ingenieure den „2313“ nicht mit dieser Funktion ausgestattet... Anders verhält es sich mit der Meda-Familie: Diese Chips haben zwangsläufig ein ADC-Modul „an Bord“.

Aber andererseits verfügt auch ATMega8v – als einfachste Vertreter der „älteren“ Familie – über eine weitaus größere Funktionalität, als es der Aufbau eines einfachen Amperemeters erfordert. Und das ist aus Sicht des klassischen Designansatzes nicht mehr die beste Lösung!

Mit „klassischem Designansatz“ ist hier das sogenannte „Prinzip des notwendigen Minimums“ gemeint (der Autor dieser Zeilen ist im Gegensatz zu den neumodischen „Arduins“ ein glühender Befürworter davon), nach dem jedes System sein sollte mit möglichst geringem Ressourcenaufwand konzipiert; und das Endergebnis sollte möglichst wenige ungenutzte Elemente enthalten. Daher gilt nach diesem Prinzip ein einfaches Gerät – ein einfacher Mikrocontroller und sonst nichts!

Allerdings sind nicht alle einfachen MKs für diese Aufgabe geeignet. Nehmen wir zum Beispiel ATtinyl3 – es verfügt über einen ADC, ist einfach und kostengünstig; Ja, es gibt nur nicht genügend Eingangs-Ausgangsleitungen – um eine Matrix aus zwei „Sieben-Segment-Geräten“ zu verbinden ...

Wenn Sie jedoch ein wenig träumen, kann dieses Problem vollständig lösbar sein – mit Hilfe eines Penny-Zählers K176IE4 und eines einfachen Algorithmus, der diesen Zähler steuert.

Darüber hinaus hat dieser Ansatz sogar positive Aspekte: Erstens muss nicht an jedem Segment des Indikators ein Strombegrenzungswiderstand „aufgehängt“ werden (in den Ausgangsstufen des Messgeräts sind bereits Stromgeneratoren vorhanden). und zweitens können Sie in dieser Schaltung einen Indikator mit sowohl einer gemeinsamen Kathode als auch einer gemeinsamen Anode verwenden. Um auf eine „gemeinsame Anode“ umzuschalten, müssen Sie die Verbindung der Transistoren VT1 und VT2, Pin, ändern. 6 DD2 ist über einen 1-kOhm-Widerstand mit der +9-V-Leitung verbunden, und der linke Pin von R3 ist mit Masse verbunden.

Reis. 1. Schematische Darstellung eines selbstgebauten Amperemeters (bis 10A) auf einem ATtiny13-Mikrocontroller.

Um den Zähler mit einem MK zu steuern, müssen Sie nur zwei Leitungen verwenden: eine für das Zählsignal (C) und die andere für das Reset-Signal (R).

Darüber hinaus stellte sich beim Test des Gerätes heraus, dass der CMOS-Chip K176IE4, der direkt an die MK-Leitungen angeschlossen ist, mit seinen TTL-Pegeln recht zuverlässig arbeitet – ohne zusätzliche Koordination.

Und zwei weitere MK-Leitungen steuern die Tasten VT1-VT2 und erzeugen so eine dynamische Anzeige. Ein Quellcodefragment, in dem das DD2-Zählerkontrollverfahren implementiert ist, wird in der Auflistung angezeigt:

Reis. 2. Kontrollverfahren für K176IE4.

Das Verfahren ist in der Low-Level-Sprache AVR-Assembler geschrieben; Es kann jedoch problemlos in jede Hochsprache übersetzt werden. Im Temp-Register erhält die Prozedur eine Nummer, die an den K176IE4-Zähler gesendet werden muss, damit sie auf dem Indikator angezeigt wird; Leitung 1 von Port B des Mikrocontrollers ist mit dem Zähler-Reset-Eingang (R) und Leitung 2 mit seinem Zählereingang (C) verbunden.

Um ein Flackern der Zahlen beim Umschalten des Zählers zu vermeiden, müssen vor dem Aufruf dieses Verfahrens beide Bits gelöscht werden, indem die Transistoren VT1 und VT2 geschlossen werden, indem log.O an die Leitungen 0 und 4 der Ports B des MK angelegt wird; Nun, nachdem der Vorgang funktioniert hat, können Sie bereits die eine oder andere Anzeigeziffer aufleuchten lassen. Übrigens können Sie dank des K176IE4-Zählers eine 7x4-Indikatormatrix mit nur 6 I/O-Leitungen (zwei zur Steuerung des Zählers und vier weitere zur dynamischen Bitumschaltung) an jeden MK anschließen.

Und wenn man dem K176IE4 einen weiteren Zähler als „Partner“ hinzufügt – den Zehn-Tage-Zähler K176IE8 –, um damit die Entladungen zu „scannen“; Dann ist es möglich, eine Anzeigematrix von bis zu 10 Bekannten an den MK anzuschließen, wobei hierfür nur 5 Eingangs-Ausgangsleitungen (zwei zur Steuerung des K176IE8, zwei für den K176IE4 und eine weitere zum gleichzeitigen Löschen des Indikators) vorgesehen sind den K176IE4 zu zählen)!

In einem solchen Fall reduziert sich der dynamische Anzeigealgorithmus auf die Steuerung des K176IE8-Zählers, der in vielerlei Hinsicht dem in der obigen Auflistung angegebenen Algorithmus zur Übertragung einer Ziffer an den K176IE4-Zähler ähnelt.

Zu den Nachteilen einer solchen Verbindung der Anzeigematrix gehört – neben der Verwendung einer „zusätzlichen“ Mikroschaltung – die Notwendigkeit, eine zusätzliche +9-V-Stromversorgung in die Schaltung einzuführen, weil Versuche, CMOS-Zähler mit +5 V zu versorgen, waren leider erfolglos ...

Als Anzeige in diesem Gerät kann nahezu jedes duale „Sieben-Segment“-Gerät mit gemeinsamen Kathoden verwendet werden, das für den Betrieb in Schaltkreisen mit dynamischer Anzeige ausgelegt ist. Es ist auch möglich, eine Vier-Bit-Matrix zu verwenden, bei der nur zwei der vier verfügbaren Bits verwendet werden.

Bei der Arbeit an der Amperemeterschaltung trat zwar ein kleines Problem auf - beim Anschließen des Dezimalpunkts: Schließlich sollte er in der höherwertigen Ziffer aufleuchten und in der niederwertigen Ziffer nicht.

Und wenn Sie alles „mit Bedacht“ machen, wäre es schön, für die dynamische Steuerung dieses Kommas ein weiteres Bein des MK zuzuweisen (da der K176IE4 keine Möglichkeit zur Steuerung von Kommas bietet) – um „aufzuhängen“. Der darauf ausgegebene Indikator ist für Kommas verantwortlich.

Da jedoch alle I/O-Leitungen des MK bereits belegt waren, mussten wir dieses Problem auf alles andere als elegante Weise lösen: Es wurde beschlossen, beide Kommas konstant leuchten zu lassen und den entsprechenden Ausgang des Indikators „Matrix“ mit Strom zu versorgen. von der +9-V-Leitung über den Strombegrenzungswiderstand R3 (durch Auswahl seines Widerstands können Sie die Helligkeit des Kommas im Verhältnis zu den anderen Segmenten ausgleichen); und bedecken Sie einfach das zusätzliche Komma in der unteren Reihenfolge (ganz rechts) mit einem Tropfen schwarzer Nitrofarbe.

Aus technischer Sicht kann eine solche Lösung kaum als ideal bezeichnet werden; aber ein so „erfundenes“ Komma fällt überhaupt nicht ins Auge...

Als Stromsensor dienen zwei parallel geschaltete Widerstände R1 und R2 mit einer Leistung von jeweils 5 W. Anstelle eines Paares aus R1 und R2 ist es durchaus möglich, einen Widerstand mit einem Widerstand von 0,05 Ohm einzubauen – in diesem Fall sollte seine Leistung mindestens 7 W betragen.

Darüber hinaus bietet die Mikrocontroller-Firmware die Möglichkeit, den Widerstand des Messshunts auszuwählen – in dieser Schaltung kann sowohl ein 0,05-Ohm- als auch ein 0,1-Ohm-Stromsensor verwendet werden.

Um den Widerstand des im Einzelfall verwendeten Shunts im Mikrocontroller einzustellen, ist es notwendig, einen bestimmten Wert in die EEPROM-Speicherzelle an der Adresse 0x00 zu schreiben – bei einem Widerstand von 0,1 Ohm kann dies eine beliebige Zahl kleiner als 128 sein ( in diesem Fall dividiert der MK die Ergebnismessungen durch 2); und bei Verwendung eines Shunts mit einem Widerstand von 0,05 Ohm sollte dementsprechend eine Zahl größer als 128 in diese Zelle geschrieben werden.

Und wenn Sie planen, das Gerät mit dem im Diagramm gezeigten 0,05-Ohm-Shunt zu betreiben, müssen Sie sich um das Beschreiben der angegebenen Zelle überhaupt keine Gedanken machen, denn Ein neuer (oder „auf Null gelöschter“) MK hat in allen Speicherzellen die Nummer 255 (0xFF).

Die Stromversorgung des Geräts kann entweder über eine separate Quelle – mit einer Spannung von mindestens 12 V – oder über den Leistungstransformator des Ladegeräts selbst erfolgen. Wenn die Stromversorgung über den Ladetransformator erfolgt, empfiehlt es sich, hierfür eine separate Wicklung zu verwenden, die in keiner Weise mit dem Ladestromkreis verbunden ist; Es ist jedoch möglich, das Amperemeter über eine der Ladewicklungen mit Strom zu versorgen.

In diesem Fall muss die Versorgungsspannung vor der Gleichrichterbrücke des „Ladegeräts“ (d. h. direkt von der Wicklung) abgenommen werden und ein Widerstand von 75 Ohm/1 W an die Unterbrechung beider Stromkabel des Amperemeters angeschlossen werden. Widerstände sind erforderlich, um die „negativen“ Dioden der VD1-4-Brücke vor dem Durchgang eines Teils des Ladestroms durch sie zu schützen.

Tatsache ist, dass, wenn Sie das Gerät an die Ladewicklung anschließen, ohne diese Widerstände zu installieren, unter Berücksichtigung der gemeinsamen „Masse“ der VD1-4-Brücke und der Diodenbrücke des Ladegeräts etwa die Hälfte des Batterieladestroms ausfällt Die Rückkehr zur Wicklung erfolgt nicht über die leistungsstarken Dioden des Ladegleichrichters, sondern über den „negativen“ Zweig der Brücke VD1-4, was zu einer starken Erwärmung des 1N4007 mit geringer Leistung führt.

Durch die Installation dieser Widerstände wird der Versorgungsstrom des Geräts begrenzt und die Diodenbrücke VD1-4 vor dem Fluss des Ladestroms geschützt, der nun fast vollständig entlang des „richtigen“ Stromkreises fließt – durch die leistungsstarken Dioden des Ladegleichrichters.

Schematische Darstellung

Die Leiterplatte für dieses Amperemeter wurde für bestimmte Sitze im Gehäuse eines bestimmten Ladegeräts entwickelt; seine Zeichnung ist in Abb. 3 dargestellt.

Die Anzeigematrix wird separat installiert - auf einer kleinen Platte (einem 30x40-Stück „Steckbrett“), die mit M2,5-Schrauben durch Distanzbuchsen auf der Installationsseite an der Hauptplatine befestigt wird; und mit einem 10-adrigen Kabel daran angeschlossen.

Ein weiterer Teil des resultierenden „Sandwichs“ ist eine dekorative Frontplatte aus Plexiglas, die auf der Rückseite mit Nitrolack aus der Dose bemalt ist (nur ein kleines Rechteck – ein „Fenster“ für den Blinker) soll unbemalt bleiben.

Die Frontplatte wird auch von der Einbauseite her mit der Hauptplatine befestigt (mit M3-Schrauben mit Distanzbuchsen – sie befestigen das Gerät auch am Ladegerätgehäuse). Die gedruckten Leiterbahnen des Hochstromkreises, die zu den Widerständen R1 und R2 führen, sollten so breit wie möglich sein und die Anschlüsse der Widerstände sollten über die gesamte Länge daran angelötet werden, wobei gleichzeitig die Installation mit einer dicken Schicht verstärkt wird von Lot.

Als Anschlüsse für den Anschluss des Geräts an das Ladegerät empfiehlt es sich, zwei M3-Schrauben zu verwenden, deren Köpfe an der Platine anzulöten und auf der anderen Seite mit Muttern zu befestigen.

Reis. 3. Leiterplatte für eine digitale Amperemeterschaltung auf einem Mikrocontroller.

Programm

Beim Schreiben von „Firmware“ in den MK muss dieser für den Betrieb mit einer Frequenz von 1,2 MHz vom internen Taktgenerator konfiguriert werden. Dazu sollte die Taktfrequenz gleich 9,6 MHz gewählt und der interne Taktteiler um 8 aktiviert werden.

Um die Betriebssicherheit zu erhöhen, empfiehlt es sich außerdem, den internen Power-Supervisor (BOD-Modul) zu aktivieren und so einzustellen, dass der MK zurückgesetzt wird, wenn die Versorgungsspannung unter 2,7 V fällt.

Alle Einstellungen werden durch Schreiben der entsprechenden Werte in die Konfigurations-Fuse-Zellen vorgenommen: SUT1=1, SUT0=0, CKDIV8=0, BODLEVEL1 =0, BODLEVELO=1, WDTON=1. Der Rest der „Sicherungen“ kann als Standard belassen werden.

Firmware für Mikrocontroller und Leiterplatte im Sprint-Layout-Format - Download.

Reis. 3. Amperemeterplatine für Attiny13 montiert.

Reis. 4. Amperemeterplatine am Attiny13 montiert (Ansicht von hinten).

Dieses kleine Gerät ist in erster Linie für Diabetiker konzipiert, verfügt aber über ein weitaus breiteres Einsatzspektrum. Seine Aufgabe besteht darin, den Ablauf einer bestimmten Zeitspanne zu signalisieren, die ab dem Moment des Drückens der Taste gemessen wird.

So können Sie daran erinnert werden, den Blutzuckerspiegel nach einer gewissen Zeit nach dem Essen zu messen, oder einige Zeit nach dem Anzünden des Ofens einen Blick in den Heizraum zu werfen usw.

Mit dem Gerät kann einer von vier möglichen Zeiträumen gemessen werden: 15 Minuten, 30 Minuten, 1 Stunde oder 2 Stunden. Der Countdown wird durch schnelles Blinken der LEDs signalisiert, das Ende des Countdowns durch Blinken und Ton. Die Stromversorgung erfolgt über eine CR2032-Batterie, sodass die Erinnerung sehr leicht und klein ist.

Design

Das schematische Diagramm der vorgeschlagenen Lösung ist in der folgenden Abbildung dargestellt.

Durch den Einsatz des Mikrocontrollers ATtiny13A von ATMEL konnte das Design des Geräts deutlich vereinfacht werden. Für diesen Fall ist dieser Typ Mikrocontroller ideal geeignet. Es verfügt über ein kleines SO8-Gehäuse, die Möglichkeit, Spannungen ab 1,8 V zu verwenden und verschiedene Modi zur Reduzierung des Stromverbrauchs. Darüber hinaus handelt es sich um einen der beliebtesten und günstigsten Mikrocontroller dieser Klasse, der in fast jedem Elektronikfachgeschäft erhältlich ist.

Zur Stromversorgung dient eine CR2032-Lithiumbatterie, die eine Spannung von 3 V bereitstellt, die ausreicht, um die Gerätekomponenten mit Strom zu versorgen.

Über einen piezoelektrischen Sender mit eingebautem Generator wird eine akustische Benachrichtigung über den Ablauf einer bestimmten Zeitspanne erzeugt. Es ist ziemlich laut und auch dann zu hören, wenn das Gerät beispielsweise in einer Tasche versteckt ist. Der Schallgeber wird über den Transistor VT2 (BC847) gesteuert.

Der Countdown wird durch einmaliges Drücken der Taste SW1 gestartet und gestoppt, deren Kontakt R6 (10 kOhm) vorab mit dem Pluspol der Stromversorgung verbunden ist.

Der gleiche Widerstand ist am RESET-Pin des Mikrocontrollers installiert, um versehentliche Änderungen seines Logikpegels zu verhindern. Diese Änderung kann durch ein externes elektromagnetisches Feld oder dadurch verursacht werden, dass der Mikrocontroller zu viel statischer Elektrizität ausgesetzt ist.

Das Zeitintervall wird durch Umschalten eines der vier Abschnitte des Schalters SW2, Typ DIP-SWITCH, ausgewählt. Der geschlossene Abschnitt verbindet einen der vier Widerstände (R7 bis R10) mit dem Minuspol der Stromversorgung und bildet so den Widerstand R11.

Der Mikrocontroller legt einen hohen Logikpegel an den Widerstand R11 an und misst mithilfe eines ADC (Analog-Digital-Wandlers) die Spannung, die sich am Teiler bildet.

Somit werden nur zwei Mikrocontroller-Pins zum Einstellen der Uhrzeit verwendet. Darüber hinaus kann diese Schaltung deaktiviert werden, indem der PB1-Pin-Pegel auf niedrig gesetzt wird, was den Stromverbrauch deutlich reduziert.

Montage und Inbetriebnahme

Die Miniatur-Erinnerung ist auf einer doppelseitigen Leiterplatte mit den Maßen 46 mm x 31 mm montiert. Zunächst müssen die oberflächenmontierbaren Elemente verlötet werden, die sich auf der Unterseite der Platine befinden – der Mikrocontroller, die Transistoren und andere. Als nächstes sind zwei LEDs auf der gegenüberliegenden Seite. Abschließend müssen Sie die Durchgangslochkomponenten auf derselben Seite wie die LEDs anlöten.

Der Mikrocontroller benötigt Firmware mit werkseitigen Sicherungen. Wenn alles korrekt zusammengebaut wurde, ist das Gerät nach dem Einbau des Akkus in das Fach betriebsbereit. Stellen Sie einfach mit dem Schalter SW2 die gewünschte Messzeit ein.

Ausbeutung

Im Schlafmodus zeigt der Schaltkreis keine Betriebszeichen. Nach einmaligem Drücken der Taste SW1 werden die Informationen vom Teiler gelesen und der Zeitcountdown beginnt, was durch einmaliges Blinken der LEDs angezeigt wird. Von nun an blinken sie alle 1 Sekunde, bis der Countdown abgelaufen ist. Wenn alle SW2-Schalter auf OFF stehen, blinken die LEDs nicht und das Gerät wechselt in den Ruhemodus.

Nach Ablauf der eingestellten Zeit beginnen die LEDs intensiv zu blinken und der Schallgeber gibt kurze Töne von sich. Das Stoppen erfolgt durch kurzes Drücken von SW1.

Es ist wichtig zu beachten, dass Sie den Countdown nach Beginn nicht mehr stoppen oder seine Dauer ändern können. Dadurch wird vermieden, dass die Zeitmessung versehentlich ausgeschaltet wird, was bei versehentlichem Drücken der SW1-Taste passieren kann.

Der Stromverbrauch liegt im Ruhezustand bei etwa 0,5 mA, sodass ein Akku mit einer Nennkapazität von 200 mAh theoretisch 45 Jahre im Standby-Modus durchhalten sollte. In der Praxis können Sie mit einer Zeit rechnen, die mit der Akkulaufzeit vergleichbar ist. Während des Countdowns beträgt der durchschnittliche Stromverbrauch etwa 8 mA und im Alarmzustand steigt er auf 15 mA.

(11,5 KB, Downloads: 304)

Für unerfahrene Funkamateure, die Mikrocontroller beherrschen, ist es oft notwendig, die Firmware oder Schaltung in Aktion auf einem echten Mikrocontroller zusammenzubauen und zu testen (Proteus weigert sich beispielsweise oft einfach, eine Schaltung mit einem Mikrocontroller angemessen zu simulieren). Verwenden Sie für diese Zwecke, nicht nur für Anfänger, ein Debug-Board und/oder ein Entwicklungsboard. Für Attiny13/15-Mikrocontroller und die Pinbelegung anderer mit ihnen kompatibler Mikrocontroller wurde ein Debug-Board hergestellt, das mit der minimal erforderlichen Funktionalität ausgestattet ist. Dieses Board hat eine kleine, kompakte Größe und ist kostengünstig zu montieren.

Auf dem Foto oben wird ein Programm in den Mikrocontroller geladen und die Debug-Karte selbst wird über einen Programmierer über den USB-Anschluss des Laptops an eine 5-Volt-Stromversorgung angeschlossen.

Entwicklungsboard für Mikrocontroller Attiny13/15 ist nach folgendem Schema aufgebaut:

Um den Mikrocontroller mit dem Debug-Board zu verbinden, verwenden Sie einen Stecker für Mikroschaltungen im DIP-8-Gehäuse oder einen einfachen „Bett“-Stecker für achtbeinige Mikroschaltungen. Dieser Steckverbinder kann sowohl in der üblichen Ausführung mit Klemmkontakten, als auch in der Ausführung mit Spannzangenkontakten verwendet werden. Die Verwendung eines solchen Steckers ermöglicht einen schnellen Austausch des Mikrocontrollers im Debug-Board bei möglichen Fehlfunktionen der Mikroschaltung selbst. Aufgrund von Unerfahrenheit können Sie beispielsweise einen Mikrocontroller sperren. Eine schnelle Lösung wäre, es im Debug-Board auszutauschen und den Mikrocontroller in Zukunft mit anderen Mitteln zu reparieren – einer RC-Kette oder einem Fuse-Bit-Doktor. Es wird auch möglich sein, die Marke des Mikrocontrollers schnell zu ändern – zum Beispiel durch einen Austausch Attiny13 mit Attiny15 im selben Board.

Unten sehen Sie das fertige Debug-Board von der Montageseite und von der Lötseite:

Als Brücken wurden neben den üblichen Drahtbrücken auch Widerstände der Standardgröße 1206 mit einem Nennwert von 0 Ohm verwendet.

Also ein wenig darüber, was sich auf dem Entwicklungsboard befindet. Beginnen wir mit der Stromversorgung – die Spannung zum Mikrocontroller wird vom Programmierer über den USB-Anschluss (5 Volt) entnommen, diese Spannung kann dem Mikrocontroller direkt oder über drei Dioden zugeführt werden, die die Spannung auf 3,2 – 3,3 Volt reduzieren. Der Einsatz von Dioden ist auf ihre geringen Kosten zurückzuführen. Wenn Sie möchten, können Sie die Leiterplatte jederzeit bearbeiten und Spannungsstabilisatoren wie AMS1117 3,3 Volt verwenden. Die Auswahl der Versorgungsspannung erfolgt über die Jumper Jmp1 und Jmp2 auf dem Entwicklungsboard. Es ist praktisch, Pullover mit „Griffen“ wie auf dem Foto zu verwenden, um beim Umfüllen von Lebensmitteln nicht gezwungen zu werden, sie herauszuziehen. Außerdem wird der Mikrocontroller über den Begrenzungswiderstand R2 mit Strom vom Programmiergerät versorgt. Der Nennwert kann je nach Vorliebe zwischen 0 Ohm und etwa 10 Ohm liegen. An Pin PB5 (Reset) des Mikrocontrollers mit Widerstand R1 Die Versorgungsspannung wird hochgezogen, dies ist notwendig, um bei Störungen einen spontanen Wiederanlauf des Reglers zu verhindern. An diesen Pin ist außerdem eine Uhrtaste angeschlossen, mit der Sie den Mikrocontroller manuell neu starten können, während Sie Schaltkreise oder Firmware debuggen.

Da die Priorität dieses Debug-Boards auf der Produktion nicht sehr komplexer Projekte liegt, verfügt das Board über Anschlüsse mit Spannzangenkontakten zum Anschluss von drei LEDs. Die Strombegrenzungswiderstände sind so gewählt, dass der gleichzeitige Einsatz von LEDs dreier Farben (Rot, Grün und Blau) möglich ist – 180 Ohm für Rot und jeweils 100 Ohm für Grün und Blau. Diese Streuung der Nennwerte ist darauf zurückzuführen, dass der Spannungsabfall bei roten LEDs normalerweise geringer ist als bei anderen Farben. Diese Lösung ermöglicht den Einsatz von RGB-LEDs.

Sie können jedoch auch gewöhnliche LEDs verwenden, um etwas anzuzeigen.

Speziell für die Programmierung ist auf der Leiterplatte ein standardmäßiger 10-Pin-Anschluss für AVR-Programmierer, wie USBasp oder AVRdoper oder andere, vorgesehen.

Es stehen mehrere Anschlüsse (Pin-Anschlüsse) zur Verfügung, um verschiedene Komponenten oder Geräte an die Pins des Mikrocontrollers anzuschließen. Einerseits umfassen zwei Arten von Anschlüssen (PLS-5 und PBS-5) einen Versorgungsspannungskontakt und einen Nullpotentialkontakt (Gnd) sowie PB0, PB1, PB2 des Mikrocontrollers. Andererseits gibt es auch zwei Arten von Steckverbindern (PLS-4 und PBS-4) – inklusive Kontakt Nullpotential (Gnd) und Mikrocontroller-Pin-Kontakte PB3, PB4, PB5. Es gibt einen separaten PLS-3-Anschluss, der drei Kontakte umfasst, die mit der Vcc-Versorgungsspannung verbunden sind. Weitere Einzelheiten finden Sie im elektrischen Schaltplan.

Die Platine verfügt über mehrere Kondensatoren, die die dem Mikrocontroller zugeführte Energie filtern, um die Leistung zu verbessern.

Um das Entwicklungsboard nach der Fertigung sofort testen zu können, wurde eine einfache Firmware entwickelt, die drei LEDs ansteuert – diese leuchten abwechselnd auf und wieder aus. Alles, was Sie brauchen, finden Sie unten. Dieses einfache Debugging-Board kann Einsteigern in diesem Geschäft als Anstoß dienen, sich mit Mikrocontrollern zu beschäftigen – schließlich ist es nichts Kompliziertes daran, wenn man über die grundlegendsten Kenntnisse der Programmiersprachen C oder Assembler verfügt.

Zum Programmieren des Mikrocontrollers Das Attiny13-Testprogramm (Firmware) muss die Konfiguration der Sicherungsbits kennen:

Dem Artikel liegen Test-Firmware für den Attiny13-Mikrocontroller, ein Projekt für denselben Mikrocontroller mit Test-Firmware, Quellcode im Programm, eine eingezeichnete Leiterplatte sowie ein Video der auf dem Debug-Board laufenden Test-Firmware bei.

Liste der Radioelemente

Bezeichnung Typ Konfession Menge NotizGeschäftMein Notizblock
IC1 MK AVR 8-Bit

ATtiny13A

1 ATtiny15 Zum Notizblock
VD1-VD3 Gleichrichterdiode

1N4148

3 Zum Notizblock
C1 Elektrolytkondensator10 µF1 Zum Notizblock
C2, C3 Kondensator100 nF2 Zum Notizblock
R1 Widerstand

10 kOhm

1 Zum Notizblock
R2 Widerstand

4,7 Ohm

1 0 bis 10 Ohm Zum Notizblock
R3, R5 Widerstand

100 Ohm

2 Zum Notizblock
R4 Widerstand

180 Ohm

1 Zum Notizblock
LED1 LeuchtdiodeRot1 Zum Notizblock
LED2 LeuchtdiodeGrün1 Zum Notizblock
LED3 LeuchtdiodeBlau1 Zum Notizblock
S1 TakttasteTC-A1091 Zum Notizblock
X1 VerbinderPLS-41 4 Stifte Zum Notizblock
X2 VerbinderPBS-41 Zum Notizblock
X3 VerbinderPLS-51 5 Stifte Zum Notizblock
X4 VerbinderPBS-51