Archiv verlassen und diese Seite im Standarddesign anzeigen : Banötige Anleitung für Software PWM
Hallo zusammen ,
ich hab mch schon kreuz und quär durchs forum gelesen, aber ich finde kein Beispiel wie man ein PWM-Signal softwaremäßig erstellen kann.
Ich würde gerne einfach nur eine LED dimmen wollen.
Kann mir da vielleicht jemand helfen?
Über ein Beispielprogramm mit Erläuterung in Bascom würde ich mich sehr freuen.
Vielen Dank schonmal
Gruß
Jens
kolisson
10.11.2006, 21:51
config porta.1 as output
dim zaehler as byte '<- wichtig, dass es byte ist
dim trigger as byte
trigger=127
do
if zaehler > trigger then set porta.1 else reset porta.1
zaehler = zaehler +1
loop
ja also ich hab das programm mal so übernommen, nur den port so abgeändert, dass er zu meiner schaltung passt, aber die LED leuchte genauso helle wie immer. :-k Ich habe auch schon verschiedene Werte für ´trigger´ eingesetzt aber es tut sich nix.
woran kann das lieben?
kolisson
10.11.2006, 22:29
haste skype oder yahoo... mit voice dann könnenb wir das online machen.
ansonsten ... haste nen vorwiderstand für die led ? wenn ja wie gross ?
ne ich hab höchstens ICQ und ja ich hab ein Vorwiderstand. Der hat ca. 150 Ohm
kolisson
10.11.2006, 23:09
gut 150 ohm sind okay ... frage am rande: wie alt bist du und was hast du gelernt ?
dann gehen wir sofort in die details !
15 und noch in der schule ^^
kolisson
10.11.2006, 23:27
hste denn ein oscilloskop zuhause ? ich denke nicht. wenn du 15 bist könntest du deine eltern mal wegen weihnachten fragen. wenn dich die elektronik interessiert ist das wichtig. da kann man dann sehen, was portx und porty so macht
ne ich hab keins nur ein allzweckmessgrerät. aber ich hatte mir das schonmal so überlegt mit nem oscilloskop. kann ich denn trotzdem herausfinden was da nicht stimmt?
mit voice dann könnenb wir das online machen.
ist hier Kindergarten ?
Und zum Frager:
A) erst heute wurde hier zum PWM getextet und Wöchendlich werden solche Fragen gestellt. ALSO genauer nachlesen.
B) Ist es eine CControl oder ein 8 Gigaherz Mega 1024 oder was?
Gruß Gento
kolisson
10.11.2006, 23:47
okay wir werden jetzt lernen... was hast du an hardware .... was liegt auf dem tisch vor dir ?
kolisson
10.11.2006, 23:53
hallo gento... man trifft sich also nicht nur bei den lötspitzen
kolisson
11.11.2006, 00:02
also .. mal locker bleiben... jeder fängt mal an und hat fragen... ich hoffe das forum ist kein aufenthaltsraum für rentner
kolisson
11.11.2006, 00:04
hallo jigger ... eigentlich bin ich müde... wegen dir bin ich noch hier ... also... weiter im text
ja also ich hab das programm mal so übernommen, nur den port so abgeändert, dass er zu meiner schaltung passt, aber die LED leuchte genauso helle wie immer. :-k Ich habe auch schon verschiedene Werte für ´trigger´ eingesetzt aber es tut sich nix.
woran kann das lieben?
Hast du davor den uC-Typ und Quarzfrequenz eingestellt?
Zum Beispiel:
$regfile = "m32def.dat" 'Atmega32
$crystal = 16000000 '16Mhz
also ich hab mir eine Schaltung mit einem ATtiny2313 aufgebaut und einen 10 MHz Quarz verwendet. das hab ich auch so im Programm festgelegt.
fragt mich nicht warum aber nun läuft alles wunderbar \:D/
Mir ist nur aufgefallen, dass wenn ich den Wert für ´Trigger´erhöhe, die Diode dunkeler wird und entsprechend wenn ich den den Wert senke, sie heller wird.
Aber das macht nchts.
Vielen Dank an euch ihr habt mir sehr geholfen.
Gruß
Jens
ich würd mal sagen damit hast du den sinn der variable Trigger erraten .... du wolltest doch dimmen oder?
ja genau. ich dachte nur niedrigerer Wert = dunkelere Diode.
kolisson
21.11.2006, 01:27
schön, dass meine blanke theory doch gefunzt hat
Habe nun noch einmal eine Frage wie kann ich 2 PWM Signale erzeugen z.b. für zwei Motoren
Hi,
schau mal hier wird es erklärt:
https://www.roboternetz.de/wissen/index.php/Bascom_und_PWM
MfG
nich meinte mit der ganz oben genannten software-PWM variante
kolisson
30.11.2006, 19:12
also ... hier nochmal das beispiel mit 2 ports
config porta.1 = output
config porta.2 = output
dim zaehler as byte '<- wichtig, dass es byte ist
dim trigger as byte
dim trigger2 as byte
trigger=127
trigger2 = 100
do
if zaehler > trigger then set porta.1 else reset porta.1
if zaehler > trigger2 then set porta.2 else reset porta.2
zaehler = zaehler +1
loop
aber bitte nicht vergessen, dass die sich gegenseitig etwas beeinflussen.
ist also eigentlich nur ne behelfslösung für gewisse anwendungen.
gruss
ah danke das meinte ich. Wie meinst denn du das mit dem beeinflussen?
kolisson
30.11.2006, 22:53
naja.. der zeitablauf der DO-LOOP schleife wird wahrscheinlich etwas unterschiedlich ausfallen, je nachdem, ob die if bedingung(en) nun erfüllt sind oder nicht.
da musste halt mal sehen wievie takte nun was braucht. (siehe atmel datenblatt und den assemblercode)
unter unständen stört das aber auch nicht. kommt auf die anwendung an.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.