No its just pla plus, it should be ok offroad but it will probably come apart on road.
Cool, they are so cheap for what your getting. I was paying between £20-30 for them and your basically getting, 2 motors, 2 motor controllers, wheels, tyres and a chassis.
I wanted to go down the vesc route so i could link them all together with can for traction control but they are just too expensive now
Yes, I bought the VESCs for 50€ on amazon or ebay. Now they are 80€+ on amazon and 100€+ on ebay. This gets really expensive if you want to build a 4wd or even a 6wd rover.
I keep looking at the hall sensor example code to see if i can get the encoders working on the wheels, my understanding is that using the example code from Digikey to read the hall sensors we just need to then use some more code to output an emulated quadrature encoded signal.
What are you guys looking for when you purchase them to make sure you get boards that will work with the code or is it just a guess? Are you purchasing these from ebay or off local sources?
you need a classic hoverboard that looks like this, avoid anything with flashing lights. generally any with the flower or star wheels are ok. best place to get them is local, they are really heavy so shipping is generally expensive.
Avoid it if there are any screws missing, it usually means someone has already been inside it.
I can move the front and rear boards out a little of i need to but it means drilling it all again. Il probably have to anyway since i suspect its going to make a nasty noise the first time a stone gets stuck in it.
I would like to try and get a rubber belt for down the center of the wheels for when i need to move it over pavement.
Got all the wheels fitted, turns out one of the boards is slightly off so one pair of wheels are touching so im going to have to redrill, if im doing that then I might as well space both boards out more.
I pushed both front and rear subframes out as far as i could so there is plenfy of clearance now and as an added bonus because of the larger wheels and getting pushed out they are now pushed out futher than the chassis
I have added a bank of relays for switching off the motor controllers, I tried connecting the buttons together but it didn’t work, so each controller has to get it’s own relay since the controller button had battery voltage running through it. Pressing the toggle relay button toggles the motors off of on, I can also switch if from my transmitter. I just set it to to have a 1 Second down delay to make sure to hold it long enough that there is no way one controller can get out of sync of the others.
im working on some kind of feed back so it can tell of they are off or on. I will probably just connect one of the voltage rails of one of the controllers to the button input so it’s activated when the motor controller is powered on.
I want to solar power it and turning off the controllers halved it’s idle power consumption.
With most of the work done by @Yuri_Rage as im crap with lua, I have a working motor control script for controlling the power to the controllers. By looking for voltage on the boards 3.3v rail using the ardupilot button input and using that to determine if the motor controller is in the state required, if not the power button to the board is switched for 2 seconds using ardupilots relay output.
im only connected to the first board for feedback but in all my testing the boards have never gotten out of sync. In theory you could run one script per controller to get feedback on all of them separately.
Currently, the script powers off the motors when in hold mode and back on when in any other mode.
local RUN_INTERVAL_MS = 200
local TOGGLE_MS = 2000
local RELAY_NUM = 0
local BUTTON_ACTIVE_STATE = true -- the 'pressed' state of the button
local BUTTON_NUMBER = 1 -- the button number we want to read, as defined in AP_Button
local ROVER_MODE_HOLD = 4
local MAV_SEVERITY_INFO = 6
local messages = { [true] = 'ON', [false] = 'OFF' }
local desired_motor_state = false
function wait_for_state_change()
local motor_state = button:get_button_state(BUTTON_NUMBER) == BUTTON_ACTIVE_STATE
if motor_state ~= desired_motor_state then return wait_for_state_change, RUN_INTERVAL_MS end
return update, RUN_INTERVAL_MS
end
function turn_off()
relay:off(RELAY_NUM)
return wait_for_state_change, RUN_INTERVAL_MS
end
function update()
local mode = vehicle:get_mode()
local motor_state = button:get_button_state(BUTTON_NUMBER) == BUTTON_ACTIVE_STATE
if motor_state == (mode == ROVER_MODE_HOLD) then
desired_motor_state = not motor_state
gcs:send_text(MAV_SEVERITY_INFO, ('Toggling motor %s'):format(messages[desired_motor_state]))
relay:on(RELAY_NUM)
return turn_off, TOGGLE_MS
end
return update, RUN_INTERVAL_MS
end
gcs:send_text(MAV_SEVERITY_INFO, 'Motor toggle script active')
return update()
My rover just spend its first night outside. Its got 2x 100w solar panels on top of it and a mppt charge controller. The plan os to leave it in the garden for a few days to make sure the controls stay alive then its getting take to the beach to do laps if all goes well.
I have added one of the espeasy home automation controllers so i can get alerts to my phone of it detects someone messing with it. As its got an omni dorectional radar and pir.
its been out for 9 days now in the sun and rain, so far the little gps compass module has failed and the VL53l1x range finder has failed both due to rain ingress. other than those 2 failures and some video issues using Andruav, (thanks to @MHefny we narrowed it down to a problem with the video encoder in Samsung phones). all has been working well.
It’s setup so its all running over the onboard phones LTE connection, RC is sent by using mission planner joystick interface. To connect my taranis radio to mission planner i have been using one of these wireless trainer dongles. it gives channel 1-8 as analogue inputs and 9-16 as switches and supports failsafe so your not tethered to the computer. I have it programmed so i can switch between the frsky module or just change profile on opentx and connect over the backup UHF link.
Took it for its first drive, I had to drive it about 1/4 of a mile down a quiet road to the park do a lap of the park and come back. video was flawless the whole way there, It got some strange looks, A few people stopped and were taking photos and I had to pull over to the side of the road to let some cars pass. Unfortunately, the USB port I was using for charging just couldn’t supply enough power and the phone ran out just as I was leaving the park. so i had to walk to get it and drive it back LOS. but thats a minor fix.
I have replaced the compass and recalibrated everything so it should be ready for running in auto mode. Once I’m confident it can navigate im going to set it to do some laps of the park. The rover only uses around 40w when running on flat terrain according to the power sensor. so with 200w of solar onboard it should be able to run non stop as long as its daylight. The only thing i have to finish is a lua script that will check the battery voltage before restarting the mission. That way it will do a complete lap before stopping to charge rather than just stopping randomly.
I was given some information from someone but I cant find their post, They confirmed that you can just connect any 2 of the 3 hall sensor wires to ardupilot as a wheel encoder and it just works. The line is a little jaggy when you look at it on mission planner but the total count still works so it should work for navigation.