Jag tänkte nämligen börja med något riktigt enkelt. Mathworks har gått ned på knä inför store Arduino och gett sitt stöd. Det innebär att man kan blockprogrammera en Arduino idag utan att ens hålla på med kod.
Det finns en polack på tuben som visade hur man integrerade Arduino drivrutiner med just simulink, men det går alldeles för fort och det finns ingen logik in det hela hur man går till. Man står mest bara som ett frågetecken.
Film:
Fördelen med att just integrera bibliotek i Simulink är att man bygger in en A/D eller D/A konverterare i själva CPU:n, men i mitt fall så klarar jag inte ens av det.
Därför fick jag en idé om man kanske ska programmera en enskild liten krets som just är anpassat för en viss t.ex stepper motor eller temperaturgivare, och sedan reglertekniken gör man med arduino?
Jag har en jätteenkel kod här som jag försökte skapa ett block i Simulink via S-fuction builder.
Kod: Markera allt
#include <Stepper.h>
int in1Pin = 12;
int in2Pin = 11;
int in3Pin = 10;
int in4Pin = 9;
Stepper motor(512, in1Pin, in2Pin, in3Pin, in4Pin);
void setup()
{
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(in3Pin, OUTPUT);
pinMode(in4Pin, OUTPUT);
motor.setSpeed(20);
}
void loop()
{
motor.step(40);
}
Då undrar jag om det är ett smart sätt att programmera enskilda kretsar som ska omvandla digitala eller analoga signaler från givare eller CPU, eller till givare eller CPU?
Vi säger att jag har temperaturgivaren DS18B20 och en steppermotor 28BYJ-48 som har H-bryggan ULN2003. Både dessa har jag bibliotek till som fungerar perfekt med Arduino.
Eller vad tycker ni?
Min tanke med det hela är att jag kör själva reglertekniken via Simulink och programmerar analoga och digitala signaler, och sedan A/D- och D/A-omvandlare som tolkar om dessa signaler.
Att reglera system med enbart skriva C-kod är lite nog jobbigt för mig, nu när jag har gått en elektronikkurs i reglerteknik.
