Also ich hab das auch immer am Ceran gemacht und nich eine einzige verbraten - Star am Ceran, lötzinn drauf bis flüssig, runterziehen, led drauf packen - fertig...
Beiträge von DjTommyB
-
-
Kann geschlossen werden - Problem(e) gelöst
Habs mit Debounce gemacht, die Eingänge "anders" deklariert, den richtigen crystal rein geschrieben (LOL) und schon gehts
Hier mal n Auszug:
Code
Alles anzeigen$regfile = "m32def.dat" ' Atmel Atmega16 $crystal = 8000000 ' Interner Oszilator 8MHz $hwstack = 32 ' default $swstack = 10 ' default $framesize = 40 Config Timer0 = Pwm , Pwm = On , Prescale = 8 , Compare Pwm = Clear Down Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Timer2 = Pwm , Pwm = On , Prescale = 8 , Compare Pwm = Clear Up 'On Timer2 Time_isr 'Ausgänge deklarieren Config Portb.3 = Output Config Portd.5 = Output Config Portd.4 = Output Config Portd.7 = Output 'PWM registrieren Red Alias Ocr1bl Green Alias Ocr1al Blue Alias Ocr2 White Alias Ocr0 Enable Timer0 Enable Timer1 Enable Timer2 Start Timer0 Start Timer1 Start Timer2 'Taster deklarieren S1 Alias Pina.0 Config S1 = Input Porta.0 = 1 S2 Alias Pinb.0 Config S2 = Input Portb.0 = 1 S3 Alias Pina.1 Config S3 = Input Porta.1 = 1 S4 Alias Pinb.1 Config S4 = Input Portb.1 = 1 S5 Alias Pina.2 Config S5 = Input Porta.2 = 1 S6 Alias Pinb.2 Config S6 = Input Portb.2 = 1 Enable Interrupts Dim Red_soll As Byte Dim Green_soll As Byte Dim Blue_soll As Byte Dim White_soll As Byte Red_soll = 50 Green_soll = 0 Blue_soll = 10 White_soll = 10 Do Debounce S1 , 0 , Taster1 , Sub Debounce S2 , 0 , Taster2 , Sub Debounce S3 , 0 , Taster3 , Sub Debounce S4 , 0 , Taster4 , Sub Debounce S5 , 0 , Taster5 , Sub Debounce S6 , 0 , Taster6 , Sub Red = Red_soll Green = Green_soll Blue = Blue_soll White = White_soll Loop End Return Taster1: If White_soll < 255 Then White_soll = White_soll + 10 Else White_soll = 255 End If Return Taster2: If White_soll > 0 Then White_soll = White_soll - 10 Else White_soll = 0 End If Return Taster3: If Blue_soll < 255 Then Blue_soll = Blue_soll + 10 Else Blue_soll = 255 End If Return Taster4: If Blue_soll > 0 Then Blue_soll = Blue_soll - 10 Else Blue_soll = 0 End If Return Taster5: If Red_soll < 255 Then Red_soll = Red_soll + 10 Else Red_soll = 255 End If Return Taster6: If Red_soll > 0 Then Red_soll = Red_soll - 10 Else Red_soll = 0 End If Return
Danke trotzdem.
mfg
Thomas -
Selbes Ergebnis - leider.
Mir ist aber noch was anderes aufgefallen: Wenn ich die Vorwahl komplett auf 0 setze, leuchtet blau immernoch... Hardware Fehler? µC defekt?
EDIT* OK Scheinbar ist der PWM vom Timer2 "invertiert" - mit cleare up funzt auch das mit blau... dennoch besteht der fehler mit den Tastern
-
Hallo!
Bin gerade am Bau meiner Pflanzenbeleuchtung. Nachdem ich hier noch ne RGBW Steuerung rumliegen hatte, hab ich einfach die verwendet und steuere die Grünen LED's nicht an (6-Pin SuFlu RGB).
Programm sollte eigentlich nicht viel mehr können als R, B und W heller bzw. dunkler zu machen. Gemacht soll das ganze mit 6 Tastern werden, die alle gegen GND ziehen. Leider macht das Programm aber nicht das, was es soll. Hier mal n Programmauszug:
Code
Alles anzeigen$regfile = "m16def.dat" ' Atmel Atmega16 $crystal = 8000000 ' Interner Oszilator 8MHz $hwstack = 32 ' default $swstack = 10 ' default $framesize = 40 Config Timer0 = Pwm , Pwm = On , Prescale = 8 , Compare Pwm = Clear Down Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Config Timer2 = Pwm , Pwm = On , Prescale = 8 , Compare Pwm = Clear Down On Timer2 Time_isr 'Ausgänge deklarieren Config Portb.3 = Output Config Portd.5 = Output Config Portd.4 = Output Config Portd.7 = Output 'Eingänge deklarieren Config Pina.0 = Input Config Pina.1 = Input Config Pina.2 = Input Config Pinb.0 = Input Config Pinb.1 = Input Config Pinb.2 = Input 'PWM registrieren Red Alias Ocr1bl Green Alias Ocr1al Blue Alias Ocr2 White Alias Ocr0 Enable Timer0 Enable Timer1 Enable Timer2 Start Timer0 Start Timer1 Start Timer2 'Taster deklarieren S1 Alias Pina.0 S2 Alias Pina.1 S3 Alias Pina.2 S4 Alias Pinb.0 S5 Alias Pinb.1 S6 Alias Pinb.2 Enable Interrupts Dim Red_soll As Byte Dim Green_soll As Byte Dim Blue_soll As Byte Dim White_soll As Byte Red_soll = 127 Green_soll = 0 Blue_soll = 127 White_soll = 127 Do Red = Red_soll Green = Green_soll Blue = Blue_soll White = White_soll Loop End Time_isr: If S1 = 0 Then Bitwait S1 , Set If White_soll < 255 Then White_soll = White_soll + 10 Else White_soll = 255 End If End If If S2 = 0 Then Bitwait S2 , Set If White_soll > 0 Then White_soll = White_soll - 10 Else White_soll = 0 End If End If If S3 = 0 Then Bitwait S3 , Set If Blue_soll < 255 Then Blue_soll = Blue_soll + 10 Else Blue_soll = 255 End If End If If S4 = 0 Then Bitwait S4 , Set If Blue_soll > 0 Then Blue_soll = Blue_soll - 10 Else Blue_soll = 0 End If End If If S5 = 0 Then Bitwait S5 , Set If Red_soll < 255 Then Red_soll = Red_soll + 10 Else Red_soll = 255 End If End If If S6 = 0 Then Bitwait S6 , Set If Red_soll > 0 Then Red_soll = Red_soll - 10 Else Red_soll = 0 End If End If Return
nach dem Einschalten leuchten die LED's wie "vorgewählt", Taster haben jedoch keine Funktion...
Bitte um Hilfe.
mfg
Thomas -
Nunja so ganz stimmig ist dein Vergleich ja nicht. Richtig waers, wenn du sagen wuerdest "Mein Vogel hat an einem Bein 10kV L und am anderen aber den falschen N. So waere zwar der richtige Vergleich da, sinngemaes aber trotzdem falsch, woher woll der Vogel auch wissen welcher N der richtige ist? Wuerde zwar nen FI ausloesen das Ganze, aber die 0,03A wuerd der Vogel warscheinlich dennoch nicht ueberleben.
Aber ich weiss wies gemeint war
Hatte ich davor auch schon. Wollte nur sicher gehen, dass es egal ist, wenn ma die GND's verbindet. Danke
-
Abend!
also solltest du dringend prüfen, was der Rest deiner Schaltung zum Thema sagt
Nja Schaltung ist recht "simpel" wie ich finde - hab ne Steuerplatine, auf der sich eig. nur n Mega16 + vorgeschaltetem 7805, einer 5V Kontrollled undn bisschen Hühnerfutter befindet, und ne "Verstärkerplatine" (ich nenns mal so) wo die FET's mit jeweils einer Kontrollled drauf sind. Also auch nix großartiges. Beide Platinen natürlich mit Masseflächen, wenn du willst kann ich ja mal n Layout hochladen.
Was meinst du "was denn die restliche Schaltung" dazu sagen könnte? Dürfte ja theoretisch nix ausmachen die GND's zu verbinden, weil 0-Potential - oder irre ich mich?Wieviel Strom soll den durch den 7805 fließen?
Eigentlich nur die Spannungsversorgung vom µC und einer LED, das eigentliche Problem ist aber, dass der vorgeschaltete ElKo (vorm 7805er) "nur" 16V verträgt, also müsste ich den ebenfalls tauschen wenn ich da 24V rauf lasse.Der Steuerstromkreis hängt an jeweils an einem PWM Pin des Arduinos, also die 5 V. GND von Arduino und vom PC Netzteil sind verbunden und es klappt super
Suspekt.. Meiner Meinung nach sollte es ja auch so funzn - tuts aber nicht -.- Werd morgen mal versuchen, die GND's zu verbinden, ansonsten wird mir wohl nicht viel übrig bleiben als die Steuerung neu zu layouten, und das ganze auf nur einer Platine aufzubauen und an 24V laufen zu lassen.lg
Thomas -
Es sind die von dir geposteten FET's Unreal, mache das ja sonst auch immer mit denen. Jedoch immer nur mit 12V. Wollte die 24V nicht auf den 7805er lassen (ich weiß, verträgt bis zu 35V), da der sonst so heiss wird.
Stefan, ich dachte mir schon, dass so etwas in der Art das Problem ist. Kann ich die 2 GND's einfach zusammen schließen?
-
...und es funktioniert NICHT!
heute versucht - an den FET's liegen 5V an, aber sie schalten nicht durch... sollten GND schalten (aber "andere" GND als am µC), schalten aber gar nix -.-
-
Genau der genannte ist in Verwendung =)
-
Sagte ja - die Logik sagt Ja, aber bevors "brennt" wollt ich nur mal auf Nummer sicher gehen =)
Danke
-
Hallo!
Hab nur ne kurze Frage und zwar wie folgt.
Kann ich mit einem Transistor, den ich mit 5V aus dem µC füttere, auch 24V drüber schalten, welche aber "von extern" kommen? Also nicht die selbe Spannung, welche quasi im ganzen Platinenlayout ist.
Hintergrund des Ganzen ist der, dass ich 24V brauche, um meine LED's zu betreiben, den 7805er aber nicht unbedingt damit quälen will. Also 9V an den Spannungsregler für die Steuerung und 24V extern zum Betreiben der LED's.Hab ne kleine Skizze gemacht, damit man eventuelle besser versteht was ich meine.
[Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/fet.png]
Also quasi den Transistor sowie n Relais verwenden. Meine Logik sagt mir ja, das sollte kein Problem sein, oder irre ich mich da etwa?
mfg
Thomas -
-
Sehr unterschiedlich - hängt eher vom Zoll ab. Meine Lieferungen brauchten immer so zwischen 2 und 5 Wochen, obwohl die Lieferung eigentlich innerhalb 1-2 Wochen da ist. Liegt halt ewig bei unseren "top-motivierten, arbeitshungrigen" Beamten rum
-
Mit Wärmeleitklebepads - rate aber dringend davon ab die LM317 zu verwenden. Wie Kanwas bereits erwähnte, 5W Heizleistung für 3W Lichtleistung...Abgesehn von der Ineffizienz davon haltet das ganze nicht wirklich lang
-
Nein wurde nie weitergearbeitet - war quasi "umsonst". Zu dem Zeitpunkt gabs schon bei weitem stärkere LED's, die Steuerung war ebenso für nix, genau wegen solchen DX-Treibern, der KK weit überdimensioniert usw.. Hatte also nicht mehr Zweck, außer dem Lerneffekt, daran weiter zu arbeiten. Außerdem fehlte es damals an Zeit.. Ebenso wie heute
-
Ich hab den -> [Blockierte Grafik: http://i399.photobucket.com/albums/pp80/DjTommyB_1985/701868_BB_00_FBEPS_250.jpg]
Mit roter Beleuchtung, hab bei meiner Lampe damals noch ne Unterspannungs-Überwachung gehabt - LiPo's stehn nicht so auf "zu wenig Spannung"
Bekommste beim großen C, bestimmt aber auch günstiger wo anders.
-
Bitteschön: DX Flashlight Driver
Insofern dein Racing Pack nicht mehr als 8,4V im vollen Zustand überschreitet wäre dieser doch passend. Und bei dem Preis rechnet sichs nicht wirklich was selbst zu basteln.
-
Da wäre zuerst nicht schlecht zu wissen was du 1) für ne LED, 2) für Akkus verwendest.
-
Wieso nicht einfach einen passenden Taschenlampentreiber benutzen. So was sollte es bei DX und Konsorten doch auch einzeln geben.
Wäre natürlich die einfachste Möglichkeit, obwohl dann eher weniger die Möglichkeit auf Individualisierung besteht, aber selbst da lässt sich bestimmt n Kompromiss finden.
-
Mein Pseudocode ist eher Java, kann gar kein C
aber egal.
Welche Bauteile brauchst du?