01. Arduino for Production!! Introduction to ARM Microcontrollers

01. Arduino für die Produktion!! Einführung in ARM-Mikrocontroller

Dies ist der erste Teil einer fortlaufenden Serie über den ARM-Mikrocontroller, die Programmierung des Mikrocontrollers und den dazugehörigen Schaltungsaufbau. Diese Serie wird der AVR-Serie, die Sie auf newbiehack.com finden, sehr ähnlich sein. Ich werde viele verschiedene Arten von Schaltungen, Steuerungen, Kommunikationen und Sensorik mit dem ARM M0 bis zur neuesten M-Serie demonstrieren, die zum Zeitpunkt der Videoerstellung verfügbar ist.

Für diejenigen unter Ihnen, die vielleicht nicht wissen, was ein Mikrocontroller ist oder was er tut: Ein Mikrocontroller kann das tun, was sein Name andeutet: steuern. Aber er kann auch erfassen, Eingaben empfangen, auf Ereignisse reagieren und mit anderen Geräten und Peripheriegeräten wie externen Computern, anderen Mikrocontrollern oder anderen Geräten kommunizieren, die über eine integrierte Schaltung verfügen, die die Kommunikation ermöglicht.

Mikrocontroller können erkennen, indem sie analoge Eingaben von einem Sensor empfangen und diese Eingaben in ein digitales Format umwandeln lassen, wodurch der Mikrocontroller Dinge wie Temperatur, Licht, Schall, Druck, Drehimpuls, Schwerkraft, Bewegung usw. erfassen kann.

Mikrocontroller können mit anderen Geräten und Computern über serielle Kommunikation wie I2C, UART, SPI kommunizieren, und all dies kann drahtlose Kommunikation wie Wi-Fi, Bluetooth, Funkfrequenz usw. ermöglichen. Mikrocontroller können auch digitale Eingaben empfangen, die nicht mit serieller Kommunikation zusammenhängen, wie z. B. Tastendrücke, Encoder-Impulse, PWM-Signale und andere Arten von Ein/Aus-Signalen.

Der von mir bevorzugte Unterrichtsstil basiert auf den fundamentalsten Grundlagen des Schaltungsbaus, was bedeutet, dass der einzelne Prozessor verwendet und darauf aufgebaut wird, und nicht eine Plattform wie Arduino, Discovery Board oder Raspberry Pi (RPi). Dieses grundlegendere Lernen wird ein besseres Grundlagenwissen darüber vermitteln, wie man effizient entwirft und Prototypen für die Großproduktion erstellt. Wenn Sie mit einer Plattform beginnen, die bereits einen großen Schaltungsaufbau hat, müssen Sie, sobald Sie ein echtes Design für die Produktion in Angriff nehmen, Schritte zurückgehen, um zu einem effizienten Prototypen zu gelangen. Behalten Sie Arduinos und andere Schnittstellenplattformen für einmalige Projekte bei und lernen Sie die Grundlagen, wenn Sie in ein effizientes und kostengünstiges Design einsteigen möchten.

Als Programmiersprache wird C++ verwendet, und in den meisten Fällen werde ich die Bibliotheken selbst erstellen, anstatt bestehende Bibliotheken zu verwenden. Dadurch können Sie die Grundlagen des Codes verstehen, wie die Peripheriegeräte und externen Geräte wirklich funktionieren, und Sie können effizienter programmieren. Es wird Fälle geben, in denen ich Bibliotheken verwende, bei denen die Erstellung einer Bibliothek viel zu komplex wäre und die betreffende Bibliothek bereits einer gründlichen Prüfung unterzogen wurde. Eine Bibliothek, die mir in den Sinn kommt, ist der Zugriff auf ein Dateisystem auf einer SD-Karte, wobei die Bibliothek Funktionen zum Lesen, Schreiben und Manipulieren eines FAT-Dateiverwaltungssystems hat.

Da der Mikrocontroller ein oberflächenmontiertes Gerät ist, können wir ihn nicht einfach in ein Breadboard stecken. Wir brauchen eine Möglichkeit, die Pins in ein Breadboard zu bekommen, und wir werden diese Karte und Schnittstelle verwenden. Die Karte enthält einfach den ARM-Mikrocontroller und eine Möglichkeit, die Beine des Mikrocontrollers in die Steckleisten des Breadboards zu bekommen.

Die Karte wurde speziell für die Verwendung von drei Breadboards entworfen, eines für jede der drei Seiten der Karte. Die Konfiguration funktioniert gut, da es viele Steckleistenverbindungen für jeden Pin gibt und eine Unterbrechung zwischen den Breadboards besteht, um einen Widerstand oder eine andere Komponente an eine andere Steckleiste anzuschließen. Zum Beispiel kann ein Widerstand hier und die LED hier platziert werden, was visuell kohärenter ist, als die Komponenten im Zickzack auf benachbarten Steckleisten zu platzieren. Wir werden von Zeit zu Zeit das Referenzhandbuch für diesen Mikrocontroller studieren. Das STM32F030-Referenzhandbuch enthält alle Informationen, die Sie benötigen, um auf alle Funktionen des STM32F030-Mikrocontrollers zuzugreifen. Wenn Sie technische oder elektrische Spezifikationen für diesen Mikrocontroller benötigen, klicken Sie auf diesen Link: STM32F030-Datenblatt

[[TUTORIALMENU(tutorial-arm" frameborder="0" allowfullscreen>

STM32 PCB Breakout Diagramm und Pinbelegung

Verwenden Sie die Scrollbalken, um das Diagramm zu verschieben, um die Pins rechts und unten zu sehen.
Pin 1: VDD Digitale Stromversorgung
Pin 2: PC13 - RTC_TAMP1, RTC_TS, RTC_OUT, WKUP2
Pin 3: PC14 - OSC32_IN
Pin 4: PC15 - OSC32_OUT
Pin 5: PF0 - OSC_IN
Pin 6: PF1 - OSC_OUT
Pin 7: NRST RESET EINGANG ODER INTERNER RESET AUSGANG
Pin 8: PC0 - EVENTOUT - ACD_IN10
Pin 9: PC1 - EVENTOUT - ADC_IN11
Pin 10: PC2 - EVENTOUT - ADC_IN12
Pin 11: PC3 - EVENTOUT - ADC_IN13
Pin 12: VSSA ANALOG-MASSE
Pin 13: VDDA ANALOGE STROMVERSORGUNG
Pin 14: PA0 - USART2_CTS - ADC_IN0, RTC_TAMP2, WKUP1
Pin 15: PA1 - USART2_RTS, EVENTOUT - ADC_IN1
Pin 16: PA2 - USART2_TX, TIM15_CH1 - ADC_IN2
Pin 17: PA3 - USART2_RX, TIM15_CH2 - ADC_IN3
Pin 18: PF4 - EVENTOUT
Pin 19: PF5 - EVENTOUT
Pin 20: PA4 - SPI1_NSS, USART2_CK, TIM14_CH1 - ADC_IN4
Pin 21: PA5 - SPI1_SCK - ADC_IN5
Pin 22: PA6 - SPI1_MISO, TIM3_CH1, TIM1_BKIN, TIM16_CH1, EVENTOUT - ADC_IN6
Pin 23: PA7 - SPI1_MOSI, TIM3_CH2, TIM14_CH1, TIM1_CH1N, TIM17_CH1, EVENTOUT - ADC_IN7
Pin 24: PC4 - EVENTOUT - ADC_IN14
Pin 25: PC5 - ADC_IN15
Pin 26: PB0 - TIM3_CH3, TIM1_CH2N, EVENOUTOUT - ADC_IN8
Pin 27: PB1 - TIM3_CH4, TIM14_CH1, TIM1_CH3N - ADC_IN9
Pin 28: PB2
Pin 29: PB10 - SPI2_SCK, I2C1_SCL, I2C2_SCL
Pin 30: PB11 - I2C1_SDA, I2C2_SDA, EVENTOUT
Pin 31: VSS MASSE
Pin 32: VDD DIGITALE STROMVERSORGUNG
Pin 33: PB12 - SPI2_NSS, TIM1_BKIN, EVENTOUT
Pin 34: PB13 - SPI2_SCK, I2C2_SDA, TIM1_CH1N
Pin 35: PB14 - SPI2_MISO, TIM1_CH2N, TIM15_CH1
Pin 36: PB15 - SPI2_MOSI, TIM1_CH3N, TIM15_CH1N, TIM15_CH2
Pin 37: PC6 - TIM3_CH1
Pin 38: PC7 - TIM3_CH2
Pin 39: PC8 - TIM3_CH3
Pin 40: PC9 - TIM3_CH4
Pin 41: PA8 - USART1_CK, TIM1_CH1, EVENTOUT, MCO
Pin 42: PA9 - USART1_TX, TIM1_CH2, TIM15_BKIN
Pin 43: PA10 - USART1_RX, TIM1_CH3, TIM17_BKIN
Pin 44: PA11 - USART1_CTS, TIM1_CH4, EVENOUT
Pin 45: PA12 - USART1_RTS, TIM1_ETRM EVENTOUT
Pin 46: PA13 - IR_OUT, SWDIO
Pin 47: PF6 - I2C2_SCL
Pin 48: PF7 - I2C2_SDA
Pin 49: PA14 - USART2_TX, SWCLK
Pin 50: PA15 - SPI1_NSS, USART2_RX, EVENTOUT
Pin 51: PC10
Pin 52: PC11
Pin 53: PC12
Pin 54: PD2 - TIM3_ETR
Pin 55: PB3 - SPI1_SCK, EVENTOUT
Pin 56: PB4 - SPI1_MISO, TIM3_CH1, EVENTOUT
Pin 57: PB5 - SPI1_MOSI, I2C1_SMBA, TIM16_BKIN, TIM3_CH2
Pin 58: PB6 - I2C1_SCL, USART1_TX, TIM16_CH1N
Pin 59: PB7 - I2C1_SDA, USART1_RX, TIM17_CH1N
Pin 60: BOOT0 BOOT SPEICHERAUSWAHL
Pin 61: PB8 - I2C1_SCL, TIM16_CH1
Pin 62: PB9 - I2C1_SDA, IR_OUT, TIM17_CH1, EVENTOUT
Pin 63: VSS MASSE
Pin 64: VDD DIGITALE STROMVERSORGUNG
Zurück zum Blog

Hinterlasse einen Kommentar