Doel:€250.00
Donaties:€128.00

Per saldo:€-122.00

Steun ons nu!

Laatst bijgewerkt
op 16-04-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Starten met messing kits door Marco Staartjes
Vandaag om 20:49:14
weerstandje en relais door Klaas Zondervan
Vandaag om 20:47:42
Gekke/vreemde/rare filmpjes en video's met treinen erin. door ES44C4
Vandaag om 20:45:40
Station Roodeschool door Torikoos
Vandaag om 20:37:48
DR4024 door Michaël dB
Vandaag om 20:11:53
Haandrecht materieel door orientexpress
Vandaag om 20:05:43
Toon hier je nieuwe (model-) spooraanwinst(en)... door ruudns
Vandaag om 20:04:54
Alt Wutachbahn - Sau-Schwänzle-bahn Weizen - Zollhaus - Blumberg door Eric v C
Vandaag om 20:01:12
Ronald en Wanda's "Southern Comfort" swamp layout! door Eric v C
Vandaag om 19:58:54
Am Ende der Strecke, modulebaan op 1 M2 door Frank 123
Vandaag om 19:41:52
NS 8400 van Werps door Ivo tB
Vandaag om 19:28:41
Efteling spoorweg gaat elektrisch door Pauldg
Vandaag om 19:10:15
Mijn eerste H0-modeltreinbaan in aanbouw door tuurtje
Vandaag om 19:07:44
18 t/m 21 april Intermodellbau '24 Dortmund door Martin Welberg
Vandaag om 19:00:51
firm ware voor 3 D printer door jerrytrein
Vandaag om 18:58:32
NS gaat weer thuis oefenen in klanttevredenheid door MaraNCS
Vandaag om 18:40:41
Treinreizen met m'n vader door HuubvG
Vandaag om 18:35:41
Dubbelom, een boekenplankspoorbaan in H0 door maartenvdb
Vandaag om 18:07:29
2e leven van een buitendienst gestelde Gesloten goederenwagen. door metpetergaathetbeter
Vandaag om 18:00:29
modulebaan jaren 60 door rudi van der Craats
Vandaag om 17:30:56
Pools diorama H0 door spoorijzer
Vandaag om 17:22:20
Decals Star TE-5933 door Martijn193
Vandaag om 17:12:11
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 17:11:06
GSS Jubileumbaantje (0e / 0n30) door spoorijzer
Vandaag om 16:59:09
Lantaarns Crafftiq op Roco Sik door Sven
Vandaag om 16:18:53
RhB modelbaan in Aanbouw die Scalettabahn Davos-Dürrboden door Hollandserhbfan
Vandaag om 15:53:47
MARDEC, de Multifunctionele ARduino dcc DECoder. door bord4kop
Vandaag om 14:45:36
BMB 00-Modulebaan, BMB-Rijdagen en BMB-Deelname aan Beurzen & Evenementen door bask185
Vandaag om 14:27:08
Bouw NTM Stationsgebouw Lemmer door Cor--24
Vandaag om 14:13:26
Bauarbeiten im gange door 741230
Vandaag om 13:29:14
  

Auteur Topic: Snelheidsregelaar met Arduino Uno en TA8050.  (gelezen 16479 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: 2615
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: 2615
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: 2615
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: 3342
    • 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: 2615
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.