Hallo, bei einer bestehenden Schaltung möchte ich nach dem Einschalten den Zustand von 3 DIP-Switches einlesen und entsprechend Parameter setzen für den späteren Programmlauf. Leider sind keine Pins mehr frei. MCU Wechsel scheidet aus. An 3 Pins hängen aktuell 3 LED und die Programmierschnittstelle. Könnte die Schaltung im Anhang so funktionieren : 1. Beim Einschalten alle 3 Pins als Input. 2. DIP Schalter einlesen. 3. Pins als Ausgang schalten. 4. Normales Programm abarbeiten Zum Programmieren alle DIP Schalter offen. Gruß
Dirk F. schrieb: > bei einer bestehenden Schaltung möchte ich nach dem Einschalten den > Zustand von 3 DIP-Switches einlesen und entsprechend Parameter setzen > für den späteren Programmlauf. DIP-Schalter mit Widerständen analog kodieren und per ADC einlesen. Beitrag "Re: Arduino Nano, Drehpotentiometer mit Rasten und Endanschlag" Geht bei 3 Schaltern auch ohne OPV. Siehe Anhang. Die Spannungen sind nichtlinear, das kann man aber rausrechnen.
Dirk F. schrieb: > An 3 Pins hängen aktuell 3 LED und die Programmierschnittstelle. > Könnte die Schaltung im Anhang so funktionieren : Der Trick funktioniert nur, wenn die Flußspannung der LEDs bei 3V und höher liegt. Denn die Pull-Widerstände müssen halbwegs sauber LOW erreichen. D sollte man eher 3x10k nehmen. > Zum Programmieren alle DIP Schalter offen. Brauchst du nicht, 1K kann ein normaler Programmieradapter treiben. Ergänzung. Man kann es mit meiner Analogmethode auch mit einem Pin an den LEDs machen! Man muss nur die Widerstände so wählen, daß bei allen Codes die minimale Spannung hoch gehung ist, daß die LEDs nicht anfangen Strom zu ziehen. Umin > VCC-Uf_min
Rainer W. schrieb: >> Die Spannungen sind nichtlinear > > Was sind nichtlineare Spannungen? Das Gegenteil von linearen Spannungen ;-) Ich meinte, die 8 Stufen der Spannung, welche durch den DIP-Schlater erzeugt wird, sind nichtlinear.
Probiere es aus, ist doch schnell gemacht. Die Frage ist ob die 100kOhm als Pulldown nicht zu groß sind, um den Eingang auf LOW zu ziehen. Besser wäre es für Deinen Fall, wenn der ATiny intern PullDown könnte, das mußt Du halt selber raus finden - ich kenne den ATiny nicht und habe mit dem auch noch nichts gemacht. Die zweite Frage ist, welchen Einfluß ein geschlossener Switch auf Programmiervorgang hätte. Notfalls muß man halt alle Switches während des Programmierens öffnen.
Dirk F. schrieb: > Zum Programmieren alle DIP Schalter offen. Wenn Du R14 - R16 auf 47 kOhm erhöhst, kannst Du Dir das sparen. Vielmehr kommt es auf R11 - R13 nebst zugehöriger LEDs an, da diese die Programmierung und das Einlesen der Schalter stören könnten. Eine Alternative wäre, den Tiny85 bei 3,3 V zu betreiben und programmieren. Dann stören die Durchlassspannungen der LEDs je nach Farbe nicht. Typische Schwelle für '0' oder '1' Signale liegt bei etwa VCC/2, siehe Datenblatt.
Danke für die bisherigen Hinweise. Von der analogen Schaltung möchte ich vorerst Abstand nehmen. 3,3 V Versorgung geht leider auch nicht. Wäre die neue Schaltung so besser ?
Jain. Mit beispielsweise LED1 = rot und R11 = 220 Ohm wäre die Funktion fraglich. Aber das kannst Du selber probieren.
Hans schrieb: > Die zweite Frage ist, welchen Einfluß ein geschlossener Switch auf > Programmiervorgang hätte. Notfalls muß man halt alle Switches während > des Programmierens öffnen. Die Treiberleistung sowohl des Programmieradapters als auch des ATtiny85 ist ausreichend, um ein paar kΩ zu treiben, ohne dass sich die Pegel störend verschieben (wie Falk schon vor dir schrieb).
Dirk F. schrieb: > Von der analogen Schaltung möchte ich vorerst Abstand nehmen. Die Ansage geht eigentlich schlecht mit Dirk F. schrieb: > Leider sind keine Pins mehr frei. zusammen. Dazu: Mit Bootloader oder HVSP kann man den Reset Pin ohne Probleme mit verwenden. Selbst ohne den Reset Pin umzukonfigurieren, lässt sich der ADC bis zur Resetschwelle nutzen.
:
Bearbeitet durch User
Dirk F. schrieb: > Danke für die bisherigen Hinweise. > > Von der analogen Schaltung möchte ich vorerst Abstand nehmen. Warum? > 3,3 V Versorgung geht leider auch nicht. Braucht man auch nicht. > Wäre die neue Schaltung so besser ? Ja
Hier als Exceltabelle zum Ausrechnen. Wenn man R4 auf 4,7k vermindert, sollte es passen.
Wenn die LEDs eine zu geringe Flußspannung haben, kann man normale Kleinsignaldioden in Reihe schalten, bis ausreichend Uf vorhanden ist. Vorwiderstand anpassen.
Dirk F. schrieb: > Könnte die Schaltung im Anhang so funktionieren : Kein Problem. Du mußt sie nur über den ADC einlesen, also auf PB2, 3 und 4 wechseln.
Peter D. schrieb: > Kein Problem. Du mußt sie nur über den ADC einlesen, also auf PB2, 3 und > 4 wechseln. OK, dann werde ich die Schaltung erst mal so aufbauen und digital testen. Wenn es nicht geht, muss ich mich mal einlesen, wie man den ADC programmiert. Ich bin normal bei den PICs zu Hause-----
Dirk F. schrieb: > Wenn es nicht geht, muss ich mich mal einlesen, wie man den ADC > programmiert. Ich bin normal bei den PICs zu Hause----- Aha, daher weht der Wind. Beitrag "Re: 0-10V Signal in Drehimpulsgeber Signal Umwandeln"
Für deine Anwendung musst du aber VCC als Referenzspannung einstellen.
1 | // PB2, ADC1, VCC= Vref
|
2 | ADMUX = 1; |
Ich merke gerade, dass ich die MCU Typ ATtiny25 habe. An den 3 LED Pins ist leider nur 1 Analog-Pin vorhanden. PB2 Pin7.
Dirk F. schrieb: > Ich merke gerade, dass ich die MCU Typ ATtiny25 habe. > An den 3 LED Pins ist leider nur 1 Analog-Pin vorhanden. PB2 Pin7. Das reicht. Man "spart" sogar 2 Widerstände, wegen Weltrettung und so . . . Beitrag "Re: ATtiny keine Pins mehr frei"
:
Bearbeitet durch User
Dann lass das mit dem Analogzeug doch sein. Die drei LEDs mußt Du eh separat ansteuern. Sieh zu, daß Du deine unbekannten LEDs samt Vorwiderständen angesteuert bekommst, ohne daß sie die Schalterabfrage stören. Ist denn das so schwer mal zu testen?
Mi N. schrieb: > Dann lass das mit dem Analogzeug doch sein. Die drei LEDs mußt Du eh > separat ansteuern. > Sieh zu, daß Du deine unbekannten LEDs samt Vorwiderständen angesteuert > bekommst, ohne daß sie die Schalterabfrage stören. Ist denn das so > schwer mal zu testen? Was für ein sinnloser Beitrag!
Ron-Hardy G. schrieb: > Ich würde die LEDs über LL-MOSFETS entkoppeln Ist nicht nötig! Beitrag "Re: ATtiny keine Pins mehr frei"
Mi N. schrieb: > deine unbekannten LEDs samt Vorwiderständen D1 Vf= 3V D2 Vf=2V D3 Vf=2V R11 8K2 R12 3K9 R13 3K9
Dirk F. schrieb: >> deine unbekannten LEDs samt Vorwiderständen > > D1 Vf= 3V > D2 Vf=2V > D3 Vf=2V Für den Analogeingang musst du an PB2 ran, dort muss die LED mit der größten Flußspannung (3V) ran. Das kann man tauschen. > R11 8K2 > R12 3K9 > R13 3K9 So viel? Also nur schwache Signal-LEDs. Egal, das Gesagte gilt trotzdem.
:
Bearbeitet durch User
Dirk F. schrieb: > D1 Vf= 3V > D2 Vf=2V > D3 Vf=2V > > R11 8K2 > R12 3K9 > R13 3K9 Dann brauchst Du das Analogzeug nicht.
mein Vorschlag nimm einen 8bit Latch. Der liest z.B. 8 bits ein (8 Dipschalter) und kann Sie auch wenn gewünscht zwischenspeichern. Wenn man diesen jetzt aktiviert gibt er die 8 Schalterstellungen (oder auch nur 3) an deinen Port oder einzelne Pins aus. Du ließt die Daten ein und schaltest den Latch wieder aus und kannst deinen I/Os wieder für andere Sachen verwenden. z.B. 74HC573
Dirk F. schrieb: > Leider sind keine Pins mehr frei. MCU Wechsel scheidet aus. Was ist eigentlich mit PB3, PB4 und PB5?
Thomas schrieb: > mein Vorschlag nimm einen 8bit Latch. Warum nicht gleich 8 100A Schütze? Sicher ist sicher! OMG! Das Problem ist längst SEHR elegant gelöst!
Habe die Sache mal durchgerechnet. (für Digitallösung) LED rot (2V) 3K9 Vorwiderstand. 1 K Pull-Down über Switch Pins Spannung bei geschlossenen Switch: U = (5V-2V) *1K / (3K9 + 1K) = 0,61V Laut Datenblatt wir LOW sicher erkannt bei Max. = 0,3 x 5V = 1,5V Die grüne LED ist noch unkritischer..... Sollte also sicher funktionieren.
Dirk F. schrieb: > Sollte also sicher funktionieren. Tut es auch, dank deiner riesigen Vorwiderstände.
Dirk F. schrieb: > Laut Datenblatt Im Datenblatt gibt es präzisere Kurven für die Schaltschwellen der Eingänge nebst zugehöriger Hysteres (Abschnitt 22.7). Damit ist das Ganze noch unkritischer, sodaß die DIP-Schalter auch hochohmiger ausgelegt werden können und somit beim Programmieren nicht extra ausgeschaltet werden müssen.
Mi N. schrieb: > sodaß die DIP-Schalter auch hochohmiger > ausgelegt werden können und somit beim Programmieren nicht extra > ausgeschaltet werden müssen. Das müssen sie JETZT schon nicht! 1k an 5V macht 5mA, das können gescheite Programmieradapter problemlos treiben!
da ich noch keine 3bit Latch entdeckt habe, habe ich eben einen 8bit Latch vorgeschlagen man kann davon auch nur 3bits benutzen. Vielleicht fehlt im ja wieder mal ein Pin und dann ist es nicht verkehrt sich mal damit beschäftigt zu haben einen Latch parallel zu schalten und einfach 8 weitere Ein oder Ausgänge parat zu haben. Als ich mit den AVRs angefangen habe hatte ich da auch so einen kleinen ATTiny26 dort sollten viele ADC Kanäle genutzt werden und ein 8bit LCD angesteuert werden da war so ein Latch sehr nützlich.
Tim T. schrieb: > Was ist eigentlich mit PB3, PB4 und PB5? Das frage ich mich auch dauernd. Die sind einfach frei ...
Falk B. schrieb: > Das müssen sie JETZT schon nicht! 1k an 5V macht 5mA, das können > gescheite Programmieradapter problemlos treiben! Gescheite Hardwerker sehen aber zu, daß bei abgeschalteten LEDs nicht 15 mA sinnlos verbraten werden, zumal die Vorwiderstände der LEDs eher auf Batteriebetrieb deuten!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Klaus H. schrieb: > Das frage ich mich auch dauernd. Die sind einfach frei ... Die mußten vielleicht aus Platzmangel abgekniffen werden und liegen jetzt in der Ersatzteilkiste oder auch ein Geheimprojekt ;-)
Mi N. schrieb: > Gescheite Hardwerker sehen aber zu, daß bei abgeschalteten LEDs nicht 15 > mA > sinnlos verbraten werden, zumal die Vorwiderstände der LEDs eher auf > Batteriebetrieb deuten!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! JAAAAAAAAAA! HAST JA RECHT!!!!!!! :-) Darum auch meine Empfehlung mit EINEM Analogpin und relativ hochohmigen Widerständen. Beitrag "Re: ATtiny keine Pins mehr frei" Macht minimal 6k gegen Masse und 830uA.
Klaus H. schrieb: > Das frage ich mich auch dauernd. Die sind einfach frei ... Da kann ich nicht dran. Sind schon belegt.
Dirk F. schrieb: > Da kann ich nicht dran. Sind schon belegt. Ja, aber nicht in deinem Schaltplan. Das irritiert.
Falk B. schrieb: > JAAAAAAAAAA! HAST JA RECHT!!!!!!! Jetzt haste noch ein paar '!' übrig, um weiter herumzuschreien :-( Roland F. schrieb: >> Sind schon belegt. > > Womit? Das ist doch wurscht. Meinetwegen muß der TO auch kein Foto von seiner Schaltung oder sein Programm zeigen.
Mi N. schrieb: > Gescheite Hardwerker sehen aber zu, daß bei abgeschalteten LEDs nicht 15 > mA sinnlos verbraten werden Ebenst, deshalb würde ich es so machen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.