Inhoudsopgave:
Video: Op PIC microcontroller gebaseerde robotarm - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Van de lopende band van de auto-industrie tot de telechirurgische robots in de ruimte, robotarmen zijn overal te vinden. De mechanismen van deze robots zijn vergelijkbaar met die van een mens en kunnen worden geprogrammeerd voor vergelijkbare functies en verhoogde mogelijkheden. Ze kunnen worden gebruikt om herhaalde acties sneller en nauwkeuriger uit te voeren dan mensen of kunnen worden gebruikt in ruwe omgevingen zonder mensenlevens te riskeren. We hebben al een Record and Play-robotarm gebouwd met Arduino die kan worden getraind om een bepaalde taak uit te voeren en voor altijd te herhalen.
In deze tutorial zullen we de industriestandaard PIC16F877A 8-bit Microcontroller gebruiken om dezelfde robotarm te besturen met potentiometers. De uitdaging met dit project is dat PIC16F877A slechts twee PWN-compatibele pinnen heeft, maar we moeten ongeveer 5 servomotoren aansturen voor onze robot, waarvoor 5 individuele PWM-pinnen nodig zijn. We moeten dus de GPIO-pinnen gebruiken en PWM-signalen genereren op PIC GPIO-pinnen met behulp van de timer-interrupts. Nu kunnen we natuurlijk upgraden naar een betere microcontroller of een de-multiplexer-IC gebruiken om het hier een stuk eenvoudiger te maken. Maar toch is het de moeite waard om dit project eens te proberen voor de leerervaring.
De mechanische structuur van de robotarm die ik in dit project gebruik, is volledig 3D-geprint voor mijn vorige project; de volledige ontwerpbestanden en montageprocedure vindt u hier. Als alternatief, als je geen 3D-printer hebt, kun je ook een eenvoudige robotarm bouwen met behulp van karton, zoals weergegeven in de link. Ervan uitgaande dat je op de een of andere manier je robotarm te pakken hebt gekregen, gaan we verder met het project.
Stap 1: Schakelschema
Het complete schakelschema voor deze op PIC Microcontroller gebaseerde robotarm wordt hieronder weergegeven. Het schema is getekend met EasyEDA.
Het schakelschema is vrij eenvoudig; het volledige project wordt gevoed door de 12V-adapter. Deze 12V wordt vervolgens omgezet naar +5V met behulp van twee 7805 Spanningsregelaars. De ene is gelabeld als +5V en de andere is gelabeld als +5V(2). De reden voor het hebben van twee regelaars is dat wanneer de servo draait, deze veel stroom trekt, wat een spanningsval veroorzaakt. Deze spanningsval dwingt de PIC om zichzelf opnieuw op te starten, daarom kunnen we niet zowel de PIC als de servomotoren op dezelfde +5V-rail laten werken. Dus degene die is gelabeld als +5V wordt gebruikt om de PIC-microcontroller, LCD en potentiometers van stroom te voorzien en een aparte regelaaruitgang die is gelabeld als +5V(2) wordt gebruikt om de servomotoren van stroom te voorzien.
De vijf uitgangspinnen van de potentiometers die een variabele spanning van 0V tot 5V leveren, zijn verbonden met de analoge pinnen An0 tot AN4 van de PIC. Omdat we van plan zijn timers te gebruiken om PWM te genereren, kunnen de servomotoren op elke GPIO-pin worden aangesloten. Ik heb pinnen van RD2 tot RD6 geselecteerd voor de servomotoren, maar het kan elke GPIO naar keuze zijn.
Omdat het programma veel debuggen omvat, is er ook een 16x2 LCD-scherm aangesloten op poort B van de PIC. Dit geeft de duty-cycle weer van de servomotoren die worden aangestuurd. Afgezien hiervan heb ik ook uitgebreide verbindingen voor alle GPIO- en analoge pinnen, voor het geval er in de toekomst sensoren moeten worden aangesloten. Als laatste heb ik ook de programmer pin H1 aangesloten om de PIC direct met pickit3 te programmeren met behulp van de ICSP programmeer optie.
Stap 2: PWM-signalen genereren op GPIO-pin voor servomotorbesturing
"loading="lui">
Aanbevolen:
Robotarm: 15 stappen
Robotarm: autosysteem hebben
Gegevens ontvangen van op STM32 gebaseerde microcontroller naar pc: 5 stappen
Gegevens ontvangen van op STM32 gebaseerde microcontroller naar pc: Hier in deze tutorial hebben we gegevens van microcontroller naar pc verzonden met behulp van een van de UART of STM32l100 mcu
Op Arduino gebaseerde contactloze infraroodthermometer - Op IR gebaseerde thermometer met Arduino: 4 stappen
Arduino-gebaseerde contactloze infraroodthermometer | IR-gebaseerde thermometer met Arduino: Hallo allemaal, in deze instructables zullen we een contactloze thermometer maken met behulp van Arduino. Omdat de temperatuur van de vloeistof / vaste stof soms veel te hoog of te laag is en dan is het moeilijk om er contact mee te maken en de temperatuur dan in die sc
AVR Microcontroller Zekering Bits Configuratie. Het LED-knipperprogramma maken en uploaden in het flashgeheugen van de microcontroller: 5 stappen
AVR Microcontroller Zekering Bits Configuratie. Het LED-knipperprogramma maken en uploaden in het Flash-geheugen van de microcontroller. In dit geval zullen we een eenvoudig programma in C-code maken en dit in het geheugen van de microcontroller branden. We zullen ons eigen programma schrijven en het hex-bestand compileren, waarbij we de Atmel Studio als geïntegreerd ontwikkelplatform gebruiken. We zullen zekering bi
Op JDM2 gebaseerde PIC-programmeur: 4 stappen:
JDM2 Gebaseerde PIC Programmeur: Schematische & layout voor een bijgewerkte JDM2 PIC Programmer. Inclusief klok & datafilter, Vpp-spanningsdeler voor moderne PIC-microcontrollers (bijv. USB PIC 18F2455/4455). Voorafgaand aan het lezen van sites zoals www.hackaday.com & www.makezine.com/blog Ik heb