Innehållsförteckning:
Video: Arduino Resolver -modul: 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:41
Tinee9 är tillbaka med en ny modul. Denna modul kallas en Resolver -modul.
I motorstyrningsvärlden finns det olika typer eller metoder för att detektera position. Denna metod inkluderar hallsensorer, XY -sensorer, resolver, RVDT, LVDT, fältdirektörer, potentiometer, etc. Beroende på hur var och en av dessa sensorer är konfigurerade kan du till och med bestämma din absoluta position utan att behöva spara den sista positionen i minnet.
Modulen jag använder kan användas för att demodulera en RVDT, LVDT och Resolver men för dagens ändamål kommer att demodulera en resolver.
Teknisk förståelse: Expertnivå
Handledning Plug and Play: Mellannivå
Tillbehör
1: Arduino Nano
2: Resolver -modul
3: Brödbräda
4: 9,0 Volt batteri eller NScope
5: Resolver
6: 10x Brödbräda Jumper Wires
Steg 1: Resolver -modul
Det finns ett par saker du kan göra med en resolver du kan demodulera en motor för motorpendling, du kan få absolut position om du inte går förbi nollpunkten och du kan hämta hastighet från en motor.
Där jag har sett dem användas mest är inom rymd- och rymdapplikationer av aileron, ror, missilfenor eller kamerastyrning.
De tenderar att vara lite dyrare än en gryt- eller hallsensor men de ger dig otrolig upplösning.
Steg 2: Inställning
1: Först måste du placera din arduino nano på ett brödbräda
2: Du måste ansluta 5V -stiftet på Arduino till +3V3 -stiftet och 5V -stiftet på upplösningsmodulen (modulen kan ha en leverans på 3,3V samtidigt som den ger en 5V -excitation på upplösaren)
3: Anslut RTN på Arduino till RTN på Resolver -modulen
4: Anslut D9 på Arduino till PWM på Resolver Module
5: Anslut A0 på Arduino till MCU_COS+ på upplösningsmodulen
6: Anslut A1 på Arduino till MCU_SIN+ på Resolver -modulen
7: Anslut Resolver EX+ -kabeln till EX+ på Resolver -modulen
8: Anslut Resolver EX-kabeln till EX- på Resolver-modulen
9: Anslut Resolver COS+ -tråden till COS+ på Resolver -modulen
10: Anslut de två Resolver RCOM -kablarna till RCOM på Resolver Module
11: Anslut Resolver SIN+ -tråden till SIN+ på Resolver -modulen
12: Anslut 9V batteri till RTN (-) och VIN (+)
13: Eller Anslut Nscope +5V till 5V Pin på Arduino och RTN på Nscope till RTN på Arduino
14: Anslut Scope till USB på PC
15: Anslut Arduino till USB på PC
Steg 3: Ladda koden
Kopiera Klistra in Arduino -koden nedan på din skiss i Arduino IDE
Vad den här koden ska göra är att gå till PWM Resolver Module. Den modulen kommer att väcka upplösaren och producera en fyrkantig våg på upplösarens sekundära spolar. Signalerna som kommer ut från Sin+ och Cos+ matas sedan till en OPAMP som kommer att centrera Wave och minska utgången så att den går mellan 0-5Volts.
Sin+ och Cos+ är som de betyder. Sin är 90 grader ur fas med Cos -vågen.
Eftersom de är 90 grader ur fas måste vi använda funktionen Atan2 (Cos, Sin) för att få rätt koordinat för resolverpositionen.
Sedan kommer Arduino att spotta ut, efter att den har fått 4 prover, ett värde mellan -3,14 och 3,14 som representerar -180 grader respektive +180 grader. Detta är anledningen till att om du vill använda upplösaren för absolut position måste du bara använda mellan -180 och 180 utan att rotera för mycket, annars kommer du att rulla över och tro att du är tillbaka i början eller slutet av ditt ställdon. Detta skulle vara ett problem om du bestämde dig för att använda en resolver för x- eller y -axeln på en 3D -skrivare och rullade över och fick 3D -skrivaren att röra sig.
Jag kunde ha gjort koden lite bättre med avbrott för att ha mer kontinuerlig PWMing men detta kommer att vara tillräckligt för denna applikation. Int A = A0;
int B = A1; int pwm = 9; int c1 = 0; int c2 = 0; int c3 = 0; int c4 = 0; int c5 = 0; int c6 = 0; int s1 = 0; int s2 = 0; int s3 = 0; int s4 = 0; int s5 = 0; int s6 = 0; flottörutgång = 0,00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// lägg din installationskod här, för att köra en gång: pinMode (pwm, OUTPUT); Serial.begin (115200); }
void loop () {
om (get_position = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); utgång = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Position:"); Serial.println (output); get_position = 1; }
// lägg din huvudkod här för att köra upprepade gånger:
}
Steg 4: Steg 3: Ha kul
Njut av att rotera upplösaren och lära dig hur upplösaren fungerar och vilka program du kan använda den här upplösningsmodulen.
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)
RC -spårad robot med Arduino - Steg för steg: 3 steg
RC -spårad robot med Arduino - Steg för steg: Hej killar, jag är tillbaka med ett annat häftigt robotchassi från BangGood. Hoppas att du har gått igenom våra tidigare projekt - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot med Robotic Arms och The Badland Braw
DIY Arduino robotarm, steg för steg: 9 steg
DIY Arduino robotarm, steg för steg: Denna handledning lär dig hur du bygger en robotarm själv