Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Automatische treinbesturing

Componenten en benodigdheden

Jumperdraden (algemeen)
× 1
Arduino UNO
Je kunt ELK Arduino-bord gebruiken (UNO, NANO, MEGA en etc)
× 1
SparkFun Dual H-Bridge motordrivers L298
Ik raad aan om een ​​gewone L298-motorstuurmodule te gebruiken, zoals op de afbeelding van het circuit
× 1

Apps en online services

Arduino IDE

Over dit project

Met dit zeer eenvoudige schema kunt u de trein snel op uw schema krijgen. U kunt de verplaatsingstijd en de stoptijd van de trein aanpassen. Treinacceleratie en remmen zijn ook configureerbaar. Door de schemaparameters in de schets te wijzigen, kunt u elk type automatische beweging maken. Zet gewoon de stroom aan en je trein vertrekt.

De tijdparameters in de schets wijzigen:

// 1 | 0> Tijd <5 secif (counterScheduler <=5) { ......// 2 | 10 sec> Tijd <15 secif ((counterScheduler>=10) &&(counterScheduler <=15)) { ......// 3 | Verander richtingif (counterScheduler ==16) {.... etc.  

maakt een tijdschema.

Variabelen:

int brakeDelta =5; int acceleratieDelta =6; 

definieer de bewegingsparameters van de trein

De richting van de trein wordt bepaald door de toestand van de pinnen D6 en D7:

// Stel de standaardrichting in op FORWARD digitalWrite(L298_IN1, HIGH); digitalWrite (L298_IN2, LAAG);  

Je kunt deze schets eindeloos veranderen om nieuwe opties voor automatische treinbeweging te krijgen.

Welkom aan boord!

Code

  • Zwaaien
Zwaai Arduino
// L298 #define L298_ENA 5#define L298_IN1 6#define L298_IN2 7// SCRIPTS VARIABLESint counterScheduler;unsigned long timerScheduler =0;unsigned long timerLocal =0;byte speedAuto =0;void setup() {// Initialiseren van pinnen pinMode (L298_ENA, UITGANG); pinMode (L298_IN1, UITGANG); pinMode (L298_IN2, OUTPUT);//Stel de standaardrichting in op FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, LAAG); }void loop() { // Start Scheduler if (millis()> (timerScheduler + 1000)) { // Vink elke 1 sec counterScheduler++ aan; timerScheduler =millis(); } // ------------- SCRIPT SWING int remmenDelta =5; int acceleratieDelta =6; // 1 | 0> Tijd <5 sec if (counterScheduler <=5) { // Start trein if (millis()> (timerLocal + 100)) { if (speedAuto <240) speedAuto =speedAuto + acceleratieDelta; anders speedAuto =255; analoogWrite(L298_ENA, speedAuto); timerLocal =millis(); } } // 2 | 10 sec> Tijd <15 sec if ((counterScheduler>=10) &&(counterScheduler <=15)) { // Stop trein na 10 sec // Stop trein if (millis()> (timerLocal + 100)) { if ( speedAuto> 30) speedAuto =speedAuto - remmenDelta; anders speedAuto =0; analoogWrite(L298_ENA, speedAuto); timerLocal =millis(); } } // 3 | Verander van richting als (counterScheduler ==16) { digitalWrite (L298_IN1, LOW); digitalWrite (L298_IN2, HOOG); } // 4 | 20 sec> Tijd <30 sec if ((counterScheduler>=20) &&(counterScheduler <=30)) { // Start trein if (millis()> (timerLocal + 100)) { if (speedAuto <240) speedAuto =speedAuto + versnellenDelta; anders speedAuto =255; analoogWrite(L298_ENA, speedAuto); timerLocal =millis(); } } // 5 | 31 sec> Tijd <40 sec if ((counterScheduler>=31) &&(counterScheduler <=40)) { // Stop trein // Stop trein if (millis()> (timerLocal + 100)) { if (speedAuto> 30 ) speedAuto =speedAuto - remmenDelta; anders speedAuto =0; analoogWrite(L298_ENA, speedAuto); timerLocal =millis(); } } // 6 | Keer terug naar stap 1 als (counterScheduler> 40) { counterScheduler =0; digitalWrite (L298_IN1, HOOG); digitalWrite (L298_IN2, LAAG); }}

Schema's


Productieproces

  1. Besturingscircuits
  2. Birth Control Pil
  3. Pool Fill Control
  4. Wat is benchwork?
  5. Wat is kwaliteitscontrole?
  6. Wat is een automatische persmachine?
  7. Wat is een automatische powerpers?
  8. Wat is een automatische pijpenbuiger?
  9. Wat is automatische draaitafel?
  10. Automatisch transmissiesysteem begrijpen
  11. Automatisch smeersysteem begrijpen