PİNPON TOPUNU PID KONTROL İLE DENGEDE TUTMA

PİNPON TOPUNU PID KONTROL İLE DENGEDE TUTMA


Merhaba arkadaşlar bugün size Pinpon topunu Pıd kontrol yöntemi dengede tutmaya çalışacağız.

MALZEMELER
- Arduino Uno
- Ultrasonik Mesafe Sensörü(HC SR04)
- Servo Motor
- Jumper Kablo
- Board

Elektronik Kısım
Alttaki devrede  Güç kaynağından enerji sağlamış ve HC SR04 sensör kullanmamış . Biz Arduinodan 5Voltluk enerji sağlıyacağız ve Sensördeki Trig girişi Arduinoda D6'ya takıcaz Echo girişi ise D7'ye takacağız.




SERVO MOTOR BAĞLANTILARI

Sinyal pin - Dijital Pin
VCC - 5V
GND - GND



MEKANİK KISIM


ARDUİNO KODLARI

#include<Servo.h>
#include<PID_v1.h>
const int servoPin = 9;
float Kp = 2.5;// İlk Oransal Kazanç
float Ki = 0; // İlk İntegral Kazancı
float Kd = 1.1; //İlk Türev Kazancı
double Setpoint, Input, Output, ServoOutput;
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
Servo myServo;
#define trigPin 6
#define echoPin 7
void setup() {
 
Serial.begin(9600);
myServo.attach(servoPin);
Input = readPosition();
myPID.SetMode(AUTOMATIC);
myPID.SetOutputLimits(-80,80); // -80 ile 80 derece arası
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
 
void loop()
{
Setpoint = 15; // Denge Noktası
Input = readPosition();
 
myPID.Compute();
 
ServoOutput=102+Output;
myServo.write(ServoOutput);
}
 
float readPosition() {
delay(40);
long duration, cm;
unsigned long now = millis();
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
cm = (duration/2) / 29.1;
 
if(cm > 30) // 30 cm top için maksimum pozisyon
{cm=30;}
 
Serial.println(cm);
 
return cm; //Mesafe değerini döndürür.
}


KAYNAK:robimek.com

PARTSİM OPAMP DEVRESİ

PARTSİM


- Merhaba arkadaşlar bugün size Partsim de Opamp devresi kuracağım öncelikle Partsime giriş yapalım





-Aşağıda gördüğünüz gibi internetten veya megepten bulabilceğiniz bir devre seçtim ve partsim de tasarladım




Devremizi tasarladıktan sonra yukarda RUN'a tıklıyoruz ve hangi simulasyonları bakmak istiyorsak onları etkinleştiriyoruz. AC analiz , DC önyargıları işaretliyip alt tarafında DC Sweep de başlangıç voltajı durma voltajı istediğimiz bi ayara getiriyoruz. Daha sonra AC  analizde de frekanslarımızı ayarlıyoruz. ve RUN diyoruz.





 - Sinyallerimiz değişen değerleri aşağıdaki fotografla görüldüğü gibidir