Doel:€250.00
Donaties:€107.50

Per saldo:€-142.50

Steun ons nu!
Actie: steun €2.50 via de Wim Vink kalender 2021!

Laatst bijgewerkt
op 23-11-2020
Algemeen

De stichting

Recente berichten

Busch 5968 belgische overweg (en wellicht NS-AKI?) een schop geven door Te 2/2
Vandaag om 17:46:46
Mijn eerste H0-modeltreinbaan in aanbouw door NS1220
Vandaag om 17:46:38
Toon hier je nieuwe (model-) spooraanwinst(en)... door NS1220
Vandaag om 17:40:39
Bruggen-IG: de spoorbrug in Geldrop in N door janw
Vandaag om 17:38:45
Baanbouw: NL Baan Kleindrecht in H0 door BAD
Vandaag om 17:36:28
Bouw "Bahnhofsvorfeld" door charp
Vandaag om 17:30:10
Seinen en wissel koppelen door Bert_Apd
Vandaag om 17:16:04
Kleurvarianten Mat '46, een vraag van Overbeek. (importeur) door Dpc Fo
Vandaag om 17:15:38
Wielen en assen, vragen over maten en RP25. door Klaas Zondervan
Vandaag om 17:08:52
De Hef in N schaal... door ATB
Vandaag om 17:06:17
Raadplaatje door Falkenberg
Vandaag om 17:01:55
Bruggen-IG - brug over de Poldervaart Schiedam/Kethel door jowi
Vandaag om 17:01:42
BNLS-Werkspoor - Bouw 3900 van DJH/Modelloco met tips voor beginners door Ivo tB
Vandaag om 17:00:51
MARDEC, de Multifunctionele ARduino dcc DECoder. door erikkral
Vandaag om 16:47:50
Aankoop treinen : verdachte websites ? door RikM
Vandaag om 16:04:38
Depot + vervolg Vlieringen-2 door Hans Reints
Vandaag om 15:52:07
Rondom Charlois door Alewijn
Vandaag om 15:48:05
De fabriek - Spoor 0 door BartvD
Vandaag om 15:33:22
PIKO Fabriek #61149 door NS1220
Vandaag om 15:21:43
Van Swarzach naar Swarzburg door nkob
Vandaag om 14:21:55
Spoor op industrieterrein Lage Weide door Kronefan
Vandaag om 14:18:09
Ervaringen met veilingsites en webshops (Marktplaats, Ebay, Catawiki, etc). door willyTEE
Vandaag om 14:09:06
DAF YA-616 Takeldoos 1e levering door Hans Reints
Vandaag om 14:07:37
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door St00mboy
Vandaag om 13:55:58
Wand- en vloerafwerking H0 door Michel Zethof
Vandaag om 13:46:26
Belgische torpedowagens van Cockeril Sambre Chertal door Rondje_HO
Vandaag om 13:33:15
20 toen door Hans Reints
Vandaag om 13:09:17
Staalrollen in België: NMBS Shis, Shmmns en Shx wagens, begin jaren 80 met coils door spoorzeven
Vandaag om 13:08:05
El carrilet door 72sonett
Vandaag om 12:55:36
Roco 2020, nieuws van de fabrikant door spoorzeven
Vandaag om 12:39:15
  

Auteur Topic: Snelheidsregelaar met Arduino Uno en TA8050.  (gelezen 11385 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: 1485
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

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: 1485
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 »

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: 1485
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.

Menno

  • Offline Offline
  • Berichten: 2844
    • 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: 1485
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

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: 779
  • 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.