• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino UNO R3+ TB6600+NEMA 23
#1
Witam
Panowie potrzebuje pomocy w napisaniu programu który będzie uruchamiał silnik krokowy NEMA 23 2Nm z określaną prędkością, następnie po wykryciu przez czujnik zbliżeniowy (np NC NPN) obiektu silnik się zatrzymuje, a uruchamiają się 2 przekaźniki, jeden po drugim z określoną zwłoką. Dodam że jestem bardzo początkującym  użytkownikiem Arduino  i dopiero uczę się programowania dlatego proszę o pomoc w moim pierwszym programie.
 
#2
Hmmm... zacznij, jeśli jesteś bardzo początkujący, od:
1. Niech dioda mruga.
2. Niech dioda świeci po wciśnięciu przycisku.
2b. Niech dioda świeci, kiedy zrobi się ciemno (podpowiedź: fotorezystor).
3. Niech, po pokręceniu potencjometrem, dioda zjaśnia się i ściemnia (podpowiedź: PWM).
4. Symulator świateł ulicznych: 3 diody dla samochodów, 2 diody dla pieszych, przycisk.

Nie rzucaj się na głęboką wodę, bo utoniesz, taka jest prawda.
Jeśli będziesz miał w przyszłości problemy, pomożemy... ale nie oczekuj od nas, że napiszemy za Ciebie gotowe programy.
 
#3
Ok zaczyn dzisiaj działać i będę na bieżąco pokazywał co zrobiłem.
Ogólnie te 4 punkty ogarniam bo wszystko jest tu
https://forbot.pl/blog/kurs-arduino-pomi...adc-id3819
Chodzi mi o kontrolę silnikiem krokowym przy pomocy większego sterownika (z racji gabarytów silnika)
Dzisiaj wrzucę to nad czym kombinuję
 
#4
Sterowanie silnikiem, o jakim wspomniałeś wcześniej, znajdziesz choćby tutaj Smile
 
#5
Dzięki za link krn78
Posiedziałem i w sumie udało mi się zrobić to co chcę

Kod:
#include <Stepper.h>

const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution
// for your motor


// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0;  // number of steps the motor has taken

void setup() {
pinMode(7, OUTPUT); //elektrozwor
pinMode(6, OUTPUT); //elektrozawór
pinMode(5, INPUT_PULLUP); //czujnik zblizeniowy
digitalWrite(7, LOW); //Wyłączenie diody
digitalWrite(6, LOW);
digitalWrite(5, LOW);

}

void loop()
{
if (digitalRead(5) == LOW) { //Jeśli przycisk wciśnięty
 
  digitalWrite(6, HIGH); //Włącz diodę
  delay(1000); //Czekamy 10 sekund
  digitalWrite(6, LOW); //Wyłączamy diodę
  delay(1000);
  digitalWrite(7, HIGH);
  delay(1000);
  digitalWrite(7, LOW);
  delay(1000);
 
 
 } else {
   // read the sensor value:
int sensorReading = analogRead(A0);
// map it to a range from 0 to 100:
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// set the motor speed:
if (motorSpeed > 0) {
  myStepper.setSpeed(motorSpeed);
  // step 1/100 of a revolution:
  myStepper.step(stepsPerRevolution / 100);
}
 }



}
 
#6
Przynajmniej w ISIS działa

Jeśli ktoś ma jakieś uwagi to proszę o komentarz

Co do podłączenia chciałem je zrealizować tak jak na tym filmie
https://www.youtube.com/watch?v=nBD0oBE8s70
 
#7
(24-11-2017, 23:37)jacoslaw@gmail.com napisał(a): Dzięki za link krn78
Posiedziałem i w sumie udało mi się zrobić to co chcę
Proszę.
Przy okazji, kiedy zamieszczasz kod programu, umieszczaj go w znacznikach [ code ] (tutaj kod) [ /code ] (wewnątrz znaczników usuń spacje).
 
  


Skocz do:


Przeglądający: 1 gości