Forum: Mikrocontroller und Digitale Elektronik AVR: "Simulation" von Open Collector/Open Drain mit PWM


von greg (Gast)


Lesenswert?

Bekanntermaßen lassen sich mit den AVRs Ausgänge simulieren, die ähnlich 
eines Open Collector funktionieren: PORTx permanent auf 0 und dann mit 
DDRx schalten. Ich habe hier einen LED-Boost-Treiber, den Prema PR4404, 
den ich mit PWM steuern möchte. Nun sagt das Datenblatt explizit:

>Mind that no voltage must be applied at the Hold pin, but it must only be pulled 
down to Gnd. Only an open collector or open drain output must be connected to 
Hold!

Mit PWM in Software wäre das kein Thema, aber ich möchte den µC gerne 
mit dem WDT bei 128 KHz betreiben, um Strom zu sparen. Dann ist 
Software-PWM zu langsam. Hardware-PWM ist also angebracht und sowieso 
schöner. Aber wie bekommt man mit den PWM-Modi so einen Open Collector 
hin? Geht das überhaupt ohne Extrakomponenten?

von Matthias (Gast)


Lesenswert?

greg schrieb:
> Aber wie bekommt man mit den PWM-Modi so einen Open Collector
> hin? Geht das überhaupt ohne Extrakomponenten?

Mit eine Diode (Schottky?) zwischen uC-Port und Hold-Eingang sollte es 
wahrscheinlich auch klappen, falls man keine echte Open-Drain 
Ansteuerung hinbekommt.

von quadral (Gast)


Lesenswert?

Hi.

greg schrieb:
>>Mind that no voltage must be applied at the Hold pin, but it must only be pulled
> down to Gnd. Only an open collector or open drain output must be connected to
> Hold!

Diese Formulierung fordert nicht die unbedingte Verwendung eines open 
collector Ausgangs. Vielmehr sagt sie aus, das er ausreicht und kein 
Pull-Up-Widerstand benutzt werden muss.

greg schrieb:
> Aber wie bekommt man mit den PWM-Modi so einen Open Collector
> hin? Geht das überhaupt ohne Extrakomponenten?

Nein. Von der Hardwareseite her nicht. Im PWM Betrieb wird der Pin OCn 
getoggelt. Vieleicht kann man die PWM (OCRn Interrupt Flag) auch in eine 
ISR umleiten und dort DDR toggeln. Weis aber nicht, ob das geht.
Du kannst auch ne Schottky-Diode zwischen den Pin vom µC und dem 
Hold-Eingang schalten (so etwa: OCn -|<- Hold). Die Beschaltung müsste 
sich äquivalent zum Open-Collector ohne Pull-Up verhalten.

von greg (Gast)


Lesenswert?

quadral schrieb:
>
> Diese Formulierung fordert nicht die unbedingte Verwendung eines open
> collector Ausgangs. Vielmehr sagt sie aus, das er ausreicht und kein
> Pull-Up-Widerstand benutzt werden muss.
>

Ich weiß nicht, vielleicht ist die Formulierung einfach schlecht 
gewählt, aber das klingt so bedrohlich, als wenn sonst Hardwareschaden 
folgen könnte.

> Du kannst auch ne Schottky-Diode zwischen den Pin vom µC und dem
> Hold-Eingang schalten (so etwa: OCn -|<- Hold). Die Beschaltung müsste
> sich äquivalent zum Open-Collector ohne Pull-Up verhalten.

D'Oh! Das ist so einfach und eigentlich einleuchtend. Blöd, dass ich da 
nicht drauf gekommen bin.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

greg schrieb:
> Mit PWM in Software wäre das kein Thema, aber ich möchte den µC gerne
> mit dem WDT bei 128 KHz betreiben, um Strom zu sparen. Dann ist
> Software-PWM zu langsam.

Du kannst doch auch mit schnellem Takt arbeiten, eine Software-PWM
implementieren, und den Controller dazwischen schlafen legen.
Aufwecken lässt du dich dann entweder vom 32-kHz-Oszillator, oder du
skalierst (statt komplettem Schlaf) den Hauptoszillator zwischen den
PWM-Events maximal runter.

von greg (Gast)


Lesenswert?

Die Lösung mit Schottky hat jetzt übrigens perfekt funktioniert.

von Willi W. (Gast)


Lesenswert?

quadral schrieb:
> greg schrieb:
>>Mind that no voltage must be applied at the Hold pin, but
>>it must only be pulled down to Gnd.
>
> Diese Formulierung fordert nicht die unbedingte Verwendung eines open
> collector Ausgangs. Vielmehr sagt sie aus, das er ausreicht und kein
> Pull-Up-Widerstand benutzt werden muss.

Woher stammt denn diese Interpretation? Übersetzte "must not" mal 
korrekt (?) als "nicht dürfen" und schon wird da eein potentielles 
Problem erkennbar.

von spess53 (Gast)


Lesenswert?

Hi

>Woher stammt denn diese Interpretation? Übersetzte "must not" mal
>korrekt (?) als "nicht dürfen" und schon wird da eein potentielles
>Problem erkennbar.

Da steht aber 'must only'!

MfG Spess

von Willi W. (Gast)


Lesenswert?

"no voltage must be applied at the Hold pin" = "keine Spannung darf ..." 
?

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.