PIC16F676 - Ist es möglich, den Siebensegmentanzeigen eine Dimmerschaltung hinzuzufügen

Ich versuche, ein PIC16F676-basiertes Voltmeter mit 3 gemultiplexten Sieben-Segment-Anzeigen mit gemeinsamer Anode zu bauen. Ist es möglich, einen lichtaktivierten Dimmer hinzuzufügen, um die Helligkeit der Displays über den PIC zu steuern oder den Strom extern gegen die Displays selbst zu steuern? Dies würde zu einem hellen Display bei hellen Bedingungen und einem Dimmer bei dunklen Bedingungen führen, um nicht blendend hell oder störend zu sein. Die meisten Standard-7-Segment-Anzeigen sind normalerweise nicht so hell, aber dies ist eine große Anzeige mit hellen LEDs.

Bearbeiten: Ich füge den Schaltplan hinzu, an dem ich arbeite. Ich schätze, ich hätte am Anfang hinzufügen sollen. Entschuldigung Leute.

Originalseite: http://www.circuitvalley.com/2012/02/30-volts-panel-volt-meter-pic.html

Geben Sie hier die Bildbeschreibung ein

Im Display enthält jedes Segment 5x LEDs parallel. Infolgedessen müssen die BC557 auf etwas Größeres geändert werden, da 5x parallele LEDs > 100 mA ziehen können. Das Problem der LEDs ist, dass ich 01005 SMD-LEDs in einem kleinen Formfaktor verwende, aber ich finde sie nur in stoopid hell statt in Standardhell. :( Als ich daran dachte, diese Frage zu stellen, hatte ich Schwierigkeiten, einen Titel zu finden, und ich versuche, die Frage nicht in diese Richtung zu lenken.

Sie müssen nur den durch die LEDs fließenden Strom irgendwie reduzieren. Es gibt viele Möglichkeiten, dies zu tun. Wenn Sie ein Schema Ihres aktuellen Setups zeigen und beschreiben können, welche Komponenten verfügbar sind (ist ein Mikroprozessor beteiligt? Hat er einen freien PWM-Ausgang?). Benötigen Sie außerdem nur ein paar diskrete Einstellungen oder möchten Sie kontinuierlich einen gewissen Bereich des Umgebungslichts anpassen?
Ich habe den Schaltplan wie gewünscht hinzugefügt. Ich habe versucht, das PIC16F676-Datenblatt nach einem Ersatz-PWM zu durchsuchen, finde es jedoch schwierig, da so viele Daten im Datenblatt enthalten sind, oder ich bin mir nicht genau sicher, wonach ich suchen soll, da dies das erste Mal ist, dass ein programmierbarer Mikrocontroller verwendet wird Typ. Ich hatte vorgehabt, einen Dimmer zu versuchen, der die Helligkeit über einen Bereich von Umgebungslicht variieren würde.
Überschreiten Sie nicht den maximalen Strom des PIC pro Port, 100 mA klingen ziemlich hoch.
Ich glaube, dass das Puffern des PIC-Ausgangs gegen die LEDs geeignet wäre, da 100 mA zu viel sind.

Antworten (3)

Sie müssen zwei verschiedene Dinge tun:

  1. Messen Sie die Lichtstärke. Dies sollte mit einem lichtabhängigen Widerstand und einem analogen Eingang des PIC erfolgen.

  2. Passen Sie die Helligkeit des Displays an. Der einfachste Weg, den ich mir vorstellen kann, besteht darin, den Arbeitszyklus zu reduzieren, den Bruchteil der Zeit, in der die LEDs eingeschaltet sind.
    Sie wechseln bereits schnell zwischen den einzelnen Ziffern, daher sollte es eine einfache Sache sein, sie jeweils für einen noch kürzeren Zeitraum einzuschalten. Dadurch erscheinen sie weniger hell.

Dann können Sie die beiden mit einer Formel oder einem Algorithmus verknüpfen, den Sie experimentell entwickeln können.

Ein Hinweis zum Multiplexing:
Sie können im Allgemeinen mit dem Flackern einer LED bei vielleicht 50 oder 100 Hz davonkommen, wenn es sich um einen normalen Helligkeitsbereich handelt. Aber bei sehr kurzen Arbeitszyklen (und Sie müssen sehr kurz gehen, um eine schwache Anzeige zu erhalten, vielleicht 1/256), sehen sogar 100 Hz seltsam aus, die Lichter hinterlassen gepunktete Streifen, wenn Sie sich im Raum umsehen. Streben Sie also eher nach 1 kHz an, um sicherzustellen, dass es auch bei geringer Helligkeit glatt aussieht.

Sie sollten den an RA4 angeschlossenen Widerstand mit einem ADC lesen. Mit dem Spannungswert stellen Sie das Tastverhältnis auf PWMs ein, die auf RA0/1/2 erstellt wurden. Wenn Sie Hardware-PWMs an diesen Pins haben, können Sie sie verwenden und deaktivieren, wenn der Multiplex nicht für jede Ziffer aktiviert werden soll.

Denken Sie daran, dass Ihre Ziffern beim Multiplexen bereits etwa 2/3 ihrer Helligkeit verlieren, da sie etwa 2/3 der Zeit deaktiviert sind. Wenn Sie stärker dimmen müssen, sollten Sie die gemeinsame Anode in jedem Multiplex-Zyklus für längere Zeit deaktivieren.

Sie haben zwei Möglichkeiten, die Helligkeit der LEDs zu steuern: 1) Steuern Sie den Strom durch die gemeinsame Anode der Anzeigen, möglicherweise mit Transistoren, um verschiedene Widerstandswerte auszuwählen (oder ein digital schaltbares Widerstandsgerät).

2) Impulsbreitenmodulation der LED-Segmente. Verwenden Sie eine Interrupt-Routine, Timer und blinken Sie die LED-Segmente ein und aus und steuern Sie das Verhältnis von Ein- zu Ausschaltzeit der LEDs.