» Elektronica » Arduino »Radiografische apparatuur op Arduino

Radiografische apparatuur op Arduino



Dit artikel bespreekt de fabricage van proportionele op een bord gebaseerde radiografische apparatuur Arduino. Een interessant kenmerk van het project is dat de apparatuur is bedacht als alternatief voor de "volwassen" apparatuur, maar die u zelf kunt maken. Op de zender zitten trimtoetsen, wat bijvoorbeeld belangrijk is voor de bediening modellen vliegtuig, de zender is ook uitgerust met een klein display met organische LED's, die basisinformatie over de werking van de zender weergeeft. De apparatuur is ontworpen voor 6 kanalen, 4 proportioneel en 2 discreet. De auteur legde ook de basis voor de toekomstige toevoeging van nog twee evenredige kanalen, er werden 2 potentiometers aan de zaak toegevoegd, maar op dit moment zijn ze er niet bij betrokken. Desalniettemin is dit voldoende om het model van een vliegtuig, schip of auto te besturen, en met afzonderlijke kanalen kunt u de extra belasting regelen, bijvoorbeeld de opname van koplampen, deklichten, navigatieverlichting of zelfs de lancering van kleine raketten. De apparatuur heeft twee besturingsmodi: lineair en exponentieel.




Voor de zender heb je nodig:

1 x Arduino NANO / UNO / ProMini
1 x BMS-beschermingsbord voor drie Li-ion-blikken
1 x 5,5 x 2,1 mm connector
1 x Step Up DC / DC-converter XL6009
1 x LM2596 kleine step-down converter (ik zal er apart over praten)
3 x 18650:
2 x joysticks JH-D202X (verkocht op Ali)
2 x tuimelschakelaar
1 x i2c OLED-scherm 0,96 inch 128X64
1 x NRF24l01 radiomodule met versterker en antenne
9 x toetstoets 6 * 6 * 5 mm
Uitgangsweerstanden (zie diagram)

Voor de ontvanger heb je nodig:

1 x Arduino NANO / UNO / Pro Mini
1 x radiomodule NRF24l01
1 x AMS1117 3.3V spanningsregelaar
30 x pls kammen
1 x broodplank
1 x 10 uF condensator

Hieronder ziet u een grafische afbeelding van alle componenten en een diagram van hun verbinding. Vóór de montage moeten buck-converters worden geconfigureerd, XL6009 tot 12,6 V (deze module is verantwoordelijk voor het opladen), LM2596 tot 3,3 V (voeding naar de radiomodule). In plaats van LM2596 is het theoretisch mogelijk om ASM117 te gebruiken, volgens het gegevensblad is de maximale ingangsspanning van deze stabilisator 15 V, maar het wordt aangeraden deze niet hoger dan 12 V aan te brengen. Blijkbaar heeft de auteur op basis van deze overwegingen een andere DC / DC-omzetter gebruikt. In plaats daarvan kun je ook een verstelbare stabilisator gebruiken, bijvoorbeeld LM317.




Wonen

Radiografische apparatuur op Arduino


De koffer bestaat uit twee hoofdonderdelen: de bovenste en onderste. Daarnaast worden 9 knoppen (8 voor trimmen en een modusknop), 5 back-ups voor knoppen, een schermrand en een stroomschuif afgedrukt.De auteur drukte een PLA af met een gum met 20% dekking, een mondstuk van 0,4 mm en een laaghoogte van 0,3 mm. Trouwens, niemand verbiedt het gebruik van een andere koffer, je kunt gewoon een geschikte doos nemen, deze zelf lijmen of een vrij grote koffer van een Chinees speelgoed nemen, ze worden bijna in tassen verkocht op geclassificeerde sites.


Zendermontage

Batterijen zijn in serie geschakeld. De auteur deed dit met solderen, ik wil opmerken dat het solderen van blikjes van 18650 enige vaardigheid vereist, dus als je geen dergelijke ervaring hebt, koop dan batterijen met reeds gelaste bloembladen en soldeer eraan. Ook worden de batterijen volgens het bovenstaande schema gesoldeerd aan de GBS-module, waarvan de ingang wordt gevoed door de XL6009-omzetter (in plaats daarvan kan MT3608 worden gebruikt). De BMS is verantwoordelijk voor het gelijkmatig laden / ontladen van alle blikken en het uitschakelen van de stroom wanneer de batterijen leeg zijn. De spanning kan ook worden gecontroleerd via het display. De batterijen worden opgeladen door een 9 V voeding met een stroom van niet meer dan 3 A (maximum voor XL6009). In feite moet de laadstroom worden berekend afhankelijk van de capaciteit van de batterijen en de voeding met een iets lagere stroom opnemen of beperken. Het is handig om de modules in de behuizing te monteren met behulp van "auto" dubbelzijdige tape.




De klokknoppen worden op speciale platforms geïnstalleerd, waarna ze met kleine schroeven aan de bijbehorende steunen in de behuizing worden bevestigd. Hier bevindt zich in feite alles op het niveau van de ontwerper en wordt het goed begrepen vanaf de foto.




De knoppen zijn onderling verbonden door weerstanden, waardoor er in wezen een klein resistief toetsenbord overblijft, waarmee je slechts één pin van het Arduino-bord kunt gebruiken. De draden zijn gesoldeerd aan de joystickpotentiometers, de extreme draden gaan naar aarde en 5 V, het gemiddelde leidt naar de bijbehorende Arduino-pin. Ik heb plannen om dit schema te herhalen, ik heb al een beetje geëxperimenteerd en ik kan zeggen dat de code de functie heeft om automatisch kanalen om te keren als dat nodig is, maar ik heb nog niet begrepen hoe het schema deze behoefte bepaalt. Dit wil zeggen dat de kanaalinversie in wezen wordt uitgevoerd door op sommige plaatsen de extreme conclusies te solderen. Dergelijke joysticks worden op het moment van schrijven in Ali verkocht voor een prijs van ongeveer $ 7 per stuk, of het nu aan jou is of het aan jou is of niet. In plaats daarvan kunt u de joystickmodules gebruiken voor Arduino of joysticks van gamecontrollers.

In feite werkt de joystick als een deler, door het handvat af te buigen, veranderen we de spanning aan de middelste uitgang van de potentiometer, en afhankelijk van deze spanning bepaalt de arduino de afwijking.
[center] [/ center]
Tuimelaars zijn ook aangesloten. Tuimelschakelaars zijn aan-uit nodig, omdat het kanaal discreet is en slechts twee waarden heeft - 0 of 1, afhankelijk van of de output van de arduino wordt aangetrokken door de grond of door een 5V-voeding. Bovendien is de aan-uit-schakelaar nodig, als je de output laat "hangen in de lucht", wat er zou gebeuren bij het gebruik van drie positionele, de controller begrijpt niet wat er gebeurt en de waarde springt willekeurig 0 of 1 (in mijn ervaring). U kunt geen extra potentiometers instellen, op het moment dat ze er niet bij betrokken zijn. Of u kunt de bronpagina plaatsen en controleren, misschien zal de auteur uiteindelijk de bijgewerkte firmware plaatsen.




Vervolgens worden een arduino, een radiomodule en een voedingsbord van een radiomodule geïnstalleerd. Zoals hierboven beschreven, moet er een spanning van 3,3 volt op worden ingesteld. Het is bijna onmogelijk om dit te doen met een standaard variabele weerstand, dus de auteur heeft het gesoldeerd en in plaats daarvan een multi-turn trimmer gesoldeerd. Vervolgens wordt het display gemonteerd en worden alle componenten volgens het diagram aangesloten op de arduino-terminals.




Firmware

Arduino-firmware is al 1000 keer besproken, op dit moment is de mogelijkheid om dit te doen terwijl je een arduino-project vasthoudt standaard net zo belangrijk als het vermogen om een ​​soldeerbout in je handen te houden terwijl je iets vasthoudt aan soldeer.De code voor de zender, ontvanger, benodigde bibliotheken en een bestand voor 3D-printen van de case kunnen aan het einde van het artikel in één archief worden gedownload.


Ontvanger



Voor de ontvanger heb je nog een Arduino-bord nodig, een radiomodule (zonder antenne, telemetrie is hier nog steeds niet geïmplementeerd) en een 3,3 volt-stabilisator. De ontvanger is aan het breadboard gesoldeerd. Het vermogen van de ontvanger wordt op dezelfde manier uitgevoerd als het vermogen van elke andere fabrieksontvanger, via een speciale uitgang van de snelheidsregelaar.




Zelf wil ik hieraan toevoegen dat het in plaats van de standaard antenne van deze module wenselijk is om dezelfde antenne die in de module is geïnstalleerd te solderen met een versterker (alleen zonder behuizing). Dit zal niet bepaald het ontvangstbereik beïnvloeden, maar zal de ontvangstkwaliteit aanzienlijk beïnvloeden, afhankelijk van de positie van het gecontroleerde model in verschillende vlakken. Voor moderne ontvangers en zenders zijn hiervoor zelfs twee antennes geïnstalleerd, die loodrecht op elkaar staan.


Bovendien heeft de auteur een zeer belangrijke functie geïmplementeerd: uitvoer van het PPM-ontvangersignaal. Schematisch verandert er niets, u hoeft alleen maar een andere firmware in te vullen, het PPM-signaal wordt op dezelfde manier uitgevoerd als in de meeste fabrieksontvangers - vanaf het eerste kanaal (gas).




Dat is alles. Persoonlijk vond ik het project erg leuk, en zoals ik al zei, ben ik van plan het in het geval te herhalen met de afstandsbediening van een kinderspeelgoed. In het menu kun je de modus selecteren van lineair tot exponentieel en de waarde van elke stick verfijnen. Houd er rekening mee dat de gemiddelde waarde van elk kanaal 127 moet zijn.


Je kunt alles downloaden wat je nodig hebt hier.

Alle succes in het werk!
8.9
8.6
8.6

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
30 opmerkingen
feonor12 schrijft correct dat ongebruikte ingangen ofwel naar de grond ofwel naar de stroom moeten worden getrokken. Ik begon me aan deze regel te houden zodra ik leerde werken met CMOS-chips. Oh, hoe lang geleden was het ... En in microcontrollers heeft natuurlijk niemand deze regel geannuleerd.
heel erg bedankt !!!!!
De auteur
Tijdens het compilatieproces heb ik ook enkele variabelen opnieuw toegewezen en ook geschreven dat er weinig geheugen was, hoewel er meteen werd geschreven dat de schets 77% van het geheugen gebruikt. De schets is onhandig, niemand ontkent, maar het werkt. Het belangrijkste dat gecompileerd is. Bouw een testcircuit en controleer hoe het werkt, problemen moeten worden opgelost zodra ze beschikbaar zijn. Wanneer u het testcircuit van de zender monteert - alle ongebruikte kanalen, of het nu joysticks, een tuimelschakelaar of een toetsenbord is, moet in het algemeen alles dat niet is aangesloten, worden verbonden met aarde of met 5V, als u het apparaat "in de lucht laat hangen", zal het niet goed werken, hiermee botste bij herhaling.

Z.Y. Registreer en u kunt.
Gast Andrew
het bleek bijna zoals op je foto.
pas nu vloekt hier, kortom
C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: in de ledenfunctie 'booleaanse waarde Adafruit_GFX_Button :: bevat (int16_t, int16_t)':

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: waarschuwing: vergelijking tussen ondertekende en niet-ondertekende gehele expressies [-Wsign-Compare]

retourneren ((x> = _x1) && (x <(_ x1 + _w)) &&

                             ^

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: waarschuwing: vergelijking tussen ondertekende en niet-ondertekende gehele expressies [-Wsign-Compare]

(y> = _y1) && (y <(_ y1 + _h)));
uiteindelijk compilatie voltooid
en schrijft onvoldoende geheugen en het programma werkt mogelijk niet stabiel.
sorry hier kan ik geen foto plaatsen.
De auteur
Verwijder / plaats twee schuine strepen.

# definieer SSD1306_128_64
// #define SSD1306_128_32
// #define SSD1306_96_16

Zo zou het moeten zijn.
Gast Andrew
heel erg bedankt.
vloek niet veel.
Nu ga ik googlen, wat betekent:
(Geef commentaar op de tweede en verwijder commentaar op de eerste.)
De auteur
Voor twee, verdomme, google minuten. In het Adafruit_SSD1306.h-bestand moet je deze regels vinden

// #define SSD1306_128_64
# definieer SSD1306_128_32
// #define SSD1306_96_16

becommentarieer de tweede en commentaar de eerste.
De auteur
Luister, ik heb deze code niet geschreven en ben geen specialist in programmeren. Wat ik wist en vervolgens vroeg, past niet bij jou. Het werkt voor de auteur, ik heb het verzameld - het werkt ook voor mij. Het werkt niet voor jou, dus de fout zit niet in de code of in de bibliotheek. Neem contact op met het themaforum, ga naar de bron en schrijf naar de auteur, of wacht tot iemand die hier weet antwoord geeft. Ik zei dat ik niet wist wat er aan de hand was, wat er nog meer van mij nodig was, zodat ik alles zou laten vallen en het probleem voor je zou gaan aanpakken? Sorry, nee.
Gast Andrew
"bedankt voor de hulp"
fout in de Adafruit_SSD1306.h bibliotheek
En ik heb een probleem met 'privébestelling'.
dat is wat het geeft.
Transmitter_code: 102: 2: error: #error ("Incorrect height, fix this in Adafruit_SSD1306.h!");
misschien welk nummer of welke letter daar moet worden veranderd, maar ik weet het niet
De auteur
Dan weet ik het niet, alles is gecompileerd en genaaid. Nu ik het ter wille van de interesse controleerde, werd ook alles samengesteld. Dus een privéprobleem.

Gast Andrew
Adafruit_SSD1306-masterbibliotheek
installeerde het arduino ide-programma in het programma zelf
De auteur
Is er een fout bij het compileren? Hij vloekt in de tentoonstellingsbibliotheek. Heb je de Adafruit_SSD1306-masterbibliotheek woensdag uit het archief geïnstalleerd?
Gast Andrew
hallo.
Ik besloot eerst de schetsen te controleren PPM- en PWM-ontvangers (lees.)
Ik begon de zender te controleren, het geeft een foutmelding.
#error ("Hoogte onjuist, los dit op in Adafruit_SSD1306.h!");
Google-vertaler vertaald.
#error ("Hoogte is onjuist, corrigeer dit in Adafruit_SSD1306.h!");
En wat moet ik nu doen, ik weet het niet eens ..............
De auteur
Hallo allemaal. Over het algemeen heb ik noch de tijd, noch de wens om de app in de nabije toekomst af te maken, zodat ik er een artikel over kan schrijven, maar ik heb lange tijd een zegel getekend van de ontvanger die moet worden meegenomen. Ik heb het bord niet opgehaald, maar ik heb het meerdere keren gecontroleerd, alles lijkt correct te zijn. Een paar woorden dat er geen vragen zouden zijn:
De radiomodulestabilisator is in smd op het bord gesoldeerd (ASM1117 bij 3,3 V, inschakelen via datasheet). Als het onstabiel of voor een korte afstand werkt, hang dan 10 microfarads conders rechtstreeks aan de stroomcontacten van de module (ik kon geen plek vinden om op het bord te schuiven).
We solderen de smd, dan de jumpers, gevolgd door de arduino (poten van programmeren aan de kam van uitgangen), de tweede "verdieping" van de radiomodule, zoals ik deed in de vluchtcontroller. De radiomodule overlapt de resetknop van de arduino, dus ik bracht hem naar de achterkant van de zegel (soldeer hem gewoon van de arduino en soldeer hem). Als je programmeur zelf de reset uitvoert, of als je niet van plan bent om na montage opnieuw te flitsen, kun je de knop en de sporen van de gieter verwijderen, de sjaal komt een paar millimeter smaller en korter uit (20x50 mm). De sjaal kwam in ieder geval heel compact uit. Op de radiomodule is het wenselijk om de afgedrukte antenne en soldeer af te snijden zoals bij standaard 2,4 GHz-ontvangers (foto hieronder). Dit heeft geen invloed op het bereik, maar de ontvangst zal verbeteren met verschillende oriëntaties in de ruimte. 5V vermogen naar elke connector van WEIGHT-regelaar of extern.
Plaats het afgewerkte bord in een transparante krimpkous, u kunt vooraf een naamplaatje tekenen, afdrukken en invoegen met de aanduiding van contactgroepen. Of maak een boterkoek als dezelfde vluchtstabilisator.
Nou, alles lijkt te zijn u kunt hier een zegel downloaden.



Hier is de stomp. vlucht, een artikel erover in mijn profiel.


Gast Vladislav
Schrijf om te helpen, ik heb de schets in stukjes verzameld, omdat mijn moedertaal niet is gestart, nu werkt alles goed, Viber 0993482290
de robot
hulp bij de skatech. er zijn veel fouten !!
De auteur
Ik doe Appu in mijn vrije tijd, zelfs vanuit vrije tijd, een tautologie, maar het is waar.Want er is een fabrieks-app flysky i6, deze, omwille van sportieve interesse, ik verzamel het. Als ik het helemaal af heb, haal ik de normale ontvanger op - ik zet alles in een apart artikel.
Maar zodat u niet zou twijfelen aan de prestaties, zwaaide hier het rolroer:

Zoals je kunt zien, werkt het. Eén kanaal bijvoorbeeld. De draad naar de ontvanger is stroom, aangedreven door opladen via de telefoon.

Hoewel er nog veel te ontwikkelen is, zit het over het algemeen in het softwaregedeelte om de keuze van het meest geruisloze kanaal, bindend, om meerdere ontvangers te verzamelen, geheugen toe te voegen voor ten minste 5 modellen. Zelfs telemetrie kan worden weggespoeld als je wilt. Maar hiervoor hebben we de hulp van enthousiastelingen nodig, of de Arduino-taal zelf is beter te leren, of de auteur om te schrijven, misschien zal dit hem interesseren. Ik zal dit in de nabije toekomst zeker niet doen.

En ik zei al over het eten. 1 blikje 18650 + MT3608 + ASM1117 + TP4056 met bescherming van ≈4-5 dollar. Als optie, maar er zijn er veel, althans van batterijen.
Andrew 1978
Laat de video van je afstandsbediening zien ..... Over onzin - onzin is misschien iets voor jou, maar het is 65% van de kosten van de hele afstandsbediening - drie steeklijnen, een oplader en drie lithiums ....
De auteur
Niemand doet anders om maaltijden te organiseren. Om de een of andere reden klampt iedereen zich vast aan onzin, waarbij de belangrijkste nuance wordt weggelaten - dit zijn kant-en-klare 'hersenen', de ontvanger en zender op een standaard PPM-signaal, en hoe ze te voeden en in welk geval te schuiven is het tiende. Het is mogelijk om vanuit één blik van stroom te voorzien via een versterkende DC / DC-omzetter, waarbij de code wordt gecorrigeerd om de lading van één blik correct aan te geven. Tot dusver heb ik van de kroon gegeten, want voor permanent gebruik heb ik mijn eigen versie niet bedacht.
Andrew 1978
Wat een verdraaiing om de drie lithiums te voeden met een afstandsbediening die 5v en 3.3v gebruikt ....
De auteur
De auteur
Zelf een case maken? Dit is tijdverspilling, normaal gesproken lukt het nog steeds niet. Op sites verkopen advertenties een aantal afstandsbedieningen van speelgoed, waaronder het type pistool. Verkoop voor een cent (het kind heeft het speelgoed vermoord, maar de afstandsbediening blijft). Kies minder zwaar en doe opnieuw. Wijziging wordt gereduceerd tot het weggooien van de volledige vulling en het nieuwsgierig maken naar de bedieningselementen van lineaire potentiometers.
Een andere optie is om een ​​appu te kopen met een geschroeide vulling, maar de hele mechanica. Op de sites van modelbouwers verschijnen zulke van tijd tot tijd.
Mijn appa ziet er ongeveer zo uit (het naamplaatje is test, dan maak ik het mooier)
Gast Eugene
dat zijn de mechanica en interesses en er is niets om mee te tekenen
De auteur
Waarom? Ja, en wie zich ermee bemoeit, dit is een kwestie van mechanica. Pak de pistoolconsole uit het speelgoed, pas het aan en het zal zo zijn. U kunt alles meenemen, een computerjoystick voor vluchtsimulatoren, zelfs een gamepad van Sonya. Hier het hoofdschema.
Ik monteer mezelf al vanaf een speelgoedconsole.
Gast Eugene
apparatuur van het pistooltype zou worden gemaakt ...
De auteur
Net aangevinkt, alles wordt geopend en gedownload. Misschien heb je een soort adblocker of zoiets.
Als iemand anders problemen heeft met downloaden - schrijven, zal ik contact opnemen met de beheerder.
deze werkt hier niet
De auteur
Je kunt hier alles downloaden wat je nodig hebt.

Klik hier
De auteur
Je kunt hier alles downloaden wat je nodig hebt.

Klik hier
en waar is de schets voor de apparatuur

We raden je aan om te lezen:

Geef het voor de smartphone ...