- Nepieciešamie materiāli
- Arduino DC elektroniskās slodzes shēmas diagramma
- PCB dizains un Gerber File
- PCB pasūtīšana no AllPCB
- Arduino kods regulējamai līdzstrāvas slodzei
- Pārbaudām mūsu regulējamo līdzstrāvas slodzi
Ja esat kādreiz strādājis ar akumulatoriem, SMPS ķēdēm vai citām strāvas padeves ķēdēm, tad bieži vien būtu noticis, ka jums ir jāpārbauda strāvas avots, to ielādējot, lai pārbaudītu, kā tas darbojas dažādos slodzes apstākļos. Ierīci, ko parasti izmanto šāda veida testa veikšanai, sauc par pastāvīgas strāvas līdzstrāvas slodzi, kas ļauj mums pielāgot strāvas avota izejas strāvu un pēc tam uztur to nemainīgu, līdz tā atkal mainās. Šajā apmācībā mēs uzzināsim, kā izveidot savu regulējamo elektronisko slodzi, izmantojot Arduino, kas var uzņemt maksimālo ieejas spriegumu 24 V un iztukšot strāvu līdz 5 A. Šajā projektā mēs izmantojām PCB plāksnes, kuras ražo AllPCB, Ķīnā strādājošs profesionāls PCB ražošanas un montāžas pakalpojumu sniedzējs.
Mūsu iepriekšējā apmācībā par sprieguma kontrolētu strāvas avotu mēs esam paskaidrojuši, kā izmantot operatīvo pastiprinātāju ar MOSFET un izmantot sprieguma kontrolētu strāvas avota ķēdi. Bet šajā apmācībā mēs izmantosim šo shēmu un izveidosim digitāli kontrolētu strāvas avotu. Acīmredzot, digitāli kontrolētam strāvas avotam ir nepieciešama digitālā shēma, un, lai to izmantotu, tiek izmantots Arduino NANO. Arduino NANO nodrošinās nepieciešamās vadības līdzstrāvas slodzei.
Ķēde sastāv no trim daļām. Pirmā daļa ir sadaļa Arduino Nano, otrā daļa ir digitālais analogais pārveidotājs, bet trešā daļa ir tīra analogā shēma, kurā tiek izmantots divējāds operatīvais pastiprinātājs vienā paketē, kas kontrolēs slodzes daļu. Šis projekts ir iedvesmots no ziņas par Arduino, tomēr ķēde tiek mainīta, lai tā būtu mazāk sarežģīta, un visiem ir pamata funkcijas, lai to izveidotu.
Mūsu elektroniskā slodze ir paredzēta šādām ieejas un izejas sadaļām.
- Divi ieejas slēdži slodzes palielināšanai un samazināšanai.
- LCD, kas parādīs iestatīto slodzi, faktisko slodzi un slodzes spriegumu.
- Maksimālā slodzes strāva ir ierobežota līdz 5A.
- Maksimālais ieejas spriegums slodzei ir 24 V.
Nepieciešamie materiāli
Zemāk ir uzskaitīti komponenti, kas nepieciešami līdzstrāvas elektroniskās slodzes veidošanai.
- Arduino nano
- 16x2 rakstzīmju LCD
- Divu mucu ligzda
- Mosfet irf540n
- Mcp4921
- Lm358
- 5 vatu šunta rezistors.1 omi
- 1k
- 10k - 6gab
- Radiators
- .1uF 50v
- 2k - 2gab
Arduino DC elektroniskās slodzes shēmas diagramma
Zemāk redzamajā shēmā darbības pastiprinātājam ir divas sadaļas. Viens no tiem ir kontrolēt MOSFET, bet otrs - pastiprināt uztverto strāvu. Šīs lapas apakšdaļā varat arī pārbaudīt videoklipu, kas izskaidro ķēdes pilnīgu darbību. Pirmajā sadaļā ir R12, R13 un MOSFET. R12 tiek izmantots, lai samazinātu atgriezeniskās saites slodzes efektu, un R13 tiek izmantots kā Mosfet vārtu rezistors.
Papildu divi rezistori R8 un R9 tiek izmantoti, lai uztvertu barošanas avota barošanas spriegumu, kas tiks uzspiests ar šo manekena slodzi. Saskaņā ar sprieguma dalītāja likumu šie divi rezistori atbalsta ne vairāk kā 24 V. Vairāk nekā 24 V radīs spriegumu, kas nebūs piemērots Arduino tapām. Tāpēc esiet piesardzīgs un nepieslēdziet barošanas avotu, kura izejas spriegums pārsniedz 24 V.
Rezistors R7 šeit ir faktiskais slodzes rezistors. Tas ir 5 W,.1 Ohm rezistors. Saskaņā ar varas likumu tas atbalstīs maksimālo 7A (P = I 2 R), bet drošai pusei ir prātīgāk ierobežot slodzes strāvas maksimumu 5A. Tāpēc šobrīd ar šo manekena slodzi var iestatīt maksimālo 24V, 5A slodzi.
Vēl viena pastiprinātāja sadaļa ir konfigurēta kā pastiprinājuma pastiprinātājs. Tas nodrošinās 6x pieaugumu. Strāvas plūsmas laikā parādīsies sprieguma kritums. Piemēram, kad 5A strāva plūst caur rezistoru, sprieguma kritums būs.5V pāri.1 omu šunta rezistoram (V = I x R) saskaņā ar omu likumu. Neinvertējošais pastiprinātājs to pastiprinās līdz x6, tāpēc 3V būs izeja no pastiprinātāja otrās daļas. Šo izvadi uztvers Arduino nano analogās ievades tapa un aprēķinās strāvu.
Pirmā pastiprinātāja daļa ir konfigurēta kā sprieguma sekotāja ķēde, kas kontrolēs MOSFET atbilstoši ievades spriegumam un iegūs vēlamo atgriezenisko spriegumu slodzes strāvas dēļ, kas plūst caur šunta rezistoru.
MCP4921 ir pārveidotājs no digitālā uz analogo. DAC izmanto SPI sakaru protokolu, lai iegūtu digitālos datus no jebkura mikrokontrollera bloka un nodrošinātu analogā sprieguma izeju atkarībā no tā. Šis spriegums ir op-amp ieeja. Iepriekš mēs arī iemācījāmies izmantot šo MCP4921 DAC ar PIC.
Otrā pusē ir Arduino Nano, kas digitālos datus nodrošinās DAC, izmantojot SPI protokolu, un kontrolēs slodzi, datus parādot arī 16x2 rakstzīmju displejā. Tiek izmantotas divas papildu lietas, tas ir poga samazināt un palielināt. Tā vietā, lai izveidotu savienojumu ar digitālo tapu, tas ir savienots ar analogajām tapām. Tāpēc to var mainīt uz cita veida slēdžiem, piemēram, slīdni vai analogo kodētāju. Arī modificējot kodu, var nodrošināt neapstrādātus analogus datus, lai kontrolētu slodzi. Tas arī ļauj izvairīties no slēdža atcelšanas problēmas.
Visbeidzot, palielinot slodzi, Arduino nano nodrošinās DAC slodzes datus digitālā formātā, DAC sniegs analogus datus operācijas pastiprinātājam, un operatīvais pastiprinātājs kontrolēs MOSFET atbilstoši darbības pastiprinātāja ieejas spriegumam.. Visbeidzot, atkarībā no slodzes strāvas plūsmas caur šunta rezistoru parādīsies sprieguma kritums, ko vēl vairāk pastiprinās LM358 otrais kanāls un saņems Arduino nano. Tas tiks parādīts rakstzīmju displejā. Tas pats notiks, kad lietotājs nospiedīs pogu Samazināt.
PCB dizains un Gerber File
Tā kā šai shēmai ir augsts strāvas ceļš, ir gudrāka izvēle izmantot pareizu PCB dizaina taktiku nevēlamu atteices gadījumu novēršanai. Tādējādi šai līdzstrāvas slodzei ir paredzēts PCB. Lai izveidotu savu PCB, esmu izmantojis Eagle PCB Design Software. Jūs varat izvēlēties jebkuru PCB Cad programmatūru. Galīgā projektētā PCB CAD programmatūrā ir parādīta zemāk esošajā attēlā,
Viens svarīgs faktors, kas jāievēro šīs PCB izstrādes laikā, ir biezas jaudas plaknes izmantošana pareizai strāvas plūsmai visā ķēdē. Ir arī zemes izšūšana VIAS (izlases vijumi zemes plaknē), kas tiek izmantoti pareizai zemes plūsmai gan slāņos uz augšu, gan uz leju.
Jūs varat arī lejupielādēt šīs PCB Gerber failu no tālāk esošās saites un izmantot to izgatavošanai.
- Lejupielādējiet regulējamu elektronisko līdzstrāvas slodzes Gerber failu
PCB pasūtīšana no AllPCB
Kad esat gatavs ar savu Gerber failu, varat to izmantot, lai izgatavotu savu PCB. Runājot par to, tiek atklāts šī raksta sponsors ALLPCB, kas ir pazīstams ar savu augstas kvalitātes PCB un īpaši ātru piegādi. Papildus PCB ražošanai AllPCB arī nodrošinaPCB montāža un komponentu piegāde.
Lai saņemtu PCB pasūtījumu no viņiem, apmeklējiet vietni allpcb.com un reģistrēšanās. Pēc tam mājas lapā ievadiet PCB izmērus un nepieciešamo daudzumu, kā parādīts zemāk. Pēc tam noklikšķiniet uz Citēt tūlīt.
Tagad jūs varat mainīt citus PCB parametrus, piemēram, slāņu skaitu, maskas krāsu, biezumu utt. Labajā pusē varat izvēlēties savu valsti un vēlamo piegādes opciju. Tas parādīs izpildes laiku un kopējo maksājamo summu. Esmu izvēlējies DHL, un mana kopējā summa ir 26 ASV dolāri, taču, ja jūs pirmo reizi esat klients, kasē cenas samazināsies. Pēc tam noklikšķiniet uz Pievienot grozam un pēc tam noklikšķiniet uz Izrakstīties tūlīt.
Tagad jūs varat noklikšķināt uz Augber faila augšupielādes, noklikšķinot uz “Augšupielādēt Gerber” un pēc tam noklikšķiniet uz pirkt.
Nākamajā lapā varat ievadīt piegādes adresi un pārbaudīt galīgo cenu, kas jāmaksā par PCB. Pēc tam varat pārskatīt pasūtījumu un pēc tam noklikšķināt uz Iesniegt, lai veiktu maksājumu.
Kad jūsu pasūtījums ir apstiprināts, jūs varat sēdēt un pārsūtīt savu PCB, lai nonāktu pie jūsu sliekšņa. Es saņēmu savu pasūtījumu pēc dažām dienām, un pēc tam iepakojums bija kārtīgs, kā parādīts zemāk.
PCB kvalitāte bija laba kā vienmēr, kā jūs pats varat redzēt zemāk esošajos attēlos. Dēļa augšējā un apakšējā puse ir parādīta zemāk.
Kad esat saņēmis savu dēli, jūs varat turpināt visu komponentu montāžu. Mana gatavā tāfele izskatās apmēram tā, kā parādīts zemāk.
Pēc tam jūs varat augšupielādēt kodu un ieslēgt moduli, lai pārbaudītu tā darbību. Pilns šī projekta kods ir norādīts šīs lapas apakšdaļā. Kods ir izskaidrots šādi.
Arduino kods regulējamai līdzstrāvas slodzei
Kods ir diezgan vienkāršs. Sākumā mēs iekļāvām SPI un LCD galvenes failus, kā arī iestatījām maksimālo loģisko spriegumu, mikroshēmas izvēles tapas utt.
# iekļaut
Šī sadaļa sastāv no obligātajām ar programmu plūsmu saistītajām skaitļu un mainīgo deklarācijām. Mēs arī iestatījām saistīto perifērijas ierīču tapas ar Arduino Nano.
const int slaveSelectPin = 10; // Chip select pin int number = 0; int pieaugums = A2; // Palielināt tapu int samazinājums = A3; // samazināt pin int current_sense = A0; // pašreizējā sajūta pin int voltage_sense = A1; // sprieguma sajūtas tapas int stāvoklis1 = 0; int stāvoklis2 = 0; int Uzstādīt = 0; pludiņš volt = 0; pludiņa slodze_strāva = 0,0; pludiņa slodze_spriegums = 0,0; pludiņa strāva = 0,0; pludiņa spriegums = 0,0; LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // LCD tapas
To izmanto LCD un SPI iestatīšanai. Šeit ir iestatīti arī tapu virzieni.
void setup () { pinMode (slaveSelectPin, OUTPUT); pinMode (palielinājums, INPUT); pinMode (samazinājums, INPUT); pinMode (current_sense, INPUT); pinMode (sprieguma_sense, INPUT); // inicializēt SPI: SPI.begin (); // iestatiet LCD kolonnu un rindu skaitu: lcd.begin (16, 2); // Izdrukājiet ziņojumu LCD. lcd.print ("Digitālā slodze"); lcd.setCursor (0, 1); lcd.print ("Circuit Digest"); kavēšanās (2000); }
To izmanto DAC vērtības konvertēšanai.
void convert_DAC (neparakstīta int vērtība) { / * soļa lielums = 2 ^ n, tāpēc 12 bitu 2 ^ 12 = 4096 5 V atsauces gadījumā solis būs 5/4095 = 0,0012210012210012V vai 1 mV (aptuveni) * / neparakstīts int konteiners; neparakstīts starp MSB; neparakstīts int LSB; / * Solis: 1, saglabājot 12 bitu datus konteinerā. Pieņemsim, ka dati ir 4095, binārā 1111 1111 1111 * / container = vērtība; / * Solis: 2 8 bitu manekena izveide. Tātad, dalot 256, augšējie 4 biti tiek uztverti LSB LSB = 0000 1111 * / LSB = konteiners / 256; / * Solis: 3 Konfigurācijas nosūtīšana ar 4 bitu datu perforēšanu. LSB = 0011 0000 VAI 0000 1111. Rezultāts ir 0011 1111 * / LSB = (0x30) - LSB; / * Solis: 4 konteineram joprojām ir 21 bitu vērtība. Izņemot apakšējos 8 bitus. 1111 1111 UN 1111 1111 1111. Rezultāts ir 1111 1111, kas ir MSB * / MSB = 0xFF & container; / * Solis: 4 16 bitu datu nosūtīšana, dalot tos divos baitos. * / digitalWrite (slaveSelectPin, LOW); kavēšanās (100); SPI.transfer (LSB); SPI.transfer (MSB); kavēšanās (100); // paņemiet augstu SS tapu, lai noņemtu mikroshēmas atlasi: digitalWrite (slaveSelectPin, HIGH); }
Šī sadaļa tiek izmantota pašreizējām ar sensoru saistītām darbībām.
float read_current (void) { slodzes_strāva = 0; par (int a = 0; a <vidējais; a ++) { slodzes_strāva = slodzes_strāva + analogRead (pašreizējais_sense); } slodzes_strāva = slodzes_strāva / vidējā; slodzes_strāva = (slodzes_strāva * MAX_VOLT) / 1024; slodzes_strāva = (slodzes_strāva / opamp_piegāde) / slodzes_rezistors; atgriezties slodzes_strāva; }
To izmanto slodzes sprieguma nolasīšanai.
pludiņa nolasīšanas_spriegums (tukšums) { slodzes_spriegums = 0; par (int a = 0; a <vidējais; a ++) { slodzes_spriegums = slodzes_spriegums + analogRead (sprieguma_jēga); } slodzes_spriegums = slodzes_spriegums / vidējais; slodzes_spriegums = ((slodzes_spriegums * MAX_VOLT) / 1024,0) * 6; atgriešanās slodze_spriegums; }
Šī ir faktiskā cilpa. Šeit tiek mērīti pārslēgšanās soļi un dati tiek nosūtīti DAC. Pēc datu pārsūtīšanas tiek mērīta faktiskā strāvas plūsma un slodzes spriegums. Abas vērtības beidzot tiek izdrukātas arī uz LCD.
void loop () {stāvoklis1 = analogRead (pieaugums); ja (stāvoklis1> 500) { aizkave (50); stāvoklis1 = analogLasīt (pieaugums); ja (stāvoklis1> 500) { volts = volts + 0,02; } } stāvoklis2 = analogRead (samazinājums); ja (stāvoklis2> 500) { kavēšanās (50); stāvoklis2 = analogLasīt (samazināties); ja (stāvoklis2> 500) { ja (volts == 0) { volts = 0; } cits { volt = volt-0,02; } } } skaitlis = volt / 0,0012210012210012; konvertēt_DAC (skaitlis); spriegums = nolasīšanas_spriegums (); strāva = lasāmstrāva (); lcd.setCursor (0, 0); lcd.print ("Iestatītā vērtība"); lcd.print ("="); Iestatīt = (volt / 2) * 10000; lcd.print (komplekts); lcd.print ("mA"); lcd.setCursor (0, 1); lcd.print ("I"); lcd.print ("="); lcd.print (pašreizējais); lcd.print ("A"); lcd.print ("V"); lcd.print ("="); lcd.print (spriegums); lcd.print ("V"); // lcd.print (slodzes_spriegums); //lcd.print("mA "); // kavēšanās (1000); //lcd.clear (); }
Pārbaudām mūsu regulējamo līdzstrāvas slodzi
Digitālā slodzes ķēde ir pielodēta un ieslēgta, izmantojot 12 V strāvas avotu. Es izmantoju savu 7,4 V litija akumulatoru strāvas avota pusē un pievienoju skavas skaitītāju, lai pārbaudītu, kā tas darbojas. Kā redzat, kad iestatītā strāva ir 300mA, ķēde no akumulatora izvelk 300mA, ko ar skavas mērītāju mēra arī kā 310mA.
Pilnīga ķēdes darbība ir atrodama zemāk pievienotajā videoklipā. Ceru, ka sapratāt projektu un izbaudījāt kaut ko noderīgu. Ja jums ir kādi jautājumi, atstājiet tos komentāru sadaļā vai izmantojiet forumus.