Sida 1 av 2
En PIC fråga
Postat: 4 augusti 2005, 03:11:35
av DeeJayPA
Hallå där..
Hitta ett litet projekt som jag är sugen på att bygga men i den sitter det en
PIC16F84 och eftersom det är en gammal "flinta" pic så undrar
jag om det finns någon lämplig ersättare.
Det som används är 11 utgångar och 2 ingångar.
Nu är det ju så att jag kan inget om programering
Och det fanns en färdig HEX fil, men jag antar att det inte gå att använda
den befintliga hex filen till en nyare PIC??
det kanske är enklast för mig att använda 16F84?
Postat: 4 augusti 2005, 07:17:09
av klasg
Nu kan jag verkligen inte det här. Men av det jag fått lära mig (i min egen tråd) är att du måste nog använde 16F84. Iaf om du tänkt använda hexfilen (då du inte kan göra några justeringar). Men jag kan inte svära på det, kan hända att det finns någon ny PIC som överensstämmer med den gamla 84:an.
/Klas
Postat: 4 augusti 2005, 08:22:09
av Icecap
Om du vill uppgradera PIC-modellen måste du sannolikt också uppgradera mjukvaran. Om du inte kan det ska du hålla dig till det som bevisligen fungerar och alltså inte byta PIC.
Å andra sidan kanske det är på tiden att lära sig.....
Postat: 4 augusti 2005, 12:50:14
av sodjan
Finns det källkod ?
Om inte är du nog "fast" i F84'an, men å andra sidan så är det väll just detta det enda läge då den är "rätt" PIC
Eftersom du har en färdig HEX fil, så spelar det ju mindre roll att den är av "Flinta typ"...
Använder projektet F84 eller F84A ?
Har du någon länk till "pojektet" (om det finns på nätet) ?
Jag har nog en F84 liggandes som jag kan flasha och skicka
över till dig om du vill. Jag tolkade dig ("jag kan inget om programering") som att du inte heller har programmeringsmöjlighet !?
EDIT: Om du *har* källkoden, och kanske vill vidareutveckla projektet, så är 16F628A eller 16F648A de naturliga ersättarna. För större förrändningar så kan någon av de nyare 16F vara ett bättre val, men det beror helt på vad som skall "in" in PIC'en...
Postat: 4 augusti 2005, 14:03:38
av DeeJayPA
Icecap du har helt rätt att det är på tiden att lära sig programering,
känner att det är dax. Men det är som en helt ny värld för mig har ingen aning om vad man ska börja med och hur det fungerar.
Sodjan källkoden har jag och programerings möjligheter.
gissar på att det är F84 eftersom jag ser ingen A.
Är det ett stort jobb att fixa om koden till en nyare pic?
Postat: 4 augusti 2005, 14:12:05
av Schnegelwerfer
Det finns ju ingen anledning att skriva om koden för en modernare PIC om den fungerar felfritt på en gammal F84.
Enda anledningen vore väl om det var en produkt som ska serietillverkas eller om du är orolig för att du inte kan få tag på reservdelar. 16F84 tillverkas nog inte så länge till.
Postat: 4 augusti 2005, 14:31:34
av sodjan
F84 är nog helt ute, F84A tillverkas fortfarande för att stödja gamla konstruktioner. Men Microchips prisättning säger väll allt om vad de igentligen skulle vilja göra med den...
Om man ändå redan har en 16F628A, tillgång til källkoden, tillgång till MPLAB, och tillgång till programmeringsutrustning, så är det bara (i bästa fall) två rader som behöver läggas till i början (stänga av komparatorerna).
Detta kan göras (nästan

) utan någon programmeringskunskap.
Ibland kan det vara lite mer att "tänka på". Se t.ex sidan 9 i detta dokument :
http://www.amqrp.org/elmer160/lessons/e160aa.pdf som samanfattar det bra.
För att flytta koden till andra PIC16 modeller kan det vara lite mer job, men sannolikt inte oöverkommligt. Knappast ett bra "nybörjarprojekt", även om man skulle lära sig ganska mycket samtidigt...
Om man har en F84(A) liggandes, så är det väll bara att använda den !
Så det "beror på" ...
Postat: 6 augusti 2005, 17:43:19
av DeeJayPA
Här är länk till det jag tänker bygga
http://www.siliconchip.com.au/cms/A_30551/article.html
Ska ha den till mitt 13,5V/30A aggregat
Schnegelwerfer Anledningen till att jag vill byta ut den är för att då
måste jag tvinga mig själv till att lära mig lite om programering.
Men lyckas jag inte så får det bli med 16F84
Sodjan tack för informationen och länken.
Postat: 6 augusti 2005, 18:34:45
av sodjan
Jag har kollat lite snabbt på projektet.
Speciellt AD-omvandlingen är bökig. Eftersom F84'an saknar
intern ADC, så har man satt dit en extern komparator och låter processorn
köra en "successive approximation" genom att justera en PWM
signal som filtreras till DC och jämförs med insignalen i komparatorn. Man kan väll i alla fall säga att, så skulle man inte göra idag...
En 16F628A har en intern komparator, så då skulle man kunna behålla samma principiella kronstruktion, men utan den externa komparatorn.
Några justeringar i programvaran blir det.
Med en PIC med ADC, skulle programvaran kunna förrenklas en hel del,
och man skulle kunna få bättre "upplösning" på mätningen. ADC har normat 10 bitar, denna lösning använder 7 eller 8 bitar.
Har du tänkt att använda de färdiga PCB layouterna ?
Om inte så kan du plocka bort en del prylar, speciellt kring komparatorn.
Eftersom originalet är tänkt att sitta i en bil, så är det nog lite "extra" prylar kring spänningsmatningen (transentskydd och så). Du kanske redan har färdig 5V i ditt aggregat ?
Här är vad jag skulle göra (du vill ju även lära dig "lite om programering" ) :
- Sno själva idén från tidningen. Källkoden ser ganska OK ut, så man kan nog sno en del där ifrån också. de olika konverteringarna bin/dec o.s.v.
- Stoppa dit en modern processor, ger enklare programering.
- Ändra från 7-seg displayer till en enkel LCD, 16x2 borde räcka. Ger också enklare programmering eftersom hela multiplexningen av 7-seg modulerna försvinner.
Slutligen beror det väll kanske mest på vad du vill göra...

Postat: 6 augusti 2005, 19:08:32
av DeeJayPA
Hadde tänkt rita ett eget kretskort och ta bort styrningen av ljusstyrkan till
displayerna. men spänningsmatningen såg ganska bra ut så det kan vara bra att ha kvar eftersom jag inte har 5 volt i aggregatet men med lite modifiering.
Bättre upplösning är ju inte alls fel och en LCD är ju inte dumt.
Det känns som man i framtiden skulle kanske kunna bygga in en ström begränsning och även visning av spänning.
Men hur lär man sig programering, vars börjar man, och villket språk?
Postat: 6 augusti 2005, 19:15:35
av sodjan
Vi talar om programmering av mikrokontrollers (och just här specifikt PICs), inte programmering i allmänhet, eller hur ? Har du programmerat *någonting* (oavsett vad) förr ?
Eftersom prylen redan mäter strömmen, så verkar väl en strömbegränsning inte vara omöjlig. Frågan är väll bara var och hur du styr aggregatet. Är det ett köpt färdigt aggregat eller har du byggt det också ?
När det gäller "språk", blir diskussionen gärna lätt infekterad...
*Personligen* anser jag att man skall börja med assembler eftersom jag tror att man då snabbast lär sig PIC arkitekturen. I princip är det bara att ladda ner MPLAB från
www.microchip.com och hacka igång !

Postat: 6 augusti 2005, 19:36:52
av DeeJayPA
Jag har aldrig jobbat med mjukvaruprogramering.
Alltså jag har Aldrig programerat förut (eller jo PLC iof, det var kul när man lärde sig det).
Så jag har noll koll på det.
När jag gick skola så läste jag Elkompetens och trefas istället för programering som alla andra i klassen läste, iof så är det tackvare det jag har mat på bordet och öl i kylen. men nu känner jag att det är dax att lära sig.
Har läst igenom lite trådar och det verkar som att assembler är det man ska börja med. Har laddat ner MPLAB och bara kollat lite lätt men fatta
inte så mycket men jag har heller inte tagit mig tid änu att läsa några manualer till det. men jag ska.
Finns det någon bra nybörjar läsning för assembler?
eller är det bara ta fram datablad för önskad krets och köra hårt.
Postat: 6 augusti 2005, 19:40:13
av Icecap
Jag skulle rekommendera MicroChips exempler, de har ett antal application notes (AN) där en specifik sak förklaras ingående, varför detta o hint är vald osv samt tillhörande kodexempel med många kommentarer.
Kan vara en hjälp att få översikt om man tar de simplare AN.
Postat: 6 augusti 2005, 19:57:44
av DeeJayPA
Okej tack för tipset,, ska surfa runt lite där.
ska till stugan på semester så då kan det var bra att ha med lite lektyr
om väder gudarna jävlas.
Postat: 6 augusti 2005, 20:36:48
av Johan.o
Jag rekomenderar att du även köper en bok.
Jag köpte Mikrodatorteknik av Lars Bengtsson. (1995)
Lite gammal, men den lärde jag mig av.
Lite OT men smart drag att läsa ekomp och trefas,
skulle jag också gärna gjort när jag gick el, om jag hade haft möjlighet dvs.