Projekt rumsstyrning PIC18 C-kod

Berätta om dina pågående projekt.
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Projekt rumsstyrning PIC18 C-kod

Inlägg av Frisk »

Nu har jag hängt här för länge för att kunna hålla mig borta!
Håller just nu på med lite rumsstyrning, vad som är tänkt att kontrolleras är till att börja med persienner och rullgardin, även kopplat till väckning.
Även tänkt att belysningen ska kopplas in.

Allt kommer styras via PIC18, 2550 och ev. även 4550, programmet skrivs i C-kod.

Såhär långt börjar det flesta funktioner bli klara, kan skicka ut servovärden, för att vinkla persienner, och dimmra lampor. läser in AD-värde för att mäta ljusstyrka innanför och utanför fönstret. har en PWM-funktion med MUX för att få en fadande funktion med RGB-LEDs.

Motorer för rullgardin och Persienner sitter på plats.

Har nu stött på problem, skrev kod för att läsa in ett AD-värde från en potentiometer, beroende på innom vilket intervall värdet låg skulle koden göra olika saker.
Fick inte detta att fungera men bantar ner koden allt eftersom och felsöker.

Programmet är skrivet i MPLAB och PICen programmeras med en Microship ICD 2


Lite bilder är väl alltid kul!
Börjar med motorn som drar upp och ner rullgardinen:
Motor

Och så motorn för hissa persienner, hade först en simplare lösning, men trodde inte en så billig skruvdragare skulle gilla den sneda belastningen så kompletterade med ett kullager under, buntbanden kommer så klart klippas så fort jag vet det inte behövs fler justeringar.
Som synes väl tilltagna kablar för de upskattningsvis ca 3A som går i kablarna ;) switchen för att generera avbrott när rullgardinen är nere syns också:

Motor2

Bild på brytaren upptill:
Switch

En display som ska in i systemet, grafisk 240x64 punkter. Inte hunnit testa den än. EL-bakbelyst hoppas den fungerar, gav 100kr för den "begagnad" oanvänd, köpt i en mindre elektronikbutik, såldes som okänd display, därav priset:
Display

edit: Tagit bort koden ovan då ingen direkt lyckades se var felet var, håller sakta på och försöker hitta var jag gjort missen, dock tar skolan en del tid så går inte allt för fort.
Senast redigerad av Frisk 13 november 2007, 23:40:19, redigerad totalt 3 gånger.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

Jag har inte kollat koden (och kommer nog inte att kolla
så mycket på den heller), det är lite för mycket för att
det ska vara "kul"...

Skriv istället ett litet test-case som testar just det du verkar ha
problem med (alltså varför rBlindUpp inte "ändrar sig"),
så kanske du löser just *det* problemet...
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

följer sodjans rekomendation å bantar ner koden tills jag ser vad som är fel, därför borttagen i föregående inlägg (ingen idé att ha kvar kod som ändå inte funkar som den ska)

får se när det finns tid för detta, har nu en annan liten fundering, tänkte ta mig förbi Elfa snart, ska programmera en klocka, tänkte därför köpa med en klockkristall, 32768Hz, vad ska jag använda för kondensatorer till denna? står på Elfas hemsida 12.5pF lastkapacitans, men står i PIC-databladet att det ska vara 33pF, vilket ska jag använda? Eller är lastkapacitansen intern kapacitans på kristallen?
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

Lastkapacitans är de extra kondingar som ska anslutas.
Sen är det lite rörigt om man räknar båda parallelt (d.v.s halva värdet)
eller inte. Prova med några vanliga värden, t.ex 22pF eller 33pF.
Det står ocksp i databladet vilket påverkar lägre eller högre värde har.
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

Tack för svaret! var det jag antog, men när det skilde så mellan PIC-manualen och databladet på kristallen blev jag osäker, men stämmer ganska bra som du säger med att kondensatorerna sitter paralellt, blev en beställnign på lite blandade värden så får jag se vad som fungerar bäst.
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

Sådär, hänt lite till nu i alla fall, kanske inte just på övrigt, men i alla fall kommit en bit på tillhörande klocka, ska styras med en MUX som tänder 1-8 på samtliga LEDs, sen därunder jordar man en av 6 grupper för att väja vilken som ska tändas, sen görs liknande för sekunder, minuter och timmar,mycket lödpunkter, och mycket kopplingstråd kommer det bli.
Här kommer lite bilder, mer kommer efter lysdioder är beställda och mottagna.

En del kapade bitar
några bitar med oslipade sidan uppåt
Flertalet bitar upplagda för test innan allt var monterat
Resultat med alternativ ljuskälla
Senast redigerad av Frisk 15 juni 2007, 23:29:56, redigerad totalt 1 gång.
Användarvisningsbild
jack
EF Sponsor
Inlägg: 2059
Blev medlem: 5 oktober 2004, 17:32:27

Inlägg av jack »

Bra ide på klocka!
klintan
Inlägg: 307
Blev medlem: 13 juni 2003, 01:59:05
Ort: Ekerö

Inlägg av klintan »

ja det där ser ut att bli sjukt snyggt.
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

Tack för komentarerna!
Har nu kopplat upp som jag tänkte, i mindre skala, verkar fungera som planerat. styr nu 8 (9) lysdioder på 4 pinnar.
Vad jag nu skulle vilja göra är att kunna tända 2LEDs på samma gång, eller ja, växla mellan 2 olika så det upplevs så, så när det gått en halv minut lyser "visarna" för både aktuell minut och nästkommande, antar detta går lösa ganska lätt via någon slags loop, men då klockan även ska prata I2C kan jag inte köra en evighetsloop. Någon som har förslag på hur jag löser detta?
Undrar även över I2Cn, hur skriver jag kod med klockan som slav, utan att riskera att I2Cn bryter sekunduppräknandet?
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

Sådär, nu börjar det bli klart, ska bara kopplas in som det är tänkt.
Mycket snabb och fin leverans, som vanligt, från upplyst.se, när jag väl lyckades få iväg beställningen.
En liten leverans av lysdioderUnigefär hälften av lysdioderna limmade på plats[/url]
Ett exempel på hur det ser ut när flera färger lyser samtidigt (Blå och röd)
Såhär skulle det kunna se ut när klockan är i bruk
Användarvisningsbild
Housepainter
EF Sponsor
Inlägg: 1318
Blev medlem: 19 juli 2006, 18:50:38
Ort: Borås

Inlägg av Housepainter »

Mycket intressant bygge! :)
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

Sjukt snyggt!
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Mycket snyggt! :) :tumupp:

Hur hålls plexibitarna på plats?
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

sitter ihop som på bilden:"Flertalet bitar upplagda för test innan allt var monterat" en tygremsa i mitten, som alla är limmade runt, sen utvecklade som en "solfjäder" och limmade ytterst i en bit plastmatta, med hål i för lysdioderna.
Frisk
Inlägg: 92
Blev medlem: 9 maj 2007, 21:31:10
Ort: Södertälje
Kontakt:

Inlägg av Frisk »

Sådär,dags för en liten uppdatering, allt har inte stannat upp, helt, men var 2 tunga kurser i skolan förra perioden så gått väldigt långsamt, i alla fall gjort klart fönsterbelysningen nu, blev såhär:
Bild1
Bild2
Småsvårt att ta bilder på belysningar,men hoppas det duger.
Även jobbat lite med displayen,utan allt för lyckat resultat,men tror mig ha ett fungerande program snart...
Klockkortet kan nog anses som klart nu, tror jag, ska skicka iväg filerna snart så jag kan få ett etsat kort. Skulle kunna göra det i skolan men känns som det är mer jobb än nöje, i alla fall när det inte verkar vara några fler som ska etsa kort just nu. Känns onödigt att dra igång allt för att göra ett kort.

Edit: nya länkar.
Senast redigerad av Frisk 15 februari 2008, 19:47:10, redigerad totalt 1 gång.
Skriv svar