Nieuws:

Voor de Stichting 3rail Wiki zoeken wij altijd foto's en/of teksten!! Wil je helpen? Lees in de oproep hoe dat kan!

Schakeling functioneert na 2de startup niet meer....

Gestart door minitreintje woensdag 15 januari 2014, 16:02:08

0 leden en 1 gast bekijken dit board.
Schakeling functioneert na 2de startup niet meer....
Hallo,

Zoals jullie weten ben ik ook bezig met een dag/nacht systeem. Allemaal goed en wel maar ik zit nu bij de RGB ledstrip.
De code is volgens mij OK want de eerste maal dat de schakeling AAN stond werkte het wel. Na een 10tal seconden begon de ledstrip licht te knipperen.
Ik dacht oh ik ben nog iets in mijn code vergeten ondanks ik deze al had getest dus stroom eraf, microcontroller uit de schakeling halen en nieuw progje laden.
Na het herinpluggen van de microcontroller deed de schakeling niks meer :O Ik dacht jha ik heb het zitten mijn transistors zijn doorgebrand omdat ik ze misschien verkeerd had aangesloten.
Na eentje te vervangen om te testen bleef het nog steeds donker :thumbdown:

Nu was mijn vraag of iemand mijn schema + pcb zou willen checken. Misschien dat ik iets over het hoofd heb gezien? Of een oplossing kent.
De darlingstons die de ledstrip aansturen zijn TIP122 met een 1K weerstand tussen de basis en de Arduino pin.

Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Met wat voor spanning voedt je de schakeling ?

De 1K basis weerstanden mogen het probleem in ieder geval niet zijn die zijn wel goed.
Re: Schakeling functioneert na 2de startup niet meer....
12V 1A. Maar ik heb wel net ontdekt dat die voeding wel meer geeft :O 16V. Maar de RGBleds kunnen er tegen. Ze zijn net getest en functioneren nog.
Zou dat het kunnen zijn?

En de Arduino krijgt natuurlijk 5V.
Er hangt maar een klein stukje RGB ledstrip aan om te testen.

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Wat voor RGB strip heb je er aan hangen? eventueel merk en type.
Re: Schakeling functioneert na 2de startup niet meer....
Afhaalchinees:

5050 RGB Non-Waterproof Led Strip
LED type:   SMD5050
Color:   RGB
LED Quantity:   300 leds/5 Meter
Size:   L500cm (5M) x W14cm x T2cm
View angle:    120°
Protection Rate:   IP33 Not Waterproof
Working Input Voltage::    12VDC
Working Current/meter:   ≤ 5A/5M
Working power:    ≤ 60W/5M
Working Tempreture:   -20° to 50°
Drive Mode:   Contant Voltage
Package:    1 X 5 Meters / Reel


EDIT: Zie bericht boven i.v.m. voeding

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Je zou eerst even zonder strips kunnen gaan meten of de atmega wel netjes 5 volt krijgt en je zou even kunnen meten wat de uitgangen doen. Ook is het verstandig om pin 1 even met een pullupweertand aan de 5 volt te hangen. Anders heb je kans dat je atmega onbedoeld gaat resetten.
Re: Schakeling functioneert na 2de startup niet meer....
5V => OK
OUTPUTS => heel lage spanning <1.0V (+-0.3V)
RESETPIN => OK

#include <SoftPWM_timer.h>
#include <SoftPWM.h>
#include <TimedAction.h>

/*
   ******************************************
   *               Trainduino               *
   *                                        *
   *----------> RGBLEDCONTROLLER <----------*
   *                                        *
   *           V 0.9.6 PRERELEASE           *
   ******************************************
   THIS IS A PRERELEASE! I'm never resposibly for any damage to your stuff! This version is also NOT completely tested.

   (c) Dylan Van Assche (2013 - 2014), producer of the Trainduino serie.
*/

#define RED_PIN 2
#define GREEN_PIN 3
#define BLUE_PIN 4
#define WHITE_PIN 5

int red                   =     230;
int green                 =     230;
int blue                  =     75;
int white                 =     0;

int redValue              =     255;
int greenValue            =     255;
int blueValue             =     255;
int whiteValue            =     255;

boolean Status            =     true;

TimedAction RGBTimer      =     TimedAction(1000, RGB);
TimedAction Clock         =     TimedAction(500, ClockFunction);

int currentHour           =     7; // Start ALWAYS the program in DAY mode. Day is from 07:00 to 19:00.
int currentMinutes        =     0;

void setup() {
  SoftPWMBegin(); // Start the SoftPWM library.
 
  pinMode(RED_PIN, OUTPUT); // Setup RED_PIN for SoftPWM.
  SoftPWMSet(RED_PIN, 0);
  SoftPWMSetFadeTime(RED_PIN, 4000, 4000);

  pinMode(GREEN_PIN, OUTPUT); // Setup GREEN_PIN for SoftPWM.
  SoftPWMSet(GREEN_PIN, 0);
  SoftPWMSetFadeTime(GREEN_PIN, 4000, 4000);

  pinMode(BLUE_PIN, OUTPUT); // Setup BLUE_PIN for SoftPWM.
  SoftPWMSet(BLUE_PIN, 0);
  SoftPWMSetFadeTime(BLUE_PIN, 4000, 4000);
 
  pinMode(WHITE_PIN, OUTPUT); // Setup WHITE_PIN for SoftPWM.
  SoftPWMSet(WHITE_PIN, 0);
  SoftPWMSetFadeTime(WHITE_PIN, 4000, 4000);
 
  randomSeed(A5);

}

void loop() {

  Clock.check(); // Time tracking process.
  if (Status)    // DAY.
  {
    redValue    =  230;
    greenValue  =  230;
    blueValue   =  75;
    whiteValue  =  255;
    RGBTimer.check(); // Every time the RGBTimer is triggered, changes the PWM output. With this timer you can change the colors of the RGB LEDstrip very slowly.
  }
  else  // NIGHT.
  {
    redValue    =  40;
    greenValue  =  12;
    blueValue   =  100;
    whiteValue  =  0;
    RGBTimer.check(); // Every time the RGBTimer is triggered, changes the PWM output. With this timer you can change the colors of the RGB LEDstrip very slowly.
  }
}

void RGB() // This function controls the RGB LEDstrip.
{
  if (red < redValue)
  {
    red = red++;
    SoftPWMSet(RED_PIN, red);
  }
  else
  {
    red = red--;
    SoftPWMSet(RED_PIN, red);
  }

  if (green < greenValue)
  {
    green = green++;
    SoftPWMSet(GREEN_PIN, green);
  }
  else
  {
    green = green--;
    SoftPWMSet(GREEN_PIN, green);
  }

  if (blue < blueValue)
  {
    blue = blue++;
    SoftPWMSet(BLUE_PIN, blue);
  }
  else
  {
    blue = blue--;
    SoftPWMSet(BLUE_PIN, blue);
  }
 
    if (white <= whiteValue)
  {
    if(whiteValue == 0)  // Keeps the white LED OFF. Otherwise it sticks in an ON/OFF loop...
    {
     
    }
    else
    {
    white = white++;
    SoftPWMSet(WHITE_PIN, white);
    }
  }
  else
  {
    white = white--;
    SoftPWMSet(WHITE_PIN, white);
  }
}

void ClockFunction()
{
  currentMinutes++;

  if (currentMinutes == 60)
  {
    currentHour++;
    currentMinutes = 0;

  if (currentHour == 7)
  {
    Status = true;  // DAY
  }
  if(currentHour == 20)
  {
    Status = false;  // NIGHT
  }
  if(currentHour == 24)
  {
   currentHour = 0;
  }
}
}


groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Helaas kan ik je met je software code niet helpen, ik kan alleen maar basic en assembly. De uitgangen zal je denk ik even met een scoop moeten meten omdat daar (als het goed is) een PWM signaal staat en die kun je niet goed meten met een multimeter.
Re: Schakeling functioneert na 2de startup niet meer....
Ik heb helaas geen scoop...
Maar stel ik wijzig mijn code tijdelijk zodat de PWM eruit is en simpel AAN/UIT is kan ik dat toch meten?

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Net getest en hetzelfde... Wel iets meer spanning 0,45 V
Maar jha dat is normaal de PWM was bijna op volle kracht en nu is dat wel het geval.

Darlingstons stuk?

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Wat ik altijd doe als mn print niet werkt:

Met de multimeter overal bij langs, kloppen de weerstanden en voltages op alle plekken in de schakeling?
Componenten apart testen (bijv bij de transistor even met een draadje er tegenaan om te kijken of hij nog schakelt.
Ik heb ook altijd een ledje direct op één van de uitgangen, dan kun je iedere keer op een andere plaats in de software aan zetten en kun je zien of je software ergens niet klopt (endless loop of een trap waar de controller in terecht is gekomen).

Ik hoop dat je hier wat aan hebt!

Succes, groeten,

Rauke
Re: Schakeling functioneert na 2de startup niet meer....
Citaat van: minitreintje op woensdag 15 januari 2014, 16:58:41
Net getest en hetzelfde... Wel iets meer spanning 0,45 V
Maar jha dat is normaal de PWM was bijna op volle kracht en nu is dat wel het geval.

Darlingstons stuk?

groeten Dylan

Als je de code tijdelijk hebt veranderd moet je natuurlijk gewoon 5 volt meten als de uitgang wordt aangestuurd.
Re: Schakeling functioneert na 2de startup niet meer....
Ja de code werkt met een paar simpele ledjes... Dat is het nu juist.
De code OK
Microcontroller OK
PCB OK multimeter check had ik al gedaan.
Darlingtons ??? Eentje vervangen maar nog steeds hetzelfde.

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Als de darlingtons stuk zijn, kun je dat zien door zelf een draad van de +5v tegen de basis van de darlington aan te houden. Als ze dán niet werken...

Je zou nog kunnen proberen of het met een gewone transistor en kleinere ledstrip wel werkt...

Groeten,

Rauke

P.s.: heb je de GND van de ledstrips wel doorverbonden met de GND van je IC-print?
Re: Schakeling functioneert na 2de startup niet meer....
Die LEDstrips hebben 'geen' GND maar een gemeenschappelijke +. De GND van elke kleur hangt aan de darlingtons.

Ik zal je tip eens proberen :p

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Heb nog even naar je software gekeken, bij de kleuren rood groen en blauw heb je alleen maar "groter dan" of "klijner dan" gebruikt. Hier zou je bij één van de twee ook het = teken moeten gebruiken net als bij de witte led's, anders gaat je strip knipperen als de juiste waarde is berijkt omdat dan de waarde niet groter maar ook niet klijner is. Kortom er is een onbestaande waarde in de software en dat levert nuurlijk altijd problemen op.

Ook is het mij niet helemaal duidelijk wat er gebeurd als je in de software de 4 pinnen allemaal een keer hoog maakt, dan zouden alle led's aan moeten gaan.

Je zou als test aan het begin van je programma een testloop kunnen maken waar je alle uitgangen gedurende 1 seconde hoog maakt, dat weet je zeker dat de uitgangen van de atmega goed zijn.
Re: Schakeling functioneert na 2de startup niet meer....
Citaat van: minitreintje op donderdag 16 januari 2014, 07:37:10
Die LEDstrips hebben 'geen' GND maar een gemeenschappelijke +. De GND van elke kleur hangt aan de darlingtons.

Ik zal je tip eens proberen :p

groeten Dylan

Wat ik bedoel: ik neem aan dat je een aparte voeding hebt voor je ledstrips. De + van die voeding zit gemeenschappelijk aan je ledstrips, maar zit de GND van die voeding wel doorverbonden met de GND van je print? Ofwel met de GND waar de darlingtons naartoe schakelen?

Groeten,

Rauke
Re: Schakeling functioneert na 2de startup niet meer....
Waarom heb je die diodes er eigenlijk in zitten?
Re: Schakeling functioneert na 2de startup niet meer....
Forum Moderator
Lid sinds: 2006

Gelukkig liggen de dwarsliggers onder de rail.

offline
Re: Schakeling functioneert na 2de startup niet meer....
Dylan, die TIP122 is een vrij zware jongen.
Het kan zijn dat door de weerstand van 1k de basisstroom te laag is om de darlington open te sturen.
Re: Schakeling functioneert na 2de startup niet meer....
Citaat van: Janvis op donderdag 16 januari 2014, 13:19:23
Heb nog even naar je software gekeken, bij de kleuren rood groen en blauw heb je alleen maar "groter dan" of "klijner dan" gebruikt. Hier zou je bij één van de twee ook het = teken moeten gebruiken net als bij de witte led's, anders gaat je strip knipperen als de juiste waarde is berijkt omdat dan de waarde niet groter maar ook niet klijner is. Kortom er is een onbestaande waarde in de software en dat levert nuurlijk altijd problemen op.

Ook is het mij niet helemaal duidelijk wat er gebeurd als je in de software de 4 pinnen allemaal een keer hoog maakt, dan zouden alle led's aan moeten gaan.

Je zou als test aan het begin van je programma een testloop kunnen maken waar je alle uitgangen gedurende 1 seconde hoog maakt, dat weet je zeker dat de uitgangen van de atmega goed zijn.

Die waarden wou ik dus toevoegen maar nadat die terug geplaatst was in de PCB was het gedaan met de schakeling.

Citaat van: Assembler op donderdag 16 januari 2014, 16:09:13
Waarom heb je die diodes er eigenlijk in zitten?

Dat is gewoon een beschermingsdiode.

Citaat van: Kappa op donderdag 16 januari 2014, 16:31:25
Dylan, die TIP122 is een vrij zware jongen.
Het kan zijn dat door de weerstand van 1k de basisstroom te laag is om de darlington open te sturen.

Dat kan maar ik heb al heel veel deze schakeling toegepast. Het is nu niet de eerste keer dat ik deze gebruik daarom snap ik het niet.


groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Citaat van: Kappa op donderdag 16 januari 2014, 16:31:25
Dylan, die TIP122 is een vrij zware jongen.
Het kan zijn dat door de weerstand van 1k de basisstroom te laag is om de darlington open te sturen.

Een darlington heeft doorgaans een zeer hoge HFE, zo heeft deze TIP122 een HFE van > 1000 volgens mij. Dus 1K basisweerstanden zijn geen enkel probleem.
Re: Schakeling functioneert na 2de startup niet meer....
Ik zit net even je PCB te bekijken, maar je hebt de plus die richting de uitgangen moet niet verbonden met de voeding.
Re: Schakeling functioneert na 2de startup niet meer....
Dat klopt opzich wel hoor, deze strips hebben een gemeenschappelijke plus, en de kanalen worden via de ground geschakeld. (Zoals minitreintje zelf al zegt, en Rauke ook).

Misschien heb je hier nog wat aan: http://www.makeuseof.com/tag/build-your-own-dynamic-ambient-lighting-for-a-media-center/

Wellicht is het inderdaad een kwestie van de gnd tussen de twee voedingen verbinden.
Re: Schakeling functioneert na 2de startup niet meer....
Forum Moderator
Lid sinds: 2006

Gelukkig liggen de dwarsliggers onder de rail.

offline
Re: Schakeling functioneert na 2de startup niet meer....
Citaat van: Janvis op donderdag 16 januari 2014, 16:53:25
Ik zit net even je PCB te bekijken, maar je hebt de plus die richting de uitgangen moet niet verbonden met de voeding.
Jan het zijn "open collector" uitgangen, dus geen + van de voeding nodig.

Citaat van: Janvis op donderdag 16 januari 2014, 16:49:10
Een darlington heeft doorgaans een zeer hoge HFE, zo heeft deze TIP122 een HFE van > 1000 volgens mij. Dus 1K basisweerstanden zijn geen enkel probleem.
Daar heb je gelijk in Jan, het was ook geen constatering van, alleen maar een suggestie. ;)
Re: Schakeling functioneert na 2de startup niet meer....
Citaat van: Kappa op donderdag 16 januari 2014, 17:18:47
Citaat van: Janvis op donderdag 16 januari 2014, 16:53:25
Ik zit net even je PCB te bekijken, maar je hebt de plus die richting de uitgangen moet niet verbonden met de voeding.
Jan het zijn "open collector" uitgangen, dus geen + van de voeding nodig.


Ik begrijp dat de uitgangen open collector zijn, maar als je goed naar het PCB ontwerp kijkt zie je dat de uitgang ook 2 plus aansluitingen bevat, ik ga er dus vanuit dat op deze aansluitingen de plus van de ledtrips wordt aangesloten en via de transistoren wordt de ledstrip naar de min geschakeld. En dat zou ook corresponderen met het schema.
Re: Schakeling functioneert na 2de startup niet meer....
De GND is volgens mij doorverbonden... GND power adapter -> GND 7805 -> GND Atmega 328 -> GND TIP122
Die + draad is geplaatst nadat de PCB was gemaakt. Ik had die vergeten maar is wel aanwezig vanaf het begin.

De schakeling werkte maar om één of andere reden stopte deze ermee nadat de stroom eraf was en terug erop kwam.


groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Heb je de ledstrips op een aparte adapter? Zo ja, dan moet de GND van de aparte adapter gekoppeld aan de GND van je print. Als de ledstrips op dezelfde adapter hun + krijgen, dan maakt het niets uit.

Als het eerst werkte, lijkt me dat er een component/printspoor kapot is. Dat wordt dus per component/printspoor proberen uit te sluiten. Heeft het verder denk ik ook weinig zin om op afstand te 'helpen', want dan ligt het niet aan je ontwerp.

Groeten,

Rauke
Re: Schakeling functioneert na 2de startup niet meer....
pin 20 = VCC/Analoog ook aan de  voedingsspannings hangen, als ik me niet vergis wordt dat aangeraden in de datasheet.
En pin 1 de reset via een weerstand van 10k aan de 5 Volt, als die pin een laag signaal krijgt (waar je kans van hebt als je hem niet aansluit) dan zorgt dat voor een reset van de microcontroller.
Ook is het aan te raden een ontkoppel condensator van 100nF over de voedingspinnen van de microcotroller te plaatsen.
Re: Schakeling functioneert na 2de startup niet meer....
Adapter is dezelfde voor ledstrip als print.
Die reset truck heb ik ook al geprobeerd samen met die ontkoppel condensators.

Printsporen zijn OK, alles doorgemeten.
Dus waarschijnlijk kapot component. Ik denk de TIP122's aangezien de microcontroller in een gewone Arduino werkt, de 7805 zijn werk perfect doet en de diodes zijn OK. Weerstanden zijn ook OK


groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
Forum Moderator
Lid sinds: 2006

Gelukkig liggen de dwarsliggers onder de rail.

offline
Re: Schakeling functioneert na 2de startup niet meer....
Dylan, hang aan de uitgangen eens rode led met een weerstand van 180 ohm naar GND, dan weet of de uitgangen schakelen.
Re: Schakeling functioneert na 2de startup niet meer....
Sorry Kappa, dat heb ik al getest... Helaas pindakaas.
Ik ga eens alle TIP122 vervangen en dan zullen we eens zien. Ik zal ook de AVCC ff aankoppelen.

groeten Dylan
Re: Schakeling functioneert na 2de startup niet meer....
FOUND IT (almost) :S
Dus na veel prutsen heb ik nogmaals eens een simpele sketch ingeladen en opeens brandde de LEDs weer :O
Dus het zit hem toch ergens in de timing van de SoftPWMlibrary.

groeten Dylan