Attiny 841 - Strombelastung Ausgang

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Falls du noch mehr solche Infos hast nehm ich sie gerne.
In Deinem(?) Schaltplan hast Du ja 'ne LED an A5, ferner weist Du darauf hin, daß dieser Pin ach als ACO0 (Analog Comparator 0 Output) verwendet werden kann. Die beiden Eingänge des Analog Comparator 0 sind aber nicht verwendet. Was soll ACO0 machen?

A5 könntest Du stattdessen auch als TOCC4 (Timer Counter Compare Output 4) verwenden, also als PWM-Ausgang von Kanal B eines beliebigen der drei Timer. Abgesehen von dieser Variabilität der Ausgangs-Beine ist mir bei den Timern nichts besonderes aufgefallen...

Besonderheiten hab ich eigentlich in meiner Übersicht festgehalten.

Edit: Ah...
Ich verstehe...

Du willst den, über ADMUX gewählten Differenzeingang nach Verstärkung auf den AC0 schalten (ACPMUX), und je nachdem ob die Bandgap größer oder kleiner ist, soll die LED leuchten oder nicht??
 
Zuletzt bearbeitet:

achim S.

Premium Benutzer
16 Jan 2010
442
6
18
Nähe Basel
Sprachen
C
So hatte ich es mir gedacht. Das ganze ist aber nur eine Beispielschaltung aus dem Internet.
Versuche mal weiter zudenken.
Habe im Internet ein Start UP Entwicklung gesehen, das Drehgeber mit I2C Bus anbietet. Dieser verwendet aber einen PIC. Von dem Typ habe ich keinerlei Ahnung. Werde mal versuchen es auf den Ati 841 umzusetzen. Mein Drehgebr ist ein RGB Encoder. Für den Atm 128 geht es ohne Problem. Habe die Software von Peter dazu eingesetzt und angepasst.
Mal zur Hardware. Der Encoder hat 2 Richtungsausgänge und 3 Anschlüsse für die LEDs und ein Taster. Da sind allein schon 6 Pins belegt. Wenn ich dann noch Adresseingänge verwenden will wird es knapp. PA4 und PA6 sind durch den Bus belegt. Dann sind noch PA3, PA2, PA1, PA0, PB2 und PA7 frei. Bleibt dann noch PA5, ist eigentlich Miso. Andere Möglichkeit ist den Quarz wegzulassen, zu ungenau dadurch? Mann kann ja auch die Adresse nur in der Software festlegen, dann könnte es reichen. Kommt noch der Strom dazu. Die LEDs im Encoder sind für 20mA festgelegt. Muss also noch zusätzliche Transistoren rein für die LEDs.
Hast du eine Idee dazu?
achim
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.090
57
48
Hennigsdorf
Sprachen
BascomAVR, Assembler
Der 441/841 hat 12 I/Os. Elf, wenn der Reset Reset bleiben soll.
Du brauchst grundsätzlich:
  • 2 - für I²C
  • 2 - für den Drehgeber
  • 1 - für den Taster
  • 3 - für LEDs
Blieben erstmal drei Beine frei.
Andere Möglichkeit ist den Quarz wegzulassen, zu ungenau dadurch?
Wofür willst/brauchst Du denn Quarz-Genauigkeit?
Für den Drehgeber/Taster?
Ob die PWM-Frequenz der LEDs 'n Tick höher oder tiefer ist, interessiert Dich auch nicht (soll eh hinter der Wahrnehmungsgrenze liegen).
Und I²C ist 'ne gelatchte Übertragung.
Die LEDs im Encoder sind für 20mA festgelegt. Muss also noch zusätzliche Transistoren rein für die LEDs.
Hast du eine Idee dazu?
Für die RGB wirst Du mit 'ner Versorgungsspannung von 5V (zumindest über 3V5) arbeiten müssen; ab 3V können A5 und A7 die 20mA aufnehmen. Wenn Deine LED sich als Common Anode betreiben läßt, kein Thema.
Bliebe die dritte LED. Bei 5V verkraften die anderen Beine 10mA. Entweder Du legst die auf 10mA aus, oder Du verwendest 'nen externen Transistor, oder Du klärst, ob Du zwei Ausgänge parallel schalten kannst.
Dann blieben zwei Pins für die Adresswahl. (Drei, wenn man den Reset miteinbezieht).
A5 ist als (extra) High-Sink pin allerdings auch default-MISO, und somit Bestandteil des ISP. Während des Reset (und des Flashens) wird sich der Pin nur im High-Sink (nicht em Extra High Sink) Mode befinden. Trotzdem sollte der Tiny die (bei Vcc=5V) beim Flashen mittreiben können. Würde ich an Deiner Stelle also einfach vorher ausprobieren.
Für die anderen beiden ISP-Leitungen bietet sich zB der Taster an (wenn sicher gestellt werden kann, daß keiner den beim Programmieren drückt), und der Pin der dritten LED. (Die Adress-Jumper willst Du nicht jedesmal kontrollieren müssen, den Encoder in eine Position drehen wo der/die Schalter offen sind sicher auch nicht...)

Du hattest Dich auf diesen Controller wegen des Hardware-Slave-TWI festgelegt - die Alternative wäre ein anderer Controller der mehr Leistung durch die Pins verträgt, aber dann ggf nur USI (oder gar kein Hardware-I²C) hat.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)