Forum: Mikrocontroller und Digitale Elektronik Ist das Blödsinn?


von Jochen Hanisch (Gast)


Lesenswert?

Hallo zusammen,
hab mal eine Frage: Bin an einer Schaltung dran wo ich den OutputCompare 
von Timer2 beim ATMega8 zur Pumpenansteuerung benutze. Jetzt möchte ich 
aber auch ein Display über SPI ansprechen. Wenn jetzt Daten über MOSI 
rausgehen, soll natürlich die Pumpe nicht mit angesteuert werden. Hab 
mir eine Beschaltung wie im Anhang zu sehen überlegt. Ein Transistor im 
Gatezweig des Haupttransistors (ich weiß, in der Zeichnung sind Standard 
Transistoren verwendet...) wird über einen zweiten Ausgang gesteuert. 
Ist der Ausgang LOW,
der Transistor hochohmig, steuern HIGH-Pegel am Ausgang PB3/MOSI/OC2 den 
Hauptransistor nicht an. Ausgang HIGH, Transistor niederohmig, ein 
HIGH-Pegel kann den Haupttransistor schalten. Wie kann man sowas sonst 
lösen ohne großen zusätzlichen Bauteileaufwand?

Gruß,
Jochen

von Stefan (Gast)


Lesenswert?

Dein Anhang ist mit heutigen Technologien leider unsichtbar ;-)

von Pete (Gast)


Lesenswert?

scheiss topic.next time sprechender bitte. Im  Anhang sieht man nix.

von Peter D. (peda)


Lesenswert?

Nimm einfach andere Pins mit Software-SPI.


Peter

von Jochen Hanisch (Gast)


Angehängte Dateien:

Lesenswert?

Anhangversuch die zweite, mit Anmeldung...

von Günther S. (guenther)


Lesenswert?

Gehört zum SPI nicht eigentlich ein Chip-Select-Signal. Damit kannst du 
doch genau der Pumpe sagen, ob sie gemeint ist oder nicht.

Günther

von Stefan (Gast)


Lesenswert?

Statt dem Widerstand + Transistor "Pumpe" könntest du auch einen 
Demultiplexer (74HCT139?) nehmen und mit Hilfe von PD1 die PB3 Leitung 
entweder SPI oder OC2 zuweisen.

Möglicherweise kannst du PD1 sogar durch die /SS Leitung ersetzen - nur 
wenn SPI gewünscht ist, wird PB3 auf MOSI umgeschaltet.

Aber du musst auch noch überlegen, was die Pumpe machen soll, wenn bei 
der SPI Anwendung durch das Umschalten OC2 LOW oder High-Z wird. Aus 
diesem Grund würde ich eher prüfen, ob PWM mit Timer1 oder Timer0 
gemacht werden kann.

von Jochen H. (Firma: freier [VENTUZ] Operator) (joschy)


Lesenswert?

@Günther
der OC2 wird per Progi auf den Ausgang PB3 geroutet, wenn die Pumpe was 
machen soll. Da hängt bis jetzt dierekt ein Transistor zur 
Pumpensteuerung dran, da nützt mir kein Chip select.

@Stefan
Mit Demultiplexer oderso ist mir zuviel, ein Vorwiderstand mit 
Transistor sind da doch Platz sparender.


Timer2 hängt an einem Uhrenquarz um einerseits eine Laufzeitkalibrierung 
der internen 4MHz durch zu führen und andererseits als Frequenzgenerator 
für besagt Pumpe zu dienen. Die Dauer der Pumpenstösse wird über Timer0 
gesteuert. Soll gepumpt werden wird der Timer2 OC2-Ausgang, intern über 
Software auf den PB3 geroutet und Timer0 hebt dann irgendwann das 
Routing auf und PB3 hat seine normale Funktion zurück. Timer1 wird als 
Zähler benutzt.

Danke für die Vorschläge, werd´s mal aufbauen und dann weiter sehen,

Gruß,
Jochen

von Stefan (Gast)


Lesenswert?

OK. Ich komme mit dem von hinten durchs Auge ins Knie nicht mehr mit ;-)

Ich wollte nur darauf hinweisen, dass du dir den Frequenzgenerator an 
OC2 abschaltest, wenn du SPI machst. Die Pumpe ist in diesem Zeitraum 
nicht gesteuert bzw. sie ist abgeschaltet.

Ohne freie andere Timer ist der Vorschlag von Peter mit der Software-SPI 
wohl der beste.

von Jochen H. (Firma: freier [VENTUZ] Operator) (joschy)


Lesenswert?

@ Stefan
jeep, ist klar. Die Pumpe muß ja nur ganz kurz was machen. Ist ein 
Kettenöler fürs Moped. So ca. alle 6000m ein Tröpfchen Öl auf die Kette. 
Die Wegstrecke kann man natürlich einstellen. Timer2 wollte ich nehmen, 
um ohne groß im Hauptprogramm zu warten, mal zwei od. drei Tropfen bzw. 
Pumpenpattern zu generieren. Z.B. im Regen, wenn´s so weit ist, im 
Abstand einer Sekunde einen Tropfen ÖL - für drei Sekunden aktiv. Oder 
die dauer eines Pumpenstoss zu varieren....


Gruß,
Jochen

von Stefan (Gast)


Lesenswert?

Jetzt ist klar, warum ich auf dem Schlauch stehe... meine Moppeds haben 
alle Kardan ;-)

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.