Sie sind nicht angemeldet.

Zur Zeit sind keine Benutzer aktiv.

Teamviewer

Statistik

  • Mitglieder: 187
  • Themen: 980
  • Beiträge: 13 274 (ø 6,35/Tag)
  • Wir begrüßen unser neuestes Mitglied: Logo600SR

Lieber Besucher, herzlich willkommen bei: Willkommen im Forum vom Heli - Team - Berlin - Brandenburg. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

1

Sonntag, 28. Februar 2016, 08:55

Powerled am Servoausgang dimmbar

Da unser „Banggood-Tester^^ tolle Power-LEDs besorgt hat,

wollte ich diese über einen freien Servoausgang schalten, oder besser noch dimmen.

Ein Servoausgang soll also die Helligkeit einer Power-LED steuern.

Das sind die "preisgünstigen Stücke:

index.php?page=Attachment&attachmentID=1322 4 Watt Version 12 Volt

index.php?page=Attachment&attachmentID=1323 10 Watt Version 12 Volt


Testaufbau läuft :D
index.php?page=Attachment&attachmentID=1324

Detail der Schaltung:
index.php?page=Attachment&attachmentID=1325


Hier ein Video, dass es funktioniert:
https://www.dropbox.com/s/67mgyubs76gxnen/VIDEO0010.mp4?dl=0


Wer nur die LEDs schalten möchte kann natürlich auf die fertige Lösung von unserem Stephan zurückgreifen.
Mit seinem RC-Schaltmodul können diese Leds am Servoausgang geschaltet werden, schaut mal hier rein:
http://www.lipoblitzer.de


Für mein Bastelwerk folgt natürlich noch eine Beschreibung: :)
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »siro« (28. Februar 2016, 10:10)


siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

2

Sonntag, 28. Februar 2016, 09:32

Das Dimmen der LED

Wie kann denn eine LED überhaupt gedimmt werden ?.

Am einfachsten geht das über ein verstellbaren Widerstand (Potentiometer)
index.php?page=Attachment&attachmentID=1326

Der regelbare Vorwiderstand senkt also den Strom der durch die LED fliesst und diese wird dunkler.
Problem: Hier wird derart viel Wärme verbraten, dass es völlig ineffektiv ist. ;(
Grade bei einer Power-Led mit z.B. 10 Watt Leistung, müsste die nicht benötigte Leistung
um die LED dunkler zu machen am regelbaren Widerstand (Poti) verbraten werden.

Also muss etwas anderes her. Da gibt es die sogenannte Pulsbreitensteuerung PWM (Pulse Width Modulation)
Hierbei wird etwas (z.B. unsere LED) immer wieder ein und ausgeschaltet.
index.php?page=Attachment&attachmentID=1327

Wenn wir eine LED zum Beispiel immer wieder eine halbe Sekunde lang einschalten und eine halbe Sekunde lang ausschalten,
dann benötigt sie in der Zeit von 1 Sekunde nur die Hälfte des Stromes, da sie ja die häfte der Zeit aus war.

Dabei würde sie natürlich im Sekundentakt blinken, was ja nicht Sinn der Sache ist.
Wenn wir aber diese Zeiten verkürzen, also zum Beispiel 1 Millisekunde an und eine
Millisekunde aus, dann kann unser Auge das Blinken nicht mehr wahrnehmen.

Da die Led aber nicht immer an ist, sieht es für uns so aus als ob sie dunkler geworden ist. 8|
Das Auge ist zu träge um das zu unterscheiden. Je schneller das Ein/Aus geschieht umso weniger bemerken wir das.
Ab ca. 50 mal blinken pro Sekunde wird es für das Auge ein Dauerleuchten.

Wie hell oder dunkel uns die Led nun erscheint hängt jetzt davon ab, wie lange die Led an bzw. aus ist.
Kurz an, länger aus = dunkel.
Länger an und kürzer aus = Hell

Das Auge bzw. unser Gehirn bildet sich daraus quasi einen Helligkeitsmittelwert.

Wo liegt jetzt der Vorteil ?
Während die Led aus ist, benötigt sie keinen Strom, wenn kein Strom fliesst, wird auch nirgends Wärme produziert.
Wenn die LED eingeschaltet ist, bekommt sie den vollen Strom, es gibt keinen Vorwiderstand wo Wärme verbraten werden muss.
Noch ein Vorteil, während die LED aus ist, kann sie sich abkühlen und dürfte demnach in der eingeschalteten Phase sogar noch mehr Strom bekommen.

Jetzt brauchen wir also einen möglichst schnellen Schalter, welcher die LED ein und wieder ausschalten kann.

Da könnte man ja eigentlich ein Relais nehmen. Im Prinzip schon, aber das ist keine gute Lösung.
Das Problem: Es klappert... :) naja und da es mechanisch funktioniert wird es wohl auch recht schnell kaputt sein....

Wir brauchen also ein Antiklapperrelais: einen Transistor
Um es mal ganz einfach zu erklären: So ein Transistor hat 3 Beine. 2 Beine für den Schaltkontakt und ein Bein für den Betätiger.

index.php?page=Attachment&attachmentID=1328


=========>Fortsetzung folgt, Kaffepause ...... :pclachen
.
.
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von »siro« (28. Februar 2016, 11:06)


Lackmann

Klassensprecher

Beiträge: 1 860

Registrierungsdatum: 27. März 2013

Wohnort: Glienicke / Nordbahn

Beruf: Beamter

Hobbys: wenige, aber viel Interessen!! Aber auf keinen Fall Modell"BAU" :)

  • Nachricht senden

3

Sonntag, 28. Februar 2016, 12:02

Sehr gut Bernd, die erste Doktorarbeit über eine dimmbare LED scheint geschrieben...!! :D :55
Gruß
Frank


--------------------------------------------------------
TDR - Rigid mit "Wackelkopf" :sabber :freu
Goblin 380
Blade 180 cfx
Blade MCPx BL "Volltuning" - eine kleine Kampfmaschine.

Nuri C-Ray 180
Blade MSr
Micro MQX Quadcopter

Mikado VBC
Futaba T14SG, die auch "Speck drum" hat ^^
Simulator: Realflight 7.5

siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

4

Sonntag, 28. Februar 2016, 12:45

Hast Du es auch verstanden Frank ? Am Sonntag wird abgefragt ;)

So, nun geht es ins Eingemachte.
Vorab, für die Bastelfreaks: es ist KEIN Arduino Projekt, sondern ein Microchip PIC Projekt. :D

Außer der Versorgungsspannung Plus/Minus benötigen wir einen Servoeingang und einen LED Ausgang.

index.php?page=Attachment&attachmentID=1332

Es bleiben also noch ein paar Pins übrig, aber so ist das nunmal ....

Das reicht so völlig aus, um es auf einem Steckbrett zu probieren.
Die Versorgungsspannung hab ich mal vom Empfänger stibitzt, das darf ich aber nur machen, wenn hier nicht mehr als 5,5 Volt liegen.
Also bitte nicht an einen High Voltage BEC anschliessen. Der Chip verträgt nur 5,5 Volt laut Datenblatt.
Ich habe meinen natürlich auch mal bis 10 Volt probiert. :rolleyes: Lief erstaunlicherweise auch über Stunden......

Das folgende Bild zeigt die verwendeten Module im Chip:
index.php?page=Attachment&attachmentID=1331

Der Timer 1 mit Gate Control (misst das Servosignal)
Das ECCP Modul (enhanced capture compare, für die PWM Erzeugung, Helligkeit der Led)
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 14 mal editiert, zuletzt von »siro« (28. Februar 2016, 17:15)


siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

5

Sonntag, 28. Februar 2016, 17:09

Dann gehen wir jetzt mal zum Softwareteil:

Der Chip hat intern einen Taktgenerator, der kann mit bis zu 32 MHz laufen. Das stellen wir auch so ein.

Der Timer 1 wird so eingestellt, dass er alle 500ns aufwärts zählt. Also mit 2 MHz.
Zudem bekommt er ein "Gate" Signal, hier liegt später das Servosignal dran. Pin RA4

Das PWM Modul wird so eingestellt, dass sich eine Pulsbreite mit einer Wiederholfrequenz von ca. 2 KHz einstellt.
Bedingt durch das Teilerverhältnis exakt: 1,95 Khz spielt aber keine Rolle. Pin RA5

Funktionsweise:

Wenn das Servosignal High ist (Gate-Signal an Pin RA4) dann wird der Timer1 aktiviert und er zählt solange bis dieser Pin wieder Low wird.
Jetzt haben wir die Pulsbreite des Servosignals in 500ns Auflösung.
Da das Servosignal sich zwischen 900 Mikrosekunden und 2100 Mikrosekunden bewegt, erhalten wir also Zählerwerte zwischen 1800..4200.
Das Ende des Pulses löst zudem einen Interrupt aus.

Dieser Timerwert muss nun in einen Wert zwischen 0..255 umgerechnet werden für die Pulsbreite des LED Ausgangs.
Die Pulsbreite lässt sich also in 256 Schritten einstellen. Das Ausgangssignal erscheint am Pin RA5

Da sich optisch gesehen die Helligkeit nicht linear zu den Pulswerten verhält, habe ich noch eine Quadratische Funktion bei der Umrechnung eingebaut.
Das hat sich recht gut bewährt.

Im Prinzip ist das alles... :55

Die Tücken liegen aber im Detail und so habe ich eine Woche gebraucht um Probleme zu lösen.
Liegt wahrscheinlich am Alter :smilie-happy:
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »siro« (28. Februar 2016, 17:40)


slucon

Fortgeschrittener

Beiträge: 215

Registrierungsdatum: 11. April 2013

Wohnort: 15378 Hennickendorf

Beruf: GF WELTEC GmbH

Hobbys: Koax-Quadro X8, Heli, Elektronik

  • Nachricht senden

6

Sonntag, 28. Februar 2016, 18:03

Aber diese LEDs haben den Nachteil, dass da keine Optik drauf passt, was ja für einen Landescheinwerfer durchaus wünschenswert wäre. Das geht dann mit 3W-PEDs, die haben eine Linse drauf und dafür gibt es dann auch die Optiken (die habe ich auch da) ;),

Grüße Stephan


Gesendet mit dem iPhone ;)

Phoneman

der mit der Schwerkraft kämpft

Beiträge: 566

Registrierungsdatum: 10. Oktober 2013

Wohnort: Neu-Lindenberg

Hobbys: alles was mit Technik zu tun hat und versuchen Heli zu fliegen

  • Nachricht senden

7

Sonntag, 28. Februar 2016, 19:08

@Bernd,genial wie immer :thumbsup:
die Beschreibung ist einfach super, habs verstanden und 3W Power Led sind schon bestellt


hier noch der Link zur LED--> http://www.banggood.com/High-Power-3W-LE…-p-1024180.html
Top Down GR-24-Pro 3xG
T-Rex 500 CF UH-60 Blackhawk NAZA H
KDS Chase 360
Bavarian Demon Axon
Goblin Fireball GR-18-Pro 3xG
Graupner Heim 3D + Alpha 110 FPV
AQ370 Hexacopter Naze 32 Fli
p

DJI Mavic air


Graupner MX 20
neXt

Hind

Connection Manager

Beiträge: 604

Registrierungsdatum: 29. März 2013

Wohnort: Spandau bei Berlin

Beruf: kaufm. Angestellter

Hobbys: neuerdings Heckeschneiden, Unkraut zupfen und Rasen mähen ;-)

  • Nachricht senden

8

Montag, 29. Februar 2016, 15:33

Wie immer interressant Bernd. Was ich nicht verstanden habe ist, wozu brauchst Du eine dimmbare LED ?
Gruß

Maik
..................
mCPx V2
T-Rex 450 PRO
Logo 600 SE
Funke JR DSX9 ( is leicht kaputt) und deswegen jetzt Spektrum DX10T
..................

Mut kann man nicht kaufen, Ersatzteile schon.

siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

9

Dienstag, 1. März 2016, 08:32

Das ist lediglich ein Fun Projekt und hat keinen Anspruch auf Notwendigkeit Maik.

Wenn man aber schon einen Servokanal opfert um eine LED ein und aus zu schalten,
dann kann man sie auch gleich dimmen war meine Idee.

Zudem wollte ich den kleinen Microcontroller ausprobieren und da kam mir diese Anwendung grade recht.

Der Spass am Basteln ist nicht zu bremsen :55
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

135erHeli

Hab von nix ne Ahnung

Beiträge: 711

Registrierungsdatum: 28. März 2013

Wohnort: Spandau bei Berlin

Beruf: Kundenbetreuer

Hobbys: Modellbau,IT,Linux,Grillen,Bier :)

  • Nachricht senden

10

Mittwoch, 2. März 2016, 06:54

Maik zum Beispiel für meinen 3d Drucker :) weil die LED Direkt am Druckkopf ist blendet diese mächtig der Kamera Entgegen,wenn ich diese Dimmen kann ist es Ideal :D
Gruss Jens

T-Rex 450Pro FBL mit CC3D
Protos Max 800
Funjet HET 2W20,80A ESC
Decathlon Nitro
Thun 2,5ccm Nitro
MPX Blizzard

Controlled by Graupner MZ24

Miss Geico 24"
XRAY N18MT
Controlled by Futaba 3PK


Sims: Realflightg 7,5,neXt

Mein Blog

siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

11

Mittwoch, 2. März 2016, 08:40

Okay Jens, dann programmiere ich noch den ADU in dem Chip, dann kann man ein Potentiometer anschliessen und die Helligkeit regeln.
Dann brauchst nicht immer die Funke beim Drucken in der Hand haben ... :)
Dann arbeitet das Modul völlig autark, somit auch als Arbeitsplatzleuchte nutzbar.
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

135erHeli

Hab von nix ne Ahnung

Beiträge: 711

Registrierungsdatum: 28. März 2013

Wohnort: Spandau bei Berlin

Beruf: Kundenbetreuer

Hobbys: Modellbau,IT,Linux,Grillen,Bier :)

  • Nachricht senden

12

Mittwoch, 2. März 2016, 09:25

:drinks :drinks :drinks :danke Dann müsste man nur noch die PIN.h von der Firmware etwas ummuddeln und ein bisschen Code zum Dimmen einbauen dann spart man sich den Poti und kann das alles via Interface oder Display regeln :)
Gruss Jens

T-Rex 450Pro FBL mit CC3D
Protos Max 800
Funjet HET 2W20,80A ESC
Decathlon Nitro
Thun 2,5ccm Nitro
MPX Blizzard

Controlled by Graupner MZ24

Miss Geico 24"
XRAY N18MT
Controlled by Futaba 3PK


Sims: Realflightg 7,5,neXt

Mein Blog

siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

13

Dienstag, 8. März 2016, 09:58

Hier ist mal der aktuelle Schaltplan und eine Beschreibung:

index.php?page=Attachment&attachmentID=1338

Spannungsregler:
Da der Microcontroller nicht mit 12 Volt arbeiten kann und ich nicht die Spannung vom BEC nehmen wollte,
brauchen wir also einen Spannungsregler.
Ich habe mich mal für die oft "vergessene Lösung" mittels Zenerdiode entschieden.
Preiswerte geht nicht.

Über den Vorwiderstand R1 fliesst ein Strom von ca. 5mA durch die Zenerdiode D1.
Diese wird leitend und dort fällt eine Spannung von 4,7 Volt ab.
Diese dient der Versorgung für den Microcontroller U1.
Damit der Controller möglichts wenig Strom benötigt, habe ich ihn zusätzlich runtergetaktet.
Er benötigt nur noch 500 Mikroampere, sorry 507µA gemessen ;)

C1 ist ein Sieb/Entkopplungskondensator.
Bereinigt also Störungen auf der Vorsorgung.

Servosignal Pegelanpassung:
Die Empfänger haben teilweise unterschiedliche Pegel am Ausgang
Die Schaltung sollte aber möglichst universell sein.
Also habe ich eine Pegelanpassung gemacht.
Wir lassen NUR das LOW Signal vom Servosignal durch. Das High Signal erzeugt sich der Controller selbst.
Dafür hat er intern einen zuschaltbaren Pullupwiderstand.

Dann wollte ich, dass der Empfänger möglichst gesichert ist:
Ich habe festgelegt, dass bei versehentlichen +12Volt maximal ein Strom von 1mA liessen darf.
Wir wollen ja nicht im Fehlerfalle den Empfänger zerschiessen.
Damit ergibt sich für R3 ein Wert von 12 Kiloohm.

Nun trat jedoch ein Problem auf:
Der Controller hat das Servosignal nicht mehr erkannt.
Ursache ist der verwendete interne Pullup im Controller, der rechnerisch bei ca. 16K liegt.
Dadurch bekomme ich den Pin nicht mehr weit genug runtergezogen für LOW.
Der Pullup Widerstand muss wesentlich höher sein. Mit dem externen R2 = 1M wird das Problem behoben.
Der interne Pullup muss aber unbedingt per Software deaktiviert werden.

Damit das Eingangssignal vom Servo auch möglichst weit auf Low geht, habe ich zudem für die Diode D2 eine Schottkydiode vorgesehen.
An dieser fallen bei geringem Strom nur ca. 150mV ab im Vergleich zu einer Silizion Diode mit 650 mVolt.

Was macht nun der Kondensator C2 noch an dieser Leitung ?
Eine Frage die ich bisher selbst noch nicht eindeutig klären konnte.
Es gab immer wieder Zustände im Controller, dass die Eingangssignale nicht mehr ausgewertet werden konnte.
Feststellen konnte ich nach langem Suchen, dass intern im Chip ein FLAG nicht richtig gesetzt wird.
Dies kann anscheinend durch Störungen auftreten. Das Problem konnte fast völlig eleminiert werden mit dem
kleinen Kondensator C2.
Sehr gut provozieren konnte ich den Fehler, wenn ich das Servokabel abgezogen und wieder angesteckt habe.
Der Kondensator darf aber nicht zu gross werden, da er die Flanken von dem Servosignal verformt.
Zusätziche Software soll später das Problem überwachen und komplett eleminieren.

Der Widerstand R4 dient zum Ansteuern des Mosfettransistors. Es funktioniert jedoch auch OHNE.
dann könnten jedoch Schwingneigungen auftreten, zudem müsste der Controller kurzzeitigt einen erhöhten Strom
liefern um die Gatekapazität umzuladen.
Wird der Widerstand zu groß schaltet der Transistor zu langsam und erwärmt sich, ist der Wert klein....
Entscheidend für den Wert ist die Gatekapazität, welche ich gemessen habe.
224pF bei diesem Mosfet. Mit dem Oszilloskop sehen die Flanken mit 330 Ohm ausreichend steil aus.

Getestet wurde die Schaltung bis 20 Volt. Da darf bei einer 12Volt Led natürlich nicht mehr die volle Helligkeit eingestellt werden,
sonst wird man blind, zumindest die LED irgendwann :D


Erweiterungen:
Für die Erweiterung der manuellen Steuerung der Helligkeit, wollte ich eigentlich ein Potentiometer nehmen.
Da ich ja genügend Pins habe, werde ich an RA0 und RA1 je einen Taster anschliessen. Plus und Minus für die Helligkeit.
Mal schauen was mir noch so einfällt..... :)
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von »siro« (12. März 2016, 06:41)


siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

14

Freitag, 11. März 2016, 08:17

Jetzt gibts noch eine "Sinnvolle" Anwendung für die Powerled :)

index.php?page=Attachment&attachmentID=1340 index.php?page=Attachment&attachmentID=1339

Pilotenpuppe für mein FlyBaby, quasi eine regelbare Schönheit :55 vielleicht sollte ich noch 2 kleine blaue LEDs implantieren :rolleyes:
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »siro« (11. März 2016, 08:25)


siro

Der mit der Conrad-Tüte

  • »siro« ist der Autor dieses Themas

Beiträge: 1 778

Registrierungsdatum: 27. März 2013

Wohnort: Berlin

Hobbys: Auseinander nehmen und reingucken :-)

  • Nachricht senden

15

Dienstag, 3. Januar 2017, 22:16

Fast ein Jahr ist es her, als ich die Dimmerschaltung programmierte.
Da tauchte noch ein "bisher" unerklärliches Problem auf....
Deshalb der Kondensator C2 am Pulseeingang.

Bei einem neuen Projekt mit diesem Chip, trat doch tatsächlich das gleiche Problem sporadisch auf 8|
und so habe ich es mal noch genauer untersucht.
Das Problem ist nun gelöst. :55


Es wird euch sicher nicht interessieren :D , aber hier kommt die Erklärung:

* Es kann vorkommen, dass kein Interrupt mehr auftritt und der Timer
* stillsteht, obwohl noch gueltige PWM Signale kommen.
* Es stellte sich heraus, dass dann haendisch das T1GGO Bit gesetzt werden muss. ?(
*
* Das gesamte System ist Flanken getriggert nicht pegelgetriggert.
*
* Zunächst wird T1G wird per Sofwtare gesetzt.
* Solange am Pulseingang keine Highflanke auftritt, laeuft der Timer auch nicht los.
* Nach der Highflanke am Pulseingang faengt er an zu zaehlen.
* Er hoert nicht auf zu zaehlen solange der Pulseingang noch High ist.
* Er laueft entsprechend auch ueber und beginnt wieder von 0 an zu zaehlen,
* Erst bei der fallenden Flanke am Pulseingang stoppt der Zaehler wieder.
* Folgende Flanken (egal wie viele, egal welche) am Pulseingang werden ab dann NICHT mehr
* ausgewertet. Der Zaehlerstand bleibt erhalten, der Timer steht.
* Er kann jetzt erst wieder per Software mittels setzen des Bits
* T1GGO scharf geschaltet werden.
* Wird T1GGO dann wieder auf High gesetzt und der Pulseingang befindet sich noch
* auf High, wird der Zaehler noch NICHT gestartet.
* Geht der Pulseingang dann auf Low wird auch noch nicht gestartet.
* Geht dann der Pulseingang wieder nach High
* beginnt der Zaehler wieder dort an weiterzuzaehlen wo er aufgehoert hatte.
* Es wird also auf die naechste steigende Flanke gewartet.
* wenn Timer1 durch eine negative Flanke gestoppt wird, hat man alle Zeit
* der Welt um den Zählerstand zu lesen, weil der Zaehler ja steht.

* nun kommt das Problem:

* Wenn der Zähler gestoppt wird, durch die fallende Flanke am Impulseingang
* wurde ein Interrupt ausgelöst. In diesem Interrupt wurde das T1GGo Bit
* wieder gesetzt um den Zähler neu zu starten. Wenn jetzt durch eine Störung
* extrem kurzer Impuls (bzw. fallende Flanke) der Zähler gleich wieder gestoppt wird,
* wird nie wieder ein neuer Interrupt ausgelöst.
* wir sprechen hier von ein paar Nanosekunden..... ^^

* Die Lösung
* Es wird nun das T1GGO Flag NUR noch im Hauptprogramm gesetzt
* Im Hauptprogramm kann man auch abfragen ob das T1GGO Bit geloescht
* wurde durch eine Flanke. Wenn nicht gibts einen Failsafe weil
* kein Servosignal mehr erkannt wird.
* Ein Interrupt fuer den T1Timer ist eigentlich garnicht erforderlich
* und eher problematisch

Der Kondensator C2 hat lediglich die kurzen Störimimpulse geglättet und das Problem
damit beseitigt. Das war ja nur ne Notlösung ^^

Das war es auch schon :)
Grüße von Siro
-----------------
Inductrix Quad (der Kleinste mit dem riesen Funfaktor)
Blade: msrX, 180 CFX, Blade 130S
Forza 450 mit VStabi, YGE-60, HK2221-8, geiles Teil :) )
Scale Bell 407 in 470er Grösse (immer noch nicht fertig.. :rolleyes:
Acrobat SE (jetzt ohne Paddel, mit FBL, einfach nur FUN)
Funke: DX8 V2

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »siro« (4. Januar 2017, 07:23)