Sida 1 av 4

PIC för att ersätta min koppling

Postat: 16 juni 2009, 14:53:21
av fireas
Hej!

Har en koppling bestående av en krets(huvudkomponent - timer 555an) och massor med dioder (300st typ) , jag kan styra frekvensen på blinkningen genom 2 st potentiometrar och en switch ( switch byter till olika kondningar = olika frekvensområden). Detta vill jag istället ersätta med en PIC processor så att man kan styra frekvensen genom datorn.

Några ideer?

Har aldrig gjort pic saker, tips på köp? Ska fungera till Mac och jag har tänkt på att bygga en egen men fungerar det bra?

MVH

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 14:56:39
av v-g
Fungerar nog men tar en stund att lära upp sig.

MAC har väl USB och då är väl enklast att köra antigen en PIC med färdig usb-del eller ett FT232 chip (usb-->rs232 omvandlare). Har du serieport (rs232) kan du köra med väldigt många olika pic med USART och en MAX232 (rs232 nivåomvandlare).

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 15:09:04
av fireas
värt att nämna är att en diodremsan är extern och kopplas via en transistor till jord resp signal.

Assembler har jag hållt på med LITE i skolan (datorteknik 6hp) och annars är det java (C inte långt ifrån).

Men jag vill jättegärna ha ett billigt alt. pga att detta är nog ända ändamålet för pic:en

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 15:17:28
av sodjan
*Hur* blinkar dioderna ? Alla gemensamt och på samma gång ?
D.v.s behöver du bara *en* signal med variabel frekvens/pullsbredd ?

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 15:20:53
av fireas
Timern är kopplad tilll 3 transistorer som var och en driver 99 dioder. för att då svara på din fråga: ja , de blinkar samtidigt.

Men det jag oroar mig över(förutom kostnad -kan nog ha överseende då det är användbart i framtiden också) är om det ens funkar att göra detta via en PIC-processor(hur vet jag vilken, finns jättemånga) och dator-interfacet för att styra frekvensen genom datorn, hur skall jag göra det?

MVH

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 15:27:54
av Micke_s
"Arduino Duemilanove USB board" kanske är en ide.
har FTDI chip USB->uart -> atmega -> din kod -> pwm ut.
Elektrokit säljer dessa för 279kr

Edit: då kommer du inte behöva något mer än en usb-sladd och koppla in dina transistorer till 3st pwm-utgångar på atmega:n.

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 15:54:15
av fireas
det låter som en bra ide, hur/var sätter man in processorn? :oops:

Men det låter svårt att programmera en sådan PIC processor så att man ska från datorn ställa in frekvenser(helst styra som en "ratt") så att de ska blinka med den givna frekvensen. Vilken hade passat för ändamålet?

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 15:57:27
av sodjan
Det är ju flera delar i detta projekt.

1. Processorn => lysdioderna.
Enkelt, du kan i princip plocka lösningen direkt från din 555'a.

2. Programvaran.
Ska det enbart styras från en PC så behövs inga knappar eller
annan interface på själva processorn. Någon rutin för att läsa
kommandon från USART och justera timing rutinerna. Kanske någon
"ACK" tillbaka så att PC programmet vet att kommandot har kommit fram.

2. Koppling processor <=> PC.
Serieinterface brukar vara absolut enklast att både förstå och att få igång.
Har inte datorn COM-port så fungerer en USB/RS232 adapter alldeles utmärkt.
Det finns USB/serieadapters som har TTL/CMOS nivåer (så slipper du en
extra RS232 omvandlare). Sedan en processor med USART, så klart.
Resten är "bara" programvara... :-)

Du behöver också ett program på PC'n för att styra det, något enkelt
i VB.net eller liknande brukar vara enklast. Hur *det* ska se ut vet
bara du...

Val av processor är inte kritiskt, du behöer ju bara en utgång !
Ta en lämplig med USART, 14/16/18-pinnars eller så. Finns flera
men säg PIC16F688 bara för att nämna någon...

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 16:02:26
av fireas
Först och främst måste jag applådera era snabba och mkt utförliga svar. Samt ett tack:D

Jaha, så det kortet är processorn/självprogrammerare , inte en programmerare för olika PICprocessorerna?
sodjan skrev:Det är ju flera delar i detta projekt.

1. Processorn => lysdioderna.
Enkelt, du kan i princip plocka lösningen direkt från din 555'a.

Plocka lösningen?

2. Programvaran.
Ska det enbart styras från en PC så behövs inga knappar eller
annan interface på själva processorn. Någon rutin för att läsa
kommandon från USART och justera timing rutinerna. Kanske någon
"ACK" tillbaka så att PC programmet vet att kommandot har kommit fram.

Det är här jag inte förstår så mkt, hur gör man ett program som fixar sådant? gör man det genom programvaran eller är det programmering externt som man importerar osv. Vet inte hur jag hade bemött problemet då det är en frekvens jag ska skicka ut. helt borta här

2. Koppling processor <=> PC.
Serieinterface brukar vara absolut enklast att både förstå och att få igång.
Har inte datorn COM-port så fungerer en USB/RS232 adapter alldeles utmärkt.
Det finns USB/serieadapters som har TTL/CMOS nivåer (så slipper du en
extra RS232 omvandlare). Sedan en processor med USART, så klart.
Resten är "bara" programvara... :-)

Du behöver också ett program på PC'n för att styra det, något enkelt
i VB.net eller liknande brukar vara enklast. Hur *det* ska se ut vet
bara du...


Val av processor är inte kritiskt, du behöer ju bara en utgång !
Ta en lämplig med USART, 14/16/18-pinnars eller så. Finns flera
men säg PIC16F688 bara för att nämna någon...

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 16:25:22
av jesse
Själv köpte jag en begagnad AVRISP (AVR-programmerare kompatilbel med AvrStudio 4 som går att köra på Windows) för ett par hundralappar. Sedan köpte jag en hög med ATmega48 som är billiga och enkla. Dessa går att koppla direkt till programmeraren via en 6 eller 10-polig stiftlist (som heter ISP) bara man har 5V matningsspänning. På så vis kan man programmera om sin processor samtidigt som den sitter på plats där den ska vara.

Det är kul och enkelt att programmera, och det finns bra litteratur på svenska för nybörjare.

De har inbyggd UART och alla de funktioner du behöver. Att köra med processorer med inbyggt USB-interface är dyrt och verkar krångligt. RS232 är ju enkelt.

Jag gillar givetvis om andra också börjar med AVR - då kan man prata samma processorer och kod. Jag har programmerat i assembler, men ska testa C nån gång.

PIC har jag inte använt alls.

EDIT: här kommer en bild på ett enkelt kretskort med en attiny26:
Bild
ISP-kontakten längst ner i mitten. Den har mjukvaru-uart (tiny26 har ingen hårdvaru-UART som mega har) och 4 analoga ingångar (uppe till höger).
"Transistorn" (to92) uppe i mitten är en 78L05 spänningsregulator - det enda egentligen som behövs, förutom ISP-kontakten, processorn och ett par kondensatorer. Ska du ha RS232 anslutning behövs dock lite spänningsanpassning - det räcker oftast med några motstånd, annars finns ju max202-kretsar om man vill vara proffsig.

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 16:34:56
av fireas
problemet jag har, förutom de ovan är främst HUR jag ska programmera mjukvaran till datorn. Enklaste är om man kan göra något som bara är en linje (vågrät) med någonting på som man kan röra(som en volymstapel). och på så sätt styra 555an borde det vara, eller kan processorn agera som frekvensgivare(oscillator)? och sen det som skickas tillbaka ska då vara den frekvens som ställs in.

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 16:40:55
av jesse
Du har ju programmreat i Java. I java finns ju färdiga objekt man kan stoppa in i ett fönster, tex "slides" osv... Men för att komma åt serieporten i java behöver du ett paket som heter "Java Communications API". Jag har själv inte testat javax.comm så fråga mig inte om detaljer.

EDIT: har du en mikroprocessor inblandad behöver du förstås inte använda någon 555:a. Du använder en utgång på processorn som ger rätt frekvens som du kan koppla direkt till dina transistorer .

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 16:54:25
av sodjan
Ja du, du har mycket att läsa på... :-) :-)

> Plocka lösningen?

Ja, hade du inte en 555'a som redan nu "blinkar" lysdioderna ?
Eftersom du bara ersätter 555'an med en processor så kan du behålla resten.

> Det är här jag inte förstår så mkt, hur gör man ett program som fixar sådant? gör man
> det genom programvaran eller är det programmering externt som man importerar osv.
> Vet inte hur jag hade bemött problemet då det är en frekvens jag ska skicka ut. helt borta här

Det är väl bara det där på slutet som verkar stämma här... :-)
Du utvecklar ett program till din processor på din PC som sedan
överförs till processorn. Se info om PIC (eller AVR) för detaljer
kring det. Sedan skriver du ett annat program som körs
på PC'n. Dessa två program "snackar" sedan med varandra...

> förutom de ovan är främst HUR jag ska programmera mjukvaran till datorn.

Till *datorn* ? Vad är problemet där ? Du ska ju bara skicka lite på en seriport.
Samt ha ett användargränsnitt så som du vill ha det (det vet ju bara du).

> och på så sätt styra 555an borde det vara,

Nej nej, du byter ut 555'an mot en processor !

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 16:59:10
av fireas
jaha, haha, nu förstod jag. heheheh, Men då försöker jag programmera ett användargränssnitt och en rutin som skickar ut en frekvens. Får läsa på det. Jag frågar om jag fastnar:D

Min kompis far har en pic-programmerare och jag ska få låna den :D

Tack för knuffen framåt!

Re: PIC för att ersätta min koppling

Postat: 16 juni 2009, 17:02:13
av sodjan
Bara så att det inte råder något missförstånd...

> Men då försöker jag programmera ett användargränssnitt...

vilket alltså ligger i PC'n (plus serieinterface)

> och en rutin som skickar ut en frekvens.

Vilket ligger i processorn (plus serieinterface bl.a)

Det är inte *samma* program, så klart.