Flikkerende LED strip met eigen gemaakte controller

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Sh4wn
  • Registratie: December 2006
  • Laatst online: 12-11-2017

Sh4wn

Bio-informatica

Topicstarter
Beste,

Al sinds het zien van ScrapDMX wil ik ook graag iets vergelijkbaars ontwerpen en maken. Hoewel ik ondertussen een behoorlijk eindje ben, ben ik helaas tegen een probleem aan gekomen wat ik nog niet heb kunnen oplossen: de LED strips flikkeren nogal.

De setup:
1. Raspberry Pi met OLA (https://wiki.openlighting.org/index.php/OLA_Raspberry_Pi)
2. Via USB->DMX naar de individuele DMX ontvanger bordjes. Ik heb volgens mij een chinese namaak van deze converter: http://www.anyma.ch/research/udmx/
3. DMX ontvangers met AVR microcontroller sturen de LED strip aan aan de hand van het ingestelde DMX adres via de DIP switch.

Schema:
Afbeeldingslocatie: https://i.imgur.com/THKxSZI.png

Close up van de PCB:
Afbeeldingslocatie: https://i.imgur.com/Od1eJEN.jpg

Video:


Source code:
https://github.com/sh4wn/...dmx-receiver/dmx-receiver

Waar zou dit aan kunnen liggen?
Mijn initiële ideeën waren:
- Capacitors bij het kristal niet goed? Heb bij 2 DMX ontvangers de capacitors vervangen van 30pF naar 20pF, geen verschil
- De code gebruikte eerst Phase Correct PWM, nu geswitched naar Fast PWM mode wat in principe iets beter gaat
- Ik heb grobeerd een beetje met de PWM frequenties te spelen (andere waarden voor de clock pre-scalers), maar lagere PWM frequentie => lagere frequentie geflikker. Lijkt toch dat de klok niet helemaal stabiel is. Te billige Chinese kristallen?

Paar opmerkingen:
- Er zit een vast partroon in het flikkeren (zie video), dus dat suggereert iets in de code of een slechte klok
- DMX waardes lijken goed te worden ingelezen, hij reageert op zich goed op nieuwe DMX waarden. Wat dat betreft zou de klok ook weer goed moeten zijn, want anders zou denk ik het inlezen van de UART niet goed gaan.

Voeding zou het in principe aan moeten kunnen, kan iets van 4 A leveren. Heb naar mijn idee overal genoeg decoupling capacitors geplaatst, dus de voeding zou stabiel moeten zijn.

Het is een Atmega168, met low fuse 0xFF en high fuse 0xDF.

Iemand nog ideeën? Alvast bedankt,
Lucas

[ Voor 9% gewijzigd door Sh4wn op 29-10-2016 18:45 ]


Acties:
  • 0 Henk 'm!

  • TommyboyNL
  • Registratie: Januari 2006
  • Niet online
Gebruik je software of hardware PWM?

Acties:
  • 0 Henk 'm!

  • Sh4wn
  • Registratie: December 2006
  • Laatst online: 12-11-2017

Sh4wn

Bio-informatica

Topicstarter
TommyboyNL schreef op zaterdag 29 oktober 2016 @ 18:48:
Gebruik je software of hardware PWM?
Hardware PWM: Timer0 voor rood en groen (je kan twee output compare registers zetten, en twee losse pinnen daarmee aansturen), Timer1 voor blauw. Alle 8 bit Fast PWM met non-inverting output op de bijbehorende pin (en clock-prescaler van 8 ).

Acties:
  • 0 Henk 'm!

  • Cassettebandje
  • Registratie: Juli 2002
  • Laatst online: 04-10 20:38

Cassettebandje

SA-C90 TDK

Ik vermoed op vasis van je schema en dat je PWM gebruikt (=veel noise) dat het mogelijk is dat je microcontroller niet stabiel is. Maak eens van C1 100uF en vervang je 10nF condensatoren eens door 100nF. De weerstand aan reset 1k en 100nF van reset naar ground.

Programmeer eens een fade loop, even zonder dmx ontvangst, zodat je kunt zien of de microcontroller reset of door blijft lopen.

Acties:
  • 0 Henk 'm!

  • itcouldbeanyone
  • Registratie: Augustus 2014
  • Laatst online: 12-09 21:49
Cassettebandje schreef op zondag 30 oktober 2016 @ 12:17:
Ik vermoed op vasis van je schema en dat je PWM gebruikt (=veel noise) dat het mogelijk is dat je microcontroller niet stabiel is. Maak eens van C1 100uF en vervang je 10nF condensatoren eens door 100nF. De weerstand aan reset 1k en 100nF van reset naar ground.

Programmeer eens een fade loop, even zonder dmx ontvangst, zodat je kunt zien of de microcontroller reset of door blijft lopen.
10nF is wel erg weinig.
maak er indd 2x 100nf van, zo dicht mogelijk bij je IC.
en minstens 1 x 100uf

daarnaast tussen je ground van je leds (dus bij je mosfetts) en de bus spanning van je leds zo dicht mogelijk bij de fetts 470uf. nu creer je hier een spanningsdip

aangezien het flikkeren op een faste patroon gaat, vermoed ik dat je timer overflowt.

Ben niet slim, maar wel dom


Acties:
  • 0 Henk 'm!

  • LiquidSmoke
  • Registratie: Maart 2001
  • Laatst online: 28-09 09:10
Ik denk ook dit je programmatuur ergens de fout in gaat; ik gebruik een Atmega16 om 12 softpwm kanalen te genereren (8 bits elk), en heb hier geen geflikker...

Die 168 moet dit makkelijk aan kunnen.

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06:57

Damic

Tijd voor Jasmijn thee

Zoals hier boven al gemeld: meer capaciteit :) zeker bij groter vermogens.

Hoe zit je onderkant er eigenlijk uit?

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • itcouldbeanyone
  • Registratie: Augustus 2014
  • Laatst online: 12-09 21:49
680 Ohm naar je gate is ook aan de hoge kant, ik weet niet op welke schakelfrequentie je zit ?
grote kans dat hier schakel verliezen optreden.
ik zou 100 Ohm pakken.
als je de gate met de scope bekijkt dan zou het in deze situatie met 680 ohm een lange rise time veroorzaken. wat de inwendige weerstand van je mosffet verhoogt

Ben niet slim, maar wel dom

Pagina: 1