Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Onlangs gespot - gefotografeerd, de foto's door Keska
Vandaag om 14:48:26
Werps Soldeerworkshop door Marco Staartjes
Vandaag om 14:47:12
Zoekfunctie ? door nighttrain1
Vandaag om 14:34:20
Geluid NS Mat'46 vs NS Mat'54 door Peter Kleton
Vandaag om 14:27:30
De (3d) knutsels van Ronald. door MaraNCS
Vandaag om 14:25:44
FFA koelwagen door Duoblock
Vandaag om 14:19:55
Bentheimer Eisenbahn, gisteren, vandaag en morgen. door Hans Reints
Vandaag om 14:03:01
De IJmuider spoorlijn - korte geschiedenis en plaatjes door sncf231e
Vandaag om 13:45:43
Piko NS 2015 stroomafname probleem door Rick
Vandaag om 13:24:51
Punt- en hartstukken door 1200blauw
Vandaag om 13:12:58
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Bahn-AG
Vandaag om 12:42:50
US diorama in H0 door moonlicht
Vandaag om 12:40:54
Doornvliet door raymond erdtsieck
Vandaag om 12:23:03
U-vorm beperkte ruimte (H0 C-rails) door eitreb
Vandaag om 12:06:06
Leids spoor (voorheen Blauwpoortsbrug) door gdh
Vandaag om 11:55:50
7 april De Karel on tour door NL-modelspoor
Vandaag om 11:51:04
NS Tals wagons (kalktrein) door Arjan6511
Vandaag om 11:41:59
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:19:47
Beekdaelen in H0 door VulcanRaven
Vandaag om 11:00:45
Stroomdetectie bij goederenwagens door henk
Vandaag om 10:32:03
MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 10:23:47
nieuw te leggen sporen passend maken door Jelmer
Vandaag om 10:05:07
MSV Post B, even voorstellen... door Rsd1000
Vandaag om 10:01:44
30 maart Modelspoorbeurs Houten & HCC Kennisdag door Jelmer
Vandaag om 09:52:49
Mijn eerste H0-modeltreinbaan in aanbouw door DJV
Vandaag om 09:42:59
Bouw van materieel 40 treinstellen door Pauldg
Vandaag om 07:52:09
NS 8400 van Werps door MathynK
Vandaag om 07:05:15
Al mijn goede ideeën... door bask185
28 maart 2024, 23:12:12
Gebruik je Arduino zonder te "programmeren" ;) door bask185
28 maart 2024, 22:51:58
21 april Het stoomgenootschap door bloemenvelden door Seinhuis
28 maart 2024, 22:46:29
  

Auteur Topic: Snelheidsregelaar met Arduino Uno en TA8050.  (gelezen 16419 keer)

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #45 Gepost op: 20 december 2014, 16:25:39 »
pinMode is inderdaad niet nodig voor analogWrite() maar wel best practice. Ook zorgt dit ervoor dat de pin gelijk laag getrokken wordt bij het opstarten en niet pas in de eerste keer dat de loop doorlopen wordt. Maar aangezien de bootloader toch even tijd inneemt met opstarten zijn de pull downs net zo makkelijk.

't vreemde was juist dat dat op hol slaan ook gebeurde met de pinMode er nog in. Met de weerstandjes was het over...  ???

Citaat
Ga je een situatie maken waarin left en right tegelijk true zijn?  ;D

dat weet je bij mij maar nooit...  8)

Max
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #46 Gepost op: 20 december 2014, 16:38:21 »
Dan hebben de pinnen flink de nijging omhoog te floaten (in goed Nederlands  8) ). Met opstarten hangt de Arduino zeker een seconde in de boatloader dus dan wordt de pin nog niet laag getrokken door de pinMode(). Pull down weerstanden is dan een goed idee :)


Timo
Verzonden vanaf mijn desktop met Firefox

Fritsprt

  • Offline Offline
  • Berichten: 2617
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #47 Gepost op: 20 december 2014, 17:51:08 »
@Timo, wat is de reden dat de elco na de 78xx niet te groot mag zijn? Ik wil ook graag nog wat leren.

Gr. Frits
Groet Frits

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #48 Gepost op: 20 december 2014, 18:04:55 »
twee redenen, eerste is de laadstroom die de 78xx dan moet verwerken maar waar ze (als ik me goed herinner) ook voor waarschuwen in de handleiding is dat hij instabiel kan worden. Dus beter zware elco's voor de 78xx (kan hij ook meer lading opslaan) en dan alleen een kleine als ontstoring.

Timo
Verzonden vanaf mijn desktop met Firefox

Fritsprt

  • Offline Offline
  • Berichten: 2617
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #49 Gepost op: 20 december 2014, 18:17:53 »
Klinkt logisch. Nu zit er 100n in de afgaande kant, dat is volgens mij tegen hf storing. Voor afvlakking kan 100 u geen kwaad.
Nu ik beter kijk zie ik C1, 10u in de voeding zitten. Dus toch afvlakking
« Laatst bewerkt op: 20 december 2014, 18:21:07 door Fritsprt »
Groet Frits

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #50 Gepost op: 20 december 2014, 18:26:37 »
Die 10u moet volgens het datasheet van de firma Toshiba zo dicht mogelijk op de TA 8050 worden gemonteerd.
Wie ben ik om daar aan te twijfelen...  ;D

M'n scoop ziet trouwens zonder geen verschil.  8)

Max.
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

Fritsprt

  • Offline Offline
  • Berichten: 2617
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #51 Gepost op: 20 december 2014, 18:51:51 »
Hallo Max, ik schreef dat die 10U voor de afvlakking is maar dat is onjuist. Die is voor de buffering ingeval je stroompieken gaat trekken. Dat is ook de reden dat hij dicht bij die 8050 moet zitten ivm minimale weerstand. In de praktijk zal e.e.a. wel meevallen zoals je op de scoop kan zien.
Groet Frits

Menno

  • Offline Offline
  • Berichten: 3341
    • Mijn van-alles website
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #52 Gepost op: 20 december 2014, 23:04:24 »
@Timo, wat is de reden dat de elco na de 78xx niet te groot mag zijn? Ik wil ook graag nog wat leren.
twee redenen, eerste is de laadstroom die de 78xx dan moet verwerken maar waar ze (als ik me goed herinner) ook voor waarschuwen in de handleiding is dat hij instabiel kan worden. Dus beter zware elco's voor de 78xx (kan hij ook meer lading opslaan) en dan alleen een kleine als ontstoring.
Het grootste bezwaar is puur het 'optillen' van de uitgang ten opzichte van de ingang.
Als om wat voor reden dan ook, iets de uitgang langer van spanning blijft voorzien dan de ingang en de uitgang krijgt een hogere voedingsspanning te verwerken dan de ingang, dan loopt het met grote kans fout af voor de 7800 regelaar...

Er wordt daarom nog wel eens een beschermingsdiode over de regelaar geplaatst.

@ Fritsprt: hoe snel is je scoop? Naaldpulsen (beter bekend als 'spikes') zijn vaak moeilijk zichtbaar met de gemiddelde scoop

Fritsprt

  • Offline Offline
  • Berichten: 2617
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #53 Gepost op: 20 december 2014, 23:32:10 »
Het ging om de scoop van Max en om de invloed van de 10 u elco. En volgens mij zit de 100n erin tegen de spikes
Groet Frits

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #54 Gepost op: 20 december 2014, 23:38:46 »
En ik ga eerst proberen of het gaat zonder spanningsregelaar want volgens Timo moet dat goed gaan...  :)

Trouwens het idee van minder onderdelen staat me wel aan.  (y)

mvg,

Max.
« Laatst bewerkt op: 20 december 2014, 23:40:32 door Max Roodveldt »
"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

Max Roodveldt

  • Offline Offline
  • Berichten: 258
  • 't is maar 'n spelletje...
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #55 Gepost op: 25 december 2014, 12:26:10 »
Omdat ook ik ’t niet kan laten aan een goede schakeling te rommelen…

Een van de vervelende eigenschappen van een Arduino is dat ‘ie lijdt een vorm van geheugenverlies - ingestelde minimum en maximum snelheden gaan bij ’n reset verloren.

Voor de goede orde: in bijgaand schema wordt met P3 de snelheid geregeld volgens het inmiddels bekende principe: links – stop – rechts met een regelbereik van 100% - 0 – 100% (255 - 0 - 255).



/*****************************************************************************
versie met potmeters voor links/stop/rechts, minimum en maximum snelheid.
*****************************************************************************/

// libraries
#include <Wire.h>
#include "Adafruit_LEDBackpack.h"
#include "Adafruit_GFX.h"

Adafruit_7segment display = Adafruit_7segment();

const int PwmDl1 =  9;                           // Dl1 TA8050 H-bridge left
const int PwmDl2 = 10;                           // Dl2 TA8050 H-bridge right
const int SpeedP =  0;                                 // speed potentiometer
const int MinPot =  1;                         // minimum speed potentiometer
const int MaxPot =  2;                         // maximum speed potentiometer
const int ButMin =  0;                                // button minimum speed
const int ButMax =  1;                                // button maximum speed

bool  left     = false;
bool  right    = false;
int   minSpeed =   0;
int   maxSpeed = 255;
float factor   =   1.0;

/****************************************************************************/

void setup() {

  // set display
  display.begin(0x70);
  display.setBrightness(7); // 0..15

  // set PWM frequency timer 1 to 31,25 kHz.
  TCCR1B = TCCR1B & 0b11111000 | 0x01;

  // set input pins
  pinMode(ButMin, INPUT_PULLUP);
  pinMode(ButMax, INPUT_PULLUP);
}

/****************************************************************************/

void loop() {

  int value = analogRead(SpeedP) / 2;                  // read speedP: 0..511
  int cycle = 0;

  // value: 0..249 = left, 250..260 = deadband, 261..511 = right   
   
  value < 250 ? left  = true: left  = false;
  value > 260 ? right = true: right = false;

  if (left) {                       // duty cycle between minspeed - maxspeed
    cycle = minSpeed + int((249.0 - value) * factor);
    analogWrite(PwmDl2, 0);
    analogWrite(PwmDl1, cycle);             // write duty cycle to PWM PwmDL1
  }
   
  if (right) {                      // duty cycle between minSpeed - maxSpeed
    cycle = minSpeed + int((value - 261.0) * factor);
    analogWrite(PwmDl1, 0);
    analogWrite(PwmDl2, cycle);             // write duty cycle to PWM PwmDL2
  }
   
  if (!left && !right) {
    analogWrite(PwmDl1, 0);
    analogWrite(PwmDl2, 0);
 
    if (digitalRead(ButMin) == 0) {
      cycle  = minSpeed = analogRead(MinPot) / 4;                   // 0..255
      factor = (maxSpeed - minSpeed) / 250.0;
    }
 
    if (digitalRead(ButMax) == 0) {
      cycle  = maxSpeed = analogRead(MaxPot) / 4;            // minSpeed..255
      factor = (maxSpeed - minSpeed) / 250.0;
    }
  }
 
  display.println(cycle);
  display.writeDisplay();
 
}

/****************************************************************************/


Omdat proefondervindelijk is vastgesteld :) dat dit zowel aan de onder- en de bovenkant verbetering behoeft kunnen we dit aanpassen. Tijdens stilstand (0) kan als schakelaar S1 wordt gedrukt met P2 de minimale snelheid worden ingesteld en als schakelaar S2 wordt gedrukt met P1 de maximale snelheid. Bij voorbeeld: van stap 30 tot stap 127 (10%..50%). Dit wordt net zolang herhaald tot het gewenste resultaat is bereikt…

Als nu de Arduino wordt gereset gaan deze instellingen verloren, maar…: als er nu even op S1 en S2 wordt gedrukt worden de potmeter instellingen weer geladen en kunnen we verder waar we gebleven waren. Wederom blijkt dat er voor elke oplossing een probleem is.

Nog ‘n probleempje: als ’n loc is warm gedraaid zijn de resultaten anders dan koud uit de doos. Warm draaien doe ik op een ovaaltje; hoe dat straks op mijn baantje moet weet ik nog niet. Misschien voorgloeien? Het zijn tenslotte allemaal diesels… 8)

Uit het schema blijkt dat ik de spanningsregelaar heb verwijderd, alsmede de ontstorings-condensatoren – het werkt net zo goed (uiteraard).

Om de instellingen zichtbaar te maken wordt een display gebruikt; dat display staat niet in dit schema maar wel in de software – sorry.  :-[

Wordt vervolgd…

Mvg,

Max.

"And these visions of Johanna are now all that remain" - Bob Dylan (1966)

De Stoker

  • Offline Offline
  • Berichten: 783
  • H0 - TC - Digirails - KL 8.2 1920-1950
Re: Snelheidsregelaar met Arduino Uno en TA8050.
« Reactie #56 Gepost op: 09 februari 2015, 11:37:54 »
Mooi overzicht en ook netjes de codes overzichtelijk bij in het verhaal. Ben inmiddels ook aan de Arduino's, me nog wat aan het inwerken maar het is erg mooi spul.