Hallo zusammen, ich habe ein ganz dringendes Problem. Nämlich will ich ein paar LEDs über einen BC547 per PWM eines ATtiny45 steuern (Basiswiderstand 1K). Jetzt habe ich das Problem, dass die LED nach am Transistor nur Flackert, am PWM-Pin direkt kommt mein gewünschtes Ergebnis an. Ich habe schon ein wenig gelesen, unteranderem auch, dass angeblich die "PWM-Frequenz" nicht passen kann. PS. : Ich habe den ATtiny45-20PU mit dem Arduino Bootloader mit 8Mhz internem Quarz geflasht und dann mein Programm übertragen - Funktioniert ja auch so weit. Danke schon mal im Voraus! MFG programmierer12
:
Bearbeitet durch User
Lukas D. schrieb: > Jetzt habe ich das Problem, dass die LED nach am Transistor nur > Flackert, am PWM-Pin direkt kommt mein gewünschtes Ergebnis an. Ich habe > schon ein wenig gelesen, unteranderem auch, dass angeblich die > "PWM-Frequenz" nicht passen kann. Da wäre ein Schaltplan doch mal richtig hilfreich. Die meisten hier sind auch mit dem Programm für den Tiny nicht überfordert, so das du das uns ruhig zeigen kannst. > mit dem Arduino Bootloader mit 8Mhz > internem Quarz geflasht Da liegt ein Irrtum vor. Der interne Oszillator hat gar keinen Quarz, sondern ist ein RC Oszillator.
:
Bearbeitet durch User
Matthias S. schrieb: > Da wäre ein Schaltplan doch mal richtig hilfreich. Die meisten hier sind > auch mit dem Programm für den Tiny nicht überfordert, so das du das uns > ruhig zeigen kannst. Sorry da hab ich nicht dran gedacht. Im Anhang habe ich den Schaltplan nach dem ich das Ganze aufgebaut habe. Ich habe aber als Stromversorgung einen TS 2940 verwendet, welcher auch zwei Kondensatoren spendiert bekommen hat ;) Matthias S. schrieb: > Da liegt ein Irrtum vor. Der interne Oszillator hat gar keinen Quarz, > sondern ist ein RC Oszillator. Das kann schon sein, da kenn ich mich noch nicht so gut aus schäm :)
:
Bearbeitet durch User
Und du bist sicher, dass dein Tiny auf 8Mhz läuft und deine Ardunio Entwicklungsumgebung auch davon weiss? Nein, es reicht nicht, die Zahl irgendwo einzutragen. Du musst den Tiny schon mittels Fusebits auf diese 8Mhz internen Takt umstellen. Tust du das nicht, dann läuft er wie alle AVR ab Werk mit ca. 1Mhz.
Karl H. schrieb: > Und du bist sicher, dass dein Tiny auf 8Mhz läuft und deine > Ardunio > Entwicklungsumgebung auch davon weiss? Nein, es reicht nicht, die Zahl > irgendwo einzutragen. Du musst den Tiny schon mittels Fusebits auf diese > 8Mhz internen Takt umstellen. Tust du das nicht, dann läuft er wie alle > AVR ab Werk mit ca. 1Mhz. Ja da bin ich mir sicher! Und ja ich habe den Tiny mit 8 Mhz intern mit dem Bootloader geflasht wodurch die Fusebits gesetzt worden sind.
Karl H. schrieb: > Du musst den Tiny schon mittels Fusebits auf diese > 8Mhz internen Takt umstellen. Tust du das nicht, dann läuft er wie alle > AVR ab Werk mit ca. 1Mhz. Für alle, die sich an die Fuses nicht rantrauen oder in Ermangelung passenden Werkzeugs nicht rankommen:
1 | #include <avr/power.h> |
2 | |
3 | int main(void) |
4 | {
|
5 | clock_prescale_set(clock_div_1); |
6 | .
|
7 | .
|
8 | .
|
9 | }
|
mfg.
Lukas D. schrieb: > Und ja ich habe den Tiny mit 8 Mhz intern mit > dem Bootloader geflasht wodurch die Fusebits gesetzt worden sind. Ein Bootloader kann keine Fuses setzen! mfg.
Vielleicht hast Du den Pin als Eingang definiert '? Werner. PS: Programm posten, wäre auch nicht schlecht. ODer ,wie das auch immer in der Arduino IDE genannt wird.. ich glaube Sketch.
> Ja da bin ich mir sicher! Und ja ich habe den Tiny mit 8 Mhz intern mit > dem Bootloader geflasht wodurch die Fusebits gesetzt worden sind. Wie, genau, hast du das gemacht. Es ist absolut nicht üblich, dass mit dem Flashen eines Programmcodes (hier der Bootloader) auch die Fusebits neu geschrieben werden, solange der Benutzer dies nicht explizit anordnet. Gut. Ein Argument für dich ist wohl, dass der Bootloader funktioniert, was er ganz sicher nicht tun würde, wenn der Tiny nicht mit 8Mhz laufen würde. Trotzdem würde ich das kontrollieren. Wie hast du die PWM realisiert? Mittels 'analogWrite'?
:
Bearbeitet durch User
Als erstes fehlt da aber der obligatorische Abblockkondensator zwischen Vcc und GND. 100nF-10µF sind prima, der muss direkt nahe am Tiny sein. Sonst ist die Schaltung schon mal ok. Nun ist das Programm interessant... Lukas D. schrieb: > Und ja ich habe den Tiny mit 8 Mhz intern mit > dem Bootloader geflasht Können Bootloader Fuses setzen? Da kann ich nichts zu sagen - ich setze die immer mit dem Programmer. Auf Verdacht schreib mal deine Taktfrequenz auf 1 MHz um, das wäre der Auslieferzustand des Tiny und reicht für ein Teelicht sicher auch.
:
Bearbeitet durch User
Sorry, dass ich euch jetzt aufgehalten habe, aber ich hab's hinbekommen. Das komische ist nur, dass ich nicht weiß wie. Nachdem ich das Teil ein bisschen von allen Seiten angeschaut habe hat es dann endlich funktioniert lach
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.