Mikroprocessor till reglersystem
Mikroprocessor till reglersystem
Just nu håller jag på att koppla in min vattenmantlade vedspis till ett radiatorsystem som länge legat i vila. I detta system kommer det krävas en mängd temperaturmätningar och styrningar relaterade till dessa.
Min tanke är att en eller ett par mikroprocessorer kanske skulle kunna användas till detta? Det verkar ju vara en billig och flexibel lösning. Från utgångarna på en lämplig mikroprocessor skulle man sedan kunna koppla förstärkningskretsar som går till relän och kontaktorer.
En logg på temperaturer och relätillslag vore också intressant, helst skulle denna sedan enkelt kunna kopplas till en dator.
Problemet är bara att jag är nybörjare på det här med mikroprocessorer och jag har lite svårt att hitta i den här djungeln. Jag kan inte programmera annat än Mitsubishi PLC.
Verkar min idé genomförbar? Rekommenderas någon speciell mikroprocessor? Sidor jag kan läsa mer på?
Min tanke är att en eller ett par mikroprocessorer kanske skulle kunna användas till detta? Det verkar ju vara en billig och flexibel lösning. Från utgångarna på en lämplig mikroprocessor skulle man sedan kunna koppla förstärkningskretsar som går till relän och kontaktorer.
En logg på temperaturer och relätillslag vore också intressant, helst skulle denna sedan enkelt kunna kopplas till en dator.
Problemet är bara att jag är nybörjare på det här med mikroprocessorer och jag har lite svårt att hitta i den här djungeln. Jag kan inte programmera annat än Mitsubishi PLC.
Verkar min idé genomförbar? Rekommenderas någon speciell mikroprocessor? Sidor jag kan läsa mer på?
Re: Mikroprocessor till reglersystem
Helt klart genomförbart...
Vilken µC som helst kan klara det, själv använder jag ett linuxsystem byggt på en NSLU2.(http://www.andli.com/main.php?system=1)
Jag har dock inte lagt till någon reglering än, den lär hamna på ett helt sepparat system som aldrig får fallera. Det blir så kallt då.
Titta på nån µC som nån kompis till dig använt.
Vilken µC som helst kan klara det, själv använder jag ett linuxsystem byggt på en NSLU2.(http://www.andli.com/main.php?system=1)
Jag har dock inte lagt till någon reglering än, den lär hamna på ett helt sepparat system som aldrig får fallera. Det blir så kallt då.
Titta på nån µC som nån kompis till dig använt.
Re: Mikroprocessor till reglersystem
Absolut genomförbar....
Eftersom du inte verkar kunna programmera i ASM så föreslår jag något nu som kommer att uppröra en del personer här (du lär märka det...).
PICBASIC PRO compiler ifråm Melabs.com och PICkit2 ifrån Microchip, ja och så en microprocessor och några DS1820 för temperatur mätningen, källkod kan jag hjälpa dig med.
Eftersom du inte verkar kunna programmera i ASM så föreslår jag något nu som kommer att uppröra en del personer här (du lär märka det...).
PICBASIC PRO compiler ifråm Melabs.com och PICkit2 ifrån Microchip, ja och så en microprocessor och några DS1820 för temperatur mätningen, källkod kan jag hjälpa dig med.
Re: Mikroprocessor till reglersystem
Jag skulle första hand fundera på om styrningen skulle vara "spridd" som i "långa ledningar" till allt.
Kan det hela hållas inom inte all för långa ledningar är det definitivt bäst att hålla sig till en enda processor, att ha ett fler-processor system blir en hel del besvär.
Loggning kan göras med en serieport, enkel att använda och behövs bara en MAX232 eller liknande för att interface.
Jag hade vald en Renesas M16C men jag är å andra sidan professionell, som amatör hade jag vald PIC18F-nånting som är en bra µC. För att programmera den hade jag vald PICKit2 eller nyare och jag hade använd MPLAB som programmerings"språk" vilket alltså ville bli assembler. Möjligen hade jag testat den student.version av C18 som MicroChip har.
Andra vill nog komma att rekommendera någon AVR-processor och det är egentligen huggit som stuckit, båda klarar av jobbet.
Fördelen med en PICKit2 + PIC18F.... är att den fungerar som ICD, detta betyder att du kan köra programmet med kretsen på plats, lägga in breakpoints, stega genom programstegen, läsa och ändra variabler osv. Detta kan man också uppnå med AVR men till en liten högre kostnad.
Kan det hela hållas inom inte all för långa ledningar är det definitivt bäst att hålla sig till en enda processor, att ha ett fler-processor system blir en hel del besvär.
Loggning kan göras med en serieport, enkel att använda och behövs bara en MAX232 eller liknande för att interface.
Jag hade vald en Renesas M16C men jag är å andra sidan professionell, som amatör hade jag vald PIC18F-nånting som är en bra µC. För att programmera den hade jag vald PICKit2 eller nyare och jag hade använd MPLAB som programmerings"språk" vilket alltså ville bli assembler. Möjligen hade jag testat den student.version av C18 som MicroChip har.
Andra vill nog komma att rekommendera någon AVR-processor och det är egentligen huggit som stuckit, båda klarar av jobbet.
Fördelen med en PICKit2 + PIC18F.... är att den fungerar som ICD, detta betyder att du kan köra programmet med kretsen på plats, lägga in breakpoints, stega genom programstegen, läsa och ändra variabler osv. Detta kan man också uppnå med AVR men till en liten högre kostnad.
Re: Mikroprocessor till reglersystem
Snyggt!AndLi skrev:Helt klart genomförbart...
Vilken µC som helst kan klara det, själv använder jag ett linuxsystem byggt på en NSLU2.(http://www.andli.com/main.php?system=1)
Jag har dock inte lagt till någon reglering än, den lär hamna på ett helt sepparat system som aldrig får fallera. Det blir så kallt då.
Titta på nån µC som nån kompis till dig använt.

Fredrick Ja Basic är ett väldigt stötande ord i vissa kretsar har man märkt

AndLi:
Ja det med loggningen blir ju enklast så, saken är bara den att jag inte vill att en dator ska stå och bränna energi bara för loggning.
Det här med att kunna modifiera sina µC medan som är i drift låter ju lysande. Jag antar att man kan dra en kabel från µC:n till en plats längre bort också så en dator enklare kan kopplas in?
Vad är fördelarna med assembler då? Som jag förstår det på vad folk sagt till mig är dom flesta andra språk enklare att använda än assembler. Om det är sant, vad är vitsen med att krångla till det?

Re: Mikroprocessor till reglersystem
PICBASIC PRO compiler skapar en ASM fil som senare kompileras till en HEX fil färdig att laddas in i PIC´en.
Man kan om man vill blanda ASM och BASIC när man skriver programmet med PBP som kompilator.
Som amatör så duger PBP gott...
Man kan om man vill blanda ASM och BASIC när man skriver programmet med PBP som kompilator.
Som amatör så duger PBP gott...
Re: Mikroprocessor till reglersystem
Om du vill ha loggning inbyggd blir det hela lite mer besvärligt, förvisso beroende på VAD du vill logga.
Ska du ha loggning av temperaturer med t.ex. 5 minuters intervall och du inte vill ha en dator att köra kontinuerligt måste du alltså ha något minne att spara det hela i (gärna mycket så att du kan åka bort ett par veckor) samt en klocka (RTC) som håller koll på datum & tid.
Inget problem som sådan men en del mer extrapyssel.
Fördelen med ASM är att man lär sig HUR processorn fungerar, nackdelen är att man skriver väldigt mycket. Det siste är samtidig lite av en fördel, man brukar ju av lathet försöka återvinna kod så mycket det bara går och plötsligt har man bra rutiner som är ganska "generella" vilket kan återvinnas i andra projekt samtidig som det ger struktur i hela programmet.
Vill du välja ett högre nivå programmeringsspråk för att du skiter i hur processorn fungerar är det ju helt OK, det finns en uppsjö som alla ger fungerande resultat. Vissa har begränsningar i strukturen, andra kan knappast flyttas till andra processorer men är det "bara" detta projekt kan portabilitet ju vara intensivt likgiltigt och ett program med kass struktur kan med viss sannolikhet ändå klara jobbet.
Personligt anser jag att allt programmeringsspråk med BASIC i inte ens är värdigt att torka hundens röv med, detta baserar jag på en hel del erfarenhet av ett antal språk men i slutändan är det en fråga om jobbet blir gjort eller inte.
Ska du ha loggning av temperaturer med t.ex. 5 minuters intervall och du inte vill ha en dator att köra kontinuerligt måste du alltså ha något minne att spara det hela i (gärna mycket så att du kan åka bort ett par veckor) samt en klocka (RTC) som håller koll på datum & tid.
Inget problem som sådan men en del mer extrapyssel.
Fördelen med ASM är att man lär sig HUR processorn fungerar, nackdelen är att man skriver väldigt mycket. Det siste är samtidig lite av en fördel, man brukar ju av lathet försöka återvinna kod så mycket det bara går och plötsligt har man bra rutiner som är ganska "generella" vilket kan återvinnas i andra projekt samtidig som det ger struktur i hela programmet.
Vill du välja ett högre nivå programmeringsspråk för att du skiter i hur processorn fungerar är det ju helt OK, det finns en uppsjö som alla ger fungerande resultat. Vissa har begränsningar i strukturen, andra kan knappast flyttas till andra processorer men är det "bara" detta projekt kan portabilitet ju vara intensivt likgiltigt och ett program med kass struktur kan med viss sannolikhet ändå klara jobbet.
Personligt anser jag att allt programmeringsspråk med BASIC i inte ens är värdigt att torka hundens röv med, detta baserar jag på en hel del erfarenhet av ett antal språk men i slutändan är det en fråga om jobbet blir gjort eller inte.
Re: Mikroprocessor till reglersystem
För mig låter det helt omöjligt att torka en röv oavsett vem röven tillhör med ett programmeringsspråk!
Papper brukar jag använda, men inte skulle jag använda COOP´s lågpris rullar äns till min hund, nää riktigt dyrt kvalitéts papper skall det vara.

Papper brukar jag använda, men inte skulle jag använda COOP´s lågpris rullar äns till min hund, nää riktigt dyrt kvalitéts papper skall det vara.

Re: Mikroprocessor till reglersystem
Intressanta åsikter!
Det låter ju som att loggning får bli ett lite senare projekt.
http://www.robotshop.se/micro/pdf/SICSV49.pdf
I denna PDF hittade jag ett nybörjarexempel på PBASIC programmering. Målet med övningen var att få en lysdiod att blinka. Programmet blev så här:
output 0
reblink:
out0 = 0
pause 1000
out0 = 1
pause 1000
goto reblink
T.om. enklare än Mitsubishi PLC ju.
Jag funderar dock på att lära mig det här med assembler med en gång, eftersom det verkar bra att kunna. För att jag ska få en lite bättre bild av assemblerprogrammering, hur skulle ovanstående program se ut i assembler?

Det låter ju som att loggning får bli ett lite senare projekt.
http://www.robotshop.se/micro/pdf/SICSV49.pdf
I denna PDF hittade jag ett nybörjarexempel på PBASIC programmering. Målet med övningen var att få en lysdiod att blinka. Programmet blev så här:
output 0
reblink:
out0 = 0
pause 1000
out0 = 1
pause 1000
goto reblink
T.om. enklare än Mitsubishi PLC ju.

Jag funderar dock på att lära mig det här med assembler med en gång, eftersom det verkar bra att kunna. För att jag ska få en lite bättre bild av assemblerprogrammering, hur skulle ovanstående program se ut i assembler?
Re: Mikroprocessor till reglersystem
> output 0
> reblink:
> out0 = 0
> pause 1000
> out0 = 1
> pause 1000
> goto reblink
>
> hur skulle ovanstående program se ut i assembler?
Kanske :
Sen tillkommer lite initiering, men det gör det i båda fallen, och det beror på vald processor.
Du får också fixa en subrutin pause_1000, men det är enkelt.
Eller om lägger till ett par macron inna koden:
Naturligstvis är det inte helt komplett, men det var ju inte ditt exempel heller...
> reblink:
> out0 = 0
> pause 1000
> out0 = 1
> pause 1000
> goto reblink
>
> hur skulle ovanstående program se ut i assembler?
Kanske :
Kod: Markera allt
BCF TRISB, 0
reblink:
BCF PORTB, 0
CALL pause_1000
BSF PORTB, 0
CALL pause_1000
GOTO reblink
Du får också fixa en subrutin pause_1000, men det är enkelt.
Eller om lägger till ett par macron inna koden:
Kod: Markera allt
BCF TRISB, 0
reblink:
LED_off
pause_1000
LED_on
pause_1000
GOTO reblink
Re: Mikroprocessor till reglersystem
Här kommer däremot ett *HELT* komplett exempel skrivet i PBP..
Den koden kompilerar rakt av, utan någonting annat än en ren installation av PBP, inga macron eller nåt som någon utomstånde gjort.
(Dock så föredrar jag ju att sätta PIC-specifika saker typ oscillatortyp, watchdog osv i koden, annars blir det ju defaultvärden, eller så får man förlita sej på att det går att ställa in i sin programmerares mjukvara.. en rad typ: '@ device HS_OSC,LVP_OFF,WDT_OFF,PROTECT_OFF' är lämplig, om än ej nödvändig.)
Otroligt enkel kod att förstå, otroligt enkel kod att skriva.
..Hur många gånger ska vi behöva ta denna diskussionen ?
Kod: Markera allt
Main:
high porta.1
pause 1000
low porta.1
pause 1000
goto main
(Dock så föredrar jag ju att sätta PIC-specifika saker typ oscillatortyp, watchdog osv i koden, annars blir det ju defaultvärden, eller så får man förlita sej på att det går att ställa in i sin programmerares mjukvara.. en rad typ: '@ device HS_OSC,LVP_OFF,WDT_OFF,PROTECT_OFF' är lämplig, om än ej nödvändig.)
Otroligt enkel kod att förstå, otroligt enkel kod att skriva.
..Hur många gånger ska vi behöva ta denna diskussionen ?

Re: Mikroprocessor till reglersystem
Det behövs inte fler gånger Glenn, alla som vill förstå har redan förstått! 

Re: Mikroprocessor till reglersystem
Hur många gånger ? Tja, vad vet jag, men han frågade ju... 
Men att *jämföra* språk genom att bara titta på 5-6 kodrader är ju helt galet också.
Men det har gåtts igenom flera gånger om man kollar runt lite i forumet.

Men att *jämföra* språk genom att bara titta på 5-6 kodrader är ju helt galet också.
Men det har gåtts igenom flera gånger om man kollar runt lite i forumet.
Re: Mikroprocessor till reglersystem
Har du mer information om det? Använder du digitemp eller hur gör du? Och en inlödd serieport i SLUggen? Eller kör du över USB?AndLi skrev:...
Vilken µC som helst kan klara det, själv använder jag ett linuxsystem byggt på en NSLU2.(http://www.andli.com/main.php?system=1)
....
Jag har ett par SLUggar som ligger, vore kul att använda dem till något.
Re: Mikroprocessor till reglersystem
Det finns faktiskt en projekttråd om mitt system:
http://elektronikforumet.com/forum/view ... =3&t=23829
Kort kan man säga att jag kör owfs och USB serieport, har sedan ett eget litet hemmasnickrat program som läser av temperaturen och vidarbefodrar det till en extern (andli.com) webserver.
http://elektronikforumet.com/forum/view ... =3&t=23829
Kort kan man säga att jag kör owfs och USB serieport, har sedan ett eget litet hemmasnickrat program som läser av temperaturen och vidarbefodrar det till en extern (andli.com) webserver.