Hallo ZFers,
Ik lees al best een aantal jaartjes mee op ZF maar post eigenlijk niet. Dus even een korte introductie. Zeilen doe ik al van jongs af aan, begonnen bij de scouts daarna in een polyester spanker en inmiddels in een kajuit bootje. Ligplaats aan de braassemermeer, in de zomer meestal een maand of twee aan het markermeer.
Ben al een tijd aan het denken om zelf een autopilot computer te ontwikkelen. Toen ik aan het project begon had ik nog nooit over PID controllers, arduino motor drivers etc gehoord, hobby dus. Mijn doel is een simpele autopilot computer die stuurt op basis van een kompas. Dus geen nmea inputs voor wind en routes, etc ( pypilot doet dit wel).
Na verschillende versies getest te hebben, waarbij de autopilot alle richting stuurde behalve de gewenste, gaat het inmiddels beter. Op een vlakke braassem met weinig wind gaat het goed. Er is dus zeker nog ruimte voor verbetering. Echter heb ik momenteel weinig tijd om veel te testen (ivb met nieuw huis etc.
Als drive gebruik ik momenteel een autohelm 3000 (wheel drive). Aanvankelijk was ik van plan een windshield wiper motor te gebruiken ala “CPT autopilot”. Misschien in een volgende fase.
De autopilot computer heb ik uit de volgende onderdelen opgebouwd:
• Arduino UNO rev 3
• VMA203 LCD Keypad (
https://www.velleman.eu/products/view/?id=435510 ) via conrad waarschijnlijk werkt een andere df robot keypad clone ook.
• SparkFun VR IMU Breakout - BNO080 (Qwiic) (
https://www.antratek.nl/vr-imu-breakout-bno080 )
• IBT-2 motor driver (BTS7960) (
https://www.tinytronics.nl/shop/nl/robotica/motoren/motoraansturingen/bts7960-btn7960-motor-driver-high-power-43a)
• DC-DC 5V Step-down Buck Converter 1A (
https://www.tinytronics.nl/shop/nl/spanning-converters/step-down/dc-dc-5v-step-down-buck-converter-1a)
Het aansluiten van de keypad en IMU is simpel, de keypad klik je op de arduino. Voor het aansluiten van de IMU via I2C heb ik een qwiic kabeltje gebruikt (
https://www.antratek.nl/qwiic-cable-breadboard-jumper-4-pin). Waarbij ik SCL en SDA aan de achterkant op de arduino heb gesoldeerd (D18 en D19) en vastgezet met hotglue.
De motordriver zit aan de pinouts van de keypad.
_R_EN pin 12
_RPWM pin 11
_LPWM pin 3
_L_EN pin 2
zie
https://wiki.dfrobot.com/LCD_KeyPad_Shield_For_Arduino_SKU__DFR0009 voor de pinouts van de keypad.
De Arduino sketch staat op github:
https://github.com/arne1981/helmsman
Misschien is de ap ook wel geschikt voor de linear drives die aantal leden van het forum hebben aangeschaft.
Groet, Arne