Inhoudsopgave:

Digitaal gestuurde lineaire voeding - Ajarnpa
Digitaal gestuurde lineaire voeding - Ajarnpa

Video: Digitaal gestuurde lineaire voeding - Ajarnpa

Video: Digitaal gestuurde lineaire voeding - Ajarnpa
Video: Corsair AX1500i digitaal gestuurde voeding review - Hardware.Info TV (Dutch) 2024, Juli-
Anonim
Digitaal gestuurde lineaire voeding
Digitaal gestuurde lineaire voeding

In mijn tienerjaren, ongeveer 40 jaar geleden, heb ik een dubbele lineaire voeding gemaakt. Ik heb het schematische diagram van een tijdschrift genaamd 'Elektuur', tegenwoordig genaamd 'Elektor' in Nederland. Deze voeding gebruikte één potentiometer voor de spanningsaanpassing en één voor de stroomaanpassing. Na vele jaren functioneerden deze potmeters niet meer goed waardoor het moeilijk was om een stabiele uitgangsspanning te krijgen. Deze voeding is te zien op de afbeelding.

Ondertussen heb ik embedded software ontwikkeling als onderdeel van mijn hobby opgepakt, met behulp van de PIC microcontroller en de JAL programmeertaal. Omdat ik mijn voeding nog steeds wil gebruiken - ja je kunt tegenwoordig goedkopere switchmode-varianten kopen - kwam ik op het idee om de oude potmeters te vervangen door een digitale versie en zo was een nieuw PIC-project geboren.

Voor het aanpassen van de spanning van de voeding gebruik ik een PIC 16F1823 microcontroller die 6 drukknoppen als volgt gebruikt:

  • Eén drukknop om de uitgangsspanning in of uit te schakelen zonder dat de voeding volledig aan of uit moet worden gezet
  • Eén drukknop om de uitgangsspanning te verhogen en nog een drukknop om de uitgangsspanning te verlagen
  • Drie drukknoppen te gebruiken als preset. Nadat een bepaalde uitgangsspanning is ingesteld, kan die exacte spanning worden opgeslagen en opgehaald met behulp van deze vooraf ingestelde drukknoppen

De voeding kan een spanning leveren tussen 2,4 Volt en 18 Volt met een maximale stroomsterkte van 2 Ampère.

Stap 1: Het eerste ontwerp (revisie 0)

Het initiële ontwerp (revisie 0)
Het initiële ontwerp (revisie 0)
Het initiële ontwerp (revisie 0)
Het initiële ontwerp (revisie 0)
Het initiële ontwerp (revisie 0)
Het initiële ontwerp (revisie 0)

Ik heb enkele wijzigingen aangebracht in het oorspronkelijke schema om het geschikt te maken voor aansturing met de digitale potentiometer. Omdat ik in het verleden nooit de originele potentiometer voor de stroomafstelling heb gebruikt, heb ik deze verwijderd en vervangen door een vaste weerstand, waardoor de maximale stroomsterkte tot 2 Ampere werd beperkt.

Het schematische diagram toont de voeding, gebouwd rond de oude maar betrouwbare LM723-spanningsregelaar. Ik heb er ook een printplaat voor gemaakt. De LM723 heeft een temperatuurgecompenseerde referentiespanning met een stroombegrenzingsfunctie en een breed spanningsbereik. De referentiespanning van de LM723 gaat naar de digitale potentiometer waarvan de wisser is aangesloten op de niet-inverterende ingang van de LM723. De digitale potentiometer heeft een waarde van 10 kOhm en kan met behulp van een 3-draads seriële interface in 100 stappen worden gewijzigd van 0 Ohm naar 10 kOhm.

Deze voeding heeft een digitale volt- en ampèremeter die wordt gevoed door een 15 volt spanningsregelaar (IC1). Deze 15 Volt wordt ook gebruikt als ingang voor de 5 Volt spanningsregelaar (IC5) die de PIC en de digitale potentiometer van stroom voorziet.

Transistor T1 wordt gebruikt om de LM723 uit te schakelen waardoor de uitgangsspanning op 0 Volt komt. Vermogensweerstand R9 wordt gebruikt om de stroom te meten, waardoor een spanningsval over de weerstand ontstaat wanneer er stroom doorheen stroomt. Deze spanningsval wordt door de LM723 gebruikt om de maximale uitgangsstroom te beperken tot 2 Ampère.

In dit initiële ontwerp zitten de elektrolytische condensator en de vermogenstransistor (type 2N3055) niet op het bord. In mijn oorspronkelijke ontwerp van vele jaren geleden zat de elektrolytische condensator op een apart bord, dus die heb ik bewaard. De vermogenstransistor is gemonteerd op een koelplaat buiten de kast voor een betere koeling.

De drukknoppen bevinden zich op het voorpaneel van de kast. Elke drukknop wordt omhoog getrokken door de 4k7-weerstanden op het bord. De drukknoppen zijn verbonden met aarde waardoor ze laag actief zijn.

Voor dit project heb je de volgende elektronische componenten nodig (zie ook revisie 2):

  • 1 PIC-microcontroller 16F1823
  • 1 digitale potmeter van 10k, type X9C103
  • Spanningsregelaars: 1 * LM723, 1 * 78L15, 1 * 78L05
  • Bruggelijkrichter: B80C3300/5000
  • Transistors: 1 * 2N3055, 1 * BD137, 1 * BC547
  • Diodes: 2 * 1N4004
  • Elektrolytische condensatoren: 1 * 4700 uF/40V, 1 * 4,7 uF/16V
  • Keramische condensatoren: 1 * 1 nF, 6 * 100 nF
  • Weerstanden: 1* 100 Ohm, 1* 820 Ohm, 1 * 1k, 2 * 2k2, 8 * 4k7
  • Vermogensweerstand: 0,33 Ohm / 5 Watt

Ik ontwierp ook een printplaat die wordt getoond in de bijgevoegde screenshot en afbeelding.

Stap 2: Het herziene ontwerp (revisie 2)

Het herziene ontwerp (revisie 2)
Het herziene ontwerp (revisie 2)
Het herziene ontwerp (revisie 2)
Het herziene ontwerp (revisie 2)

Na de printplaten besteld te hebben kwam ik op het idee om een feature toe te voegen die ik ‘spanningsbeveiliging’ noem. Omdat ik nog veel programmageheugen in de PIC had, besloot ik de ingebouwde Analoog naar Digitaal Converter (ADC) van de PIC te gebruiken om de uitgangsspanning te meten. Mocht deze uitgangsspanning – om wat voor reden dan ook – stijgen of dalen, dan wordt de voeding uitgeschakeld. Dit beschermt het aangesloten circuit tegen overspanning of stopt eventuele kortsluiting. Dit was revisie 1 die een uitbreiding is op revisie 0, het oorspronkelijke ontwerp.

Hoewel ik het ontwerp heb getest met een breadboard (zie foto), was ik er nog steeds niet blij mee. Soms leek het alsof de digitale potmeter niet altijd precies op dezelfde positie stond, b.v. bij het herstellen van een vooraf ingestelde waarde. Het verschil was klein maar verontrustend. Het is niet mogelijk om de waarde van de potentiometer af te lezen. Na enig nadenken heb ik een revisie 2 gemaakt die een kleine herontwerp is van revisie 1. In dit ontwerp, zie schema revisie 2, heb ik geen digitale potentiometer gebruikt maar de ingebouwde digitaal naar analoog converter (DAC) van de PIC om de uitgangsspanning te regelen via de LM723. Het enige probleem was dat de PIC16F1823 alleen een 5-bit DAC heeft, wat niet voldoende was omdat de stappen omhoog en omlaag te groot zouden zijn. Daarom ben ik overgestapt naar een PIC16F1765 die een 10-bit DAC aan boord heeft. Deze versie met de DAC was betrouwbaar. Ik kon nog steeds de oorspronkelijke printplaat gebruiken, omdat ik slechts enkele componenten hoef te verwijderen, 1 condensator moet vervangen en 2 draden moet toevoegen (1 draad was al nodig voor het toevoegen van de spanningsdetectiefunctie van revisie 1). Ook heb ik de 15 Volt regelaar veranderd naar een 18 Volt versie om de vermogensdissipatie te beperken. Zie het schema van revisie 2.

Dus als je voor dit ontwerp wilt gaan, moet je het volgende doen in vergelijking met revisie 0:

  • Vervang de PIC16F1823 door een PIC16F1765
  • Optioneel: Vervang de 78L15 door een 78L18
  • Verwijder digitale potentiometer type X9C103
  • Verwijder weerstanden R1 en R15
  • Vervang de elektrolytische condensator C5 door een keramische condensator van 100 nF
  • Maak een verbinding tussen IC4 pin 13 (PIC) naar IC2 pin 5 (LM723)
  • Maak een verbinding tussen IC4 pin 3 (PIC) naar IC2 pin 4 (LM723)

Ik heb ook de printplaat geüpdatet maar deze versie niet besteld, zie screenshot.

Stap 3: (De)montage

(De)montage
(De)montage
(De)montage
(De)montage
(De)montage
(De)montage

Op de foto zie je de voeding voor en na de upgrade. Om de gaten die door de potentiometers zijn gemaakt te bedekken, heb ik een frontpaneel bovenop het frontpaneel van de kast toegevoegd. Zoals je kunt zien had ik een dubbele voeding gemaakt waarbij beide voedingen volledig onafhankelijk van elkaar zijn. Dit maakt het mogelijk om ze in serie te zetten voor het geval ik een hogere uitgangsspanning nodig heb dan 18 Volt.

Door de printplaat was de elektronica eenvoudig in elkaar te zetten. Bedenk dat de grote elektrolytische condensator en de vermogenstransistor niet op de printplaat zitten. De foto laat zien dat voor revisie 2 sommige componenten niet meer nodig zijn en dat er 2 draden nodig waren, de ene om de spanningsdetectie toe te voegen en de andere vanwege de vervanging van de digitale potentiometer door de digitaal naar analoog converter van de PIC-microcontroller.

Uiteraard heeft u een transformator nodig die 18 Volt AC, 2 Ampère kan leveren. In mijn oorspronkelijke ontwerp heb ik een ringkerntransformator gebruikt omdat deze efficiënter (maar ook duurder) is.

Stap 4: De software voor revisie 0

De software voert de volgende hoofdtaken uit:

  • Regeling van de uitgangsspanning van de voeding via de digitale potentiometer
  • Behandel de functies van de drukknoppen, namelijk:

    • Inschakelen / uitschakelen. Dit is een toggle-functie die de uitgangsspanning instelt op 0 Volt of op de laatst geselecteerde spanning
    • Spanning omhoog/spanning omlaag. Met elke druk op de knop gaat de spanning iets omhoog of iets omlaag. Als deze drukknoppen ingedrukt blijven, wordt een herhaalfunctie geactiveerd
    • Preset opslaan/Preset ophalen. Elke spanningsinstelling kan worden opgeslagen in de EEPROM van de PIC door de vooraf ingestelde drukknop minimaal 2 seconden ingedrukt te houden. Als u deze korter indrukt, wordt de EEPROM-waarde voor die voorinstelling opgehaald en wordt de uitgangsspanning overeenkomstig ingesteld

Bij het inschakelen zijn alle pinnen van de PIC ingesteld als invoer. Om te voorkomen dat er een ongedefinieerde spanning op de uitgang van de voeding staat blijft de uitgang op 0 Volt totdat de PIC up and running is en de digitale potentiometer geïnitialiseerd wordt. Deze uitschakeling wordt bereikt door de pull-up weerstand R14 die ervoor zorgt dat de transistor T1 de LM723 uitschakelt totdat deze wordt vrijgegeven door de PIC.

De rest van de software is recht vooruit. Drukknoppen worden gescand en als er iets moet veranderen, wordt de waarde van de digitale potentiometer gewijzigd met behulp van een seriële interface met drie draden. Merk op dat de digitale potentiometer ook een optie heeft om de instelling op te slaan, maar deze wordt niet gebruikt omdat alle instellingen worden opgeslagen in de EEPROM van de PIC. De interface met de potmeter biedt geen mogelijkheid om de waarde van de wisser terug te lezen. Dus telkens wanneer de wisser op een bepaalde waarde moet worden ingesteld, is het eerste dat wordt gedaan de wisser weer in de nulstand zetten en vanaf dat moment het aantal stappen sturen om de wisser in de juiste positie te zetten.

Om te voorkomen dat de EEPROM met elke druk op de knop wordt geschreven en dus de levensduur van de EEPROM verkort, wordt de EEPROM-inhoud 2 seconden nadat de drukknoppen niet meer worden geactiveerd, geschreven. Dit betekent dat u na de laatste wijziging van de drukknoppen minimaal 2 seconden moet wachten voordat u de stroom uitschakelt om er zeker van te zijn dat de laatste instelling wordt opgeslagen. Bij het inschakelen start de voeding altijd met de laatst geselecteerde spanning die is opgeslagen in EEPROM.

Het JAL-bronbestand en het Intel Hex-bestand voor het programmeren van de PIC voor revisie 0 zijn bijgevoegd.

Stap 5: De software voor revisie 2

Voor revisie 2 zijn de belangrijkste wijzigingen in de software de volgende:

  • De functie Spanningsdetectie is toegevoegd door de uitgangsspanning van de voeding te meten nadat deze is ingesteld. Hiervoor wordt de ADC-converter van de PIC gebruikt. Met behulp van de ADC neemt de software monsters van de uitgangsspanning en als na enkele monsters de uitgangsspanning ongeveer 0,2 Volt hoger of lager is dan de ingestelde Spanning, wordt de voeding uitgeschakeld.
  • Gebruik de DAC van de PIC om de uitgangsspanning van de voeding te regelen in plaats van een digitale potentiometer te gebruiken. Deze wijziging maakte de software eenvoudiger omdat het niet nodig was om de 3-draads interface voor de digitale potentiometer te maken.
  • Vervang de opslag in EEPROM door opslag in High Endurance Flash. De PIC16F1765 heeft geen EEPROM aan boord maar gebruikt een deel van het programma Flash voor het opslaan van niet-vluchtige informatie.

Merk op dat de spanningsdetectie aanvankelijk niet is geactiveerd. Bij het opstarten wordt gecontroleerd of de volgende knoppen zijn ingedrukt:

  • Aan/uit drukknop. Indien ingedrukt, worden beide spanningsdetectiefuncties uitgeschakeld.
  • Drukknop omlaag. Indien ingedrukt wordt de laagspanningsdetectie geactiveerd.
  • Omhoog drukknop. Indien ingedrukt wordt de hoogspanningsdetectie geactiveerd.

Deze spanningsdetectie-instellingen worden opgeslagen in de High Endurance Flash en worden opgeroepen wanneer de voeding weer wordt ingeschakeld.

Het JAL-bronbestand en het Intel Hex-bestand voor het programmeren van de PIC voor revisie 2 zijn ook bijgevoegd.

Stap 6: Het eindresultaat

In de video zie je de power supply revisie 2 in actie, het toont de power on/power off functie, voltage up/voltage down en het gebruik van de presets. Voor deze demo heb ik ook een weerstand op de voeding aangesloten om te laten zien dat er echte stroom doorheen gaat en dat de maximale stroom beperkt is tot 2 Ampère.

Als u geïnteresseerd bent in het gebruik van de PIC-microcontroller met JAL - een Pascal-achtige programmeertaal - bezoek dan de JAL-website.

Veel plezier met het maken van deze Instructable en kijk uit naar je reacties en resultaten.

Aanbevolen: