Forum: Mikrocontroller und Digitale Elektronik Frage zur Schaltung


von Sebastian G. (spencer)


Angehängte Dateien:

Lesenswert?

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
von Michael B. (laberkopp)


Lesenswert?

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 ?

von Sebastian G. (spencer)


Lesenswert?

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
von Sebastian G. (spencer)


Lesenswert?

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!

von Wolfgang (Gast)


Lesenswert?

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.

von Cyborg (Gast)


Lesenswert?

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.

von Sebastian G. (spencer)


Lesenswert?

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
Noch kein Account? Hier anmelden.