Das soll die Spule vom Relais sein.
Die Diode ist dazu da, dass der µC sich nicht aufgrund der hohen kurzen Ströme, die beim Aufbauen des Magnetfelds um die Spule herum entstehen, resettet ("Rückschlagventil").
jon
Druckbare Version
Das soll die Spule vom Relais sein.
Die Diode ist dazu da, dass der µC sich nicht aufgrund der hohen kurzen Ströme, die beim Aufbauen des Magnetfelds um die Spule herum entstehen, resettet ("Rückschlagventil").
jon
Muss ich ja nur noch hoffen, dass wir noch irgendwo zwei Dioden und zwei BC547Cs rumfliegen haben. Sind aber zum Glück beides Standarttypen...
weißt du grad aus dem Kopf die Beschaltung vom Transi? Also welches Bein jetzt Basis, Emitter und Collector is?
hi,Zitat:
Zitat von recycle
kam mir gleich so wenig vor mit 4 mA. ](*,)
Na ja, wenigstens der Rechenweg war richtig... O:)
Mit der Anschlußbelegung: Mal unter dem Transi-Namen mit "Datasheed" Googlen. Findest Du bestimmt was im Netz. Der wird ja millionenmal verbaut!
Gruß, Klingon77
http://www.datasheetcatalog.com/
Da solltest du alles in pdf-format finden (kannste online angucken, mussts nicht gleich runterladen)
Aber eigentlich solltest du da jeden NPN-Transistor nutzen können, der für den Strom durchs Relais (oder mehr, wegen der Einschaltspitzen) ausgelegt ist.
Schon gefunden. Mein prob ist nur, dass Transistoren für mich n Buch mit 49 Siegeln sind. Ich weiß nichtmal den Unterschied zwischen PNP und NPN. O:)
Hab bei uns was gefunden, nämlich BC547Bs. Gehen die auch? Im DB machen die da keinen Unterschied (zumindest in dem von Motorola nicht), aber die werden wohl ihren Grund haben, das die da drei verschiedene Buchstaben dran hängen... :-k
Der Unterschied zwischen NPN und PNP ist eigentlich nur, dass bei NPN die an der Basis gegenüber dem Emmiter anliegende Spannung positiv sein muss, damit ein Emitter-Collector-Strom fließen kann. Bei PNP-Transistoren muss sie negativ sein.
Die Buchstaaben P und N stehen für verschieden dotierte (mit verschiedenen Stoffen versetzte) Halbleiterstoffe. bei NPN sind die halt grad anderstrum angeordnet als bei PNP, das is alles.
eig is n Transistor 2 Dioden, die eine Seite gemeinsam zusammengelegt haben (wenn mans so mit 2 dioden machen würde, dann würde nur Basisstrom fließen können :-P )
Code:NPN:
Collector ---|<--->|----Emitter
|
|
Basis
PNP:
collector --->|---|<---Emitter
|
|
Basis
Der BC547B sollte gehen. Der verträgt nur nicht so einen hohen Strom (maximal 450mA statt 800mA).
jon
Ich hab alle Teile zusammen. Dann will ich mal den Kolben anschmeißen... :mrgreen:
Ich habe fertig. Jetzt muss ich nur mal kurz was essen, alles anschließen, ein Kabel zusammencrimpen, 3 Muttern zusammensuchen und dann was proggen.
AKKU ALLE! SCHEI?E! :MistPC
Es funzt irgendwie nich. Muss mal gucken worans liegt...
was geht denn nicht?
jon
Was crimpst du denn eigentlich? Buchsen für Stiftleisten?
Was nicht funzt? Gar nix funzt. Es klickt wie gesagt immer, das heißt also die Relais ziehen an, das wiederum heißt dass ich einen Fehler in der Schaltung habe. Oder ziehen die mit der Schaltung an, wenn der Port auf 0 liegt?
Außerdem kommt anscheinend nüx beim Dualmotor an PWM-Signalen an, die Motoren bwegen sich nich. Muss ich denn eigentlich ein prescale einstellen bei 16 mhz?
Ich crimp mir Buchsen auf Flachkabel.
Poste mal dein Programm.
jon
$regfile = "m32def.dat"
$crystal = 16000000
$include "declares.bas"
Config Portc = Output
Config Portd = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 8
Portc.7 = 1
Dim Zahl As Byte
Do
Zahl = 0
Compare1a = Zahl
Compare1b = Zahl
Zahl = Zahl + 1
Waitms 3
Loop
End
Prescale würde ich auf "Auto" stellen.
Desweiteren stellst du im Programm deinen PWM-wert auf 0, gibst denn dann aus, rechnest zum PWM-Wert 1 und setzt ihn dann wieder auf 0. Ist doch sinnlos?!?
Was genau willst du mit dem Programm machen?
Ich blicke da nicht durch...
jon
upps, das kann nich funzen... wollte den motor hochfahren. auto funzt nich.
$regfile = "m32def.dat"
$crystal = 16000000
$include "declares.bas"
Config Portc = Output
Config Portd = Output
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 64
Portc.7 = 1
Dim Zahl As Byte
Do
Zahl = 0
Do
Compare1a = Zahl
Compare1b = Zahl
Zahl = Zahl + 1
Waitms 3
Loop Until Zahl = 255
Loop
End
so gehts auch nich.
Schau mal bei der Hilfe, was als Prescal noch geht.
Weil wenn du 255 durch 64 teilst, dann hast du nur noch einen Bereich von 0-3,xx in dem du einstellen kannst.
Aus dem Kopf heraus weiß ich jetzt auch nicht mehr.
Müsste ich nachschauen. Aber da ich meine Programme nicht auf diesem Rechner habe, sondern auf einem anderen, der aus ist und ich ziemlich müde bin werde ich das nicht mehr heute Abend machen.
Morgen werde ich mich dann ab ca. 14 Uhr wieder melden können.
Was hängt denn am Portc.7??
Desweiteren wird die Wartezeit von 3ms so kurz sein, dass das Programm wieder auf Null stellt, bevor du "Hallo" sagen kannst. Verlänger die Zeit mal auf ca. 50ms.
jon
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
...
In Reihe??? :shock:
Dann ziehen die aber auch nur 17,5 V!!! Hilfe! das schlepp ich doch im Panzer nicht mit mir rum??? Also gehts parallel?
Oh, hab grad editiert. sry... :cheesy:
ansonsten kommt dein Transi eben bei der paralellschaltung langsam ins Schwitzen, wenn der max 100mA kann.....
EDIT: mit 2 Transis jeh 2-3 LEDs steuern, die Basiseingänge der Transis eben zusammen an den Port zum ansteuern legen...
Ich habe gerad mal im Datenblatt für den ATmega32 nachgeschlagen - könntest du faule Socke eigentlich auch selber machen ;-)Zitat:
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.
Wenn ich die Angabe in 30 Sekunden finde, hättest du da in den letzten 3-4 Tagen bestimmt auch Zeit zu gehabt ;-)
Guck mal auf Seite 287. Da lag ich mit meinen 30-40mA pro Pin doch etwas näher dran als Jon.
Mit Transistoren habe ich es irgendwie auch nicht so. Ich werde wohl gleich mal wieder einen ULN2803A statt einzelnen Transistoren nehmen.Zitat:
Mit den Transistoren BC547B?
Ob der BC547B den Gesamtstrom für 5 LEDs aushält, wirst du aber sicherlich im Datenblatt herausfinden können. Viel Strom ist das ja nicht.
Die Schaltung dürfte recht simpel sein und bei der Berechnung des Widerstands für die Basis kommt es nicht so genau drauf an, hauptsache der Transistor schaltet voll durch und der Basisstrom ist nicht grösser als der max. Strom von deinem Controller-Pin.
öööhm, isses nicht egal, wenn man nem Transistor als Basisspanning vollen Dampf gibt? (also an der Basis ganze 5V anlegt, statt der auch möglichen und ausreichenden 0,7V?) mehr als 100%ig durchschalten kann er ja nicht.
oder hab ich da was übersehen/vergessen/nie gewusst?
Unzutreffendes bitte streichen? ;-)
Basistrom != Basisspannung
Was soll ich denn jetzt streichen? Vielleicht "nie gewusst", ich nehme an, das wusstest du schomma...
???????
Erklärung bitte.
du meinst, dass der Basisstrom mit höherer Basisspannung steigt, oder wie? Und du willst dir deinen Controller nicht braten, ok, damit hab ich bei meinen Schaltungen (noch) keine Probleme, aber gut zu wissen....
Basistrom != Basisspannung
Du hast sicherlich schon mehr als ein prog geschrieben. != heißt ungleich, also nicht gleich, also nicht dasselbe. Ergo (ja das Wort kennt die Jugend von heute noch ;-)) will ich sagen, dass du über Basisspannung geredet hast, Recycle aber über Basisstrom. Der Basisstrom ist nicht halb so egal wie die Basisspannung. Hast du noch nie ne LED angeknipst?
EDIT: Ich bin grad geistich ein bisschen wech - wo krieg ich das dumme Datenblatt eigentlich her? Da hab ich schon 10000 mal was drin nachgeguckt, meistens nix kapiert, aber trotzdem - eigentlich müsste ich doch wissen, wo man dat findet??? übrigens, Recycle - mit Englisch hab ichs so gar nich, ich blick in so nem doofen DB nüscht. Und jetzt grad find ichs erst gar nich... oh mann...
ja, das != kenn ich
aso, hab den Zusammenhang wohl irgendwie net so ganz gerafft, klar! jetzt macht mein Hirn nen hopser!
bin noch etwas vom Flussmitteldampf beim Löten eingelullt :-P
*wiederimKellerverkrümel*
Aber mein Hirn hopst grad so gar nicht. WO krieg ich das doofe datenblatt her? Reichelt hat nix gefunden... :frown:
EDIT:Gefunden. Aber auf Seite 287 steht nix über den Strom...
EDIT: Steht doch was. Hab nur kein Plan, was das für mich heißt. pro Pin 25mA?
Na danke für die Antwort ;-)
Bin immernoch nicht 100%ig mit spachteln fertig. Musste erst noch so Scheiß Details vom Panzer runterkratzen. Das hat gedauert... Bäääh. leider ist die neueste Schicht spachtel noch nicht durchgetrocknet, ich kann also auch noch nicht schleifen... :(