Hallo miteinander, ich habe zu der Schaltung, welche ich als Bild angehängt habe, folgende Fragen: - Ist es problematisch wenn ich bei dem hervorgehobenen Bereichen (PB2 von den ATtinys) von dem GPIO des Raspberries mit 3.3 V komme, der Pull-up-Widerstand jedoch mit 5 V? Oder sollte ich hier besser eine Transistor-Schaltung verwenden, die mir die 3.3 V ebenfalls auf 5 V verstärkt? - Mir ist aufgefallen, dass, wenn ich meinen Lötkolben ausschalte, die Schaltung einmal triggert. Das darf allerdings nicht passieren. Wie kann ich das zuverlässig verhindern? Das passiert auch nur, wenn der Raspberry Pi angeschlossen ist.
:
Bearbeitet durch User
Sebastian G. schrieb: > - Ist es problematisch wenn ich bei dem hervorgehobenen Bereichen (PB2 > von den ATtinys) von dem GPIO des Raspberries mit 3.3 V komme, der > Pull-up-Widerstand jedoch mit 5 V? Nein, die 10k verhindern zu viel Strom in den rPi hinein. Richtig elegant ist es aber nicht, 10k sind langsam. Sebastian G. schrieb: > - Mir ist aufgefallen, dass, wenn ich meinen Lötkolben ausschalte, die > Schaltung einmal triggert. Das darf allerdings nicht passieren. Wie kann > ich das zuverlässig verhindern? Das passiert auch nur, wenn der > Raspberry Pi angeschlossen ist. Was auch immer triggert heissen soll, wahrscheinlich führen sich die ATTiny angesprochen. Bei 2 Netzteilen kann man sich lustige Problem schon aus der Netzstromversorgung einfangen. Bei einer Versorgungsspannung, die mit 100uF und 100pF abgeblockt ist, kein Wunder. Warum glaubt man, mit um den Faktor 1000 neben der Herstellerempfehlung liegenden Bauelementen Erfolg zu haben ? Dann ist unklar, wie die Masseführung ist, du hast ja wohl zumindest hohen Strom (L293D) und empfindliche Eingänge (ATTiny) und das Programm im Attiny wird wohl nicht unbedingt Störungen vermeiden (Eingangsentprellung oder gar CRC abgesicherte Kommunikation), mit Watchdog arbeiten. Hast du überhaupt den brown out detektor im ATTiny eingeschaltet ?
Das Programm auf den ATtinys:
1 | #ifndef F_CPU
|
2 | #define F_CPU 4000000UL
|
3 | #endif
|
4 | #include <avr/io.h> |
5 | #include <util/delay.h> |
6 | |
7 | int main(void) { |
8 | DDRB |= (1 << PB0); // Ausgang |
9 | DDRB |= (1 << PB1); // Ausgang |
10 | DDRB &= ~(1 << PB2); // Eingang |
11 | |
12 | PORTB |= ( 1 << PB2 ); |
13 | PORTB &= ~(1 << PB0); |
14 | PORTB &= ~(1 << PB1); |
15 | |
16 | while (1) { |
17 | if( PINB & (1<<PB2)) { |
18 | PORTB &= ~(1 << PB0); |
19 | PORTB |= (1 << PB1); |
20 | } else { |
21 | PORTB &= ~(1 << PB1); |
22 | PORTB |= (1 << PB0); |
23 | }
|
24 | }
|
25 | }
|
Ja, ich muss noch viel lernen. Was würdest du mir empfehlen, in Bezug auf die Bauteile anders zu tun? Kannst du mir hier bitte helfen? Masse ist alles zusammengeführt. Die Brown-out detection habe ich auf VCC = 4.3 V stehen
:
Bearbeitet durch User
Kann mir keiner helfen, um die obige Schaltung zu verbessern und gegen äußere Störeinflüsse abzusichern? Bitte helft mir, es ist mir sehr wichtig, das zum Laufen zu bringen. Vielen Dank!
Sebastian G. schrieb: > - Mir ist aufgefallen, dass, wenn ich meinen Lötkolben ausschalte, die > Schaltung einmal triggert. Das darf allerdings nicht passieren. Wie kann > ich das zuverlässig verhindern? Indem du deinen Lötkolben vernünftig entstörst. Eventuell hast du Glück, dass er gegen EMV-Vorschriften verstößt und du den Hersteller/Inbetriebbringer zur Verantwortung ziehen kannst. Wenn du bei deiner Schaltung gezielte Maßnahmen ergreifen möchtest, könntest du erstmal klären, auf welchem Weg die Störungen dorthin gelangen und zum Triggern der Schaltung führen. Ein Netzfilter wirkt oft Wunder https://www.schaffner.com/products/emcemi/ Sebastian G. schrieb: > Oder sollte ich hier besser eine Transistor-Schaltung verwenden, > die mir die 3.3 V ebenfalls auf 5 V verstärkt? Du willst keine Verstärkung, sondern eine Pegelwandlung, i.e. eine Digitalschaltung, die bestenfalls auch die Flanken regeneriert. Wenigstens einen Widerstand zwischen Raspberry und ATtiny solltest du einbauen, damit es keinen Ärger gibt, wenn der ATtiny versehentlich seinen Pin als Ausgang schaltet. Zusammen mit einem kleinen Kondensator am ATtiny könnte das schon helfen. Guck es dir einfach mal mit einem Oszi an. So, wie es jetzt verschaltet ist, begrenzt die Schutzdiode vom Raspberry den H-Pegel am ATtiny auf etwas 0.7*VCC (3.3V+Vf), was deinen Störabstand im Vergleich zu einer sauberen 5V-Ansteuerung mehr als halbiert. Du könntest aber deiner Software resistenter verfassen, indem du dafür sorgst, dass du nach einem vermeintlichen Triggerpuls etwas später (ausreichend, damit ein Störpulse wieder weg ist) nochmal nachguckst, ob der Triggerpegel immer noch anliegt - nennt sich Entprellung. Das kommt natürlich drauf an, was dein Rapi so von sich gibt.
Sebastian G. schrieb: > Was würdest du mir empfehlen, in Bezug auf die Bauteile anders zu tun? Na, dass Datenblatt des 7805 lesen und C4 gegen die Herstellerempfehlung tauschen. > Kannst du mir hier bitte helfen? Hat der Michael doch. Belehrungsresistent? > Masse ist alles zusammengeführt. Ja, aber wie? Masseschleifen können auch in Digitalsystemen Ärger machen.
Ich möchte mich erst einmal für mein "Drängen" entschuldigen. Ich war wohl etwas ungeduldig. Danke erst einmal für die Hinweise, ich werde diese beherzigen. Das Problem ist, dass dies noch alles Neuland für mich ist und ich taste mich (sehr) langsam heran. Daher sind Angaben wie "einen Widerstand" oder "einem kleinen Kondensator" ohne Werte für mich noch irreführend, da ich weder auf Erfahrung noch auf das Wissen zur exakten Bestimmung in solchen Fällen zurückgreifen kann. (Das soll kein Vorwurf sein!) Das meiste habe ich mir bisher "ergooglelt" - wohin das geführt hat, sieht man ja ;-) Daher würde ich mich sehr darüber freuen, wenn ihr mir das eventuell ein wenig ausführlicher erklären könntet. Das mit der Entprellung werde ich mal versuchen in der Zwischenzeit umzusetzen. Vielen Dank schon einmal!
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.