PIC programmeren, doel Gear Position Indicator

Shiptronic

Overleden

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Als je het niet meer ziet zitten moet ge er uw voet niet opzetten hé.
Ik wil er, als laatste redmiddel, altijd eens naar kijken maar dan moet je het opzenden, neem daarvoor contact op via email als alle mogelijkheden opgebruikt zijn.

Ik versta niet dat je een 1 op uw display krijgt als die in N staat, bij het programmeren van de controller worden alle waarden op 0 gezet en dus zijn alle voorgeprogrammeerde waarden 0V en worden enkel door u veranderd.
In N stand worden alle waarden van de versnellingen overruled.

Heb zojuist nog eens alle kritieke punten gecheckt en alles staat juist.
Ben er zelf ongemakkelijk van...

Hieronder:
Beste wat je kunt doen is effen alles aan de kant laten liggen tot de inspiratie weer bovenkomt.
Je kunt 2 dingen proberen, de analoge aan de GND leggen en de Neutraal eens aan de GND leggen.
Als je het niet aan de praat krijgt ga ik eens een 16F88 bestellen om het zelf te bouwen, ben toch van sommige onderdelen uitgeput en moet aanvullen.

LDmicro user.

Nou opgeven doe ik niet, desnoods maak ik hem nog 3x opnieuw.

Ik zal eerst de pic nog eens wisselen.
Moet wel in de hardware zitten.
Vloeken doe ik wel vaker stilletjes, dan stop ik even en ga ik iets anders doen ;)

Ik ga ook nog even alles op 0 zetten en massa op de analoge input.

Zodra ik Neutraal aan de 12v leg, krijg ik onherroepelijk een 1 op het scherm te zien.

Als ik de N weer los haal en aan massa leg gebeurd er niets.
Nadat ik alle versnellingen (analoge ingang) aan de massa "ingeleerd" had kreeg ik constant een 6 in beeld.

Als ik dan de neutraal weer aan de 12v deed komt er een 1 in beeld.

2 van de 3 PIC's zijn nu overleden en niet meer te schrijven..
Kan ik niet veel beter die andere bestellen?

Heeft niets met piekspanningen te maken volgens mij...
Wellicht ook eens tijd voor de Wish programmer.

EDIT:
Ik kan er maar weinig van maken, de laatste nog werkende PIC even opnieuw geflashed (frisse start):

Met Neutraal en signal in niet aangesloten krijg ik een - (dus neutraal) in beeld. Als test heb ik de signal in even aan de 5v gelegd bij nummer 2 op Store gedrukt. De rest niet aangeraakt en doorheen "gescrolled" door op prog te drukken.

na het programmeren staat het scherm ineens op 2 maar zodra ik dan 5v op signal in zet gebeurd er niets.

Ook als ik neutraal nu aan de 12v of massa leg gebeurd er niets.
Raak ik signal in en neutraal met elkaar aan dan komt er een 1 in beeld.

Het enige wat ik kan verzinnen is een 5v op pin 1..

EDIT: Ik meet een constante 5v op pin 1....
Wat ik dan weer niet snap is dat het goed gesoldeerd is en ik absoluut geen sluiting heb..
Die 5v moet wel ergens vandaan komen dus ik moet gaan zoeken en het weer deels uit elkaar halen.

Ik heb de fout gemaakt om het bordje meteen zo klein mogelijk te willen bouwen terwijl ik eerst had moeten testen.

Alles zit super strak op elkaar.

[Bericht gewijzigd door Henry S. op dinsdag 12 mei 2015 18:49:10 (74%)

Blijkbaar werkt het programma maar is er iets mis wat ik niet kan zien.
Dat hij willekeurig een 1 of een 6 toont is normaal want het signaal moet binnen de "windows" vallen.
Wat niet normaal is dat je de N niet te zien krijgt, als het N signaal aan de GND ligt.

Kun je mij die defecte 16F88's opsturen dan kan ik kijken of ze nog goed zijn en stuur ze geprogrammeerd terug, op die postzegels zal het niet komen.
Zijn ze defect dan stuur ik u een 16F876a in smd versie en geprogrammeerd terug, samen met die andere 2.
Als je die nog vandaag op de bus doet, heb je tegen eind volgende week alles terug.
Je bent dan enkel een paar postzegels armer, je moet niks kopen, wacht tot ik eens kan proberen.

Indien je akkoord bent dan stuur ik je mijn adres via email.

Edit: Voor de mensen die meevolgen, de pic's worden mij opgestuurd en we laten zeker iets weten wat er aan de hand is.

LDmicro user.

Ondertussen heb ik pin 1 voorzien van een nieuwe zener, condensator en weerstand, iets ruimer opgezet en ik meet geen 5v meer als er niets aangesloten is.

Wel doet het programma nog hetzelfde als voorheen.

na opnieuw flashen zie ik een - in beeld.
Met signal in en neutraal niet aangesloten krijg ik hoe dan ook het hoogst geprogrammeerde cijfer te zien.

In dit geval heb ik alleen 2 op 5v geprogrammeerd.
Ik krijg nu constant een 2 in beeld, wat ik ook doe met signal in of neutraal.

Als ik nu 3 aan de massa programmeer, krijg ik constant een 3 te zien, vervolgens heb ik alle inputs niet aangesloten, bij 4 eens op store gedrukt en dan krijg ik een 4 te zien.
Dan maakt het dus niet uit of ik N of sig. in aan massa, 12v of 5v leg (sig in niet aan 12v natuurlijk).

Ik snap het dus niet meer en ga alles loshalen en het hele bord opnieuw maken.
transistor zal ik nog eens vervangen, weerstanden doormeten en ga er van uit dat de condensatoren nog goed zijn (zal eerst weerstand en dan snel voltage meten, zou niet weten hoe ik die anders kan testen.)

Je hoeft het niet opnieuw te maken.
Volgens mij werkt het printje.
Maar wees een beetje realistisch en plaats een potentionmeter (5 tot 10k) aan de de ingang.
N wil zeggen 5V of 1023 (10bit), als je nu alles op 5V programmeerd dan weet de controller niet meer hoe en wat, want in de praktijk kan dat niet..
Plaats een voltmeter aan de ingang en programmeer alle versnellingen naar een waarde (ongeveer) uit een van uw tabellen.

De grote moeilijkheid is dat het programma niet in je hoofd zit.

Volgende week meer nieuws

Edit: Nooit ingangen los laten hangen, als je programmeert moet je de N aan de GND leggen, want dat wil zeggen dat je in versnelling staat.
Gelijk wat je doet, altijd de ingangen aansluiten zoals het in werkelijkheid zou zijn.

Signaal in, hetzelfde, gebruik een potentionmeter om de versnellingen te simuleren en nooit een versnelling op 5V programmeren want dan denk de controller dat je in N staat.

LDmicro user.

Eventjes een update:
Vandaag zijn de pic's van de TS toegekomen, 1 ervan was volledig defect en de andere kan niet beschreven worden, wel gelezen.
Het programma dat erin zit werkt niet en is niet juist geprogrammeerd want de configuratiebits zijn niet geprogrammeerd en nog enkele dingen die niet kloppen zoals je kunt zien in de screenshots.

De config bits staan helemaal onderaan 0400E op de middenste afbeelding.
Daarvan is het linkse gedeelte wat in de pic zit en rechts wat het zou moeten zijn.

De gebruikte programmer zal niet zo gebruiksvriendelijk zijn als een wisp.

Het is nu wel de eerste keer dat ik een kapotte pic in mijn handen heb :o

Aangezien ik nu een testbreadbord heb opgesteld ga ik morgen zien of ze in de winkel een F88 hebben om toch eens te proberen.

LDmicro user.
Arco

Special Member

Bij de 16Fxxx/18 pins controllers is een 'quirk' aanwezig die er voor zorgt dat de processor bij bepaalde config/timer settings niet meer (opnieuw) te programmeren is.
(de chip lijkt dan dood te zijn)

It is possible to recover parts with this issue. To do so, follow these steps in the PICkit 2 Programmer software:

A) Put the part on a breadboard or other jig where it is only connected to the 5 PICkit 2 programming signals.
B) Open the PICkit 2 Programmer application v2.40 (or later). Select "Device Family > Midrange"
C) Set the PICkit 2 Programmer VDD voltage box to 3.0 Volts
D) Select "Device Family > Midrange" again; it should now detect the part
E) If the part is not detected in D), reduce the VDD by 0.1 volts and try again. Repeat until the part is detected.
F) Select the WRITE button. It should now erase the part.

You will now be able to program & use the part normally at 5.0 Volts VDD.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

.... Maar waarom krijg ik dan soms een foutmelding bij het programmeren en gaat het 9 van de 10 keer wel goed (tot de laatste keren bij 1 chip).

Met de K150 kan ik dergelijke instellingen niet vinden, dat word dus gewoon tijd voor een andere programmer.

Sowieso zit ik aan windows xp vast omdat ik een oude prolific chip heb.
2303HX wordt niet ondersteund in Win 8.x.

Zal bumblebee eens installeren.

Tevens heb ik nog een DIY ICSP liggen dus ga ik die wel aansluiten.

Hier terug een update, gisteren mijn F88's ontvangen.
Een 16F88 programmeren met oud spul is niet vanzelfsprekend.

Bumblebee kan dat niet, er stonden tientallen fouten in.
Dan maar xwisp gebruikt en dat werkte wel, uitgenomen dat ook hier de configuratiebits niet geprogrammeerd werden.
Deze apart met Bumblebee geprogrammeerd wat die dan wel deed.

Toen werkte alles en bij het proefdraaien nog ontdekt dat ik een typfout had gemaakt bij het benoemen van een eeprom variabele zodat V4 niet onthouden werd maar al de rest werkte.

Hier kun je een video zien en bijgevoegd de verbeterde versie V2.01

Aan de beginners, koop een goede moderne programmer, het zal u veel leed besparen.
Ik blijf bij mijn wisp628 omdat ik maar 2 controllertypen (F628A en F876A) gebruik en dat werkt wel heel goed.

NB. iemand helpen kan toch veel tijd in beslag nemen, gelukkig is het een hobby en dat maakt veel goed ;)

LDmicro user.

Waarom stuur je een hex-file op?

Just find out what you like and let it kill you

klinkt logisch, had het even niet helemaal door, sorry

Just find out what you like and let it kill you

Het heeft even geduurd voordat ik verder kon.
Maar ik weet nu zeker dat het bordje niet goed is.

Nadat MGP zo vriendelijk is geweest om de PIC's te controleren en 1 juiste te flashen, blijf ik met het probleem zitten dat de teller op 6 blijft staan na het inprogrammeren van alle versnellingen.

Heb het nu in een testopstelling met een potmeter en multimeter op signaal in om de voltage te programmeren.

Na alles ingesteld te hebben, blijft het display op 6 staan. Leg ik de Neutraal aan de +12v dan gaat het display naar 1.

als ik aan de potmeter draai dan veranderd er niets.

Ga het bordje opnieuw bouwen.

Hou er rekening mee dat uw gear eigenlijk een draaischakelaar is en geen 2 aparte bewerkingen kan doen zoals ik meen te begrijpen uit uw uitleg.

Stuur anders uw printje eens op dan kan ik er eens naar kijken, in welke staat, door het testen, het ook al is.
Een ander heeft meestal rapper door wat er mis is, zelf kijk je er gedurig over.

Op 14 juni 2015 15:08:07 schreef sanscorp:
Leg ik de Neutraal aan de +12v dan gaat het display naar 1.

Dat kan niet,de N ingang heeft de hoogste prioriteit.
Transistor defect of schakeling niet juist?
zie hieronder

LDmicro user.

Ik ben alles aan het de-solderen, dan meten of alles nog de juiste waarden heeft en dan wat ruimer in elkaar zetten.

bordje word dan iets groter maar dat is geen probleem.
Wel haal ik de sensor weg voor het dimmen, het licht is 's nachts niet te fel, overdag eerder te zwak.

Heb een stukje rood plexiglas nu, dus daar zal ik nog eens mee kijken.

Op 14 juni 2015 15:08:07 schreef sanscorp:
Leg ik de Neutraal aan de +12v dan gaat het display naar 1.

Sorry, dat kan wel en moet zo zijn, twas al een tijdje geleden..

De N wordt namelijk gezien als de gear naar de GND staat.

Nog eens de werking van de draaischakelaar (gear):

-In Neutraal ligt de basis van de transistor aan de GND.
Als dat gebeurt dan toont het display een "-", eender wat er op de analoge ingang staat.

-In ALLE andere standen staat er +12V op de basis.

-Dan komt een versnelling op het display.

-Is de waarde van die analoge ingang nog niet in een 'window' gevallen dan blijft die de laatst genomen versnelling tonen. Dit voorkomt het verspringen van de cijfers tussen 2 versnellingen.

Misschien telaat maar toch nog eens goed lezen.
Want bij de proefopstelling had ik het ook mis, dat de N een 0V signaal moet zijn (is).

LDmicro user.

Ja precies, niet in neutraal = 12v, wel in neutraal = massa.

Maar als ik hem dus aan de 12v leg en aan de potmeter draai, blijf ik een 1 zien.

Bordje ligt inderdaad al helemaal in onderdelen, gewoon voor mezelf ook even wat overzichtelijker maken.

Ga het gewoon weer op mijn gemak in elkaar zetten, alle onderdelen (op de spanningsregelaar en osc. na) zijn in ieder geval getest en uitgesloten van fouten.

Op 14 juni 2015 16:24:50 schreef sanscorp:
Ja precies, niet in neutraal = 12v, wel in neutraal = massa.

Zie je dan een - op het display?

Maar als ik hem dus aan de 12v leg en aan de potmeter draai, blijf ik een 1 zien.

Dan zitten er geen waarden in het geheugen.
Knop defect van de "store" of verkeerde weerstand aan de ingang?
Nazien met een voltmeter of het signaal naar + gaat bij het indrukken.

LDmicro user.

Heb ik toen gecontroleerd en dat was goed voor zover ik in de chaos kon zien.

Met de neutraal aan de massa zag ik geen - maar bleef de 6 staan.
Met neutraal aan 12v zag ik een 1.

Nu lastig testen, als ik er niet uit kom begin ik vaak helemaal opnieuw :P
Zal er zo op letten.

EDIT: Als ik de LDR weg laat, moet ik pin 2 dan aan 5v hangen met of zonder 22k weerstand?

[Bericht gewijzigd door sanscorp op zondag 14 juni 2015 17:07:45 (15%)

Als je die ldr weglaat moet je niks veranderen, pin 2 ligt dan aan de gnd, wat in het programma wil zeggen dat er niet gedimd wordt.

Dat staat ook in de handleiding.

Je mag pin2 direkt aan de GND verbinden en R2 weglaten, dus niet aan de 5V anders heb je maar de helft van de helderheid.

LDmicro user.

Uiteraard... Had even niet meer in de handleiding gekeken..

Is het een optie om die 7x 330 ohm weerstanden naar het display weg te laten?
Of is het dan snel gedaan met het display?

Om zo even de maximale helderheid er uit te krijgen.

Shiptronic

Overleden

Dat kan wel, maar lijkt me pas een optie als je de boel werkend hebt. Te veel aanpassen en veranderen word het niet duidelijker van.

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Dat is waar, ik zal het gewoon overnemen, doel was simpeler maken, en ik heb weinig ruimte voor die 7x 330.

Shiptronic

Overleden

Weinig ruimte lijkt me ook pas een later probleem,. eerst ruim en duidelijk opzetten tot iets werkend, ddarna komt het fine tunen en verkleinen. Dan heb je ook altijd een mogelijk heid om per stap te bekijken wat er fout is gegaan. Bij een probleem ook nooit 2 dingen tegelijk aan passen, 1 is de oplossing nr2 is mogelijk een nieuwe fout ;)

Wie de vraag stelt, zal met het antwoord moeten leren leven.