AtTiny84 mit USB

Ich habe einige Probleme mit dem ATTiny84 und USB. Ich erstelle einen "Arduino-Klon", aber ich möchte eine einfache (und besonders kompakte auf der Platine) Möglichkeit, eine serielle USB-Schnittstelle zu implementieren. Dies wird nur für eine leicht modifizierte Version von verwendet firmata.

Geben Sie hier die Bildbeschreibung ein

Ich habe Probleme mit den Signalleitungen an der USB-Verbindung (die anscheinend 3v3 sein müssen?). Ich habe bereits einen Schaltplan erstellt. (siehe Bild) und ich wollte sehen, ob das stimmt. Der USB-Teil ist in einem Rechteck. Ich habe keine wirklich gute Dokumentation dazu gefunden. Die Dokumentation, die ich gefunden habe, sieht wie folgt aus:

Geben Sie hier die Bildbeschreibung ein

Dies scheint mir falsch zu sein, wenn die USB-Datenleitungen 3v3 erfordern. oder ist das richtig und kann ich es auch so an den attiny84 anschließen?

PS. Ich bin ein absoluter Elektronik-N00b, also wähle meine Fehler nicht zu hart aus ...

Antworten (2)

Die beiden Dioden im unteren Schaltkreis fallen um 2 × 0,7 V = 1,4 V ab. Da der USB-Bus 5 V liefert, liegt die Stromversorgungsschiene des ATtiny bei 5 V - 1,4 V = 3,6 V. Dies begrenzt die Controller-Ausgänge effektiv auf 3,6 V.

USB-Datenleitungen sind mit 2V8 ~ 3V6 (HIGH) spezifiziert. Die USB-Stromschiene ist bis zu 4V75 ~ 5V25 spezifiziert. Das bedeutet, dass das Obige bestenfalls nur geringfügig in Ordnung ist und die USB-Stromversorgungsspannung in der Praxis knapp unter 5 V liegt. Außerdem habe ich die Diodenspannung nicht berücksichtigt, die möglicherweise nur geringfügig unter den beabsichtigten 0V7 liegt. Obwohl es marginal in Ordnung ist, funktioniert es in der Praxis gut. Ich habe eine ähnliche Schaltung auf meiner Bank und arbeite seit Ewigkeiten.

Die Dioden auf meiner USB-Banktastatur fallen um 0,7094 V und 0,7155 V ab, aber ich habe keine Anstrengungen unternommen, um den Strom oder was auch immer zu reduzieren. Ihr Kilometerstand kann variieren.

Das Problem mit der oberen Schaltung ist, dass die Widerstände die Datenleitungen laden. Und abhängig von der Versorgungsspannung und dem Signalpegel auf den Datenleitungen kann es funktionieren, aber ich persönlich bin mir da nicht so sicher. Ich habe keine Erfahrung mit dieser Architektur, im Gegensatz zu der anderen.

Es gibt eine alternative Methode, die in einer jetzt gelöschten Antwort enthalten war, nicht sicher, warum der Autor sie gelöscht hat. Es verwendet Zenerdioden an den Ausgängen des Controllers, um die Spannung zu begrenzen. Obwohl diese andere Standardschaltung auf der V-USB-Website 3V6-Zener verwendet, würde ich persönlich 3V3-Zener verwenden, nur um etwas mehr Headroom zu haben.
Etwas wie das Folgende? imgur.com/qOt7c1b
@rhbvkleef so ziemlich, ja. Es hat sich bewährt, oben eine positive Stromschiene und unten Masse zu haben: i.stack.imgur.com/IUCg0.gif (entnahm das Bild aus der gelöschten Antwort).
Ja ... Es war nur so, wie ich den Rest der Schaltpläne eingerichtet hatte, warum gnd oben ist. Vielen Dank!

Die vorherige Antwort ist richtig, aber ich wollte meine zwei Cent mit einer Zener-basierten Ausgabe einwerfen, wie im Schaltplan hier http://m.instructables.com/id/Digispark-DIY-The-smallest-USB-Arduino/? ALLE SCHRITTE .

Die 3,6-V-Zener halten die Spannung an den Leitungen D+ und D- davon ab, jemals über 3,6 zu steigen, sodass Sie dann 5 V auf den restlichen Leitungen haben können. Die Zener bieten auch einen gewissen ESD-Schutz für die Leitung, indem sie leiten, wenn der Hochspannungsstoß auf die Leitungen angewendet wird, und sie sicher zur Erde tragen

Es hat auch den Vorteil, dass Sie nicht mit der Toleranzstapelung von zwei Dioden in Reihe rechnen, sondern jede Diode einzeln.

Ich bin mir auch nicht sicher, ob es beabsichtigt war, aber R1 und R3 in Ihrem Schaltplan sollten den gleichen Wert haben.