De computer bestuurt de apparaten. Elektrische bediening via USB

Score 1 Score 2 Score 3 Score 4 Score 5

Apparaat computerbesturing verschillende apparaten, waarvan het diagram wordt getoond in Fig. 1, wordt aangesloten op de USB-poort van de computer, die tegenwoordig in elk van deze aanwezig is. De enige chip van het apparaat is een gemeenschappelijke microcontroller ATmega8. Het is noodzakelijk voor het organiseren van de communicatie via de bus. USB. Hoewel het niet gespecialiseerd is hardwaremodule, wordt deze functie uitgevoerd door software.

Figuur 1

Weerstand R1, aangesloten tussen de positieve pool van de voeding en de USB D-bus-lijn, schakelt deze over naar de low-speed LS-modus met een wisselkoers van 1,5 Mbit/s, waarmee u computerberichten kunt decoderen programmatisch. Weerstanden R4 en R5 elimineren transiënten die optreden tijdens informatie-uitwisseling, wat de operationele stabiliteit vergroot. Condensator C1-blokken impuls geluid in het voedingscircuit, wat ook de stabiliteit van het apparaat verbetert. Diodes VD1 en VD2 worden gebruikt om de voedingsspanning van de microcontroller te verlagen tot ongeveer 3,6 V - dit is nodig om de niveaus te matchen met de USB-bus.

Apparaatbesturingssignalen worden gegenereerd op de uitgangen PB0-PB5 en PC0, PC1 van de microcontroller. Hoog logisch niveau- spanning ongeveer 3,4 V. Spanning laag niveau bijna nul. Op de uitgangen kunt u apparaten aansluiten die een stroom verbruiken van maximaal 10 mA (van elke uitgang). Als grote stroom- of spanningswaarden vereist zijn, moeten bijpassende knooppunten worden gebruikt.

Het apparaat is gemonteerd op broodplank Er zijn geen gedrukte versies gebruikt, MLT-weerstanden zijn gebruikt, condensatoren C2 en SZ zijn hoogfrequente keramische condensatoren, C1 is K50-35 of vergelijkbaar geïmporteerd. Siliciumdiodes met een spanningsval over de kruising van ongeveer 0,7 V.

Het programma voor de microcontroller is in de omgeving ontwikkeld Bascom-AVR versies 1.12.0.0. Om met de USB-bus te werken, wordt een bibliotheek gebruikt swusb.LBX, dat software-decodering van USB-signalen in realtime uitvoert. De resulterende programmacode uit het bestand met HEX-extensie moet in het FLASH-geheugen van de microcontroller worden geladen. De status van de configuratiebits van de microcontroller moet overeenkomen met die getoond in Fig. 2.

Figuur 2

Wanneer u uw apparaat voor de eerste keer op uw computer aansluit, zal het besturingssysteem nieuwe detecteren USB-VERBORG compatibel apparaat met de naam " uniUSB" en installeren noodzakelijke chauffeurs. Na een paar seconden is het apparaat geconfigureerd en klaar voor gebruik. Om ermee te werken, is het UniUSB-programma gemaakt. Het wordt gepresenteerd in twee versies: voor 32-bit (x86) en 64-bit (x64) besturingssystemen Windows-familie. De 32-bits versie is getest in besturingssystemen Windows-systemen 98, Windows XP, Windows 7 en 64-bit - alleen in Windows XP x64.

Programma UniUSB geschreven in taal PuurBasis(versie 4.31) met behulp van de bibliotheek aangepaste functies HID_Lib, ondersteunend werk met USB-VERBORG apparaten. Verschijning Het programmavenster wordt getoond in Fig. 3.

Figuur 3

In dezelfde map als haar uitvoerbaar bestand er zou een bestand moeten zijn met de naam UniUSB_KOfl.txt. In dit bestand wordt het script opgeslagen voor het besturen van externe apparaten. Wanneer het programma start, worden de gegevens uit het bestand in een tabel in het hoofdvenster geladen en wanneer het werk is voltooid, worden deze in het bestand opgeslagen. Door met de linkermuisknop op tabelcellen te klikken, kunt u hun status wijzigen: 1 - hoog logisch niveau, 0 of leeg - laag logisch niveau.

Om een ​​tabelkolom toe te voegen of te verwijderen, moet u erop klikken klik met de rechtermuisknop muis en selecteer de gewenste actie in het menu dat verschijnt. Wanneer u een apparaat op een USB-poort aansluit, zal het programma dit detecteren en de Start-knop bovenaan het venster op de werkbalk activeren. Als u op deze knop klikt, wordt het proces gestart van het sorteren van de tabelkolommen en het instellen van de uitvoerstatussen die daarin worden aangegeven. Voor meer duidelijkheid staan ​​links van de tabel de aantallen uitgangen waarop op dit moment Het logische niveau is hoog ingesteld. De zoeksnelheid (tijd in milliseconden tussen overgangen van kolom naar kolom) wordt ingesteld in het veld "Snelheid, ms".

class="eliadunit">

Houd er rekening mee dat het Windows-besturingssysteem multitasking is! Dit betekent dat de processortijd wordt verdeeld over vele processen, soms verborgen voor de gebruiker, die beurtelings worden uitgevoerd, rekening houdend met de prioriteiten die in het systeem zijn ingesteld. Daarom mag u geen grote nauwkeurigheid verwachten bij het handhaven van tijdsintervallen van minder dan 100 ms.

Om het sorteren van kolommen kort te stoppen, gebruikt u de knop "Pauze". Als u er nogmaals op drukt, wordt het zoeken voortgezet vanaf het punt waar het was gestopt. De knop "Stop" stopt het zoeken in de tabelkolommen volledig. Als de uitwisseling van informatie tussen de computer en het apparaat mislukt of als het apparaat wordt losgekoppeld van de connector Computer-USB, rapporteert het programma een fout door een overeenkomstig bericht in de statusbalk weer te geven.

Bron: Radio nr. 2, 2011

Archief voor het artikel "Laadcontrole via USB-interface"
Beschrijving: Bronteksten programma's, microcontroller-firmwarebestand, uniUSB-programma
Bestandsgrootte: 89,3 KB Aantal downloads: 2 773

Schakelsnelheid

Een COM-poort selecteren

Start- en pauzeknop

(poort inschakelen)

Stop-knop

(poort uitschakelen)

Knop voor uitgangsinstelling

Handmatige knoppen

stuuringangen (1, 2, 3)

Knop voor het wissen van tabellen

Help-knop

Afsluitknop

Indicatoren die simuleren

uitvoerbewerking

Tabelraster met waarden

(lege cellen
gelijk aan nul)

Voor lastregeling in circuits met constante spanning, bijvoorbeeld 24V, je kunt alle krachtige composiettransistors gebruiken - in ons geval KT829.

Voor schakelen AC 220V is het gemakkelijkst te gebruiken met de zogenaamde halfgeleider AC-schakelaar, die een optodriver heeft met een fase-nuldetector aan de ingang, die voor galvanische isolatie zorgt.

Om de schakelstroom te verhogen wordt een triac op een radiator gemonteerd. Houd er rekening mee dat in het hoogspanningsgedeelte weerstanden met een vermogen van 0,5 W worden gebruikt.

Vergeet het niet veiligheidsmaatregelen - Terwijl de switch in werking is, mag u geen blootliggende elementen aanraken, en wanneer u onderdelen en draden opnieuw soldeert, koppelt u de switch los van het netwerk.

Het bord is gemaakt van eenzijdige folieprintplaat. Bordformaat 30x25mm. Een jumper is op de kaart onder de behuizing van de microschakeling gesoldeerd. Om de microschakeling tijdens het solderen tegen oververhitting te beschermen, wordt een 16-pins paneel voor de microschakeling gebruikt.

Om de uitgangen (LED's) aan te sturen, hoeft het apparaat alleen maar met een 4-aderige kabel op een pc te worden aangesloten. Het snoer is gesoldeerd aan een standaardconnector op de COM-poort - een DB9-socket.

Het +5V-signaal voor de gemeenschappelijke draad van de digitale ingangen wordt uit het apparaatcircuit gehaald. Weerstanden in de digitale ingangslijnen kunnen in de DB9-busbehuizing worden gesoldeerd.

Op digitale ingangen kunt u knoppen, tuimelschakelaars en microschakelaars aansluiten.

Achtergrondinformatie

De basis van het apparaat is de beschikbare 74hc595-chip, een serieel schuifregister met uitgangsvergrendeling. Om deze microschakeling te besturen zijn drie signaallijnen voldoende. In ons geval worden de signalen in het programma geïnitieerd UniCOM-besturing en worden via de RS-232-interface (COM-poort) uitgegeven. In deze interface worden de lijnen van een 9-pins connector gebruikt als signaallijnen: RTS - 7-pins, DTR - 4-pins en TxD - 3-pins.

Het werkingsprincipe van de 74hc595-microschakeling is het sequentieel registreren van logische signalen van hoog en laag niveau die worden geleverd aan de DS-ingang (14-pins). De registratie vindt plaats door de dalende flank (overgang van logisch 1 naar logisch 0) aan de SH_CP-ingang (pin 11). De uitvoer van de geregistreerde gegevens vindt ook plaats met een dalende flank, maar dan bij de ST_CP-ingang (12e been). Zo verschijnen de niveaus van de laatste acht opgenomen signalen op pinnen 1-7 en 15.

Een hoog signaalniveau aan de uitgangen (pinnen 1-7 en 15) komt overeen met de voedingsspanning van de microschakeling - in ons geval +5 volt, en een laag niveau komt overeen met 0 volt. De uitgangssignalen zijn statisch, d.w.z. ongewijzigd totdat de volgende puls arriveert bij de ST_CP-ingang (12e etappe). Opgemerkt moet worden dat het verlagen van de voedingsspanning tot onder het minimumniveau leidt tot een reset van de uitgangssignalen. Volgens de documentatie voor de chip, minimale spanning voeding is 2 volt.

De RS-232-interface is gekoppeld aan de 74hc595-microschakeling met behulp van 5,1 V zenerdiodes. Volgens RS-232-specificatie hoog niveau signaal ligt in het bereik van +3 tot +25V, wat ons in staat stelt te organiseren feedback met UniCOM-besturingsprogramma.

Computerbesturingsapparaat
verschillende apparaten, waarvan het diagram wordt getoond in Fig. 1, functioneel vergelijkbaar
beschreven in, maar wordt aangesloten op de USB-poort van een computer, die (in tegenstelling tot
vanaf de COM-poort) is tegenwoordig in elk van hen aanwezig. De enige chip van het apparaat
- een gemeenschappelijke ATmega8-microcontroller. Het is noodzakelijk voor de organisatie
USB-buscommunicatie. Hoewel het gespecialiseerde hardware mist
module, deze functie wordt softwarematig uitgevoerd. Weerstand R1 aangesloten tussen
positieve pool van de voeding en de USB D-bus-lijn, brengt deze over naar lage snelheid
LS-modus met een wisselkoers van 1,5 Mbit/s, waarmee u pakketten kunt decoderen
computer programmatisch. Weerstanden R4 en R5 elimineren transiënten
processen die ontstaan ​​tijdens de uitwisseling van informatie, waardoor de stabiliteit van het werk toeneemt.
Condensator C1 blokkeert impulsruis in het stroomcircuit, wat ook verbetert
stabiliteit van het apparaat. Diodes VD1 en VD2 worden gebruikt om de spanning te verlagen
voed de microcontroller op ongeveer 3,6 V - hiervoor is nodig
niveau dat overeenkomt met de USB-bus. Er worden apparaatbesturingssignalen gegenereerd
uitgangen РВ0-РВ5 en PC0, PC1 van de microcontroller. Hoog logisch niveau -
spanning is ongeveer 3,4 V. Laagspanning is bijna nul. Naar de uitgangen
U kunt apparaten aansluiten die een stroom verbruiken van maximaal 10 mA (van elke uitgang).
Als grote stroom- of spanningswaarden vereist zijn, moeten knooppunten worden gebruikt
overeenkomsten getoond in Fig. 5 en 6.

Het apparaat is gemonteerd op een breadboard,
er is geen gedrukte versie ontwikkeld. Er worden MLT-weerstanden, condensatoren C2 en C3 gebruikt -
keramische hoge frequentie, C1 - K50-35 of vergelijkbaar geïmporteerd. Dioden
silicium met een spanningsval over de kruising van ongeveer 0,7 V. Programma voor een microcontroller
ontwikkeld in de Bascom-AVR-omgeving versie 1.12.0.0. Voor USB-busbediening
Er wordt gebruik gemaakt van de swusb.LBX-bibliotheek, die softwarematige signaaldecodering uitvoert
USB in realtime. De resulterende programmacode
uit een bestand met de HEX-extensie moet in het FLASH-geheugen van de microcontroller worden geladen.
Hiervoor werd de programmeur gebruikt in combinatie met de ingebouwde Bascom-AVR
nutsvoorziening. De status van de configuratiebits van de microcontroller moet overeenkomen
getoond in afb. 2. Wanneer u het apparaat voor de eerste keer op de computer aansluit, wordt het besturingssysteem weergegeven
het systeem zal een nieuw USB HID-compatibel apparaat met de naam detecteren
“uniUSB” en installeer de benodigde stuurprogramma’s. Binnen een paar seconden
Het apparaat is geconfigureerd en klaar voor gebruik.

Er is een programma gemaakt om ermee te werken
UniUSB. Het wordt gepresenteerd in twee versies: voor 32-bit (x86) en 64-bit
(x64) besturingssystemen van de Windows-familie. Er is geverifieerd dat de 32-bits versie werkt
in besturingssystemen Windows 98, Windows XP, Windows 7 en 64-bit -
alleen op Windows XP x64. Het UniUSB-programma is geschreven in PureBasic-taal (versie
4.31) met behulp van de HID_lib-bibliotheek met door de gebruiker gedefinieerde functies,
ondersteunt het werken met USB HID-apparaten. Verschijning van het programmavenster
getoond in afb. 3. In dezelfde map moet het uitvoerbare bestand aanwezig zijn
een bestand met de naam UniUSB_Code.txt of UniCOM_Code.txt. De laatste optie is vereist
voor compatibiliteit met het UniCOM-programma voorgesteld in . In dit bestand
Het script voor het besturen van externe apparaten wordt opgeslagen. Wanneer het programma start, worden de data
uit het bestand worden na voltooiing in de tabel in het hoofdvenster geladen
werken worden opgeslagen in een bestand. Door met de linkermuisknop op tabelcellen te klikken, kunt u dit doen
verander hun status: 1 - hoog logisch niveau, 0 of leeg - laag
logisch niveau. Als u een tabelkolom wilt toevoegen of verwijderen, moet u deze gebruiken
klik met de rechtermuisknop en selecteer de gewenste actie in het menu dat verschijnt.

Bij het aansluiten van een apparaat op een USB-poort
het programma zal het detecteren en de knop bovenaan activeren
vensters op de werkbalk. Als u op deze knop klikt, wordt het proces gestart
het doorzoeken van de tabelkolommen en het instellen van de daarin aangegeven uitvoerstatussen. Voor
Voor meer duidelijkheid zijn de uitvoernummers links van de tabel gemarkeerd op
die momenteel op een hoog logisch niveau zijn ingesteld. Snelheid
zoeken (tijd in milliseconden tussen overgangen van kolom naar kolom) is ingesteld
in het veld "Snelheid, ms".

Houd er rekening mee dat het besturingssysteem Windows is
- multitasken! Dit betekent dat de CPU-tijd onder velen wordt verdeeld
soms verborgen voor de gebruikersprocessen die op hun beurt worden uitgevoerd
rekening houdend met de prioriteiten die in het systeem zijn vastgelegd. Verwacht dus niet veel
nauwkeurigheid van het handhaven van tijdsintervallen van minder dan 100 ms. Voor korte termijn
Om het itereren door kolommen te stoppen, gebruikt u de knop Klik er nogmaals op
zal doorgaan met zoeken vanaf het punt waar het gestopt was. De knop stopt volledig met het sorteren van kolommen
tafels. Als tijdens de uitwisseling van informatie tussen de computer en het apparaat
er een storing optreedt of het apparaat wordt losgekoppeld van de USB-aansluiting van de computer,
het programma rapporteert een fout door de bijbehorende fout weer te geven
bericht.

LITERATUUR

1. Nosov T. Controle van apparaten
via de COM-poort van de computer. - Radio, 2007, nr. 11,0,61,62.

2. Ryzhkov A. Amerikaanse programmeur
AVR- en AT89S-microcontrollers, compatibel met AVR910. - Radio, 2008, nr. 7, p.
28, 29.

Van de redacteur. Programma's voor de microcontroller en computer bevinden zich
op onze FTP-server op ftp://ftp.radio.ru/pub/2011/02/uniUSB.zip

Op Habré over het aansturen van een lamp via internet kwam het idee naar voren om de verlichting thuis vanaf een computer te bedienen, en aangezien ik al computerbediening heb geconfigureerd met mobiele telefoon Dit betekent dat het licht vanaf dezelfde telefoon kan worden bediend. Nadat hij het artikel aan een van mijn collega's had laten zien, zei hij dat dit precies was wat hij nodig had. Omdat hij vaak in slaap valt terwijl hij films op de computer kijkt. Enige tijd na het einde van de film valt ook de computer in slaap en schakelt de monitor uit, maar het licht in de kamer blijft branden. Die. er werd besloten dat dit ding nuttig was, en ik begon informatie en details voor dit wonder te verzamelen.
De rest van de informatie staat onder habracut (let op, er zijn veel foto's - verkeer).

Apparaatdiagram

Het originele schema is overgenomen van een van de schema's die op internet te vinden zijn en zag er als volgt uit:

Maar alleen met een kleine verandering: er werd een weerstand van 390 Ohm toegevoegd tussen de 1e pin van de 4N25 optocoupler en de 2e LPT-pin, en er werd ook een LED toegevoegd om het inschakelen aan te geven. De schakeling werd in testmodus gemonteerd, d.w.z. indien nodig eenvoudig met draden verbinden en testen. In deze versie zette ze eenvoudigweg een oude Sovjet-zaklamp aan en uit.
Er werd besloten dat als we de bediening zouden doen, dat dan niet voor één apparaat, maar voor minimaal 4 apparaten (gebaseerd op: één lamp op tafel, een kroonluchter met twee schakelaars, een reserve stopcontact). Op in dit stadium Het werd noodzakelijk om een ​​compleet schakelschema van het apparaat te maken en de selectie van verschillende programma's begon.
Geïnstalleerd:

  1. KiCAD
  2. Adelaar
Nadat ik ze allemaal had bekeken, koos ik voor Eagle, omdat de bibliotheek “soortgelijke” onderdelen had. Dit is wat er daarin gebeurde:

Het diagram gebruikt de DB9-poort, d.w.z. normaal COM-poort, dit werd gedaan om zowel ruimte op het bord als de connectoren zelf te besparen (ik had de COM-geleiders), en aangezien we slechts 5 geleiders zullen gebruiken, zal dit genoeg zijn voor ons met een marge adapter met DB25 (LPT) op DB9 (COM), in mijn geval gaat het als volgt:
LPT 2-9 pin = COM 1-8 pin zijn datacontrolepinnen;
LPT 18-25 pin (vaak zijn ze met elkaar verbonden) = COM 9 pin - dit is onze aarde.
Wordt ook gebruikt in het schema extra eten bij 12V om het relais van stroom te voorzien, zal het volgens het plan een eenvoudige Chinese oplader zijn of misschien een 9V Krona (één relais werkt prima, je moet er 4 tegelijk controleren). Om de computerpoort te beveiligen wordt gebruik gemaakt van een aparte voeding en galvanische isolatie met behulp van een optocoupler. Als je wilt, kun je hem uiteraard van stroom voorzien via een 12V-computervoeding, maar dat doet iedereen zelf en op eigen risico.

Benodigde onderdelen om het apparaat te maken
  1. COM-poort - 1 stuk
  2. stroomconnector - 1 st.
  3. groene LED - 4 st
  4. optocoupler 4n25 - 4 st
  5. stoel voor optocoupler (ik had maar 8 poten) - 4 st.
  6. weerstand 390 Ohm - 4 st.
  7. weerstand 4,7 kOhm - 4 st.
  8. transistor KT815G - 4 st.
  9. relais HJR-3FF-S-Z - 4 st.
  10. klemmen voor 3 contacten - 4 st.
  11. folie printplaat

Het PCB-schema voorbereiden

Ik probeer Eagle te gebruiken ter voorbereiding printplaat Ik besefte dat het een beetje ingewikkeld zou zijn en besloot een eenvoudiger optie te vinden. Deze optie was het sprint layout 5 programma, ook al is het gemaakt voor Windows, maar het draait zonder problemen in wine onder Linux. De interface van het programma is intuïtief, in het Russisch en het programma heeft redelijk duidelijke hulp (help). Daarom alles verdere acties De PCB-ontwikkeling werd uitgevoerd in sprintlay-out 5 (hierna SL5 genoemd).
Hoewel veel mensen gebruiken dit programma om boards voor mijn apparaten te ontwikkelen, bevatte het niet de onderdelen die ik nodig had (zelfs niet in de stapel gedownloade macrocollecties). Daarom moesten we eerst de ontbrekende onderdelen maken:
  1. COM-poort (degene die niet dezelfde was als de mijne, volgens de montagegaten)
  2. stopcontact
  3. drietandige klem
  4. relais HJR-3FF-S-Z
Type van deze onderdelen:

Na het toevoegen van de benodigde onderdelen begon het daadwerkelijke ontwerp van de printplaat. Er waren verschillende pogingen nodig, het waren er ongeveer vijf. Elke versie van het bord werd op karton gedrukt, er werden gaten in geponst en er werden onderdelen in gestoken. Eigenlijk kwam men erachter dat mijn COM-poort niet overeenkomt met die in SL5. Er kwam ook een kleine fout naar voren in het relaiscircuit - sterker nog, het relaislichaam was 2-3 mm verschoven. Uiteraard zijn alle fouten gecorrigeerd.
Op de eerste gedrukte versie bleek dat dit nog niet het geval was juiste aansluiting transistor, twee contacten waren verwisseld.
Na alle correcties en aanpassingen zag het resulterende bord er als volgt uit:

SL5 heeft een Photo View-functie om het bord te bekijken, zo ziet het eruit:

De definitieve versie van het bord zal wat meer aanpassingen aan de tracks hebben, maar verder ziet het er hetzelfde uit.

SL5 heeft dat ook handige optie Bij het printen van een bord kun je onnodige lagen verbergen en de printkleur van elke laag selecteren, wat erg handig is.

Het voorbereiden van de printplaat

Er werd besloten om het bord te maken met behulp van de LUT-methode (laser-ijzertechnologie). Vervolgens staat het hele proces op de foto.

Knip een stuk PCB uit op de gewenste maat.

We nemen het fijnste schuurpapier en maken het koperoppervlak zorgvuldig schoon.

Na het reinigen van het oppervlak moet het worden gewassen en ontvet. Je kunt het wassen met water en ontvetten met aceton (in mijn geval was het oplosmiddel 646).
Vervolgens printen we verder laserprinter op gecoat papier ons bord, en niet te vergeten de printer op de dikste afdruk in te stellen (zonder toner te besparen). Deze optie bleek een beetje mislukt, omdat de toner uitliep, maar een nieuwe poging was precies goed.

Nu moet je de tekening van papier naar textoliet overbrengen. Om dit te doen, knippen we het ontwerp uit en passen het op de textoliet toe, proberen het indien nodig uit te lijnen en verwarmen het vervolgens met een strijkijzer. Het is noodzakelijk om het hele oppervlak grondig te verwarmen, zodat de toner smelt en aan het koperoppervlak blijft plakken. Daarna laten we het bord een beetje afkoelen en gaan we het onder stromend water nat maken. Wanneer het papier nat genoeg wordt, moet het van het bord worden gescheiden. Alleen de vastzittende toner blijft op het bord achter. Het ziet er zo uit:

Vervolgens moet u een oplossing voor het etsen voorbereiden. Ik heb hiervoor ijzerchloride gebruikt. Op het potje ijzerchloride staat geschreven dat de oplossing 1 op 3 moet worden gemaakt. Ik ben hier een beetje van afgeweken en heb 60 g gemaakt ijzerchloride voor 240 g water, d.w.z. Het bleek 1 op 4, ondanks dat gebeurde het etsen van het bord normaal, alleen iets langzamer. Houd er rekening mee dat het proces van het oplossen van droog ijzerchloride in water warmte produceert, dus je moet het in kleine porties in het water gieten en roeren. Voor het etsen is het uiteraard noodzakelijk om niet-metalen containers te gebruiken; in mijn geval was het een plastic container (zoals een haring). Ik heb deze oplossing:

Voordat ik het bord in de oplossing liet zakken, gebruikte ik tape om het vast te lijmen achterkant vislijn om het gemakkelijker te maken het bord te verwijderen en om te keren. Als de oplossing op uw handen terechtkomt, moet u deze snel afwassen met zeep (zeep neutraliseert het), maar er kunnen nog steeds vlekken achterblijven, het hangt allemaal af van de specifieke omstandigheden. Vlekken uit kleding worden helemaal niet verwijderd, maar ik had het geluk dit niet zelf te testen. De plaat moet met de koperen kant naar beneden in de oplossing worden ondergedompeld en niet helemaal plat, maar onder een hoek. Van tijd tot tijd is het raadzaam om het bord schoon te maken van mijnbouw, omdat dit het verdere etsen belemmert. Dit kan gedaan worden met wattenstaafjes.

Het hele etsproces kostte me 45 minuten, 40 minuten zou genoeg zijn geweest, maar ik was gewoon met nog één ding bezig.
Na het etsen wassen we het bord met zeep, scheuren we de tape af met een vislijn en krijgen:

Aandacht! Giet de ijzerchloride-oplossing niet in de gootsteen (riool) - dit kan de metalen delen van de gootsteen beschadigen en over het algemeen kan de oplossing nog steeds nuttig zijn.
Vervolgens moeten we de toner afwassen, dit gebeurt met succes met hetzelfde oplosmiddel 646 dat werd gebruikt voor het ontvetten ( lang contact oplosmiddel met de huid kan deze beschadigen).

De volgende stap is het boren van de gaten. Ik had aanvankelijk gaten van 1 mm en 1,5 mm op het bord, omdat ik geen dunnere boren kon vinden. Ook was het in onze stad niet mogelijk om een ​​spantang te vinden om deze aan een elektromotor te bevestigen, dus werd alles met een grote boormachine gedaan.

Het eerste apparaat is gearriveerd

De eerste keer nam ik maar twee oefeningen mee, en bij het gebruik van zo'n boor bleek dit niet genoeg. Eén boor brak en de andere was verbogen. Het enige wat ik op de eerste dag heb kunnen boren:

De volgende dag kocht ik vijf boren. En ze waren net genoeg, want als ze niet breken (trouwens, slechts één van de vijf brak), worden ze saai, en als ze met saaie worden geboord, verslechteren de sporen en begint het koper af te pellen. Nadat we het bord volledig hebben geboord, krijgen we:

Na het boren is het noodzakelijk om de plaat te vertinnen. Hiervoor heb ik gebruikt oude manier- soldeerbout, TAGS vloeimiddel en tin. Ik wilde het proberen met Rose-legering, maar het is niet te vinden in onze stad.

Na het vertinnen krijgen we het volgende resultaat:

Vervolgens moet je het bord wassen om vloeimiddelresten te verwijderen. Omdat TAGS waterreinigbaar is, kan dit met water of alcohol worden gedaan. Ik deed iets tussendoor: ik waste het met oude wodka en veegde het af met wattenstaafjes. Na al deze stappen is ons bord klaar.

Installatie van onderdelen

Om de juistheid van het bord te controleren, monteer ik in eerste instantie slechts één (van de vier) rij onderdelen, je weet nooit waar een fout is geslopen.

Na het installeren van de onderdelen gaan we het apparaat via LPT met de computer verbinden; hiervoor wordt een adapter van DB25(LPT) naar DB9(COM) in de volgende vorm gesoldeerd:

  • 2-pins DB25 naar 1-pins DB9
  • 3-pins DB25 naar 2-pins DB9
  • 4-pins DB25 naar 3-pins DB9
  • 5-pins DB25 naar 4-pins DB9
  • 6-pins DB25 naar 5-pins DB9
  • 7-pins DB25 naar 6-pins DB9
  • 8-pins DB25 naar 7-pins DB9
  • 21-pins DB25 (elk van 18 tot 25 is mogelijk) naar 9-pins DB9
Omdat de gebruikte draad gewoon was gedraaid paar, dan ontbrak er één bedrading, maar voor van dit apparaat slechts vijf draden zijn voldoende, dus deze optie past. Onze geschakelde belasting is een eenvoudige Sovjet-zaklamp. Nou ja, als voeding - universeel Chinees blok voeding (4 connectoren en voeding van 3 tot 12 V). Hier is alles gemonteerd:

Maar het apparaat werkt al:

Dit eindigde weer een avond en de installatie van de overige onderdelen werd de volgende dag uitgesteld.

En hier is het volledig geassembleerde apparaat:

Goed korte video over hoe het werkt (de kwaliteit is niet erg goed, ik had niets om goed uit te trekken)

Dat is alles, het enige dat overblijft is het vinden van een normaal hoesje voor het apparaat en het in gebruik nemen.

Softwaregedeelte

Natuurlijk voor management LPT-poort Ik heb wat software nodig, maar sinds ik dat heb thuis Linux, toen werd besloten om het eenvoudigste programma gewoon zelf te schrijven, om het vervolgens aan te vullen en indien nodig aan te passen. Ze zag er ongeveer zo uit:
#erbij betrekken
#erbij betrekken
#erbij betrekken
#erbij betrekken
#define BASIS 0x378
#define TIJD 100000
int hoofd()
{
int x = 0x0F;
int y = 0x00;
als (ioperm(BASIS, 1, 1))
{
perror("ioperm()");
uitgang(77);
}
uitb(x,BASIS);
retour 0;
}

Dit programma verzendt 0x0F = 00001111 naar de LPT-poort, d.w.z. levert 1 aan pin 2-5 (Data0-Data3), en dit is onze stuurspanning tussen pin 2-5 en aarde (pin 18-25), dus alle vier de relais worden ingeschakeld. Het programma voor het verzenden van 0x00 naar een poort voor afsluiten werkt op precies dezelfde manier, het verzendt alleen y in plaats van x - outb (y, BASE). U kunt ook de poortstatus aflezen:
#define BASEPOORT 0x378 /* lp1 */
...
printf("status: %d\n", inb(BASEPOORT));
...

Het enige voorbehoud van dit programma is dat het als root moet worden uitgevoerd, aangezien voor een eenvoudige gebruiker ioperm-functie is niet beschikbaar. Ik denk dat we je niet hoeven te vertellen hoe je een dergelijk probleem kunt oplossen; iedereen zal de optie kiezen die het beste bij hem of haar past.

Vervolgens werd het programma aangepast door parameters door te geven opdrachtregel het was mogelijk om aan te geven met welk apparaat en wat te doen.
Uitvoer van "sw --help":
Programma voor het aansturen van relais via LPT-poort.
Een programma kan één of twee parameters hebben.
Parameterformaat: sw [apparaatnummer] [actie]
apparaatnummer - van 1 tot 8
actie - "aan", "uit", "st" - aan, uit, status
Voorbeeld: "sw 2 on" om het tweede apparaat in te schakelen of "sw --help" om hulp weer te geven

PS als iemand het nodig heeft, dan kan ik het bestand van het borddiagram in sl5 en de broncode van het besturingsprogramma ergens posten.