Enklaste sättet att bygga A/D och D/A omvandlare?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Hej!

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);
}
Men även den koden gick inte komplimera, tyvärr.

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. :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av sodjan »

AD omvandlare har alla processorer inbyggt. Normalt upp till 10 bitar.
AD med fler bitar finns färdiga externa IC. Det är *väldigt* svårt
att själv bygga en ADC från scratch med 10 bitar eller mer!

Samma sak gäller i princip för DAC, enkla med upp till 5-6 bitar
kan man bygga med lösa komponenter, men sedan så är det
färdiga kretsar som gäller.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Så det finns färdiga kretsar till t.ex DS18B20 temperatursensor?
Blir så så himla svårt att integrera arduino bibliotek i Simulink.
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Nisse »

DS18B20 är digital och behöver ingen A/D.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Just ja! Det är den!

Men ändå behöver man ett bibliotek för att just läsa av den. Är det inte så att den skickar information i t.ex HEX?
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Jo, jag har jobbat med DS18B20 förut och lyckats att kunna läsa av, men jag har inte direkt förstått varför man ska ska ha bibliotek till just denna om den redan skickar ut digitala signaler.

Vad gör biblioteket? Omtolkar dessa signaler till siffror?
Användarvisningsbild
Nisse
Inlägg: 908
Blev medlem: 9 juli 2006, 23:25:46
Ort: Kumla

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Nisse »

Det måste ju finnas ett program som läser av sensorn, eller vad menar du?
Biblioteket är ju en samling funktioner/program som är färdiga för att prata med sensorn så att du slipper skriva den koden själv.
Läser du databladet så ser du hur sensorn kommunicerar (1-wire).
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Jag har läst databladet.
Jag trodde att ett bibliotek omvandlade siffror så modulen kunde förstå.

Typ om modulen säger 0xf4545 så kanske det betyder 20 grader C.

Men då vet jag :)
Användarvisningsbild
LaRdA
EF Sponsor
Inlägg: 3766
Blev medlem: 9 september 2003, 14:10:46
Ort: Jämtland

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av LaRdA »

Ett tips är att öppna biblioteket och läsa programmet för att förstå vad det gör.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Jag ska försöka ge mig på det också. Är inte hi-pro när det gäller läsa någon annans C eller C++ kod.
Jag är ofta en person som "learn by doing". Jag kan inte studera annars.
Användarvisningsbild
Icecap
Inlägg: 26648
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Icecap »

Tyvärr Al, du är inte en "learn by doing"-person.

Du är en "learn nothing by <whatever>".
Du kan inte tillgodogöra dig verklig och praktisk information, du ignorerar information du får och du avvisar annan vital information.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

Ta och drick lite kaffe. :wink:

Du vet inte hur jag jobbar som när det gäller studier.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46974
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av TomasL »

Möjligt, men vi märker en hel del, baserat på dina inlägg.
Användarvisningsbild
Al_Bundy
Inlägg: 2889
Blev medlem: 11 september 2012, 23:59:50
Ort: The U.S - Chicago
Kontakt:

Re: Enklaste sättet att bygga A/D och D/A omvandlare?

Inlägg av Al_Bundy »

För att vara rättvis så säger jag att det ligger en sanning i det ni säger. Men ni tar gärna i också, vilket är en överdrift.

Just nu håller jag exempelvis på att lära mig använda Simulinks arduinobibliotek. Jag ska skicka ett värde från en UNO till en MEGA. Mega har jag programmerat med Simulink och gjort en enkel process som ska bara räkna ut och skicka tillbaka ett värde till UNO. UNO:n har jag programmerat med klassisk processing-språket.
Skriv svar