Hallo allemaal!
Ik ben bezig met een thuisaccu. De BMS bestaat uit kleine printjes (per cel 1 printje) met daarop een 12f683 die weinig meer doet dan een ADC spelen met galvanisch geïsoleerde bus die naar een master gaat. Die master verzameld alle gegevens en geeft dat door aan een raspberry die er vervolgens mee aan de haal gaat.
Het probleem is dit: ik heb 18 van die printjes, elk met een header waar ik een pickit3 zo in kan prikken. voor 14 van die printjes ging dat probleemloos. De overige prints leveren een melding op in de PK3 software "Unsupported part (ID=0020)" met daaronder een "device error- hexfile not loaded".
- Als ik Tools>check communication aanklik krijg ik netjes "DEVICE: PIC12F683" te zien. Dus er lijkt wel íets te gebeuren. Maar zodra ik de chip wil lezen, schrijven, verifiëren, wissen of blankchecken krijg ik direct bovenstaande fout.
- Ik heb werkende pic's in de niet werkende prints gestopt en dan was alles ok. Dus het ligt niet aan de prints (slechte soldeerverbinding of wat dan ook)
- Ik heb niet werkende pic's in de wel werkende prints gestopt en dan bleef het probleem. Dus het ligt écht niet aan de prints. Het probleem verhuist mee met de pic's
- Ik heb zelfs een andere PK3 gepakt die ik nog had liggen en die doet exact hetzelfde.
- Ik heb nieuwe pic's besteld (aliexpress, geen "officiele" vendor. Maar ik heb tientallen pic's via ebay en later ali gekocht. En een enkele chip uitgezonderd deden ze het prima). En ook deze geven het zelfde probleem.
- Zowel incircuit met een eigen voeding (varriabele spanning ivm accu) als incircuit maar zonder verbinding met de bus en voeding waardoor de PK3 zelf de voeding verzorgt levert het zelfde probleem.
Ik ben inmiddels een beetje door mijn ideeën heen en google is niet zo behulpzaam als ik hoopte.... Ik heb zelfs een poging gewaagd met chatGPT. Maar die komt met dezelfde stappen die ik al genomen heb en dingen die ik niet kan controleren (nepchips en ESD).
Onderstaande screenshots heb ik allemaal gemaakt met de pickit verbonden met de zelfde PCB waar ik een andere chip probleemloos in kon lezen, schrijven, checken, etc.
Heeft iemand enig idee wat dit zou kunnen zijn?
Alvast bedankt!!
Daan
EDIT: Opgelost! Het is naar alle waarschijnlijkheid de 2v referentie geweest die aan de ADC hing, dit is op deze chip ook de ICSPDAT pin. deze zal op 5v nooit de vereiste spanning halen om de boel te programmeren. Via de PK3 de voedingsspanning op 3v zetten en dan werkt alles prima.
Waarom een deel van de chips het wel doet en een deel niet, waarom de programmer de chip wel kan identificeren maar niet kan lezen, schrijven, programmeren, etc, blijft een raadsel. Maar ik gooi het op: ik zit dichtbij genoeg bij de vereiste specs dat het regelmatig werkt. Maar semi willekeurig doen sommige chips nét iets moeilijker over die specs waardoor het soms wel en soms niet werkt. Noem het de siliconlottery! Dank allen voor de hulp en tips
[Bericht gewijzigd door DaanSteeman op vrijdag 18 oktober 2024 15:14:38 (14%)