21 november 2024

Kalkhaar's gids

Tutorials voor iedereen

Rijsnelheid met behulp van een TIP122

2 min gelezen

Deze post komt oorspronkelijk van bliksemsnel.net en beschrijft een wijze die gebruikt kan worden om een modelspoor locomotief aan te sturen op het modelspoor.
Om de rijsnelheid te regelen wordt een arduino gebruikt met een TIP122.

We gebruiken hiervoor een PWM (Pulse Width Modulation) output van de arduino.
Aangezien deze output voor de rijsnelheid te laag is (5V en max 50mA) maken we gebruik van een externe voeding en een transistor.
De TIP-122 transistor kan een hoger vermogen (5A) en spanning (100V) aan. Je kan ook de TIP-120(60V) of TIP-121(80V) gebruiken.
Kijk hier voor de TIP-120/TIP-122 datasheet.

TIP122

Dit alles word getest op een testbaantje `rondje om de kerk`

Benodigdheden:

  • Arduino
  • TIP 122 transistor
  • 10K potentionmeter
  • 1K Ohm weerstand (bruin,zwart,rood,goud)
  • Kabeltjes
  • breadboard
  • Externe 16V voeding

Circuit:

De aansluiting is als volgt:

  • De potentionmeter sluiten we aan op pin A0 (aneloge ingang 0)
  • De PWM output pin 3 gaat naar de TIP-122 base pin (B) via de 1K ohm
    weerstand
  • De TIP-122 emitter (E) connect je aan de massa
  • De TIP-122 collector (C) gaat naar de rails

Let op dat je de massa van de arduino en de externe voeding met elkaar verbind.
De plus van de externe voeding gaat naar de rails.

 

Code:


/*
  Project 'Rijsnelheid mbv een TIP122'
  Project details at https://www.kalkhaar.nl/rijsnelheid-met-behulp-van-een-tip122/
  Author 'Marcel Kalkhaar'
  
  Permission is hereby granted, free of charge, to any person obtaining a copy
  of this software and associated documentation files.
  
  The above copyright notice and this permission notice shall be included in all
  copies or substantial portions of the Software.
*/

int potPin = 0; // Analog pin 0 connected to potentionmeter
int railroadPin = 3;// digitaal pin 3 (pwm) output
int potValue = 0;// value of the potentionmeter

void setup() {
  pinMode(railroadPin, OUTPUT);
}

void loop() {
  // potValue read the anolog value of the potentionmeter and devide it by 4 
  // Then it writes it to the railroad pin
  potValue = analogRead(potPin) / 4;
  analogWrite(3, potValue);
  // a little delay for a bit more stability
  delay(250);
}

De sketch kunt U hier download


Originele post op bliksemsnel.net maar verhuisd naar kalkhaar.nl

Geef een reactie

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

Copyright © Alle rechten voorbehouden. | Newsphere door AF themes.