heißt jetzt prescale nicht dass die frequenz kleiner geteilt wird? :-s
Druckbare Version
heißt jetzt prescale nicht dass die frequenz kleiner geteilt wird? :-s
Doch, der prescaler teilt die Quarzfrequenz. Je größer der prescaler ist, desto länger ist die Zeit zwischen den Interrupts.
Im Compare mode gibst du dann jeweils einen Wert an, bis zu dem hochgezählt werden soll. Ist dieser Wert größer verlängert sich die Zeit bis zum nächsten Interrupt.
Hätte ich auch gedacht. Da ich den Teil für die Motorsteuerung einfach immer aus irgendwelche Beispielprogrammen rauskopiere, habe ich mir aber ehrlich gesagt noch nie die Mühe gemacht das zu verstehen.Zitat:
heißt jetzt prescale nicht dass die frequenz kleiner geteilt wird?
Prescale = Auto geht für PWM jedenfalls nicht.
Würde glaube ich auch nicht viel Sinn machen, der Compiler kann ja nichts wissen was man an die PWM anschliesst und welche Frequenz dafür am besten wäre.
Für den Test sollte es doch eigentlich auch erst mal egal sein, welchen Prescaler du einstellst. Irgendwie laut geben sollt er bei jedem Prescaler, den Prescaler optimieren kannst du danach immer noch.
Do
Zahl = 0
Do
Compare1a = Zahl
Compare1b = Zahl
Zahl = Zahl + 1
Waitms 3
Loop Until Zahl = 255
Loop
ist Compare1a dasselbe wie pwm1a?
ich würde es normalerweise so versuchen:
pwm1a = 0
do
incr pwm1a
waitms 3
loop
Ich glaube wenn der Bereich für pwm1a überläuft fängt der automatisch bei 0 wieder an. Wenn nicht, müsste der Motor ja trotzdem erst mal ein bischen was von sich geben.
Ist das was du da gepostet hst das komplette Programm oder hast du auch irgendwo die Pins für die Drehrichtung des Motors gesetzt?
Wenn die nichts gesetzt sind, kann der Motor sich nicht drehen.
Portc.7 = 1
Da isses doch. Damit müsste sich ein Motörchen garantiert drehen. Tuts aber nicht. Aber ich hab einen sehr interessanten Effekt entdeckt. Die Motorrichtungspins sind ja an PORTC, und der isr aufm RN-Control mit LEDs vollgepflastert. Wenn man jetzt die 8. LED anmacht, dann pulst die. Das heißt, die wird dunkler, schlagartig wieder hell, dunkler, schlagartig wieder hell...
Aus irgendeinem Grund funzt es jetzt. Ich habe das Programm nicht geändert, ich nehme an, dass einfach einer der Stecker nicht 100%ig drauf war oder dass sich zwei Drahtbrücken berührt haben, das ist es nämlich woraus meien Platine zur Zeit gemacht ist. Da sind fast nur Drahtbrücken drauf.
EDIT: Will jetzt nicht nochma posten, aber ich hab gerade eben das ziemlich große Loch in meinem Chassis hinterklebt. Ich hab keine Säge, kein Uhu, kein 2K Kleber und natürlich auch keien Schrauben benutzt. Ich hab mir ne CD-Hülle genommen, zerbrochen und Patchworkartig dahintergesetzt. Dann alles mit Heißkleber zu gemacht. Jetzt muss ich noch warten, bis alles 100%ig ausgekühlt ist, also noch ne Minute, und kann dann spachteln. Juchhu!
P.S.: Bahnbrechende Erkenntnis: Heißkleber führt zu Verbrennungen! ](*,)
:-s wo haste das denn wieder gelesen? Der kann grad mal 100mA?!?!Zitat:
Zitat von Jon
Ich meine, ich habe das im DB gelesen...
Woher hast du denn das mit den 100mA?
jon
Auf der Datenblattseite von AlKI im DB von Fairchild. da steht collector current max. 100ma.
Ich hab hier n paar LEDs rumliegen, die einen haben
2200 mcd, 3,5V, 20ma, die anderen
9000 mcd, 3,6V, auch 20ma. Die Frage ist jetzt - wie kann ich die im Bot betreiben? Tatsache ist, dass die Angabe von 2,5ma pro pin eines µC nicht stimmen kann, da ich eine LED mit ebenfalls 10-20 mA durchaus an solch einem Pin betreiben kann. Tatsache ist auch, dass ich anscheinend nur eine dieser LEDs pro Pin betreiben könnte. ich möchte aber 5 der mittelhellen pro Pin betreiben. Wie geht das? Mit den Transistoren BC547B?
die kannste, wenn du sie in Reihe schaltest, alle mit einem von deinen Transistoren benutzen, da in ner Reihenschaltung:
Iges=I1=I2=I3=...
gilt. du musst dann nur den Vorwiderstand verändern, und brauchst ne versorgungsspannung von mindestens 5*3,5V=17,5V.
wenn du sie paralell schaltest, addieren sich die ströme auf:
Igesamt=I1+I2+I3+...
bei dir:
Iges=0,02A*5=0,1A=100mA
...